17 : QListWidget(parent),
19 m_LastSelectedReferenceData(nullptr),
20 m_ToolGroupsForFiltering(
"default"),
21 m_DisplayOnlyDerivedNodes(true)
27 QListWidget::setSelectionMode(QListWidget::MultiSelection);
28 QListWidget::setDragDropMode(QListWidget::InternalMove);
81 previouslySelectedNodes = selection;
83 if (selection.size() > 0)
123 QListWidget::clear();
128 for (mitk::ToolManager::DataVectorType::const_iterator objectIter = allObjects.begin();
129 objectIter != allObjects.end();
137 std::string name = node->
GetName();
143 QRgb qrgb = qRgb((
int)(rgb[0] * 255.0), (
int)(rgb[1] * 255.0), (
int)(rgb[2] * 255.0));
145 QPixmap pixmap(25, 18);
146 pixmap.fill(QColor(qrgb));
149 QListWidgetItem *newItem =
new QListWidgetItem();
150 QString qname = QString::fromLocal8Bit(name.c_str());
153 newItem->setText(qname);
154 newItem->setIcon(QIcon(pixmap));
156 this->addItem(newItem);
158 m_Node.insert(std::make_pair(newItem, node));
167 QList<QListWidgetItem *> items;
168 for (
int j = 0; j < this->count(); j++)
170 if (this->item(j)->isSelected())
171 items.append(this->item(j));
174 for (
int i = 0; i < items.size(); ++i)
176 QListWidgetItem *item = items.at(i);
179 ItemNodeMapType::iterator it =
m_Node.find(item);
184 result.push_back(node);
194 QListWidgetItem *item = QListWidget::selectedItems().first();
197 ItemNodeMapType::iterator iter =
m_Node.find(item);
223 std::vector<mitk::NodePredicateBase::ConstPointer> m_Predicates;
225 bool rebuildNeeded =
true;
228 m_Predicates.clear();
232 for (mitk::ToolManager::ToolVectorTypeConst::const_iterator iter = allTools.begin(); iter != allTools.end(); ++iter)
240 if (completePredicate.IsNotNull())
242 m_Predicates.push_back(
245 completePredicate = m_Predicates.back();
256 mitk::DataStorage::SetOfObjects::ConstPointer allObjects;
264 if (onlyDerivedFromOriginal)
269 allObjects = dataStorage->
GetDerivations(sourceNode, completePredicate,
false);
273 allObjects = mitk::DataStorage::SetOfObjects::New();
278 if (completePredicate)
280 allObjects = dataStorage->
GetSubset(completePredicate);
284 allObjects = dataStorage->
GetAll();
288 m_Predicates.clear();
289 completePredicate =
nullptr;
293 for (mitk::DataStorage::SetOfObjects::const_iterator objectIter = allObjects->begin();
294 objectIter != allObjects->end();
298 resultVector.push_back(node);
Data management class that handles 'was created by' relations.
virtual SetOfObjects::ConstPointer GetDerivations(const DataNode *node, const NodePredicateBase *condition=nullptr, bool onlyDirectDerivations=true) const =0
returns a set of derived objects for a given node.
virtual SetOfObjects::ConstPointer GetAll() const =0
returns a set of all data objects that are stored in the data storage
bool GetColor(float rgb[3], const mitk::BaseRenderer *renderer=nullptr, const char *propertyKey="color") const
Convenience access method for color properties (instances of ColorProperty)
SetOfObjects::ConstPointer GetSubset(const NodePredicateBase *condition) const
returns a set of data objects that meet the given condition(s)
Class for nodes of the DataTree.
bool GetName(std::string &nodeName, const mitk::BaseRenderer *renderer=nullptr, const char *propertyKey="name") const
Convenience access method for accessing the name of an object (instance of StringProperty with proper...