Isis 3.0 Developer's Reference (
API
)
Home
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ZoomTool.h
Go to the documentation of this file.
1
#ifndef ZoomTool_h
2
#define ZoomTool_h
3
25
// This should be the only include in this file!
26
#include "
Tool.h
"
27
28
// FIXME: remove this include
29
#include <QCursor>
30
31
class
QAction
;
32
class
QLineEdit;
33
34
namespace
Isis {
65
class
ZoomTool
:
public
Tool
{
66
Q_OBJECT
67
68
public
:
69
ZoomTool
(
QWidget
*parent);
70
void
addTo
(QMenu *menu);
71
73
QString
menuName
()
const
{
74
return
"&View"
;
75
}
76
77
protected
slots:
78
void
rubberBandComplete
();
79
80
protected
:
81
QAction
*
toolPadAction
(
ToolPad
*toolpad);
82
void
updateTool
();
83
QWidget
*
createToolBarWidget
(QStackedWidget *parent);
84
void
enableRubberBandTool
();
85
86
private
slots:
87
void
zoomIn2X();
88
void
zoomIn4X();
89
void
zoomIn8X();
90
91
void
zoomOut2X();
92
void
zoomOut4X();
93
void
zoomOut8X();
94
95
void
zoomActual();
96
void
zoomFit();
97
void
zoomFitWidth();
98
void
zoomFitHeight();
99
void
zoomManual();
100
101
102
double
setScale(
MdiCubeViewport
*d,
double
newScale);
103
double
setScale(
MdiCubeViewport
*d,
double
newScale,
int
x,
int
y);
104
double
setScale(
MdiCubeViewport
*d,
double
newScale,
double
samp,
double
line);
105
106
private
:
107
void
zoomBy(
double
factor);
108
109
QAction
*p_zoomIn2X;
110
QAction
*p_zoomIn4X;
111
QAction
*p_zoomIn8X;
112
113
QAction
*p_zoomOut2X;
114
QAction
*p_zoomOut4X;
115
QAction
*p_zoomOut8X;
116
117
QAction
*p_zoomActual;
118
QAction
*p_zoomFit;
119
120
QLineEdit *p_zoomLineEdit;
121
double
p_lastScale;
122
};
123
};
124
125
#endif
126