bodytreewidget.hh
Go to the documentation of this file.
1 // Copyright (c) 2015-2018, LAAS-CNRS
2 // Authors: Joseph Mirabel (joseph.mirabel@laas.fr)
3 //
4 // This file is part of gepetto-viewer.
5 // gepetto-viewer is free software: you can redistribute it
6 // and/or modify it under the terms of the GNU Lesser General Public
7 // License as published by the Free Software Foundation, either version
8 // 3 of the License, or (at your option) any later version.
9 //
10 // gepetto-viewer is distributed in the hope that it will be
11 // useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12 // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 // General Lesser Public License for more details. You should have
14 // received a copy of the GNU Lesser General Public License along with
15 // gepetto-viewer. If not, see <http://www.gnu.org/licenses/>.
16 
17 #ifndef GEPETTO_GUI_BODYTREEWIDGET_HH
18 #define GEPETTO_GUI_BODYTREEWIDGET_HH
19 
20 #include <gepetto/gui/fwd.hh>
21 
22 #include <QWidget>
23 #include <QTreeView>
24 #include <QToolBox>
25 #include <QStandardItemModel>
26 #include <QVector3D>
27 
28 namespace gepetto {
29  namespace gui {
31  class BodyTreeWidget : public QWidget
32  {
33  Q_OBJECT
34 
35  public:
36  explicit BodyTreeWidget (QWidget* parent = NULL)
37  : QWidget (parent)
38  {}
39 
43  void init(QTreeView *view, QWidget *propertyArea);
44 
45  virtual ~BodyTreeWidget () {}
46 
48  QTreeView* view ();
49 
50  QStandardItemModel* model()
51  {
52  return model_;
53  }
54 
55  void emitBodySelected (SelectionEvent* event);
56 
57  signals:
58  void bodySelected (SelectionEvent* event);
59 
60  public slots:
63 
66  void selectBodyByName (const QString bodyName);
67 
70  void selectBodyByName (const std::string& bodyName);
71 
73  QList<BodyTreeItem*> selectedBodies() const;
74 
76 
77  protected slots:
80  void customContextMenu (const QPoint& pos);
81 
82  void currentChanged (const QModelIndex &current,
83  const QModelIndex &previous);
84 
85  private:
90  void handleSelectionEvent (const SelectionEvent* event);
91 
92  void updatePropertyArea (BodyTreeItem* item);
93 
94  QTreeView* view_;
95  QStandardItemModel* model_;
97  QWidget* propertyArea_;
98  };
99  }
100 }
101 
102 #endif // GEPETTO_GUI_BODYTREEWIDGET_HH
void init(QTreeView *view, QWidget *propertyArea)
Definition: tree-item.hh:32
virtual ~BodyTreeWidget()
Definition: bodytreewidget.hh:45
void currentChanged(const QModelIndex &current, const QModelIndex &previous)
QTreeView * view()
Get the body tree view.
void selectBodyByName(const QString bodyName)
Contains the list of all the bodies in the scene.
Definition: bodytreewidget.hh:31
Definition: selection-event.hh:30
Definition: action-search-bar.hh:27
QList< BodyTreeItem * > selectedBodies() const
Get selected bodies.
void emitBodySelected(SelectionEvent *event)
QStandardItemModel * model()
Definition: bodytreewidget.hh:50
void customContextMenu(const QPoint &pos)
BodyTreeWidget(QWidget *parent=NULL)
Definition: bodytreewidget.hh:36
viewer::shared_ptr< WindowsManager > WindowsManagerPtr_t
Definition: fwd.hh:55
void bodySelected(SelectionEvent *event)