/** Set the node to be edited */ void PropertyEditor::setNode(TreeItem * listViewItem, GNode * node) { #ifdef DEBUGMSG qDebug("PropertyEditor::setNode: Start\n"); #endif if (toBeDeleted_) { delete toBeDeleted_; toBeDeleted_ = 0; } if (update_) { toBeDeleted_ = selectedItem_; if (toBeDeleted_) { QListViewItem *parent = toBeDeleted_->QListViewItem::parent(); if (!parent) this->takeItem(toBeDeleted_); else parent->takeItem(toBeDeleted_); } selectedItem_ = 0; } itemSelected(0); node_ = node; listViewItem_ = listViewItem; selectedItem_ = 0; clear(); if (!node_ || !listViewItem_) return; attribList_ = &(node->attribList()); QDictIterator < QString > it(*attribList_); #ifdef DEBUGMSG qDebug("PropertyEditor::setNode: Using default attriblist\n"); #endif for (; it.current(); ++it) { new PropertyItem(node_, this, it.currentKey(), *(it.current()), true); } #ifdef DEBUGMSG qDebug("Done\n"); #endif { QListViewItemIterator it(this); for (; it.current(); ++it) { PropertyItem *p = (PropertyItem *) (it.current()); p->addToolTip(); } } #if 0 PropertyItem *parent = new PropertyItem(node_, this, "default Attribs", "", true); parent->setSelectable(false); parent->setOpen(true); { QStringList::Iterator it; for (it = node_->predefinedAttribs().begin(); it != node_->predefinedAttribs().end(); ++it) { #ifdef DEBUGMSG qDebug("add Attribute %s\n", (const char *) (*it)); #endif new PropertyItem(node_, parent, (*it), node_->attribute(*it)); } } parent = new PropertyItem(node_, this, "add Attributes", "", true); { QDictIterator < QString > it(*attribList_); for (; it.current(); ++it) { if (!node_->predefinedAttribs().contains(it.currentKey())) new PropertyItem(node_, parent, it.currentKey(), *(it.current())); } } #endif }