Isis 3 Programmer Reference
ToolList.h
1 #ifndef ToolList_h
2 #define ToolList_h
3 
10 /* SPDX-License-Identifier: CC0-1.0 */
11 
12 #include <QList>
13 
14 #include <QPointer>
15 
16 class QStackedWidget;
17 class QToolBar;
18 
19 namespace Isis {
20  class RubberBandTool;
21  class Tool;
22 
32  class ToolList {
33  public:
34  ToolList();
35  ~ToolList();
36 
37  void append(Tool *tool);
38  int count() const;
39  RubberBandTool *rubberBandTool();
40  QStackedWidget *toolBarStack();
41  QStackedWidget *toolBarStack(QToolBar *toolBar);
42 
43  Tool *operator[](int index);
44 
45  private:
46  Q_DISABLE_COPY(ToolList);
47 
48  QList<Tool *> m_tools;
49 
50  QPointer<QStackedWidget> m_activeToolBarStack;
51  QPointer<RubberBandTool> m_rubberBandTool;
52  };
53 }
54 
55 #endif
Isis::ToolList
Allows tools to share data between each other.
Definition: ToolList.h:32
QList
This is free and unencumbered software released into the public domain.
Definition: BoxcarCachingAlgorithm.h:13
Isis::Tool
Base class for the Qisis tools.
Definition: Tool.h:67
QToolBar
Isis::RubberBandTool
Rubber banding tool.
Definition: RubberBandTool.h:50
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16