Isis 3 Developer Reference
RubberBandComboBox.h
Go to the documentation of this file.
1 #ifndef RubberBandComboBox_h
2 #define RubberBandComboBox_h
3 
4 #include <QComboBox>
5 
6 #include "FileName.h"
7 #include "RubberBandTool.h"
8 
9 namespace Isis {
26  class RubberBandComboBox : public QComboBox {
27  Q_OBJECT
28 
29  public:
30  RubberBandComboBox(Tool *tool, unsigned int bandingOptions, unsigned int defaultOption,
31  bool showIndicatorColors = false);
32 
37  Circle = 1,
38  Ellipse = 2,
39  Rectangle = 4,
41  Polygon = 16,
42  Line = 32,
44  Angle = 128
45  };
46 
48  QString toolIconDir() const {
49  return m_tool->toolIconDir();
50  }
51  void reset();
52 
53  protected slots:
54  void selectionChanged(int index);
55 
56  private:
58  unsigned int getDefault(unsigned int defaultOption, unsigned int bandingOptions);
59 
61  void showAngle() {
62  m_tool->rubberBandTool()->enable(RubberBandTool::AngleMode, m_showIndicatorColors);
63  }
65  void showCircle() {
66  m_tool->rubberBandTool()->enable(RubberBandTool::CircleMode, m_showIndicatorColors);
67  }
69  void showEllipse() {
70  m_tool->rubberBandTool()->enable(RubberBandTool::EllipseMode, m_showIndicatorColors);
71  }
73  void showLine() {
74  m_tool->rubberBandTool()->enable(RubberBandTool::LineMode, m_showIndicatorColors);
75  }
77  void showRectangle() {
78  m_tool->rubberBandTool()->enable(RubberBandTool::RectangleMode, m_showIndicatorColors);
79  }
81  void showRotatedRectangle() {
83  m_showIndicatorColors);
84  }
86  void showPolygon() {
87  m_tool->rubberBandTool()->enable(RubberBandTool::PolygonMode, m_showIndicatorColors);
88  }
90  void showSegmentedLine() {
91  m_tool->rubberBandTool()->enable(RubberBandTool::SegmentedLineMode, m_showIndicatorColors);
92  }
93 
94  QStringList m_bandingOptionStrings;
95  bool m_showIndicatorColors;
96  Tool *m_tool;
97  };
98 };
99 
100 #endif
void reset()
Resets the selection.
Definition: RubberBandComboBox.cpp:226
QString toolIconDir() const
returns the path to the icon directory.
Definition: Tool.h:127
Definition: RubberBandTool.h:64
Definition: RubberBandTool.h:62
QString toolIconDir() const
Returns the icon directory.
Definition: RubberBandComboBox.h:48
Definition: RubberBandTool.h:59
Combo box for choosing a rubber band type.
Definition: RubberBandComboBox.h:26
RubberBandTool * rubberBandTool()
Definition: Tool.cpp:57
RotatedRectangle.
Definition: RubberBandComboBox.h:40
Definition: RubberBandTool.h:65
RubberBandOptions
Enum to store rubber band shapes.
Definition: RubberBandComboBox.h:36
Definition: RubberBandTool.h:63
Definition: RubberBandTool.h:58
RubberBandComboBox(Tool *tool, unsigned int bandingOptions, unsigned int defaultOption, bool showIndicatorColors=false)
RubberBandComboBox constructor.
Definition: RubberBandComboBox.cpp:16
Segmented Line.
Definition: RubberBandComboBox.h:43
Polygon.
Definition: RubberBandComboBox.h:41
void selectionChanged(int index)
This slot is called whenever the rubberband shape selection has changed.
Definition: RubberBandComboBox.cpp:189
Defines an angle and provides unit conversions.
Definition: Angle.h:62
Circle.
Definition: RubberBandComboBox.h:37
Definition: Selection.h:29
Rectangle.
Definition: RubberBandComboBox.h:39
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
Base class for the Qisis tools.
Definition: Tool.h:81
Line.
Definition: RubberBandComboBox.h:42
Definition: RubberBandTool.h:61
Definition: RubberBandTool.h:60
void enable(RubberBandMode mode, bool showIndicatorColors=false)
This is called when changing modes or turning on.
Definition: RubberBandTool.cpp:302