17 unsigned int defaultOption,
bool showIndicatorColors) :
QComboBox() {
21 setDuplicatesEnabled(
false);
23 setIconSize(QSize(24, 24));
27 defaultOption =
getDefault(defaultOption, bandingOptions);
30 escapeKeyHit->setShortcut(Qt::Key_Escape);
31 connect(escapeKeyHit, SIGNAL(triggered()), m_tool->rubberBandTool(), SLOT(escapeKeyPress()));
32 addAction(escapeKeyHit);
37 setToolTip(
"Select Measurement Type");
39 "<b>Function:</b> This drop down will enable you to switch between drawing various shapes.";
43 QIcon circleIcon(
toolIconDir() +
"/qview_circle.png");
44 circleIcon.addFile(
toolIconDir() +
"/qview_circle_active.png", QSize(24, 24), QIcon::Active);
48 whatsThis +=
"<br><br>When <b>Circle</b> is selected, you can draw a perfect circle. To draw a circle, \
49 click at a corner of the circle, drag the mouse until the circle is the correct shape, and release the mouse \
50 to complete the circle.";
59 QIcon ellipseIcon(
toolIconDir() +
"/qview_ellipse.png");
60 ellipseIcon.addFile(
toolIconDir() +
"/qview_ellipse_active.png", QSize(24, 24), QIcon::Active);
64 whatsThis +=
"<br><br>When <b>Ellipse</b> is selected, you can draw an ellipse. To draw an ellipse, \
65 click at a corner of the ellipse, drag the mouse until the ellipse is the correct shape, and release the mouse \
66 to complete the ellipse.";
75 QIcon rectangleIcon(
toolIconDir() +
"/qview_rectangle.png");
76 rectangleIcon.addFile(
toolIconDir() +
"/qview_rectangle_active.png", QSize(24, 24), QIcon::Active);
80 whatsThis +=
"<br><br>When <b>Rectangle</b> is selected, you can draw a rectangle. To draw a rectangle, \
81 click a corner of the rectangle, drag the mouse until the rectangle is the correct size and shape, and release the mouse \
82 to complete the rectangle.";
91 QIcon rotatedRectangleIcon(
toolIconDir() +
"/qview_rotated_rectangle.png");
95 whatsThis +=
"<br><br>When <b>Rotated Rectangle</b> is selected, you can draw a rectangle rotated about its center. To draw a rotated rectangle, \
96 click, drag the mouse to form the first side of the rectangle and determine it's rotation, and release the mouse. \
97 Now, the final side of the rotated rectangle should follow the mouse. \
98 Click again when the rotated rectangle is the correct size to complete the rotated rectangle.";
101 whatsThis +=
" The data will be calculated starting from the initial (GREEN) side of the rotated rectangle and ending at the opposite \
102 side of the rotated rectangle.";
112 QIcon polygonIcon(
toolIconDir() +
"/qview_polygon.png");
116 whatsThis +=
"<br><br>When <b>Polygon</b> is selected, you can draw any closed polygon. To begin drawing a polygon, \
117 click where you want the start point. Now, click for any new vertices or click and drag the mouse to form irregular shapes. \
118 When completed, double click the final vertex and the figure will close.";
126 if((bandingOptions &
Line) ==
Line) {
128 lineIcon.addFile(
toolIconDir() +
"/qview_line_active.png", QSize(24, 24), QIcon::Active);
132 whatsThis +=
"<br><br>When <b>Line</b> is selected, you can draw a line. "
133 "To draw a line, click the starting point of the line, drag the "
134 "mouse until the line is the correct length in the correct direction,"
135 " and release the mouse. To draw vertical or horizontal lines, press"
136 " and hold the control key while drawing your line";
138 if((defaultOption &
Line) ==
Line) {
145 QIcon segmentedLineIcon(
toolIconDir() +
"/qview_segmentedline.png");
149 whatsThis +=
"<br><br>When <b>Segmented Line</b> is selected, you can draw any open polygon. To begin drawing a segmented line, \
150 click where you want the start point. Now, click for any new vertices or click and drag the mouse to form irregular shapes. \
151 When completed, double click the final vertex.";
161 angleIcon.addFile(
toolIconDir() +
"/qview_angle.png", QSize(24, 24), QIcon::Normal);
166 whatsThis +=
"<br><br>When <b>Angle</b> is selected, you can draw an angle from zero to 180 degrees. To draw an angle, \
167 click where the first corner should go, then click where the vertex should go. Finally, click where the final \
168 side of the angle should end to complete the angle.";
175 connect(
this, SIGNAL(currentIndexChanged(
int)),
this, SLOT(
selectionChanged(
int)));
178 setWhatsThis(whatsThis);