Isis Developer Reference
ToolList.h
Go to the documentation of this file.
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
16class QStackedWidget;
17class QToolBar;
18
19namespace 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;
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
Rubber banding tool.
Definition RubberBandTool.h:50
Base class for the Qisis tools.
Definition Tool.h:67
Allows tools to share data between each other.
Definition ToolList.h:32
void append(Tool *tool)
Definition ToolList.cpp:21
int count() const
Definition ToolList.cpp:36
QStackedWidget * toolBarStack()
Definition ToolList.cpp:46
ToolList()
Definition ToolList.cpp:10
Tool * operator[](int index)
Definition ToolList.cpp:61
~ToolList()
Definition ToolList.cpp:16
RubberBandTool * rubberBandTool()
Definition ToolList.cpp:41
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16