define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree", "dijit/form/DropDownButton"], function (declare, domConstruct) { return declare("fox.PrefLabelTree", lib.CheckBoxTree, { setNameById: function (id, name) { var item = this.model.store._itemsByIdentity['LABEL:' + id]; if (item) this.model.store.setValue(item, 'name', name); }, _createTreeNode: function(args) { var tnode = this.inherited(arguments); var fg_color = this.model.store.getValue(args.item, 'fg_color'); var bg_color = this.model.store.getValue(args.item, 'bg_color'); var type = this.model.store.getValue(args.item, 'type'); var bare_id = this.model.store.getValue(args.item, 'bare_id'); if (type == 'label') { var span = dojo.doc.createElement('span'); span.innerHTML = 'α'; span.className = 'labelColorIndicator'; span.id = 'LICID-' + bare_id; span.setStyle({ color: fg_color, backgroundColor: bg_color}); tnode._labelIconNode = span; domConstruct.place(tnode._labelIconNode, tnode.labelNode, 'before'); } return tnode; }, getIconClass: function (item, opened) { return (!item || this.model.mayHaveChildren(item)) ? (opened ? "dijitFolderOpened" : "dijitFolderClosed") : "invisible"; }, }); });