Upgrade to ExtJS 4.0.0 - Released 04/26/2011
[extjs.git] / src / toolbar / Toolbar-legacy.js
diff --git a/src/toolbar/Toolbar-legacy.js b/src/toolbar/Toolbar-legacy.js
new file mode 100644 (file)
index 0000000..f6fe6df
--- /dev/null
@@ -0,0 +1,126 @@
+/**
+ * @ignore
+ */
+// backwards compat
+Ext.toolbar.Toolbar.Button = Ext.extend(Ext.button.Button, {});
+Ext.toolbar.Toolbar.SplitButton = Ext.extend(Ext.button.Split, {});
+Ext.reg('tbbutton', Ext.toolbar.Toolbar.Button);
+Ext.reg('tbsplit', Ext.toolbar.Toolbar.SplitButton);
+
+/**
+ * @ignore
+ */
+Ext.toolbar.Toolbar.override({
+    /**
+     * Adds text to the toolbar
+     * <br><p><b>Note</b>: See the notes within {@link Ext.container.Container#add}.</p>
+     * @param {String} text The text to add
+     * @return {Ext.Toolbar.Item} The element's item
+     */
+    addText : function(text){
+        return this.addItem(new Ext.Toolbar.TextItem(text));
+    },
+
+    /**
+     * Adds a new element to the toolbar from the passed {@link Ext.core.DomHelper} config
+     * <br><p><b>Note</b>: See the notes within {@link Ext.container.Container#add}.</p>
+     * @param {Object} config
+     * @return {Ext.Toolbar.Item} The element's item
+     */
+    addDom : function(config){
+        return this.add(new Ext.Toolbar.Item({autoEl: config}));
+    },
+
+    /**
+     * Adds a dynamically rendered Ext.form field (Text, ComboBox, etc). Note: the field should not have
+     * been rendered yet. For a field that has already been rendered, use {@link #addElement}.
+     * <br><p><b>Note</b>: See the notes within {@link Ext.container.Container#add}.</p>
+     * @param {Ext.form.field.Field} field
+     * @return {Ext.Toolbar.Item}
+     */
+    addField : function(field){
+        return this.add(field);
+    },
+
+    /**
+     * Inserts any {@link Ext.toolbar.Item}/{@link Ext.button.Button} at the specified index.
+     * <br><p><b>Note</b>: See the notes within {@link Ext.container.Container#add}.</p>
+     * @param {Number} index The index where the item is to be inserted
+     * @param {Object/Ext.Toolbar.Item/Ext.button.Button/Array} item The button, or button config object to be
+     * inserted, or an array of buttons/configs.
+     * @return {Ext.button.Button/Item}
+     */
+    insertButton : function(index, item){
+        if(Ext.isArray(item)){
+            var buttons = [];
+            for(var i = 0, len = item.length; i < len; i++) {
+               buttons.push(this.insertButton(index + i, item[i]));
+            }
+            return buttons;
+        }
+        return Ext.toolbar.Toolbar.superclass.insert.call(this, index, item);
+    },
+
+    /**
+     * Adds a separator
+     * <br><p><b>Note</b>: See the notes within {@link Ext.container.Container#add}.</p>
+     * @return {Ext.toolbar.Item} The separator {@link Ext.toolbar.Item item}
+     */
+    addSeparator : function(){
+        return this.add(new Ext.toolbar.Separator());
+    },
+
+    /**
+     * Adds a spacer element
+     * <br><p><b>Note</b>: See the notes within {@link Ext.container.Container#add}.</p>
+     * @return {Ext.Toolbar.Spacer} The spacer item
+     */
+    addSpacer : function(){
+        return this.add(new Ext.Toolbar.Spacer());
+    },
+
+    /**
+     * Forces subsequent additions into the float:right toolbar
+     * <br><p><b>Note</b>: See the notes within {@link Ext.container.Container#add}.</p>
+     */
+    addFill : function(){
+        this.add(new Ext.Toolbar.Fill());
+    },
+
+    /**
+     * Adds any standard HTML element to the toolbar
+     * <br><p><b>Note</b>: See the notes within {@link Ext.container.Container#add}.</p>
+     * @param {Mixed} el The element or id of the element to add
+     * @return {Ext.Toolbar.Item} The element's item
+     */
+    addElement : function(el){
+        return this.addItem(new Ext.Toolbar.Item({el:el}));
+    },
+
+    /**
+     * Adds any Toolbar.Item or subclass
+     * <br><p><b>Note</b>: See the notes within {@link Ext.container.Container#add}.</p>
+     * @param {Ext.Toolbar.Item} item
+     * @return {Ext.Toolbar.Item} The item
+     */
+    addItem : function(item){
+        return this.add.apply(this, arguments);
+    },
+
+    /**
+     * Adds a button (or buttons). See {@link Ext.button.Button} for more info on the config.
+     * <br><p><b>Note</b>: See the notes within {@link Ext.container.Container#add}.</p>
+     * @param {Object/Array} config A button config or array of configs
+     * @return {Ext.button.Button/Array}
+     */
+    addButton : function(config){
+        if(Ext.isArray(config)){
+            var buttons = [];
+            for(var i = 0, len = config.length; i < len; i++) {
+                buttons.push(this.addButton(config[i]));
+            }
+            return buttons;
+        }
+        return this.add(this.constructButton(config));
+    }
+});
\ No newline at end of file