11 #include <QMouseEvent> 17 return (item->
getType() ==
"FOLDER");
22 std::list<te::map::AbstractLayerPtr> res;
25 for(std::list<te::qt::widgets::TreeItem*>::iterator it = items.begin(); it != items.end(); ++it)
26 if((*it)->getType() ==
"LAYER")
34 m_outterFilter(nullptr)
39 setDefaultDropAction(Qt::MoveAction);
41 setRootIsDecorated(
true);
42 setSelectionMode(QAbstractItemView::ExtendedSelection);
44 viewport()->setAutoFillBackground(
true);
64 if(idx.isValid() &&
Expand(idx,
this))
67 selectionModel()->clearSelection();
87 std::list<te::qt::widgets::TreeItem*> res;
89 QModelIndexList lst = QTreeView::selectedIndexes();
93 for(QModelIndexList::ConstIterator it = lst.begin(); it != lst.end(); ++it)
94 res.push_back(static_cast<te::qt::widgets::TreeItem*>((*it).internalPointer()));
103 if(idx.isValid() &&
Expand(idx,
this))
106 selectionModel()->clearSelection();
111 std::vector<TreeItem*> items;
121 QModelIndex cIdx = idx.child(pos, 0);
134 QTreeView::expand(idx);
135 QTreeView::expand(idx.child(1, 0));
146 std::vector<TreeItem*> items;
157 QModelIndex cIdx = lIdx.child(pos, 0);
168 QTreeView::expand(lIdx);
169 QTreeView::expand(lIdx.child(pos, 0));
216 selectionModel()->clearSelection();
229 if(delegate !=
nullptr)
233 if(newDelegate !=
nullptr)
234 setItemDelegate(newDelegate);
251 installEventFilter(obj);
277 QTreeView::selectionChanged(selected, deselected);
284 QTreeView::dropEvent(event);
291 QPoint pos =
event->globalPos();
292 QModelIndex idx = indexAt(viewport()->mapFromGlobal(pos));
318 int cs = model->rowCount(parent);
320 for (
int i = 0; i < cs; i++)
322 QModelIndex cIdx = model->index(i, 0, parent);
325 if (item->
getType() ==
"LAYER")
330 else if (item->
getType() ==
"FOLDER")
339 return QModelIndex();
This is the base class for layers.
A class that represents a style of a layer in a LayerTreeModel.
T * removeDecorator(T *decorated)
Removes The decorator of the decorated.
static te::dt::DateTime d(2010, 8, 9, 15, 58, 39)
A class for rendering icons for layer and folder itens.
Defines a layer item model for Qt5.
Defines a layer item view for Qt5.
std::list< te::map::AbstractLayerPtr > GetSelectedLayersOnly(te::qt::widgets::LayerItemView *view)
bool Expand(const QModelIndex &idx, te::qt::widgets::LayerItemView *)
boost::intrusive_ptr< AbstractLayer > AbstractLayerPtr