/*
* Copyright (c) 2014 Ahomé Innovation Technologies. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.ait.toolkit.sencha.ext.client.ui;
import java.util.List;
import com.ait.toolkit.core.client.Function;
import com.ait.toolkit.data.client.BaseModel;
import com.ait.toolkit.sencha.ext.client.core.Component;
import com.ait.toolkit.sencha.ext.client.core.config.XType;
import com.ait.toolkit.sencha.ext.client.events.HandlerRegistration;
import com.ait.toolkit.sencha.ext.client.events.view.AfterItemCollapseHandler;
import com.ait.toolkit.sencha.ext.client.events.view.AfterItemExpandHandler;
import com.ait.toolkit.sencha.ext.client.events.view.BeforeItemAppendHandler;
import com.ait.toolkit.sencha.ext.client.events.view.BeforeItemCollapseHandler;
import com.ait.toolkit.sencha.ext.client.events.view.BeforeItemExpandHandler;
import com.ait.toolkit.sencha.ext.client.events.view.BeforeItemInsertHandler;
import com.ait.toolkit.sencha.ext.client.events.view.BeforeItemMoveHandler;
import com.ait.toolkit.sencha.ext.client.events.view.BeforeItemRemoveHandler;
import com.ait.toolkit.sencha.ext.client.events.view.BeforeLoadHandler;
import com.ait.toolkit.sencha.ext.client.events.view.BeforeTreeItemAppendHandler;
import com.ait.toolkit.sencha.ext.client.events.view.BeforeTreeItemCollapseHandler;
import com.ait.toolkit.sencha.ext.client.events.view.BeforeTreeItemExpandHandler;
import com.ait.toolkit.sencha.ext.client.events.view.BeforeTreeItemInsertHandler;
import com.ait.toolkit.sencha.ext.client.events.view.BeforeTreeItemMoveHandler;
import com.ait.toolkit.sencha.ext.client.events.view.BeforeTreeItemRemoveHandler;
import com.ait.toolkit.sencha.ext.client.events.view.BeforeTreeLoadHandler;
import com.ait.toolkit.sencha.ext.client.events.view.CheckChangeHandler;
import com.ait.toolkit.sencha.ext.client.events.view.ItemAppendHandler;
import com.ait.toolkit.sencha.ext.client.events.view.ItemCollapseHandler;
import com.ait.toolkit.sencha.ext.client.events.view.ItemExpandHandler;
import com.ait.toolkit.sencha.ext.client.events.view.ItemInsertHandler;
import com.ait.toolkit.sencha.ext.client.events.view.ItemMoveHandler;
import com.ait.toolkit.sencha.ext.client.events.view.ItemRemoveHandler;
import com.ait.toolkit.sencha.ext.client.events.view.LoadHandler;
import com.ait.toolkit.sencha.shared.client.data.NodeInterface;
import com.ait.toolkit.sencha.shared.client.data.Store;
import com.google.gwt.core.client.JavaScriptObject;
/**
* The TreePanel provides tree-structured UI representation of tree-structured data. A TreePanel must be bound to a {@link Store}. TreePanel's support multiple columns through the
* columns property.
*
*/
public class TreePanel extends TablePanel {
private static JavaScriptObject configPrototype;
private native void init()/*-{
var c = new $wnd.Ext.tree.Panel();
@com.ait.toolkit.sencha.ext.client.ui.TreePanel::configPrototype = c.initialConfig;
}-*/;
protected JavaScriptObject getConfigPrototype() {
return configPrototype;
}
public String getXType() {
return XType.TREE_PANEL.getValue();
}
public TreePanel() {
// init();
}
protected TreePanel( JavaScriptObject obj ) {
super( obj );
}
/**
* Create a new Tree NotificationContainer.
*/
public TreePanel( Store store ) {
setStore( store );
}
public TreePanel( String title, Store store ) {
setTitle( title );
setStore( store );
}
protected native JavaScriptObject create( JavaScriptObject config ) /*-{
return $wnd.Ext.tree.Panel(config);
}-*/;
/**
* True to enable animated expand/collapse.
*
* @param value
*/
public void setAnimate( boolean value ) {
setAttribute( "animate", value, true );
}
/**
* The field inside the model that will be used as the node's text.
* <p>
* Defaults to: "text"
*/
public void setDisplayField( String value ) {
setAttribute( "displayField", value, true );
}
/**
* True to automatically prepend a leaf sorter to the store.
*
* @param value
*/
public void setFolderSort( boolean value ) {
setAttribute( "folderSort", value, true );
}
/**
* True to hide the headers.
*/
public void setHideHeaders( boolean value ) {
setAttribute( "hideHeaders", value, true );
}
/**
* False to disable tree lines.
* <p>
* Defaults to: true
*/
public void setLines( boolean value ) {
setAttribute( "lines", value, true );
}
/**
* False to hide the root node.
* <p>
* Defaults to: true
*
* @param value
*/
public void setRootVisible( boolean value ) {
setAttribute( "rootVisible", value, true );
}
/**
* False so that rows are not separated by lines.
* <p>
* Defaults to: false
*/
public void setRowLines( boolean value ) {
setAttribute( "rowLines", value, true );
}
/**
* True if only 1 node per branch may be expanded.
* <p>
* Defaults to: false
*/
public void setSingleExpand( boolean value ) {
setAttribute( "singleExpand", value, true );
}
/**
* True to use Vista-style arrows in the tree.
* <p>
* Defaults to: false
*/
public void setUseArrows( boolean value ) {
setAttribute( "useArrows", value, true );
}
/**
* Collapse all nodes
*/
public native void collapseAll() /*-{
var treePanel = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
treePanel.collapseAll();
}-*/;
/**
* Filter the tree by the given value using the given dataIndex as key
*
* @param value
* @param key
*/
public native void filterBy( String value, String dataIndex ) /*-{
var treePanel = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
treePanel.filterBy(value, dataIndex);
}-*/;
/**
* Filter the tree by the given value using 'text' as dataIndex
*
* @param value
* @param key
*/
public native void filterBy( String value ) /*-{
var treePanel = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
treePanel.filterBy(value, 'text');
}-*/;
/**
* Clears filtering on this tree
*/
public native void clearFilter() /*-{
var treePanel = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
treePanel.clearFilter();
}-*/;
/**
* Collapse all nodes
*
* @param callBack
* , A function to execute when the collapse finishes.
*/
public native void collapseAll( Function callBack ) /*-{
var treePanel = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
treePanel.collapseAll($entry(function() {
callBack.@com.ait.toolkit.core.client.Function::execute()();
}));
}-*/;
/**
* Expand all nodes
*/
public native void expandAll() /*-{
var treePanel = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
treePanel.expandAll();
}-*/;
/**
* Expand all nodes
*
* @param callBack
* ,A function to execute when the expand finishes.
*/
public native void expandAll( Function callBack ) /*-{
var treePanel = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
treePanel.expandAll($entry(function() {
callBack.@com.ait.toolkit.core.client.Function::execute()();
}));
}-*/;
/**
* Expands a record that is loaded in the tree.
*
* @param record
* , The record to expand
*/
public native void expandNode( BaseModel record ) /*-{
var treePanel = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
treePanel
.expandNode(record.@com.ait.toolkit.core.client.JsObject::getJsObj()());
}-*/;
/**
* Expands a record that is loaded in the tree.
*
* @param record
* , The record to expand
* @param deep
* , True to expand nodes all the way down the tree hierarchy.
*/
public native void expandNode( BaseModel record, boolean deep ) /*-{
var treePanel = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
treePanel.expandNode(
record.@com.ait.toolkit.core.client.JsObject::getJsObj()(),
deep);
}-*/;
/**
* Expands a record that is loaded in the tree.
*
* @param record
* , The record to expand
* @param deep
* , True to expand nodes all the way down the tree hierarchy.
* @param callBack
* , The function to run after the expand is completed
*/
public native void expandNode( BaseModel record, boolean deep, Function callBack ) /*-{
var treePanel = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
treePanel
.expandNode(
record.@com.ait.toolkit.core.client.JsObject::getJsObj()(),
deep,
$entry(function() {
callBack.@com.ait.toolkit.core.client.Function::execute()();
}));
}-*/;
/**
* Expand the tree to the path of a particular node.
*
* @param path
* ,The path to expand. The path should include a leading separator.
*/
public native void expandPath( String path ) /*-{
var treePanel = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
treePanel.expandPath(path);
}-*/;
/**
* Expand the tree to the path of a particular node.
*
* @param path
* ,The path to expand. The path should include a leading separator.
* @param field
* ,The field to get the data from. Defaults to the model idProperty.
*/
public native void expandPath( String path, String field ) /*-{
var treePanel = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
treePanel.expandPath(path, field);
}-*/;
/**
* Expand the tree to the path of a particular node.
*
* @param path
* ,The path to expand. The path should include a leading separator.
* @param field
* ,The field to get the data from. Defaults to the model idProperty.
* @param callBack
* , A function to execute when the expand finishes. The callback will be called with (success, lastNode) where success is if the expand was successful and lastNode
* is the last node that was expanded.
*/
public native void expandPath( String path, String field, Function callBack ) /*-{
var treePanel = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
treePanel.expandPath(path, field, $entry(function() {
callBack.@com.ait.toolkit.core.client.Function::execute()();
}));
}-*/;
/**
* Retrieve an array of checked records.
*/
public native List<NodeInterface> getChecked() /*-{
var panel = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
var obj = panel.getChecked();
return @com.ait.toolkit.sencha.shared.client.data.NodeInterface::fromJavaScriptArray(Lcom/google/gwt/core/client/JavaScriptObject;)(obj);
}-*/;
/**
* Returns the root node for this tree.
*/
public native NodeInterface getRootNode() /*-{
var panel = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
var obj = panel.getRootNode();
return @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(obj);
}-*/;
/**
* Expand the tree to the path of a particular node, then select it
*
* @param path
* ,The path to expand. The path should include a leading separator.
*/
public native void selectPath( String path ) /*-{
var treePanel = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
treePanel.selectPath(path);
}-*/;
/**
* Expand the tree to the path of a particular node ,then select it
*
* @param path
* ,The path to expand. The path should include a leading separator.
* @param field
* ,The field to get the data from. Defaults to the model idProperty.
*/
public native void selectPath( String path, String field ) /*-{
var treePanel = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
treePanel.selectPath(path, field);
}-*/;
/**
* Expand the tree to the path of a particular node,then select it
*
* @param path
* ,The path to expand. The path should include a leading separator.
* @param field
* ,The field to get the data from. Defaults to the model idProperty.
* @param callBack
* , A function to execute when the expand finishes. The callback will be called with (success, lastNode) where success is if the expand was successful and lastNode
* is the last node that was expanded.
*/
public native void selectPath( String path, String field, Function callBack ) /*-{
var treePanel = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
treePanel.selectPath(path, field, $entry(function() {
callBack.@com.ait.toolkit.core.client.Function::execute()();
}));
}-*/;
/**
* Sets root node of this tree.
*
* @param node
* @return
*/
public native NodeInterface setRootNode( BaseModel node ) /*-{
var panel = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
var obj = panel
.setRootNode(node.@com.ait.toolkit.core.client.JsObject::getJsObj()());
return @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(obj);
}-*/;
/**
* Sets root node of this tree.
*
* @param node
* @return
*/
public native NodeInterface setRootNode( JavaScriptObject node ) /*-{
var panel = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
var obj = panel.setRootNode(node);
return @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(obj);
}-*/;
/**
* Fires after an item has been visually collapsed and is no longer visible in the tree.
*
* @param handler
* , the handler that will handle the event
*/
public native HandlerRegistration addAfterItemCollpaseHandler( AfterItemCollapseHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
var fn = function(n, index, item, e) {
var node = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(n);
var event = @com.ait.toolkit.sencha.ext.client.events.view.AfterItemCollapseEvent::new(Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;ILcom/google/gwt/dom/client/Element;Lcom/google/gwt/core/client/JavaScriptObject;)(node,index,item,e);
handler.@com.ait.toolkit.sencha.ext.client.events.view.AfterItemCollapseHandler::onAfterItemCollapse(Lcom/ait/toolkit/sencha/ext/client/events/view/AfterItemCollapseEvent;)(event);
};
var eventName = @com.ait.toolkit.sencha.ext.client.events.view.AfterItemCollapseEvent::EVENT_NAME;
component.addListener(eventName, fn);
var toReturn = @com.ait.toolkit.sencha.ext.client.events.HandlerRegistration::new(Lcom/ait/toolkit/sencha/ext/client/core/Component;Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;)(this,eventName,fn);
return toReturn;
}-*/;
/**
* Fires after an item has been visually expanded and is visible in the tree.
*
* @param handler
* , the handler that will handle the event
*/
public native HandlerRegistration addAfterItemExpandHandler( AfterItemExpandHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
var fn = function(n, index, item, e) {
var node = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(n);
var event = @com.ait.toolkit.sencha.ext.client.events.view.AfterItemExpandEvent::new(Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;ILcom/google/gwt/dom/client/Element;Lcom/google/gwt/core/client/JavaScriptObject;)(node,index,item,e);
handler.@com.ait.toolkit.sencha.ext.client.events.view.AfterItemExpandHandler::onAfterItemExpand(Lcom/ait/toolkit/sencha/ext/client/events/view/AfterItemExpandEvent;)(event);
};
var eventName = @com.ait.toolkit.sencha.ext.client.events.view.AfterItemExpandEvent::EVENT_NAME;
component.addListener(eventName, fn);
var toReturn = @com.ait.toolkit.sencha.ext.client.events.HandlerRegistration::new(Lcom/ait/toolkit/sencha/ext/client/core/Component;Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;)(this,eventName,fn);
return toReturn;
}-*/;
/**
* Fires before a new child is appended, return false to cancel the append.
*
* @param handler
* , the handler that will handle the event
*/
public native void addBeforeItemAppendHandler( BeforeTreeItemAppendHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
if (component) {
component
.addListener(
@com.ait.toolkit.sencha.ext.client.events.Event::BEFORE_ITEM_APPEND,
$entry(function(node1, node2) {
var target = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(node1);
var toAppend = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(node2);
return handler.@com.ait.toolkit.sencha.ext.client.events.view.BeforeTreeItemAppendHandler::onEvent(Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;)(target,toAppend);
}));
}
}-*/;
public native HandlerRegistration addBeforeItemAppendHandler( BeforeItemAppendHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
var fn = function(node1, node2, e) {
var target = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(node1);
var toAppend = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(node2);
var event = @com.ait.toolkit.sencha.ext.client.events.view.BeforeItemAppendEvent::new(Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/google/gwt/core/client/JavaScriptObject;)(target,toAppend,e);
handler.@com.ait.toolkit.sencha.ext.client.events.view.BeforeItemAppendHandler::onBeforeItemAppend(Lcom/ait/toolkit/sencha/ext/client/events/view/BeforeItemAppendEvent;)(event);
};
var eventName = @com.ait.toolkit.sencha.ext.client.events.view.BeforeItemAppendEvent::EVENT_NAME;
component.addListener(eventName, fn);
var toReturn = @com.ait.toolkit.sencha.ext.client.events.HandlerRegistration::new(Lcom/ait/toolkit/sencha/ext/client/core/Component;Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;)(this,eventName,fn);
return toReturn;
}-*/;
/**
* Fires before a new child is appended, return false to cancel the append.
*
* @param handler
* , the handler that will handle the event
*/
public native void addBeforeItemExpandHandler( BeforeTreeItemExpandHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
if (component) {
component
.addListener(
@com.ait.toolkit.sencha.ext.client.events.Event::BEFORE_ITEM_EXPAND,
$entry(function(n) {
var node = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(n);
return handler.@com.ait.toolkit.sencha.ext.client.events.view.BeforeTreeItemExpandHandler::onEvent(Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;)(node);
}));
}
}-*/;
public native HandlerRegistration addBeforeItemExpandHandler( BeforeItemExpandHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
var fn = function(node1, e) {
var target = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(node1);
var event = @com.ait.toolkit.sencha.ext.client.events.view.BeforeItemExpandEvent::new(Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/google/gwt/core/client/JavaScriptObject;)(target,e);
handler.@com.ait.toolkit.sencha.ext.client.events.view.BeforeItemExpandHandler::onBeforeItemExpand(Lcom/ait/toolkit/sencha/ext/client/events/view/BeforeItemExpandEvent;)(event);
};
var eventName = @com.ait.toolkit.sencha.ext.client.events.view.BeforeItemExpandEvent::EVENT_NAME;
component.addListener(eventName, fn);
var toReturn = @com.ait.toolkit.sencha.ext.client.events.HandlerRegistration::new(Lcom/ait/toolkit/sencha/ext/client/core/Component;Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;)(this,eventName,fn);
return toReturn;
}-*/;
/**
* Fires before this node is collapsed.
*
* @param handler
* , the handler that will handle the event
*/
public native void addBeforeItemCollapseHandler( BeforeTreeItemCollapseHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
if (component) {
component
.addListener(
@com.ait.toolkit.sencha.ext.client.events.Event::BEFORE_ITEM_COLLAPSE,
$entry(function(n) {
var node = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(n);
return handler.@com.ait.toolkit.sencha.ext.client.events.view.BeforeTreeItemCollapseHandler::onEvent(Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;)(node);
}));
}
}-*/;
public native HandlerRegistration addBeforeItemCollapseHandler( BeforeItemCollapseHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
var fn = function(node1, e) {
var target = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(node1);
var event = @com.ait.toolkit.sencha.ext.client.events.view.BeforeItemCollapseEvent::new(Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/google/gwt/core/client/JavaScriptObject;)(target,e);
handler.@com.ait.toolkit.sencha.ext.client.events.view.BeforeItemCollapseHandler::onBeforeItemCollapse(Lcom/ait/toolkit/sencha/ext/client/events/view/BeforeItemCollapseEvent;)(event);
};
var eventName = @com.ait.toolkit.sencha.ext.client.events.view.BeforeItemCollapseEvent::EVENT_NAME;
component.addListener(eventName, fn);
var toReturn = @com.ait.toolkit.sencha.ext.client.events.HandlerRegistration::new(Lcom/ait/toolkit/sencha/ext/client/core/Component;Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;)(this,eventName,fn);
return toReturn;
}-*/;
/**
* Fires before a new child is inserted, return false to cancel the insert.
*
* @param handler
* , the handler that will handle the event
*/
public native void addBeforeItemInsertHandler( BeforeTreeItemInsertHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
if (component) {
component
.addListener(
@com.ait.toolkit.sencha.ext.client.events.Event::BEFORE_ITEM_INSERT,
$entry(function(n, o, r) {
var node = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(n);
var oldParent = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(o);
var refNode = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(r);
return handler.@com.ait.toolkit.sencha.ext.client.events.view.BeforeTreeItemInsertHandler::onEvent(Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;)(node,oldParent,refNode);
}));
}
}-*/;
public native HandlerRegistration addBeforeItemInsertHandler( BeforeItemInsertHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
var fn = function(n, o, r, e) {
var node = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(n);
var toInsert = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(o);
var refNode = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(r);
var event = @com.ait.toolkit.sencha.ext.client.events.view.BeforeItemInsertEvent::new(Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;ILcom/google/gwt/core/client/JavaScriptObject;)(node,toInsert,refNode,e);
handler.@com.ait.toolkit.sencha.ext.client.events.view.BeforeItemInsertHandler::onBeforeItemInsert(Lcom/ait/toolkit/sencha/ext/client/events/view/BeforeItemInsertEvent;)(event);
};
var eventName = @com.ait.toolkit.sencha.ext.client.events.view.BeforeItemInsertEvent::EVENT_NAME;
component.addListener(eventName, fn);
var toReturn = @com.ait.toolkit.sencha.ext.client.events.HandlerRegistration::new(Lcom/ait/toolkit/sencha/ext/client/core/Component;Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;)(this,eventName,fn);
return toReturn;
}-*/;
/**
* Fires before this node is moved to a new location in the tree. Return false to cancel the move.
*
* @param handler
* , the handler that will handle the event
*/
public native void addBeforeItemMoveHandler( BeforeTreeItemMoveHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
if (component) {
component
.addListener(
@com.ait.toolkit.sencha.ext.client.events.Event::BEFORE_ITEM_MOVE,
$entry(function(n, o, np, index) {
var node = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(n);
var oldParent = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(o);
var newParent = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(np);
return handler.@com.ait.toolkit.sencha.ext.client.events.view.BeforeTreeItemMoveHandler::onEvent(Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;I)(node,oldParent,newParent,index);
}));
}
}-*/;
/**
* Fires before this node is moved to a new location in the tree.
*
* @param handler
* , the handler that will handle the event
*/
public native HandlerRegistration addBeforeItemMoveHandler( BeforeItemMoveHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
var fn = function(n, o, np, index, e) {
var node = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(n);
var oldParent = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(o);
var newParent = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(np);
var event = @com.ait.toolkit.sencha.ext.client.events.view.BeforeItemMoveEvent::new(Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;ILcom/google/gwt/core/client/JavaScriptObject;)(node,newParent, oldParent, index, e);
handler.@com.ait.toolkit.sencha.ext.client.events.view.BeforeItemMoveHandler::onBeforeItemMove(Lcom/ait/toolkit/sencha/ext/client/events/view/BeforeItemMoveEvent;)(event);
};
var eventName = @com.ait.toolkit.sencha.ext.client.events.view.BeforeItemMoveEvent::EVENT_NAME;
component.addListener(eventName, fn);
var toReturn = @com.ait.toolkit.sencha.ext.client.events.HandlerRegistration::new(Lcom/ait/toolkit/sencha/ext/client/core/Component;Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;)(this,eventName,fn);
return toReturn;
}-*/;
/**
* Fires before a child is removed, return false to cancel the remove.
*
* @param handler
* , the handler that will handle the event
*/
public native void addBeforeItemRemoveHandler( BeforeTreeItemRemoveHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
if (component) {
component
.addListener(
@com.ait.toolkit.sencha.ext.client.events.Event::BEFORE_ITEM_REMOVE,
$entry(function(n, tr, isMove) {
var node = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(n);
var toRemove = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(tr);
return handler.@com.ait.toolkit.sencha.ext.client.events.view.BeforeTreeItemRemoveHandler::onEvent(Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Z)(node,toRemove,isMove);
}));
}
}-*/;
public native HandlerRegistration addBeforeItemRemoveHandler( BeforeItemRemoveHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
var fn = function(n, tr, isMove, e) {
var node = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(n);
var toRemove = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(tr);
var event = @com.ait.toolkit.sencha.ext.client.events.view.BeforeItemRemoveEvent::new(Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;ZLcom/google/gwt/core/client/JavaScriptObject;)(node,toRemove,isMove,e);
handler.@com.ait.toolkit.sencha.ext.client.events.view.BeforeItemRemoveHandler::onBeforeItemRemove(Lcom/ait/toolkit/sencha/ext/client/events/view/BeforeItemRemoveEvent;)(event);
};
var eventName = @com.ait.toolkit.sencha.ext.client.events.view.BeforeItemRemoveEvent::EVENT_NAME;
component.addListener(eventName, fn);
var toReturn = @com.ait.toolkit.sencha.ext.client.events.HandlerRegistration::new(Lcom/ait/toolkit/sencha/ext/client/core/Component;Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;)(this,eventName,fn);
return toReturn;
}-*/;
/**
* Fires before a request is made for a new data object. If the beforeload handler returns false the load action will be canceled.
*
* @param handler
* , the handler that will handle the event
*/
public native void addBeforeLoadHandler( BeforeTreeLoadHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
if (component) {
component
.addListener(
@com.ait.toolkit.sencha.ext.client.events.Event::BEFORE_LOAD,
$entry(function(s, o) {
var store = @com.ait.toolkit.sencha.shared.client.data.Store::new(Lcom/google/gwt/core/client/JavaScriptObject;)(s);
var operation = @com.ait.toolkit.sencha.shared.client.data.Operation::new(Lcom/google/gwt/core/client/JavaScriptObject;)(o);
return handler.@com.ait.toolkit.sencha.ext.client.events.view.BeforeTreeLoadHandler::onEvent(Lcom/ait/toolkit/sencha/shared/client/data/Store;Lcom/ait/toolkit/sencha/shared/client/data/Operation;)(store,operation);
}));
}
}-*/;
public native HandlerRegistration addBeforeLoadHandler( BeforeLoadHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
var fn = function(s, o, e) {
var store = @com.ait.toolkit.sencha.shared.client.data.Store::new(Lcom/google/gwt/core/client/JavaScriptObject;)(s);
var operation = @com.ait.toolkit.sencha.shared.client.data.Operation::new(Lcom/google/gwt/core/client/JavaScriptObject;)(o);
var event = @com.ait.toolkit.sencha.ext.client.events.view.BeforeLoadEvent::new(Lcom/ait/toolkit/sencha/shared/client/data/Store;Lcom/ait/toolkit/sencha/shared/client/data/Operation;Lcom/google/gwt/core/client/JavaScriptObject;)(store,operation,e);
handler.@com.ait.toolkit.sencha.ext.client.events.view.BeforeLoadHandler::onBeforeLoad(Lcom/ait/toolkit/sencha/ext/client/events/view/BeforeLoadEvent;)(event);
};
var eventName = @com.ait.toolkit.sencha.ext.client.events.view.BeforeLoadEvent::EVENT_NAME;
component.addListener(eventName, fn);
var toReturn = @com.ait.toolkit.sencha.ext.client.events.HandlerRegistration::new(Lcom/ait/toolkit/sencha/ext/client/core/Component;Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;)(this,eventName,fn);
return toReturn;
}-*/;
/**
* Fires when a node with a checkbox's checked property changes
*
* @param handler
* , the handler that will handle the event
*/
public native HandlerRegistration addCheckChangeHandler( CheckChangeHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
var fn = function(n, checked, e) {
var node = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(n);
var event = @com.ait.toolkit.sencha.ext.client.events.view.CheckChangeEvent::new(Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;ZLcom/google/gwt/core/client/JavaScriptObject;)(node,checked,e);
handler.@com.ait.toolkit.sencha.ext.client.events.view.CheckChangeHandler::onCheckChange(Lcom/ait/toolkit/sencha/ext/client/events/view/CheckChangeEvent;)(event);
};
var eventName = @com.ait.toolkit.sencha.ext.client.events.view.CheckChangeEvent::EVENT_NAME;
component.addListener(eventName, fn);
var toReturn = @com.ait.toolkit.sencha.ext.client.events.HandlerRegistration::new(Lcom/ait/toolkit/sencha/ext/client/core/Component;Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;)(this,eventName,fn);
return toReturn;
}-*/;
/**
* Fires when a new child node is appended
*
* @param handler
* , the handler that will handle the event
*/
public native HandlerRegistration addItemAppendHandler( ItemAppendHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
var fn = function(n, nn, index, e) {
var node = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(n);
var newNode = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(nn);
var event = @com.ait.toolkit.sencha.ext.client.events.view.ItemAppendEvent::new(Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;ILcom/google/gwt/core/client/JavaScriptObject;)(node,newNode,index,e);
handler.@com.ait.toolkit.sencha.ext.client.events.view.ItemAppendHandler::onItemAppend(Lcom/ait/toolkit/sencha/ext/client/events/view/ItemAppendEvent;)(event);
};
var eventName = @com.ait.toolkit.sencha.ext.client.events.view.ItemAppendEvent::EVENT_NAME;
component.addListener(eventName, fn);
var toReturn = @com.ait.toolkit.sencha.ext.client.events.HandlerRegistration::new(Lcom/ait/toolkit/sencha/ext/client/core/Component;Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;)(this,eventName,fn);
return toReturn;
}-*/;
/**
* Fires when this node is collapsed.
*
* @param handler
* , the handler that will handle the event
*/
public native HandlerRegistration addItemCollapseHandler( ItemCollapseHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
var fn = function(n, e) {
var node = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(n);
var event = @com.ait.toolkit.sencha.ext.client.events.view.ItemCollapseEvent::new(Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/google/gwt/core/client/JavaScriptObject;)(node,e);
handler.@com.ait.toolkit.sencha.ext.client.events.view.ItemCollapseHandler::onItemCollapse(Lcom/ait/toolkit/sencha/ext/client/events/view/ItemCollapseEvent;)(event);
};
var eventName = @com.ait.toolkit.sencha.ext.client.events.view.ItemCollapseEvent::EVENT_NAME;
component.addListener(eventName, fn);
var toReturn = @com.ait.toolkit.sencha.ext.client.events.HandlerRegistration::new(Lcom/ait/toolkit/sencha/ext/client/core/Component;Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;)(this,eventName,fn);
return toReturn;
}-*/;
/**
* Fires when this node is expanded.
*
* @param handler
* , the handler that will handle the event
*/
public native HandlerRegistration addItemExpandHandler( ItemExpandHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
var fn = function(n, e) {
var node = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(n);
var event = @com.ait.toolkit.sencha.ext.client.events.view.ItemExpandEvent::new(Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/google/gwt/core/client/JavaScriptObject;)(node,e);
handler.@com.ait.toolkit.sencha.ext.client.events.view.ItemExpandHandler::onItemExpand(Lcom/ait/toolkit/sencha/ext/client/events/view/ItemExpandEvent;)(event);
};
var eventName = @com.ait.toolkit.sencha.ext.client.events.view.ItemExpandEvent::EVENT_NAME;
component.addListener(eventName, fn);
var toReturn = @com.ait.toolkit.sencha.ext.client.events.HandlerRegistration::new(Lcom/ait/toolkit/sencha/ext/client/core/Component;Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;)(this,eventName,fn);
return toReturn;
}-*/;
/**
* Fires when a new child node is inserted.
*
* @param handler
* , the handler that will handle the event
*/
public native HandlerRegistration addItemInsertHandler( ItemInsertHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
var fn = function(n, o, r, e) {
var node = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(n);
var toInsert = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(o);
var refNode = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(r);
var event = @com.ait.toolkit.sencha.ext.client.events.view.ItemInsertEvent::new(Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;ILcom/google/gwt/core/client/JavaScriptObject;)(node,toInsert,refNode,e);
handler.@com.ait.toolkit.sencha.ext.client.events.view.ItemInsertHandler::onItemInsert(Lcom/ait/toolkit/sencha/ext/client/events/view/ItemInsertEvent;)(event);
};
var eventName = @com.ait.toolkit.sencha.ext.client.events.view.ItemInsertEvent::EVENT_NAME;
component.addListener(eventName, fn);
var toReturn = @com.ait.toolkit.sencha.ext.client.events.HandlerRegistration::new(Lcom/ait/toolkit/sencha/ext/client/core/Component;Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;)(this,eventName,fn);
return toReturn;
}-*/;
/**
* Fires when this node is moved to a new location in the tree
*
* @param handler
* , the handler that will handle the event
*/
public native HandlerRegistration addItemMoveHandler( ItemMoveHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
var fn = function(n, o, np, index, e) {
var node = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(n);
var oldParent = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(o);
var newParent = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(np);
var event = @com.ait.toolkit.sencha.ext.client.events.view.ItemMoveEvent::new(Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;ILcom/google/gwt/core/client/JavaScriptObject;)(node,newParent, oldParent, index, e);
handler.@com.ait.toolkit.sencha.ext.client.events.view.ItemMoveHandler::onItemMove(Lcom/ait/toolkit/sencha/ext/client/events/view/ItemMoveEvent;)(event);
};
var eventName = @com.ait.toolkit.sencha.ext.client.events.view.ItemMoveEvent::EVENT_NAME;
component.addListener(eventName, fn);
var toReturn = @com.ait.toolkit.sencha.ext.client.events.HandlerRegistration::new(Lcom/ait/toolkit/sencha/ext/client/core/Component;Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;)(this,eventName,fn);
return toReturn;
}-*/;
/**
* Fires when a child node is removed
*
* @param handler
* , the handler that will handle the event
*/
public native HandlerRegistration addItemRemoveHandler( ItemRemoveHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
var fn = function(n, tr, isMove, e) {
var node = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(n);
var toRemove = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(tr);
var event = @com.ait.toolkit.sencha.ext.client.events.view.ItemRemoveEvent::new(Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;ZLcom/google/gwt/core/client/JavaScriptObject;)(node,toRemove,isMove,e);
handler.@com.ait.toolkit.sencha.ext.client.events.view.ItemRemoveHandler::onItemRemove(Lcom/ait/toolkit/sencha/ext/client/events/view/ItemRemoveEvent;)(event);
};
var eventName = @com.ait.toolkit.sencha.ext.client.events.view.ItemRemoveEvent::EVENT_NAME;
component.addListener(eventName, fn);
var toReturn = @com.ait.toolkit.sencha.ext.client.events.HandlerRegistration::new(Lcom/ait/toolkit/sencha/ext/client/core/Component;Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;)(this,eventName,fn);
return toReturn;
}-*/;
/**
* Fires whenever the store reads data from a remote data source.
*
* @param handler
* , the handler that will handle the event
*/
public native HandlerRegistration addLoadHandler( LoadHandler handler )/*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
var fn = function(s, n, r, successful, e) {
var store = @com.ait.toolkit.sencha.shared.client.data.TreeStore::new(Lcom/google/gwt/core/client/JavaScriptObject;)(obj);
var node = @com.ait.toolkit.sencha.shared.client.data.NodeInterface::new(Lcom/google/gwt/core/client/JavaScriptObject;)(n);
var records = @com.ait.toolkit.data.client.TableItem::fromJsArray(Lcom/google/gwt/core/client/JavaScriptObject;)(r);
var event = @com.ait.toolkit.sencha.ext.client.events.view.LoadEvent::new(Lcom/ait/toolkit/sencha/shared/client/data/TreeStore;Lcom/ait/toolkit/sencha/shared/client/data/NodeInterface;Ljava/util/List;ZLcom/google/gwt/core/client/JavaScriptObject;)(store,node,records,sucessful,e);
handler.@com.ait.toolkit.sencha.ext.client.events.view.LoadHandler::onLoad(Lcom/ait/toolkit/sencha/ext/client/events/view/LoadEvent;)(event);
};
var eventName = @com.ait.toolkit.sencha.ext.client.events.view.LoadEvent::EVENT_NAME;
component.addListener(eventName, fn);
var toReturn = @com.ait.toolkit.sencha.ext.client.events.HandlerRegistration::new(Lcom/ait/toolkit/sencha/ext/client/core/Component;Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;)(this,eventName,fn);
return toReturn;
}-*/;
/**
* The component width. (defaults to auto)
*
* @param width
* the width, -1 for auto
*/
public void setWidth( double width ) {
if( width == -1 ) {
setAttribute( "width", "auto", true, true );
} else {
setAttribute( "width", width, true );
}
setWidthRendered( width );
}
private native void setTitleRendered( String title ) /*-{
var panel = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
if (panel && panel.setTitle) {
panel.setTitle(title);
}
}-*/;
private native void setWidthRendered( double width ) /*-{
var component = this.@com.ait.toolkit.sencha.ext.client.core.Component::getOrCreateJsObj()();
if (component && component.setWidth) {
component.setWidth(width);
}
}-*/;
/**
* Creates a new TreePanel from the given component
*
* @param component
* , the component to cast from
* @return, a new TreePanel from the component
*
*/
public static TreePanel cast( Component component ) {
return new TreePanel( component.getOrCreateJsObj() );
}
}