1 /********************************************************** 2 * Version $Id$ 3 *********************************************************/ 4 5 /////////////////////////////////////////////////////////// 6 // // 7 // SAGA // 8 // // 9 // System for Automated Geoscientific Analyses // 10 // // 11 // User Interface // 12 // // 13 // Program: SAGA // 14 // // 15 //-------------------------------------------------------// 16 // // 17 // VIEW_Ruler.h // 18 // // 19 // Copyright (C) 2005 by Olaf Conrad // 20 // // 21 //-------------------------------------------------------// 22 // // 23 // This file is part of 'SAGA - System for Automated // 24 // Geoscientific Analyses'. SAGA is free software; you // 25 // can redistribute it and/or modify it under the terms // 26 // of the GNU General Public License as published by the // 27 // Free Software Foundation, either version 2 of the // 28 // License, or (at your option) any later version. // 29 // // 30 // SAGA is distributed in the hope that it will be // 31 // useful, but WITHOUT ANY WARRANTY; without even the // 32 // implied warranty of MERCHANTABILITY or FITNESS FOR A // 33 // PARTICULAR PURPOSE. See the GNU General Public // 34 // License for more details. // 35 // // 36 // You should have received a copy of the GNU General // 37 // Public License along with this program; if not, see // 38 // <http://www.gnu.org/licenses/>. // 39 // // 40 //-------------------------------------------------------// 41 // // 42 // contact: Olaf Conrad // 43 // Institute of Geography // 44 // University of Goettingen // 45 // Goldschmidtstr. 5 // 46 // 37077 Goettingen // 47 // Germany // 48 // // 49 // e-mail: oconrad@saga-gis.org // 50 // // 51 /////////////////////////////////////////////////////////// 52 53 //--------------------------------------------------------- 54 55 56 /////////////////////////////////////////////////////////// 57 // // 58 // // 59 // // 60 /////////////////////////////////////////////////////////// 61 62 //--------------------------------------------------------- 63 #ifndef _HEADER_INCLUDED__SAGA_GUI__VIEW_Ruler_H 64 #define _HEADER_INCLUDED__SAGA_GUI__VIEW_Ruler_H 65 66 67 /////////////////////////////////////////////////////////// 68 // // 69 // // 70 // // 71 /////////////////////////////////////////////////////////// 72 73 //--------------------------------------------------------- 74 #include <wx/panel.h> 75 76 77 /////////////////////////////////////////////////////////// 78 // // 79 // // 80 // // 81 /////////////////////////////////////////////////////////// 82 83 //--------------------------------------------------------- 84 #define RULER_HORIZONTAL 0x00 85 #define RULER_VERTICAL 0x01 86 #define RULER_EDGE_BLACK 0x02 87 #define RULER_EDGE_SUNKEN 0x04 88 #define RULER_DESCENDING 0x08 89 #define RULER_MODE_NORMAL 0x10 90 #define RULER_MODE_CORNERS 0x20 91 #define RULER_MODE_SCALE 0x40 92 #define RULER_TICKATBOTTOM 0x80 93 94 95 /////////////////////////////////////////////////////////// 96 // // 97 // // 98 // // 99 /////////////////////////////////////////////////////////// 100 101 //--------------------------------------------------------- 102 class CVIEW_Ruler : public wxPanel 103 { 104 public: 105 CVIEW_Ruler(wxWindow *pParent, int Style = RULER_HORIZONTAL); 106 virtual ~CVIEW_Ruler(void); 107 108 void On_Paint (wxPaintEvent &event); 109 110 void Set_Mode (int Mode); 111 void Set_Range (double Min, double Max); 112 void Set_Range_Core (double Min, double Max); 113 void Set_Position (int Position); 114 115 116 private: 117 118 bool m_bHorizontal, m_bAscendent, m_bTickAtTop; 119 120 int m_Mode, m_Edge, m_Position; 121 122 double m_Min, m_Max, m_Min_Core, m_Max_Core; 123 124 void _Draw_Corners (wxDC &dc, int Width, int Height); 125 void _Draw_Core (wxDC &dc, int Width, int Height); 126 void _Draw_Position (wxDC &dc, int Width, int Height, int Position); 127 128 129 //--------------------------------------------------------- 130 DECLARE_EVENT_TABLE() 131 }; 132 133 134 /////////////////////////////////////////////////////////// 135 // // 136 // // 137 // // 138 /////////////////////////////////////////////////////////// 139 140 //--------------------------------------------------------- 141 #endif // #ifndef _HEADER_INCLUDED__SAGA_GUI__VIEW_Ruler_H 142