41 #ifdef CHECK_MEMORY_LEAKS
43 #endif // CHECK_MEMORY_LEAKS
67 :
FXDialogBox(parent, name, DECOR_TITLE | DECOR_BORDER, x, y, 0, 0),
68 myParent(parent), myOldZoom(zoom), myOldXOff(xoff), myOldYOff(yoff) {
69 FXVerticalFrame* f1 =
new FXVerticalFrame(
this, LAYOUT_TOP | FRAME_NONE | LAYOUT_FILL_X, 0, 0, 0, 0, 0, 0, 1, 1);
72 new FXHorizontalFrame(f1, FRAME_THICK, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2);
73 new FXButton(frame0,
"\t\tLoad viewport from file",
75 ICON_ABOVE_TEXT | BUTTON_TOOLBAR | FRAME_RAISED | LAYOUT_TOP | LAYOUT_LEFT);
76 new FXButton(frame0,
"\t\tSave viewport to file",
78 ICON_ABOVE_TEXT | BUTTON_TOOLBAR | FRAME_RAISED | LAYOUT_TOP | LAYOUT_LEFT);
80 FXMatrix* m1 =
new FXMatrix(f1, 2, MATRIX_BY_COLUMNS);
82 new FXLabel(m1,
"Zoom:", 0, LAYOUT_CENTER_Y);
83 myZoom =
new FXRealSpinDial(m1, 16,
this, MID_CHANGED, LAYOUT_CENTER_Y | LAYOUT_TOP | FRAME_SUNKEN | FRAME_THICK);
84 myZoom->setRange(0.0001, 100000);
85 myZoom->setNumberFormat(4);
86 myZoom->setValue(zoom);
89 new FXLabel(m1,
"X:", 0, LAYOUT_CENTER_Y);
90 myXOff =
new FXRealSpinDial(m1, 16,
this, MID_CHANGED, LAYOUT_CENTER_Y | LAYOUT_TOP | FRAME_SUNKEN | FRAME_THICK);
91 myXOff->setRange(-1000000, 1000000);
92 myXOff->setNumberFormat(4);
93 myXOff->setValue(xoff);
96 new FXLabel(m1,
"Y:", 0, LAYOUT_CENTER_Y);
97 myYOff =
new FXRealSpinDial(m1, 16,
this, MID_CHANGED, LAYOUT_CENTER_Y | LAYOUT_TOP | FRAME_SUNKEN | FRAME_THICK);
98 myYOff->setRange(-1000000, 1000000);
99 myYOff->setNumberFormat(4);
100 myYOff->setValue(yoff);
103 new FXHorizontalSeparator(f1, SEPARATOR_GROOVE | LAYOUT_FILL_X);
107 BUTTON_INITIAL | BUTTON_DEFAULT | FRAME_RAISED | FRAME_THICK | LAYOUT_TOP | LAYOUT_LEFT | LAYOUT_CENTER_X,
108 0, 0, 0, 0, 4, 4, 3, 3);
110 FRAME_RAISED | FRAME_THICK | LAYOUT_TOP | LAYOUT_LEFT | LAYOUT_CENTER_X,
111 0, 0, 0, 0, 4, 4, 3, 3);
145 FXFileDialog opendialog(
this,
"Load Viewport");
147 opendialog.setSelectMode(SELECTFILE_ANY);
148 opendialog.setPatternList(
"*.xml");
152 if (opendialog.execute()) {
156 handler.setViewport(zoom, xoff, yoff);
168 FXFileDialog opendialog(
this,
"Save Viewport");
170 opendialog.setSelectMode(SELECTFILE_ANY);
171 opendialog.setPatternList(
"*.xml");
180 dev <<
"<viewsettings>\n";
181 dev <<
" <viewport zoom=\"" <<
myZoom->getValue() <<
"\" x=\"" <<
myXOff->getValue() <<
"\" y=\"" <<
myYOff->getValue() <<
"\"/>\n";
182 dev <<
"</viewsettings>\n";
185 FXMessageBox::error(
this, MBOX_OK,
"Storing failed!",
"%s", e.what());
212 return myZoom->getDial().grabbed() ||
myXOff->getDial().grabbed() ||
myYOff->getDial().grabbed();