this.setId(id);\r
this.setLabel(label);\r
this.setIcon(icon); \r
+ this.menuClones = [];\r
},\r
\r
members :\r
this.getLabel(), \r
this.getIcon(), \r
this, \r
- this.getMenu()\r
+ this.getMenuClone()\r
);\r
this.addTooltip(button);\r
if(this.getMenu()){\r
this.addListener("changeMenu", function(event){\r
button.setMenu(this.getMenuClone());\r
- }, this);\r
- this.menuClones = [];\r
+ }, this); \r
}\r
return button;\r
},\r
getMenuClone : function(){\r
var menuClone = new qx.ui.menu.Menu();\r
var submenus = this.getMenu();\r
+ if(!submenus) return;\r
for(var i=0;i<submenus.length;i++){\r
var button = new qx.ui.menu.Button(submenus[i].label, submenus[i].icon);\r
button.setUserData("commandId", submenus[i].commandId);\r
}\r
this.menuClones = [];\r
},\r
- \r
- /**\r
- * Add button to a given submenu.\r
- * @param label {String} The label of the button\r
- * @param icon {String} The icon of the button\r
- * @param commandId {String} The associated command id.\r
- * @param menu {qx.ui.menu.Menu} The menu to which add the button\r
- */\r
- addSubMenuButton : function(label, icon, commandId, menu){\r
- var button = new qx.ui.menu.Button(label, icon);\r
- button.setUserData("commandId", commandId);\r
- button.addListener("execute", this.executeSubMenuCallback, this);\r
- if(menu){\r
- menu.add(button);\r
- }else{\r
- this.getMenu().add(button);\r
- }\r
- },\r
- \r
+ \r
/**\r
* Triggers the menuCallback property in the right context.\r
* @param event {qx.event.type.Event} The firing event.\r