Choreonoid  1.8
PositionTagListWidget.h
Go to the documentation of this file.
1 #ifndef CNOID_BASE_POSITION_TAG_LIST_WIDGET_H
2 #define CNOID_BASE_POSITION_TAG_LIST_WIDGET_H
3 
4 #include <cnoid/Signal>
5 #include <QTableView>
6 #include "exportdecl.h"
7 
8 namespace cnoid {
9 
10 class PositionTagGroupItem;
11 class MenuManager;
12 
13 class CNOID_EXPORT PositionTagListWidget : public QTableView
14 {
15 public:
16  PositionTagListWidget(QWidget* parent = nullptr);
17  void setTagGroupItem(PositionTagGroupItem* item);
18  int currentTagIndex() const;
19  void setCurrentTagIndex(int tagIndex);
20  const std::vector<int>& selectedTagIndices() const;
21  void removeSelectedTags();
22 
23  SignalProxy<void(const std::vector<int>& selected)> sigTagSelectionChanged();
24  SignalProxy<void(int tagIndex)> sigTagPressed();
25  SignalProxy<void(int tagIndex)> sigTagDoubleClicked();
26  SignalProxy<void(MenuManager& menu)> sigContextMenuRequest();
27 
28 protected:
29  virtual void keyPressEvent(QKeyEvent* event) override;
30  virtual void mousePressEvent(QMouseEvent* event) override;
31  virtual void selectionChanged(const QItemSelection& selected, const QItemSelection& deselected) override;
32  virtual void dropEvent(QDropEvent *event) override;
33 
34 private:
35  class Impl;
36  Impl* impl;
37 };
38 
39 }
40 
41 #endif
cnoid::PositionTagGroupItem
Definition: PositionTagGroupItem.h:14
cnoid::MenuManager
Definition: MenuManager.h:14
cnoid
Definition: AbstractSceneLoader.h:11
cnoid::PositionTagListWidget
Definition: PositionTagListWidget.h:13
cnoid::SignalProxy
Definition: Signal.h:470