source: git/src/guicontrol.h

walls-data-hanging-as-warning
Last change on this file was 36f0d86, checked in by Olly Betts <olly@…>, 4 years ago

[aven] Support colouring by survey style

  • Property mode set to 100644
File size: 6.9 KB
RevLine 
[56da40e]1//
2//  guicontrol.h
3//
4//  Handlers for events relating to the display of a survey.
5//
[f4c5932]6//  Copyright (C) 2000-2002,2005 Mark R. Shinwell
[a9a4db0]7//  Copyright (C) 2001-2004,2006,2014,2015 Olly Betts
[56da40e]8//
9//  This program is free software; you can redistribute it and/or modify
10//  it under the terms of the GNU General Public License as published by
11//  the Free Software Foundation; either version 2 of the License, or
12//  (at your option) any later version.
13//
14//  This program is distributed in the hope that it will be useful,
15//  but WITHOUT ANY WARRANTY; without even the implied warranty of
16//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17//  GNU General Public License for more details.
18//
19//  You should have received a copy of the GNU General Public License
20//  along with this program; if not, write to the Free Software
[ecbc6c18]21//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
[56da40e]22//
23
24#ifndef guicontrol_h
25#define guicontrol_h
26
27#include "wx.h"
28
29class GfxCore;
30
31class GUIControl {
32    GfxCore* m_View;
[2a3d328]33
[82c85aa]34    enum { NO_DRAG = 0, LEFT_DRAG, MIDDLE_DRAG, RIGHT_DRAG } dragging;
[56da40e]35
36    wxPoint m_DragStart;
37    wxPoint m_DragRealStart;
38    wxPoint m_DragLast;
39
[dd6af8b]40    enum {
41        drag_NONE,
42        drag_MAIN,
43        drag_COMPASS,
44        drag_ELEV,
45        drag_SCALE,
46        drag_ZOOM
47    } m_LastDrag;
[56da40e]48
[f3ef5d8]49    enum { lock_NONE, lock_ROTATE, lock_SCALE } m_ScaleRotateLock;
[8e1f06d]50
[56da40e]51    bool m_ReverseControls;
52
[e2c1671]53    void HandleRotate(wxPoint);
[56da40e]54    void HandleTilt(wxPoint);
55    void HandleTranslate(wxPoint);
[8e1f06d]56    void HandleScaleRotate(wxPoint);
[dde4fe7]57    void HandleTiltRotate(wxPoint);
[2a3d328]58
[203d2a7]59    void HandCursor();
60    void RestoreCursor();
[56da40e]61
[2072157]62    void HandleNonDrag(const wxPoint & point);
63
[56da40e]64public:
65    GUIControl();
66
67    void SetView(GfxCore* view);
68
[e2c1671]69    bool MouseDown() const;
[2a3d328]70
[56da40e]71    void OnDefaults();
72    void OnPlan();
73    void OnElevation();
74    void OnDisplayOverlappingNames();
[da6c802]75    void OnColourByDepth();
[d4650b3]76    void OnColourByDate();
[c61aa79]77    void OnColourByError();
[fc43dda]78    void OnColourByHError();
79    void OnColourByVError();
[cc9e2c65]80    void OnColourByGradient();
[af50685]81    void OnColourByLength();
[68fb07a]82    void OnColourBySurvey();
[36f0d86]83    void OnColourByStyle();
[56da40e]84    void OnShowCrosses();
85    void OnShowStationNames();
86    void OnShowSurveyLegs();
[8666fc7]87    void OnHideSplays();
[b96edeb]88    void OnShowSplaysDashed();
[8666fc7]89    void OnShowSplaysFaded();
[b96edeb]90    void OnShowSplaysNormal();
[e5c5f3c]91    void OnHideDupes();
92    void OnShowDupesDashed();
[b96edeb]93    void OnShowDupesFaded();
94    void OnShowDupesNormal();
[56da40e]95    void OnShowSurface();
96    void OnMoveEast();
97    void OnMoveNorth();
98    void OnMoveSouth();
99    void OnMoveWest();
100    void OnToggleRotation();
101    void OnReverseControls();
102    void OnSlowDown(bool accel = false);
103    void OnSpeedUp(bool accel = false);
104    void OnStepOnceAnticlockwise(bool accel = false);
105    void OnStepOnceClockwise(bool accel = false);
106    void OnHigherViewpoint(bool accel = false);
107    void OnLowerViewpoint(bool accel = false);
108    void OnShiftDisplayDown(bool accel = false);
109    void OnShiftDisplayLeft(bool accel = false);
110    void OnShiftDisplayRight(bool accel = false);
111    void OnShiftDisplayUp(bool accel = false);
112    void OnZoomIn(bool accel = false);
113    void OnZoomOut(bool accel = false);
114    void OnToggleScalebar();
[97ea48d]115    void OnToggleColourKey();
[56da40e]116    void OnViewCompass();
117    void OnViewClino();
118    void OnViewGrid();
119    void OnReverseDirectionOfRotation();
120    void OnShowEntrances();
121    void OnShowFixedPts();
122    void OnShowExportedPts();
123    void OnCancelDistLine();
124    void OnMouseMove(wxMouseEvent& event);
125    void OnLButtonDown(wxMouseEvent& event);
126    void OnLButtonUp(wxMouseEvent& event);
127    void OnMButtonDown(wxMouseEvent& event);
128    void OnMButtonUp(wxMouseEvent& event);
129    void OnRButtonDown(wxMouseEvent& event);
130    void OnRButtonUp(wxMouseEvent& event);
[34d8d1a]131    void OnMouseWheel(wxMouseEvent& event);
[56da40e]132    void OnKeyPress(wxKeyEvent &e);
133
134    void OnDisplayOverlappingNamesUpdate(wxUpdateUIEvent&);
[46beda0]135    void OnColourByUpdate(wxUpdateUIEvent&);
[da6c802]136    void OnColourByDepthUpdate(wxUpdateUIEvent&);
[d4650b3]137    void OnColourByDateUpdate(wxUpdateUIEvent&);
[c61aa79]138    void OnColourByErrorUpdate(wxUpdateUIEvent&);
[fc43dda]139    void OnColourByHErrorUpdate(wxUpdateUIEvent&);
140    void OnColourByVErrorUpdate(wxUpdateUIEvent&);
[cc9e2c65]141    void OnColourByGradientUpdate(wxUpdateUIEvent&);
[af50685]142    void OnColourByLengthUpdate(wxUpdateUIEvent&);
[68fb07a]143    void OnColourBySurveyUpdate(wxUpdateUIEvent&);
[36f0d86]144    void OnColourByStyleUpdate(wxUpdateUIEvent&);
[56da40e]145    void OnShowCrossesUpdate(wxUpdateUIEvent&);
146    void OnShowStationNamesUpdate(wxUpdateUIEvent&);
147    void OnShowSurveyLegsUpdate(wxUpdateUIEvent&);
[9cb97b7]148    void OnSplaysUpdate(wxUpdateUIEvent&);
[8666fc7]149    void OnHideSplaysUpdate(wxUpdateUIEvent&);
[b96edeb]150    void OnShowSplaysDashedUpdate(wxUpdateUIEvent&);
[8666fc7]151    void OnShowSplaysFadedUpdate(wxUpdateUIEvent&);
[b96edeb]152    void OnShowSplaysNormalUpdate(wxUpdateUIEvent&);
[e5c5f3c]153    void OnDupesUpdate(wxUpdateUIEvent&);
154    void OnHideDupesUpdate(wxUpdateUIEvent&);
155    void OnShowDupesDashedUpdate(wxUpdateUIEvent&);
[b96edeb]156    void OnShowDupesFadedUpdate(wxUpdateUIEvent&);
157    void OnShowDupesNormalUpdate(wxUpdateUIEvent&);
[56da40e]158    void OnShowSurfaceUpdate(wxUpdateUIEvent&);
159    void OnMoveEastUpdate(wxUpdateUIEvent&);
160    void OnMoveNorthUpdate(wxUpdateUIEvent&);
161    void OnMoveSouthUpdate(wxUpdateUIEvent&);
162    void OnMoveWestUpdate(wxUpdateUIEvent&);
163    void OnToggleRotationUpdate(wxUpdateUIEvent&);
164    void OnReverseControlsUpdate(wxUpdateUIEvent&);
165    void OnReverseDirectionOfRotationUpdate(wxUpdateUIEvent&);
166    void OnDefaultsUpdate(wxUpdateUIEvent&);
167    void OnElevationUpdate(wxUpdateUIEvent&);
168    void OnPlanUpdate(wxUpdateUIEvent&);
169    void OnToggleScalebarUpdate(wxUpdateUIEvent&);
[97ea48d]170    void OnToggleColourKeyUpdate(wxUpdateUIEvent&);
[56da40e]171    void OnViewCompassUpdate(wxUpdateUIEvent&);
172    void OnViewClinoUpdate(wxUpdateUIEvent&);
173    void OnViewGridUpdate(wxUpdateUIEvent&);
174    void OnShowEntrancesUpdate(wxUpdateUIEvent&);
175    void OnShowExportedPtsUpdate(wxUpdateUIEvent&);
176    void OnShowFixedPtsUpdate(wxUpdateUIEvent&);
177
178    void OnIndicatorsUpdate(wxUpdateUIEvent&);
179    void OnCancelDistLineUpdate(wxUpdateUIEvent&);
180
[6abab84]181    void OnViewPerspective();
182    void OnViewPerspectiveUpdate(wxUpdateUIEvent& cmd);
183
[d67450e]184    void OnViewSmoothShading();
185    void OnViewSmoothShadingUpdate(wxUpdateUIEvent& cmd);
186
[a517825]187    void OnViewTextured();
188    void OnViewTexturedUpdate(wxUpdateUIEvent& cmd);
189
[c60062d]190    void OnViewFog();
191    void OnViewFogUpdate(wxUpdateUIEvent& cmd);
192
[db452ae]193    void OnViewSmoothLines();
194    void OnViewSmoothLinesUpdate(wxUpdateUIEvent& cmd);
195
[56da40e]196    void OnToggleMetric();
197    void OnToggleMetricUpdate(wxUpdateUIEvent& cmd);
[6abab84]198
[56da40e]199    void OnToggleDegrees();
200    void OnToggleDegreesUpdate(wxUpdateUIEvent& cmd);
[2a3d328]201
[d171c0c]202    void OnTogglePercent();
203    void OnTogglePercentUpdate(wxUpdateUIEvent& cmd);
204
[56da40e]205    void OnToggleTubes();
206    void OnToggleTubesUpdate(wxUpdateUIEvent& cmd);
[2a3d328]207
[b13aee4]208    void OnViewFullScreenUpdate(wxUpdateUIEvent&);
209    void OnViewFullScreen();
[3d420c4]210
[f4c5932]211    void OnViewBoundingBoxUpdate(wxUpdateUIEvent&);
212    void OnViewBoundingBox();
[4938bcd]213
214    void OnViewTerrainUpdate(wxUpdateUIEvent&);
215    void OnViewTerrain();
[56da40e]216};
217
218#endif
Note: See TracBrowser for help on using the repository browser.