1 ///////////////////////////////////////////////////////////////////////////
2 // C++ code generated with wxFormBuilder (version Jun  5 2014)
3 // http://www.wxformbuilder.org/
4 //
5 // PLEASE DO "NOT" EDIT THIS FILE!
6 ///////////////////////////////////////////////////////////////////////////
7 
8 #include "GribUIDialogBase.h"
9 
10 ///////////////////////////////////////////////////////////////////////////
11 
GRIBUICtrlBarBase(wxWindow * parent,wxWindowID id,const wxString & title,const wxPoint & pos,const wxSize & size,long style)12 GRIBUICtrlBarBase::GRIBUICtrlBarBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
13 {
14 #ifdef __OCPN__ANDROID__
15     const bool m_bcompact = true;
16 #else
17     const bool m_bcompact = false;
18 #endif
19 
20     if(m_bcompact){
21 	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
22 
23         m_fgCtrlBarSizer = new wxFlexGridSizer(0, 1, 0, 0 );
24         m_fgCtrlBarSizer->AddGrowableCol( 0 );
25         m_fgCtrlBarSizer->SetFlexibleDirection( wxHORIZONTAL );
26         m_fgCtrlBarSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_NONE );
27 
28 	wxBoxSizer *mainBox = new wxBoxSizer(wxVERTICAL);
29         m_fgCtrlBarSizer->Add( mainBox, 1, wxEXPAND, 0 );
30 
31 
32 	wxBoxSizer *fgSizer50 = new wxBoxSizer(wxHORIZONTAL);
33         mainBox->Add( fgSizer50, 0, wxEXPAND, 5 );
34 
35 	m_bpPrev = new wxBitmapButton( this, ID_BTNPREV, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
36 	m_bpPrev->SetToolTip( _("Previous") );
37 
38 	fgSizer50->Add( m_bpPrev, 0, wxALL, 1 );
39 
40 	wxArrayString m_cRecordForecastChoices;
41         m_cRecordForecastChoices.Add(_T("Item0"));
42 	m_cRecordForecast = new wxChoice( this, ID_CTRLTIME, wxDefaultPosition, wxDefaultSize, m_cRecordForecastChoices, 0 );
43 	m_cRecordForecast->SetSelection( 0 );
44 	fgSizer50->Add( m_cRecordForecast, 0, wxALIGN_CENTER_VERTICAL|wxALL, 1 );
45 
46 	m_bpNext = new wxBitmapButton( this, ID_BTNNEXT, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
47 	m_bpNext->SetToolTip( _("Next") );
48 
49 	fgSizer50->Add( m_bpNext, 0, wxALL, 1 );
50 
51 
52 
53 
54         wxBoxSizer *fgSizer51 = new wxBoxSizer(wxHORIZONTAL);
55         mainBox->Add( fgSizer51, 0, wxEXPAND, 5 );
56 
57 
58 
59 
60 	m_bpAltitude = new wxBitmapButton( this, ID_CTRLALTITUDE, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
61 	m_bpAltitude->SetToolTip( _("Select geoptential altitude") );
62 
63         fgSizer51->Add( m_bpAltitude, 0, wxALL, 1 );
64 
65 	m_bpNow = new wxBitmapButton( this, ID_BTNNOW, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
66 	m_bpNow->SetToolTip( _("Now") );
67 
68         fgSizer51->Add( m_bpNow, 0, wxALL, 1 );
69 
70 	m_bpZoomToCenter = new wxBitmapButton( this, ID_BTNZOOMTC, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
71 	m_bpZoomToCenter->SetToolTip( _("Zoom To Center") );
72 
73         fgSizer51->Add( m_bpZoomToCenter, 0, wxALL, 1 );
74 
75 	m_bpShowCursorData = new wxBitmapButton( this, ID_BTNSHOWCDATA, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
76         fgSizer51->Add( m_bpShowCursorData, 0, wxALL, 1 );
77 
78 
79         fgSizer51->Add( 0, 0, 1, wxEXPAND|wxLEFT|wxRIGHT, 1 );
80 	m_bpPlay = new wxBitmapButton( this, ID_BTNPLAY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
81         fgSizer51->Add( m_bpPlay, 0, wxBOTTOM|wxLEFT|wxTOP, 1 );
82 
83 	m_sTimeline = new wxSlider( this, ID_TIMELINE, 1, 0, 10, wxDefaultPosition, wxSize( 90,-1 ), wxSL_HORIZONTAL );
84         fgSizer51->Add( m_sTimeline, 0, wxEXPAND, 1 );
85 
86         fgSizer51->Add( 0, 0, 1, wxEXPAND|wxLEFT|wxRIGHT, 1 );
87 
88         m_bpOpenFile = NULL;
89 //         m_bpOpenFile = new wxBitmapButton( this, ID_BTNOPENFILE, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
90 //         m_bpOpenFile->SetToolTip( _("Open a new file") );
91 //         fgSizer51->Add( m_bpOpenFile, 0, wxALL, 1 );
92 
93 	m_bpSettings = new wxBitmapButton( this, ID_BTNSETTING, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
94 	m_bpSettings->SetToolTip( _("Settings") );
95 
96         fgSizer51->Add( m_bpSettings, 0, wxALL, 1 );
97 
98         m_bpRequest = NULL;
99 
100 //         m_bpRequest = new wxBitmapButton( this, ID_BTNREQUEST, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
101 //         fgSizer51->Add( m_bpRequest, 0, wxALL, 1 );
102 
103 //         wxFlexGridSizer* fgSizer49;
104 //         fgSizer49 = new wxFlexGridSizer( 0, 1, 0, 0 );
105 //         fgSizer49->AddGrowableCol( 0 );
106 //         fgSizer49->SetFlexibleDirection( wxVERTICAL );
107 //         fgSizer49->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
108 
109  	m_fgCDataSizer = new wxFlexGridSizer( 0, 2, 0, 0 );
110         m_fgCDataSizer->SetFlexibleDirection( wxVERTICAL );
111         m_fgCDataSizer->AddGrowableCol( 0 );
112         m_fgCDataSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
113 
114 
115  	mainBox->Add( m_fgCDataSizer, 1, wxEXPAND, 5 );
116 
117 
118 
119  	m_fgCtrlGrabberSize = new wxFlexGridSizer( 0, 1, 0, 0 );
120  	m_fgCtrlGrabberSize->SetFlexibleDirection( wxBOTH );
121  	m_fgCtrlGrabberSize->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
122 
123 
124 
125 
126         this->SetSizer( m_fgCtrlBarSizer );
127 	this->Layout();
128         m_fgCtrlBarSizer->Fit( this );
129     }
130     else{
131                 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
132 
133         m_fgCtrlBarSizer = new wxFlexGridSizer( 1, 2, 0, 0 );
134         m_fgCtrlBarSizer->AddGrowableCol( 0 );
135         m_fgCtrlBarSizer->SetFlexibleDirection( wxHORIZONTAL );
136         m_fgCtrlBarSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_NONE );
137 
138         wxFlexGridSizer* fgSizer49;
139         fgSizer49 = new wxFlexGridSizer( 0, 1, 0, 0 );
140         fgSizer49->AddGrowableCol( 0 );
141         fgSizer49->SetFlexibleDirection( wxVERTICAL );
142         fgSizer49->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
143 
144         wxFlexGridSizer* fgSizer50;
145         fgSizer50 = new wxFlexGridSizer( 0, 15, 0, 0 );
146         fgSizer50->AddGrowableCol( 3 );
147         fgSizer50->AddGrowableCol( 7 );
148         fgSizer50->AddGrowableCol( 10 );
149         fgSizer50->SetFlexibleDirection( wxHORIZONTAL );
150         fgSizer50->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
151 
152         m_bpPrev = new wxBitmapButton( this, ID_BTNPREV, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
153         m_bpPrev->SetToolTip( _("Previous") );
154 
155         fgSizer50->Add( m_bpPrev, 0, wxALL, 1 );
156 
157         wxArrayString m_cRecordForecastChoices;
158         m_cRecordForecastChoices.Add(_T("Item0"));
159         m_cRecordForecast = new wxChoice( this, ID_CTRLTIME, wxDefaultPosition, wxDefaultSize, m_cRecordForecastChoices, 0 );
160         m_cRecordForecast->SetSelection( 0 );
161         fgSizer50->Add( m_cRecordForecast, 0, wxALIGN_CENTER_VERTICAL|wxALL, 1 );
162 
163         m_bpNext = new wxBitmapButton( this, ID_BTNNEXT, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
164         m_bpNext->SetToolTip( _("Next") );
165 
166         fgSizer50->Add( m_bpNext, 0, wxALL, 1 );
167 
168 
169         fgSizer50->Add( 0, 0, 1, wxEXPAND|wxLEFT|wxRIGHT, 1 );
170 
171         m_bpAltitude = new wxBitmapButton( this, ID_CTRLALTITUDE, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
172         m_bpAltitude->SetToolTip( _("Select geoptential altitude") );
173 
174         fgSizer50->Add( m_bpAltitude, 0, wxALL, 1 );
175 
176         m_bpNow = new wxBitmapButton( this, ID_BTNNOW, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
177         m_bpNow->SetToolTip( _("Now") );
178 
179         fgSizer50->Add( m_bpNow, 0, wxALL, 1 );
180 
181         m_bpZoomToCenter = new wxBitmapButton( this, ID_BTNZOOMTC, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
182         m_bpZoomToCenter->SetToolTip( _("Zoom To Center") );
183 
184         fgSizer50->Add( m_bpZoomToCenter, 0, wxALL, 1 );
185 
186         m_bpShowCursorData = new wxBitmapButton( this, ID_BTNSHOWCDATA, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
187         fgSizer50->Add( m_bpShowCursorData, 0, wxALL, 1 );
188 
189 
190         fgSizer50->Add( 0, 0, 1, wxEXPAND|wxLEFT|wxRIGHT, 1 );
191 
192         m_bpPlay = new wxBitmapButton( this, ID_BTNPLAY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
193         fgSizer50->Add( m_bpPlay, 0, wxBOTTOM|wxLEFT|wxTOP, 1 );
194 
195         m_sTimeline = new wxSlider( this, ID_TIMELINE, 1, 0, 10, wxDefaultPosition, wxSize( 90,-1 ), wxSL_HORIZONTAL );
196         fgSizer50->Add( m_sTimeline, 0, wxEXPAND, 1 );
197 
198 
199         fgSizer50->Add( 0, 0, 1, wxEXPAND|wxLEFT|wxRIGHT, 1 );
200 
201         m_bpOpenFile = new wxBitmapButton( this, ID_BTNOPENFILE, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
202         m_bpOpenFile->SetToolTip( _("Open a new file") );
203 
204         fgSizer50->Add( m_bpOpenFile, 0, wxALL, 1 );
205 
206         m_bpSettings = new wxBitmapButton( this, ID_BTNSETTING, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
207         m_bpSettings->SetToolTip( _("Settings") );
208 
209         fgSizer50->Add( m_bpSettings, 0, wxALL, 1 );
210 
211         m_bpRequest = new wxBitmapButton( this, ID_BTNREQUEST, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
212         fgSizer50->Add( m_bpRequest, 0, wxALL, 1 );
213 
214 
215         fgSizer49->Add( fgSizer50, 1, wxEXPAND, 5 );
216 
217         m_fgCDataSizer = new wxFlexGridSizer( 0, 2, 0, 0 );
218         m_fgCDataSizer->SetFlexibleDirection( wxBOTH );
219         m_fgCDataSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
220 
221 
222         fgSizer49->Add( m_fgCDataSizer, 1, wxEXPAND, 5 );
223 
224 
225         m_fgCtrlBarSizer->Add( fgSizer49, 1, wxEXPAND, 0 );
226 
227         m_fgCtrlGrabberSize = new wxFlexGridSizer( 0, 1, 0, 0 );
228         m_fgCtrlGrabberSize->SetFlexibleDirection( wxBOTH );
229         m_fgCtrlGrabberSize->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
230 
231 
232         m_fgCtrlBarSizer->Add( m_fgCtrlGrabberSize, 1, wxEXPAND, 0 );
233 
234 
235         this->SetSizer( m_fgCtrlBarSizer );
236         this->Layout();
237         m_fgCtrlBarSizer->Fit( this );
238     }
239 
240 
241 	this->Centre( wxBOTH );
242 
243 	// Connect Events
244 	this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GRIBUICtrlBarBase::OnClose ) );
245 	this->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
246 	this->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
247 	this->Connect( wxEVT_MIDDLE_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
248 	this->Connect( wxEVT_MIDDLE_UP, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
249 	this->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
250 	this->Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
251 	this->Connect( wxEVT_MOTION, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
252 	this->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
253 	this->Connect( wxEVT_MIDDLE_DCLICK, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
254 	this->Connect( wxEVT_RIGHT_DCLICK, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
255 	this->Connect( wxEVT_LEAVE_WINDOW, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
256 	this->Connect( wxEVT_ENTER_WINDOW, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
257 	this->Connect( wxEVT_MOUSEWHEEL, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
258 	this->Connect( wxEVT_SIZE, wxSizeEventHandler( GRIBUICtrlBarBase::OnSize ) );
259 
260 #ifndef __WXQT__
261         this->Connect( wxEVT_PAINT, wxPaintEventHandler( GRIBUICtrlBarBase::OnPaint ) );
262 #endif
263 	m_bpPrev->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBUICtrlBarBase::OnPrev ), NULL, this );
264 	m_bpPrev->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
265 	m_cRecordForecast->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( GRIBUICtrlBarBase::OnRecordForecast ), NULL, this );
266 	m_cRecordForecast->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
267 	m_bpNext->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBUICtrlBarBase::OnNext ), NULL, this );
268 	m_bpNext->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
269 	m_bpAltitude->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBUICtrlBarBase::OnAltitude ), NULL, this );
270 	m_bpAltitude->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
271 	m_bpNow->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBUICtrlBarBase::OnNow ), NULL, this );
272 	m_bpNow->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
273 	m_bpZoomToCenter->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBUICtrlBarBase::OnZoomToCenterClick ), NULL, this );
274 	m_bpZoomToCenter->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
275 	m_bpShowCursorData->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBUICtrlBarBase::OnShowCursorData ), NULL, this );
276 	m_bpShowCursorData->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
277 	m_bpPlay->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBUICtrlBarBase::OnPlayStop ), NULL, this );
278 	m_bpPlay->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
279 	m_sTimeline->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
280 	m_sTimeline->Connect( wxEVT_SCROLL_TOP, wxScrollEventHandler( GRIBUICtrlBarBase::OnTimeline ), NULL, this );
281 	m_sTimeline->Connect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( GRIBUICtrlBarBase::OnTimeline ), NULL, this );
282 	m_sTimeline->Connect( wxEVT_SCROLL_LINEUP, wxScrollEventHandler( GRIBUICtrlBarBase::OnTimeline ), NULL, this );
283 	m_sTimeline->Connect( wxEVT_SCROLL_LINEDOWN, wxScrollEventHandler( GRIBUICtrlBarBase::OnTimeline ), NULL, this );
284 	m_sTimeline->Connect( wxEVT_SCROLL_PAGEUP, wxScrollEventHandler( GRIBUICtrlBarBase::OnTimeline ), NULL, this );
285 	m_sTimeline->Connect( wxEVT_SCROLL_PAGEDOWN, wxScrollEventHandler( GRIBUICtrlBarBase::OnTimeline ), NULL, this );
286 	m_sTimeline->Connect( wxEVT_SCROLL_THUMBTRACK, wxScrollEventHandler( GRIBUICtrlBarBase::OnTimeline ), NULL, this );
287 	m_sTimeline->Connect( wxEVT_SCROLL_THUMBRELEASE, wxScrollEventHandler( GRIBUICtrlBarBase::OnTimeline ), NULL, this );
288 	m_sTimeline->Connect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( GRIBUICtrlBarBase::OnTimeline ), NULL, this );
289 
290         if(m_bpOpenFile){
291             m_bpOpenFile->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBUICtrlBarBase::OnOpenFile ), NULL, this );
292             m_bpOpenFile->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
293         }
294 
295 #ifdef __OCPN__ANDROID__
296         m_bpSettings->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBUICtrlBarBase::OnCompositeDialog ), NULL, this );
297 #else
298         m_bpSettings->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBUICtrlBarBase::OnSettings ), NULL, this );
299 	m_bpSettings->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
300 #endif
301 
302         if(m_bpRequest){
303             m_bpRequest->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBUICtrlBarBase::OnRequest ), NULL, this );
304             m_bpRequest->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
305         }
306 }
307 
~GRIBUICtrlBarBase()308 GRIBUICtrlBarBase::~GRIBUICtrlBarBase()
309 {
310 	// Disconnect Events
311 	this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GRIBUICtrlBarBase::OnClose ) );
312 	this->Disconnect( wxEVT_LEFT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
313 	this->Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
314 	this->Disconnect( wxEVT_MIDDLE_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
315 	this->Disconnect( wxEVT_MIDDLE_UP, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
316 	this->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
317 	this->Disconnect( wxEVT_RIGHT_UP, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
318 	this->Disconnect( wxEVT_MOTION, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
319 	this->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
320 	this->Disconnect( wxEVT_MIDDLE_DCLICK, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
321 	this->Disconnect( wxEVT_RIGHT_DCLICK, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
322 	this->Disconnect( wxEVT_LEAVE_WINDOW, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
323 	this->Disconnect( wxEVT_ENTER_WINDOW, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
324 	this->Disconnect( wxEVT_MOUSEWHEEL, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ) );
325 	this->Disconnect( wxEVT_PAINT, wxPaintEventHandler( GRIBUICtrlBarBase::OnPaint ) );
326 	this->Disconnect( wxEVT_SIZE, wxSizeEventHandler( GRIBUICtrlBarBase::OnSize ) );
327 	m_bpPrev->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBUICtrlBarBase::OnPrev ), NULL, this );
328 	m_bpPrev->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
329 	m_cRecordForecast->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( GRIBUICtrlBarBase::OnRecordForecast ), NULL, this );
330 	m_cRecordForecast->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
331 	m_bpNext->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBUICtrlBarBase::OnNext ), NULL, this );
332 	m_bpNext->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
333 	m_bpAltitude->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBUICtrlBarBase::OnAltitude ), NULL, this );
334 	m_bpAltitude->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
335 	m_bpNow->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBUICtrlBarBase::OnNow ), NULL, this );
336 	m_bpNow->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
337 	m_bpZoomToCenter->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBUICtrlBarBase::OnZoomToCenterClick ), NULL, this );
338 	m_bpZoomToCenter->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
339 	m_bpShowCursorData->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBUICtrlBarBase::OnShowCursorData ), NULL, this );
340 	m_bpShowCursorData->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
341 	m_bpPlay->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBUICtrlBarBase::OnPlayStop ), NULL, this );
342 	m_bpPlay->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
343 	m_sTimeline->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
344 	m_sTimeline->Disconnect( wxEVT_SCROLL_TOP, wxScrollEventHandler( GRIBUICtrlBarBase::OnTimeline ), NULL, this );
345 	m_sTimeline->Disconnect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( GRIBUICtrlBarBase::OnTimeline ), NULL, this );
346 	m_sTimeline->Disconnect( wxEVT_SCROLL_LINEUP, wxScrollEventHandler( GRIBUICtrlBarBase::OnTimeline ), NULL, this );
347 	m_sTimeline->Disconnect( wxEVT_SCROLL_LINEDOWN, wxScrollEventHandler( GRIBUICtrlBarBase::OnTimeline ), NULL, this );
348 	m_sTimeline->Disconnect( wxEVT_SCROLL_PAGEUP, wxScrollEventHandler( GRIBUICtrlBarBase::OnTimeline ), NULL, this );
349 	m_sTimeline->Disconnect( wxEVT_SCROLL_PAGEDOWN, wxScrollEventHandler( GRIBUICtrlBarBase::OnTimeline ), NULL, this );
350 	m_sTimeline->Disconnect( wxEVT_SCROLL_THUMBTRACK, wxScrollEventHandler( GRIBUICtrlBarBase::OnTimeline ), NULL, this );
351 	m_sTimeline->Disconnect( wxEVT_SCROLL_THUMBRELEASE, wxScrollEventHandler( GRIBUICtrlBarBase::OnTimeline ), NULL, this );
352 	m_sTimeline->Disconnect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( GRIBUICtrlBarBase::OnTimeline ), NULL, this );
353 
354         if(m_bpOpenFile){
355             m_bpOpenFile->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBUICtrlBarBase::OnOpenFile ), NULL, this );
356             m_bpOpenFile->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
357         }
358 
359 	m_bpSettings->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBUICtrlBarBase::OnSettings ), NULL, this );
360 	m_bpSettings->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
361 
362         if(m_bpRequest){
363             m_bpRequest->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBUICtrlBarBase::OnRequest ), NULL, this );
364             m_bpRequest->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( GRIBUICtrlBarBase::OnMouseEvent ), NULL, this );
365         }
366 
367 }
368 
GRIBUICDataBase(wxWindow * parent,wxWindowID id,const wxString & title,const wxPoint & pos,const wxSize & size,long style)369 GRIBUICDataBase::GRIBUICDataBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
370 {
371 	this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
372 	this->SetFont( wxFont( 9, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) );
373 
374 	wxFlexGridSizer* fgSizer57;
375 	fgSizer57 = new wxFlexGridSizer( 0, 2, 0, 0 );
376 	fgSizer57->SetFlexibleDirection( wxBOTH );
377 	fgSizer57->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
378 
379 	m_fgCdataSizer = new wxFlexGridSizer( 0, 1, 0, 0 );
380 	m_fgCdataSizer->SetFlexibleDirection( wxBOTH );
381 	m_fgCdataSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
382 
383 
384 	fgSizer57->Add( m_fgCdataSizer, 1, wxEXPAND, 5 );
385 
386 
387 	this->SetSizer( fgSizer57 );
388 	this->Layout();
389 	fgSizer57->Fit( this );
390 
391 	this->Centre( wxBOTH );
392 }
393 
~GRIBUICDataBase()394 GRIBUICDataBase::~GRIBUICDataBase()
395 {
396 }
397 
CursorDataBase(wxWindow * parent,wxWindowID id,const wxPoint & pos,const wxSize & size,long style)398 CursorDataBase::CursorDataBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
399 {
400 	fgSizer30 = new wxFlexGridSizer( 0, 1, 0, 0 );
401 	fgSizer30->AddGrowableRow( 1 );
402 	fgSizer30->SetFlexibleDirection( wxBOTH );
403 	fgSizer30->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_ALL );
404 
405 	m_stTrackingText = new wxStaticText( this, wxID_ANY, _("MyLabel"), wxDefaultPosition, wxDefaultSize, 0 );
406 	m_stTrackingText->Wrap( -1 );
407 	fgSizer30->Add( m_stTrackingText, 0, wxEXPAND|wxLEFT, 5 );
408 
409 	wxFlexGridSizer* fgSizer43;
410 	fgSizer43 = new wxFlexGridSizer( 0, 1, 0, 0 );
411 	fgSizer43->SetFlexibleDirection( wxBOTH );
412 	fgSizer43->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
413 
414 	m_fgTrackingControls = new wxFlexGridSizer( 0, 8, 0, 0 );
415 	m_fgTrackingControls->SetFlexibleDirection( wxBOTH );
416 	m_fgTrackingControls->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
417 
418 	m_cbWind = new wxCheckBox( this, ID_CB_WIND, _("Wind"), wxDefaultPosition, wxDefaultSize, 0 );
419 	m_fgTrackingControls->Add( m_cbWind, 0, wxEXPAND|wxLEFT|wxTOP, 2 );
420 
421 	m_tcWindSpeed = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 70,-1 ), wxTE_READONLY );
422 	m_fgTrackingControls->Add( m_tcWindSpeed, 0, 0, 1 );
423 
424 	m_tcWindSpeedBf = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxPoint( -1,-1 ), wxSize( 45,-1 ), wxTE_READONLY );
425 	m_fgTrackingControls->Add( m_tcWindSpeedBf, 0, wxALIGN_CENTER_VERTICAL, 1 );
426 
427 	m_tcWindDirection = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 45,-1 ), wxTE_READONLY );
428 	m_fgTrackingControls->Add( m_tcWindDirection, 0, 0, 1 );
429 
430 	m_cbWindGust = new wxCheckBox( this, ID_CB_WIND_GUSTS, _("Wind Gust"), wxDefaultPosition, wxDefaultSize, 0 );
431 	m_fgTrackingControls->Add( m_cbWindGust, 0, wxALL|wxEXPAND, 5 );
432 
433 	m_tcWindGust = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 70,-1 ), wxTE_READONLY );
434 	m_fgTrackingControls->Add( m_tcWindGust, 0, 0, 1 );
435 
436 
437 	m_fgTrackingControls->Add( 0, 0, 1, wxEXPAND, 1 );
438 
439 
440 	m_fgTrackingControls->Add( 0, 0, 1, wxEXPAND, 1 );
441 
442 	m_cbPressure = new wxCheckBox( this, ID_CB_PRESSURE, _("Pressure"), wxDefaultPosition, wxDefaultSize, 0 );
443 	m_fgTrackingControls->Add( m_cbPressure, 0, wxALL|wxEXPAND, 5 );
444 
445 	m_tcPressure = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 70,-1 ), wxTE_READONLY );
446 	m_tcPressure->SetToolTip( _("Mean Sea Level Pressure (MSLP)") );
447 
448 	m_fgTrackingControls->Add( m_tcPressure, 0, 0, 1 );
449 
450 
451 	m_fgTrackingControls->Add( 0, 0, 1, wxEXPAND, 5 );
452 
453 
454 	m_fgTrackingControls->Add( 0, 0, 1, wxEXPAND, 5 );
455 
456 	m_cbWave = new wxCheckBox( this, ID_CB_WAVES, _("Waves"), wxDefaultPosition, wxDefaultSize, 0 );
457 	m_fgTrackingControls->Add( m_cbWave, 0, wxALL|wxEXPAND, 5 );
458 
459 	m_tcWaveHeight = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 70,-1 ), wxTE_READONLY );
460 	m_tcWaveHeight->SetToolTip( _("Significant Wave Height") );
461 
462 	m_fgTrackingControls->Add( m_tcWaveHeight, 0, 0, 1 );
463 
464 	m_tcWavePeriode = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 45,-1 ), wxTE_READONLY );
465 	m_tcWavePeriode->SetToolTip( _("Waves period") );
466 
467 	m_fgTrackingControls->Add( m_tcWavePeriode, 0, 0, 1 );
468 
469 	m_tcWaveDirection = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 45,-1 ), wxTE_READONLY );
470 	m_tcWaveDirection->SetToolTip( _("Waves Direction") );
471 
472 	m_fgTrackingControls->Add( m_tcWaveDirection, 0, 0, 1 );
473 
474 	m_cbCurrent = new wxCheckBox( this, ID_CB_CURRENT, _("Current"), wxDefaultPosition, wxDefaultSize, 0 );
475 	m_fgTrackingControls->Add( m_cbCurrent, 0, wxALL|wxEXPAND, 5 );
476 
477 	m_tcCurrentVelocity = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 70,-1 ), wxTE_READONLY );
478 	m_tcCurrentVelocity->SetToolTip( _("Surface Current Speed") );
479 
480 	m_fgTrackingControls->Add( m_tcCurrentVelocity, 0, 0, 1 );
481 
482 	m_tcCurrentDirection = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 45,-1 ), wxTE_READONLY );
483 	m_tcCurrentDirection->SetToolTip( _("Surface Current Direction") );
484 
485 	m_fgTrackingControls->Add( m_tcCurrentDirection, 0, 0, 1 );
486 
487 
488 	m_fgTrackingControls->Add( 0, 0, 1, wxEXPAND, 5 );
489 
490 	m_cbPrecipitation = new wxCheckBox( this, ID_CB_RAINFALL, _("Rainfall"), wxDefaultPosition, wxDefaultSize, 0 );
491 	m_fgTrackingControls->Add( m_cbPrecipitation, 0, wxALL|wxEXPAND, 5 );
492 
493 	m_tcPrecipitation = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 70,-1 ), wxTE_READONLY );
494 	m_tcPrecipitation->SetToolTip( _("Cumulative Rainfall per Hour") );
495 
496 	m_fgTrackingControls->Add( m_tcPrecipitation, 0, 0, 1 );
497 
498 
499 	m_fgTrackingControls->Add( 0, 0, 1, wxEXPAND, 1 );
500 
501 
502 	m_fgTrackingControls->Add( 0, 0, 1, wxEXPAND, 5 );
503 
504 	m_cbCloud = new wxCheckBox( this, ID_CB_CLOUD_COVER, _("Cloud Cover"), wxDefaultPosition, wxDefaultSize, 0 );
505 	m_fgTrackingControls->Add( m_cbCloud, 0, wxALL|wxEXPAND, 5 );
506 
507 	m_tcCloud = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 70,-1 ), wxTE_READONLY );
508 	m_tcCloud->SetToolTip( _("Cloud Cover") );
509 
510 	m_fgTrackingControls->Add( m_tcCloud, 0, 0, 1 );
511 
512 
513 	m_fgTrackingControls->Add( 0, 0, 1, wxEXPAND, 1 );
514 
515 
516 	m_fgTrackingControls->Add( 0, 0, 1, wxEXPAND, 5 );
517 
518 	m_cbAirTemperature = new wxCheckBox( this, ID_CB_AIR_TEMP, _("Air Temp"), wxDefaultPosition, wxDefaultSize, 0 );
519 	m_fgTrackingControls->Add( m_cbAirTemperature, 0, wxALL|wxEXPAND, 5 );
520 
521 	m_tcAirTemperature = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 70,-1 ), wxTE_READONLY );
522 	m_fgTrackingControls->Add( m_tcAirTemperature, 0, 0, 1 );
523 
524 
525 	m_fgTrackingControls->Add( 0, 0, 1, wxEXPAND, 1 );
526 
527 
528 	m_fgTrackingControls->Add( 0, 0, 1, wxEXPAND, 5 );
529 
530 	m_cbSeaTemperature = new wxCheckBox( this, ID_CB_SEA_TEMP, _("Sea Temp"), wxDefaultPosition, wxDefaultSize, 0 );
531 	m_fgTrackingControls->Add( m_cbSeaTemperature, 0, wxALL|wxEXPAND, 5 );
532 
533 	m_tcSeaTemperature = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 70,-1 ), wxTE_READONLY );
534 	m_tcSeaTemperature->SetToolTip( _("Sea or Air Temperature at Surface Level") );
535 
536 	m_fgTrackingControls->Add( m_tcSeaTemperature, 0, 0, 1 );
537 
538 
539 	m_fgTrackingControls->Add( 0, 0, 1, wxEXPAND, 5 );
540 
541 
542 	m_fgTrackingControls->Add( 0, 0, 1, wxEXPAND, 5 );
543 
544 	m_cbCAPE = new wxCheckBox( this, ID_CB_CAPE, _("CAPE"), wxDefaultPosition, wxDefaultSize, 0 );
545 	m_fgTrackingControls->Add( m_cbCAPE, 0, wxALL|wxEXPAND, 5 );
546 
547 	m_tcCAPE = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxPoint( -1,-1 ), wxSize( 70,-1 ), wxTE_READONLY );
548 	m_tcCAPE->SetToolTip( _("Convective Available Potential Energy") );
549 
550 	m_fgTrackingControls->Add( m_tcCAPE, 0, 0, 1 );
551 
552 
553 	m_fgTrackingControls->Add( 0, 0, 1, wxEXPAND, 5 );
554 
555 	m_fgTrackingControls->Add( 0, 0, 1, wxEXPAND, 5 );
556 
557 	m_cbReflC = new wxCheckBox( this, ID_CB_COMP_REFL, _("Comp. Refl."), wxDefaultPosition, wxDefaultSize, 0 );
558 	m_fgTrackingControls->Add( m_cbReflC, 0, wxALL|wxEXPAND, 5 );
559 
560 	m_tcReflC = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxPoint( -1,-1 ), wxSize( 70,-1 ), wxTE_READONLY );
561 	m_tcReflC->SetToolTip( _("Composite Reflectivity") );
562 
563 	m_fgTrackingControls->Add( m_tcReflC, 0, 0, 1 );
564 
565 
566 	m_fgTrackingControls->Add( 0, 0, 1, wxEXPAND, 5 );
567 
568 	m_fgTrackingControls->Add( 0, 0, 1, wxEXPAND, 5 );
569 
570 	m_cbAltitude = new wxCheckBox( this, wxID_ANY, _("Altitude"), wxDefaultPosition, wxDefaultSize, 0 );
571 	m_cbAltitude->SetValue(true);
572 	m_cbAltitude->Enable( false );
573 
574 	m_fgTrackingControls->Add( m_cbAltitude, 0, wxALL|wxEXPAND, 5 );
575 
576 	m_tcAltitude = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1,-1 ), wxTE_READONLY );
577 	m_tcAltitude->SetMinSize( wxSize( 70,-1 ) );
578 
579 	m_fgTrackingControls->Add( m_tcAltitude, 0, 0, 5 );
580 
581 
582 	m_fgTrackingControls->Add( 0, 0, 1, wxEXPAND, 5 );
583 
584 
585 	m_fgTrackingControls->Add( 0, 0, 1, wxEXPAND, 5 );
586 
587 	m_cbTemp = new wxCheckBox( this, wxID_ANY, _("Temp."), wxDefaultPosition, wxDefaultSize, 0 );
588 	m_cbTemp->SetValue(true);
589 	m_cbTemp->Enable( false );
590 
591 	m_fgTrackingControls->Add( m_cbTemp, 0, wxALL|wxEXPAND, 5 );
592 
593 	m_tcTemp = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
594 	m_tcTemp->SetMinSize( wxSize( 70,-1 ) );
595 
596 	m_fgTrackingControls->Add( m_tcTemp, 0, 0, 5 );
597 
598 
599 	m_fgTrackingControls->Add( 0, 0, 1, wxEXPAND, 5 );
600 
601 
602 	m_fgTrackingControls->Add( 0, 0, 1, wxEXPAND, 5 );
603 
604 	m_cbRelHumid = new wxCheckBox( this, wxID_ANY, _("Relat. Hum."), wxDefaultPosition, wxDefaultSize, 0 );
605 	m_cbRelHumid->SetValue(true);
606 	m_cbRelHumid->Enable( false );
607 
608 	m_fgTrackingControls->Add( m_cbRelHumid, 0, wxALL|wxEXPAND, 5 );
609 
610 	m_tcRelHumid = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
611 	m_tcRelHumid->SetMinSize( wxSize( 70,-1 ) );
612 
613 	m_fgTrackingControls->Add( m_tcRelHumid, 0, 0, 5 );
614 
615 
616 
617 	fgSizer43->Add( m_fgTrackingControls, 1, wxEXPAND, 1 );
618 
619 
620 	fgSizer30->Add( fgSizer43, 1, wxEXPAND, 5 );
621 
622 
623 	this->SetSizer( fgSizer30 );
624 	this->Layout();
625 	fgSizer30->Fit( this );
626 
627 	// Connect Events
628 	this->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
629 	this->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
630 	this->Connect( wxEVT_MIDDLE_DOWN, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
631 	this->Connect( wxEVT_MIDDLE_UP, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
632 	this->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
633 	this->Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
634 	this->Connect( wxEVT_MOTION, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
635 	this->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
636 	this->Connect( wxEVT_MIDDLE_DCLICK, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
637 	this->Connect( wxEVT_RIGHT_DCLICK, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
638 	this->Connect( wxEVT_LEAVE_WINDOW, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
639 	this->Connect( wxEVT_ENTER_WINDOW, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
640 	this->Connect( wxEVT_MOUSEWHEEL, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
641 	m_stTrackingText->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
642 	m_stTrackingText->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
643 	m_stTrackingText->Connect( wxEVT_MIDDLE_DOWN, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
644 	m_stTrackingText->Connect( wxEVT_MIDDLE_UP, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
645 	m_stTrackingText->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
646 	m_stTrackingText->Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
647 	m_stTrackingText->Connect( wxEVT_MOTION, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
648 	m_stTrackingText->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
649 	m_stTrackingText->Connect( wxEVT_MIDDLE_DCLICK, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
650 	m_stTrackingText->Connect( wxEVT_RIGHT_DCLICK, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
651 	m_stTrackingText->Connect( wxEVT_LEAVE_WINDOW, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
652 	m_stTrackingText->Connect( wxEVT_ENTER_WINDOW, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
653 	m_stTrackingText->Connect( wxEVT_MOUSEWHEEL, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
654 	m_cbWind->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
655 	m_cbWind->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
656 	m_cbWindGust->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
657 	m_cbWindGust->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
658 	m_cbPressure->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
659 	m_cbPressure->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
660 	m_cbWave->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
661 	m_cbWave->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
662 	m_cbCurrent->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
663 	m_cbCurrent->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
664 	m_cbPrecipitation->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
665 	m_cbPrecipitation->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
666 	m_cbCloud->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
667 	m_cbCloud->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
668 	m_cbAirTemperature->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
669 	m_cbAirTemperature->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
670 	m_cbSeaTemperature->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
671 	m_cbSeaTemperature->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
672 	m_cbCAPE->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
673 	m_cbCAPE->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
674 	m_cbReflC->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
675 	m_cbReflC->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
676 
677 }
678 
~CursorDataBase()679 CursorDataBase::~CursorDataBase()
680 {
681 	// Disconnect Events
682 	this->Disconnect( wxEVT_LEFT_DOWN, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
683 	this->Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
684 	this->Disconnect( wxEVT_MIDDLE_DOWN, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
685 	this->Disconnect( wxEVT_MIDDLE_UP, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
686 	this->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
687 	this->Disconnect( wxEVT_RIGHT_UP, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
688 	this->Disconnect( wxEVT_MOTION, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
689 	this->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
690 	this->Disconnect( wxEVT_MIDDLE_DCLICK, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
691 	this->Disconnect( wxEVT_RIGHT_DCLICK, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
692 	this->Disconnect( wxEVT_LEAVE_WINDOW, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
693 	this->Disconnect( wxEVT_ENTER_WINDOW, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
694 	this->Disconnect( wxEVT_MOUSEWHEEL, wxMouseEventHandler( CursorDataBase::OnMouseEvent ) );
695 	m_stTrackingText->Disconnect( wxEVT_LEFT_DOWN, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
696 	m_stTrackingText->Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
697 	m_stTrackingText->Disconnect( wxEVT_MIDDLE_DOWN, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
698 	m_stTrackingText->Disconnect( wxEVT_MIDDLE_UP, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
699 	m_stTrackingText->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
700 	m_stTrackingText->Disconnect( wxEVT_RIGHT_UP, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
701 	m_stTrackingText->Disconnect( wxEVT_MOTION, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
702 	m_stTrackingText->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
703 	m_stTrackingText->Disconnect( wxEVT_MIDDLE_DCLICK, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
704 	m_stTrackingText->Disconnect( wxEVT_RIGHT_DCLICK, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
705 	m_stTrackingText->Disconnect( wxEVT_LEAVE_WINDOW, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
706 	m_stTrackingText->Disconnect( wxEVT_ENTER_WINDOW, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
707 	m_stTrackingText->Disconnect( wxEVT_MOUSEWHEEL, wxMouseEventHandler( CursorDataBase::OnMouseEvent ), NULL, this );
708 	m_cbWind->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
709 	m_cbWind->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
710 	m_cbWindGust->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
711 	m_cbWindGust->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
712 	m_cbPressure->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
713 	m_cbPressure->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
714 	m_cbWave->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
715 	m_cbWave->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
716 	m_cbCurrent->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
717 	m_cbCurrent->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
718 	m_cbPrecipitation->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
719 	m_cbPrecipitation->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
720 	m_cbCloud->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
721 	m_cbCloud->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
722 	m_cbAirTemperature->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
723 	m_cbAirTemperature->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
724 	m_cbSeaTemperature->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
725 	m_cbSeaTemperature->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
726 	m_cbCAPE->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
727 	m_cbCAPE->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
728 	m_cbReflC->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CursorDataBase::OnCBAny ), NULL, this );
729 	m_cbReflC->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CursorDataBase::OnMenuCallBack ), NULL, this );
730 
731 }
732 
GribSettingsDialogBase(wxWindow * parent,wxWindowID id,const wxString & title,const wxPoint & pos,const wxSize & size,long style)733 GribSettingsDialogBase::GribSettingsDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
734 {
735 	this->SetSizeHints( wxDefaultSize, wxSize( -1,-1 ) );
736 
737 	wxFlexGridSizer* fgSizer53;
738 	fgSizer53 = new wxFlexGridSizer( 0, 1, 0, 0 );
739 	fgSizer53->SetFlexibleDirection( wxBOTH );
740 	fgSizer53->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
741 
742 	m_nSettingsBook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
743 	wxScrolledWindow* m_scSetDataPanel;
744 	m_scSetDataPanel = new wxScrolledWindow( m_nSettingsBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL );
745 	m_scSetDataPanel->SetScrollRate( 5, 5 );
746 	m_fgSetDataSizer = new wxFlexGridSizer( 0, 1, 0, 0 );
747 	m_fgSetDataSizer->AddGrowableCol( 0 );
748 	m_fgSetDataSizer->AddGrowableRow( 1 );
749 	m_fgSetDataSizer->SetFlexibleDirection( wxBOTH );
750 	m_fgSetDataSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
751 
752 	wxStaticBoxSizer* sbSizer101;
753 	sbSizer101 = new wxStaticBoxSizer( new wxStaticBox( m_scSetDataPanel, wxID_ANY, _("Data Display Options") ), wxVERTICAL );
754 
755 	wxFlexGridSizer* fgSizer15;
756 	fgSizer15 = new wxFlexGridSizer( 0, 3, 0, 0 );
757 	fgSizer15->SetFlexibleDirection( wxBOTH );
758 	fgSizer15->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
759 
760 	wxArrayString m_cDataTypeChoices;
761         m_cDataTypeChoices.Add(_T("Item0"));
762 	m_cDataType = new wxChoice( m_scSetDataPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_cDataTypeChoices, 0 );
763 	m_cDataType->SetSelection( 0 );
764 	fgSizer15->Add( m_cDataType, 0, wxBOTTOM|wxEXPAND|wxTOP, 5 );
765 
766 	wxStaticText* m_staticText12;
767 	m_staticText12 = new wxStaticText( m_scSetDataPanel, wxID_ANY, _("Units"), wxDefaultPosition, wxDefaultSize, 0 );
768 	m_staticText12->Wrap( -1 );
769 	m_staticText12->SetMinSize( wxSize( 110,-1 ) );
770 
771 	fgSizer15->Add( m_staticText12, 0, wxALL|wxEXPAND, 5 );
772 
773 	wxArrayString m_cDataUnitsChoices;
774         m_cDataUnitsChoices.Add(_T("Item0"));
775 	m_cDataUnits = new wxChoice( m_scSetDataPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_cDataUnitsChoices, 0 );
776 	m_cDataUnits->SetSelection( 0 );
777 	fgSizer15->Add( m_cDataUnits, 0, wxBOTTOM|wxEXPAND|wxTOP, 5 );
778 
779 	m_cbBarbedArrows = new wxCheckBox( m_scSetDataPanel, wxID_ANY, _("Barbed Arrows"), wxDefaultPosition, wxDefaultSize, 0 );
780 	fgSizer15->Add( m_cbBarbedArrows, 0, wxBOTTOM|wxTOP, 5 );
781 
782 	m_fgBarbedData1 = new wxFlexGridSizer( 0, 1, 0, 0 );
783 	m_fgBarbedData1->SetFlexibleDirection( wxBOTH );
784 	m_fgBarbedData1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
785 
786 	wxString m_cBarbedColoursChoices[] = { _("Default Colour"), _("Controlled Colours") };
787 	int m_cBarbedColoursNChoices = sizeof( m_cBarbedColoursChoices ) / sizeof( wxString );
788 	m_cBarbedColours = new wxChoice( m_scSetDataPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_cBarbedColoursNChoices, m_cBarbedColoursChoices, 0 );
789 	m_cBarbedColours->SetSelection( 0 );
790 	m_fgBarbedData1->Add( m_cBarbedColours, 0, wxALL|wxEXPAND, 5 );
791 
792 	wxFlexGridSizer* fgSizer42;
793 	fgSizer42 = new wxFlexGridSizer( 0, 2, 0, 0 );
794 	fgSizer42->SetFlexibleDirection( wxBOTH );
795 	fgSizer42->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
796 
797 	wxStaticText* m_staticText41;
798 	m_staticText41 = new wxStaticText( m_scSetDataPanel, wxID_ANY, _("Spacing(pixels)"), wxDefaultPosition, wxDefaultSize, 0 );
799 	m_staticText41->Wrap( -1 );
800 	fgSizer42->Add( m_staticText41, 0, wxALL, 5 );
801 
802 	m_cBarbArrFixSpac = new wxCheckBox( m_scSetDataPanel, BARBFIXSPACING, _("Fixed"), wxDefaultPosition, wxDefaultSize, 0 );
803 	fgSizer42->Add( m_cBarbArrFixSpac, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
804 
805 
806 	fgSizer42->Add( 0, 0, 1, wxEXPAND, 5 );
807 
808 	m_cBarbArrMinSpac = new wxCheckBox( m_scSetDataPanel, BARBMINSPACING, _("Minimum"), wxDefaultPosition, wxDefaultSize, 0 );
809 	fgSizer42->Add( m_cBarbArrMinSpac, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
810 
811 
812 	m_fgBarbedData1->Add( fgSizer42, 1, wxEXPAND, 0 );
813 
814 
815 	fgSizer15->Add( m_fgBarbedData1, 1, wxEXPAND, 0 );
816 
817 	m_fgBarbedData2 = new wxFlexGridSizer( 0, 1, 0, 0 );
818 	m_fgBarbedData2->SetFlexibleDirection( wxBOTH );
819 	m_fgBarbedData2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
820 
821 	m_cBarbedVisibility = new wxCheckBox( m_scSetDataPanel, wxID_ANY, _("Always visible"), wxDefaultPosition, wxDefaultSize, 0 );
822 	m_fgBarbedData2->Add( m_cBarbedVisibility, 0, wxALL|wxEXPAND, 5 );
823 
824 	m_sBarbArrSpacing = new wxSpinCtrl( m_scSetDataPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 30, 100, 30 );
825 	m_fgBarbedData2->Add( m_sBarbArrSpacing, 0, wxALL, 5 );
826 
827 
828 	fgSizer15->Add( m_fgBarbedData2, 1, wxEXPAND, 0 );
829 
830 	m_cbIsoBars = new wxCheckBox( m_scSetDataPanel, wxID_ANY, _("IsoBars"), wxDefaultPosition, wxDefaultSize, 0 );
831 	fgSizer15->Add( m_cbIsoBars, 0, wxBOTTOM|wxTOP, 5 );
832 
833 	m_fIsoBarSpacing = new wxFlexGridSizer( 0, 2, 0, 0 );
834 	m_fIsoBarSpacing->SetFlexibleDirection( wxBOTH );
835 	m_fIsoBarSpacing->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
836 
837 	m_tIsoBarSpacing = new wxStaticText( m_scSetDataPanel, wxID_ANY, _("Spacing"), wxDefaultPosition, wxDefaultSize, 0 );
838 	m_tIsoBarSpacing->Wrap( -1 );
839 	m_fIsoBarSpacing->Add( m_tIsoBarSpacing, 0, wxALL, 5 );
840 
841 	m_sIsoBarSpacing = new wxSpinCtrl( m_scSetDataPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 1, 1000, 1 );
842 	m_fIsoBarSpacing->Add( m_sIsoBarSpacing, 0, wxALL|wxALIGN_RIGHT, 5 );
843 
844 
845 	fgSizer15->Add( m_fIsoBarSpacing, 1, wxALL|wxEXPAND, 0 );
846 
847 	m_fIsoBarVisibility = new wxFlexGridSizer( 0, 1, 0, 0 );
848 	m_fIsoBarVisibility->SetFlexibleDirection( wxBOTH );
849 	m_fIsoBarVisibility->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
850 
851 	m_sIsoBarVisibility = new wxCheckBox( m_scSetDataPanel, wxID_ANY, _("Always visible"), wxDefaultPosition, wxDefaultSize, 0 );
852 	m_fIsoBarVisibility->Add( m_sIsoBarVisibility, 0, wxALL|wxEXPAND, 5 );
853 
854 
855 	fgSizer15->Add( m_fIsoBarVisibility, 1, wxALL|wxEXPAND, 5 );
856 
857 
858 	fgSizer15->Add( 0, 0, 1, wxEXPAND, 5 );
859 
860 	m_cbAbbrIsoBarsNumbers = new wxCheckBox( m_scSetDataPanel, wxID_ANY, _("Abbreviated Numbers"), wxDefaultPosition, wxDefaultSize, 0 );
861 	fgSizer15->Add( m_cbAbbrIsoBarsNumbers, 0, wxEXPAND, 5 );
862 
863 
864 	fgSizer15->Add( 0, 0, 1, wxEXPAND, 5 );
865 
866 	m_cbDirectionArrows = new wxCheckBox( m_scSetDataPanel, wxID_ANY, _("Direction Arrows"), wxDefaultPosition, wxDefaultSize, 0 );
867 	fgSizer15->Add( m_cbDirectionArrows, 0, wxBOTTOM|wxTOP, 5 );
868 
869 	m_fgDirArrData1 = new wxFlexGridSizer( 0, 1, 0, 0 );
870 	m_fgDirArrData1->SetFlexibleDirection( wxBOTH );
871 	m_fgDirArrData1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
872 
873 	wxString m_cDirectionArrowFormChoices[] = { _("Single Arrow"), _("Double Arrow"), _("Proportional Arrow") };
874 	int m_cDirectionArrowFormNChoices = sizeof( m_cDirectionArrowFormChoices ) / sizeof( wxString );
875 	m_cDirectionArrowForm = new wxChoice( m_scSetDataPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_cDirectionArrowFormNChoices, m_cDirectionArrowFormChoices, 0 );
876 	m_cDirectionArrowForm->SetSelection( 1 );
877 	m_fgDirArrData1->Add( m_cDirectionArrowForm, 0, wxBOTTOM|wxEXPAND|wxTOP, 5 );
878 
879 	wxFlexGridSizer* fgSizer43;
880 	fgSizer43 = new wxFlexGridSizer( 0, 2, 0, 0 );
881 	fgSizer43->SetFlexibleDirection( wxBOTH );
882 	fgSizer43->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
883 
884 	wxStaticText* m_staticText42;
885 	m_staticText42 = new wxStaticText( m_scSetDataPanel, wxID_ANY, _("Spacing(pixels)"), wxDefaultPosition, wxDefaultSize, 0 );
886 	m_staticText42->Wrap( -1 );
887 	fgSizer43->Add( m_staticText42, 0, wxALL, 5 );
888 
889 	m_cDirArrFixSpac = new wxCheckBox( m_scSetDataPanel, DIRFIXSPACING, _("Fixed"), wxDefaultPosition, wxDefaultSize, 0 );
890 	fgSizer43->Add( m_cDirArrFixSpac, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
891 
892 
893 	fgSizer43->Add( 0, 0, 1, wxEXPAND, 5 );
894 
895 	m_cDirArrMinSpac = new wxCheckBox( m_scSetDataPanel, DIRMINSPACING, _("Minimum"), wxDefaultPosition, wxDefaultSize, 0 );
896 	fgSizer43->Add( m_cDirArrMinSpac, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
897 
898 
899 	m_fgDirArrData1->Add( fgSizer43, 1, wxEXPAND, 0 );
900 
901 
902 	fgSizer15->Add( m_fgDirArrData1, 1, wxEXPAND, 5 );
903 
904 	m_fgDirArrData2 = new wxFlexGridSizer( 0, 1, 0, 0 );
905 	m_fgDirArrData2->SetFlexibleDirection( wxBOTH );
906 	m_fgDirArrData2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
907 
908 	wxString m_cDirectionArrowSizeChoices[] = { _("Default Size"), _("Small Size") };
909 	int m_cDirectionArrowSizeNChoices = sizeof( m_cDirectionArrowSizeChoices ) / sizeof( wxString );
910 	m_cDirectionArrowSize = new wxChoice( m_scSetDataPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_cDirectionArrowSizeNChoices, m_cDirectionArrowSizeChoices, 0 );
911 	m_cDirectionArrowSize->SetSelection( 0 );
912 	m_fgDirArrData2->Add( m_cDirectionArrowSize, 0, wxALL|wxEXPAND, 5 );
913 
914 	m_sDirArrSpacing = new wxSpinCtrl( m_scSetDataPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 30, 100, 30 );
915 	m_fgDirArrData2->Add( m_sDirArrSpacing, 0, wxALL, 5 );
916 
917 
918 	fgSizer15->Add( m_fgDirArrData2, 1, wxEXPAND, 0 );
919 
920 	m_cbOverlayMap = new wxCheckBox( m_scSetDataPanel, wxID_ANY, _("OverlayMap"), wxDefaultPosition, wxDefaultSize, 0 );
921 	fgSizer15->Add( m_cbOverlayMap, 0, wxBOTTOM|wxTOP, 5 );
922 
923 	m_tOverlayColors = new wxStaticText( m_scSetDataPanel, wxID_ANY, _("Color scheme"), wxDefaultPosition, wxDefaultSize, 0 );
924 	m_tOverlayColors->Wrap( -1 );
925 	fgSizer15->Add( m_tOverlayColors, 0, wxALL|wxEXPAND, 5 );
926 
927 	wxString m_cOverlayColorsChoices[] = { _("Generic"), _("Wind"), _("Air Temp"), _("Sea Temp"), _("Rainfall"), _("Cloud Cover"), _("Current"), _("CAPE") };
928 	int m_cOverlayColorsNChoices = sizeof( m_cOverlayColorsChoices ) / sizeof( wxString );
929 	m_cOverlayColors = new wxChoice( m_scSetDataPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_cOverlayColorsNChoices, m_cOverlayColorsChoices, 0 );
930 	m_cOverlayColors->SetSelection( 0 );
931 	fgSizer15->Add( m_cOverlayColors, 0, wxALL|wxEXPAND, 5 );
932 
933 	m_cbNumbers = new wxCheckBox( m_scSetDataPanel, wxID_ANY, _("Numbers"), wxDefaultPosition, wxDefaultSize, 0 );
934 	fgSizer15->Add( m_cbNumbers, 0, wxBOTTOM|wxTOP, 5 );
935 
936 	m_fgNumData1 = new wxFlexGridSizer( 0, 2, 0, 0 );
937 	m_fgNumData1->SetFlexibleDirection( wxBOTH );
938 	m_fgNumData1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
939 
940 	wxStaticText* m_staticText43;
941 	m_staticText43 = new wxStaticText( m_scSetDataPanel, wxID_ANY, _("Spacing(pixels)"), wxDefaultPosition, wxDefaultSize, 0 );
942 	m_staticText43->Wrap( -1 );
943 	m_fgNumData1->Add( m_staticText43, 0, wxALL, 5 );
944 
945 	m_cNumFixSpac = new wxCheckBox( m_scSetDataPanel, NUMFIXSPACING, _("Fixed"), wxDefaultPosition, wxDefaultSize, 0 );
946 	m_fgNumData1->Add( m_cNumFixSpac, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
947 
948 
949 	m_fgNumData1->Add( 0, 0, 1, wxEXPAND, 5 );
950 
951 	m_cNumMinSpac = new wxCheckBox( m_scSetDataPanel, NUMMINSPACING, _("Minimum"), wxDefaultPosition, wxDefaultSize, 0 );
952 	m_fgNumData1->Add( m_cNumMinSpac, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
953 
954 
955 	fgSizer15->Add( m_fgNumData1, 1, wxEXPAND, 0 );
956 
957 	m_sNumbersSpacing = new wxSpinCtrl( m_scSetDataPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 30, 100, 50 );
958 	fgSizer15->Add( m_sNumbersSpacing, 0, wxALL, 5 );
959 
960 	m_cbParticles = new wxCheckBox( m_scSetDataPanel, wxID_ANY, _("Particle Map"), wxDefaultPosition, wxDefaultSize, 0 );
961 	fgSizer15->Add( m_cbParticles, 0, wxBOTTOM|wxTOP, 5 );
962 
963 	m_ctParticles = new wxStaticText( m_scSetDataPanel, wxID_ANY, _("Density"), wxDefaultPosition, wxDefaultSize, 0 );
964 	m_ctParticles->Wrap( -1 );
965 	fgSizer15->Add( m_ctParticles, 0, wxALL, 5 );
966 
967 #if defined(__WXOSX__) && !wxCHECK_VERSION(3, 1, 0)
968     m_sParticleDensity = new wxSlider( m_scSetDataPanel, wxID_ANY, 5, 1, 10, wxDefaultPosition, wxDefaultSize, wxSL_BOTTOM|wxSL_HORIZONTAL );
969 #else
970 	m_sParticleDensity = new wxSlider( m_scSetDataPanel, wxID_ANY, 5, 1, 10, wxDefaultPosition, wxDefaultSize, wxSL_BOTTOM|wxSL_HORIZONTAL|wxSL_LABELS );
971 #endif
972 	fgSizer15->Add( m_sParticleDensity, 0, wxALL|wxEXPAND, 5 );
973 
974 
975 	sbSizer101->Add( fgSizer15, 1, wxEXPAND, 5 );
976 
977 
978 	m_fgSetDataSizer->Add( sbSizer101, 1, wxEXPAND|wxTOP, 10 );
979 
980 
981 	m_fgSetDataSizer->Add( 0, 0, 1, wxEXPAND, 5 );
982 
983 	wxStaticBoxSizer* sbSizer12;
984 	sbSizer12 = new wxStaticBoxSizer( new wxStaticBox( m_scSetDataPanel, wxID_ANY, _("Transparency for all Overlay Maps") ), wxVERTICAL );
985 
986 	wxFlexGridSizer* fgSizer34;
987 	fgSizer34 = new wxFlexGridSizer( 0, 2, 0, 0 );
988 	fgSizer34->SetFlexibleDirection( wxBOTH );
989 	fgSizer34->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
990 
991 	m_staticText24 = new wxStaticText( m_scSetDataPanel, wxID_ANY, _("Overlay Transparency (%)"), wxDefaultPosition, wxDefaultSize, 0 );
992 	m_staticText24->Wrap( -1 );
993 	fgSizer34->Add( m_staticText24, 0, wxEXPAND|wxRIGHT|wxTOP, 15 );
994 
995 	m_sTransparency = new wxSlider( m_scSetDataPanel, wxID_ANY, 50, 0, 100, wxDefaultPosition, wxSize( -1,-1 ), wxSL_BOTTOM|wxSL_HORIZONTAL|wxSL_LABELS );
996 	m_sTransparency->SetMinSize( wxSize( 250,-1 ) );
997 
998 	fgSizer34->Add( m_sTransparency, 0, wxALL|wxEXPAND, 5 );
999 
1000 
1001 	sbSizer12->Add( fgSizer34, 1, wxEXPAND|wxLEFT, 5 );
1002 
1003 
1004 	m_fgSetDataSizer->Add( sbSizer12, 1, wxEXPAND|wxTOP, 10 );
1005 
1006 
1007 	m_scSetDataPanel->SetSizer( m_fgSetDataSizer );
1008 	m_scSetDataPanel->Layout();
1009 	m_fgSetDataSizer->Fit( m_scSetDataPanel );
1010 	m_nSettingsBook->AddPage( m_scSetDataPanel, _("Data"), false );
1011 	wxScrolledWindow* m_scSetPlaybackPanel;
1012 	m_scSetPlaybackPanel = new wxScrolledWindow( m_nSettingsBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL );
1013 	m_scSetPlaybackPanel->SetScrollRate( 5, 5 );
1014 	m_fgSetPlaybackSizer = new wxFlexGridSizer( 0, 1, 0, 0 );
1015 	m_fgSetPlaybackSizer->AddGrowableCol( 0 );
1016 	m_fgSetPlaybackSizer->SetFlexibleDirection( wxBOTH );
1017 	m_fgSetPlaybackSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1018 
1019 	wxStaticBoxSizer* sbSizer121;
1020 	sbSizer121 = new wxStaticBoxSizer( new wxStaticBox( m_scSetPlaybackPanel, wxID_ANY, _("Playback Options") ), wxVERTICAL );
1021 
1022 	wxFlexGridSizer* fgSizer48;
1023 	fgSizer48 = new wxFlexGridSizer( 0, 1, 0, 0 );
1024 	fgSizer48->SetFlexibleDirection( wxBOTH );
1025 	fgSizer48->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1026 
1027 	wxStaticText* m_staticText4;
1028 	m_staticText4 = new wxStaticText( m_scSetPlaybackPanel, wxID_ANY, _("Speed Control"), wxDefaultPosition, wxDefaultSize, 0 );
1029 	m_staticText4->Wrap( -1 );
1030 	fgSizer48->Add( m_staticText4, 0, wxALL|wxEXPAND, 5 );
1031 
1032 	wxFlexGridSizer* fgSizer480;
1033 	fgSizer480 = new wxFlexGridSizer( 0, 4, 0, 0 );
1034 	fgSizer480->SetFlexibleDirection( wxBOTH );
1035 	fgSizer480->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1036 
1037 	fgSizer480->Add( 0, 0, 1, wxLEFT|wxRIGHT, 15 );
1038 
1039 	wxStaticText* m_staticText400;
1040 	m_staticText400 = new wxStaticText( m_scSetPlaybackPanel, wxID_ANY, _("Slow"), wxDefaultPosition, wxDefaultSize, 0 );
1041 	m_staticText400->Wrap( -1 );
1042 	fgSizer480->Add( m_staticText400, 0, wxLEFT|wxTOP, 5 );
1043 
1044 	m_sUpdatesPerSecond = new wxSlider( m_scSetPlaybackPanel, wxID_ANY, 4, 2, 12, wxDefaultPosition, wxSize( -1,-1 ), wxSL_HORIZONTAL );
1045 	fgSizer480->Add( m_sUpdatesPerSecond, 0, wxEXPAND|wxBOTTOM, 5 );
1046 
1047 	wxStaticText* m_staticText401;
1048 	m_staticText401 = new wxStaticText( m_scSetPlaybackPanel, wxID_ANY, _("Fast"), wxDefaultPosition, wxDefaultSize, 0 );
1049 	m_staticText401->Wrap( -1 );
1050 	fgSizer480->Add( m_staticText401, 0, wxRIGHT|wxTOP, 5 );
1051 
1052 	fgSizer48->Add( fgSizer480, 0, wxALL|wxEXPAND, 5 );
1053 
1054 	m_cLoopMode = new wxCheckBox( m_scSetPlaybackPanel, wxID_ANY, _("Loop Mode"), wxDefaultPosition, wxDefaultSize, 0 );
1055 	fgSizer48->Add( m_cLoopMode, 0, wxALL, 5 );
1056 
1057 	wxFlexGridSizer* fgSizer481;
1058 	fgSizer481 = new wxFlexGridSizer( 0, 3, 0, 0 );
1059 	fgSizer481->SetFlexibleDirection( wxBOTH );
1060 	fgSizer481->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1061 
1062 	fgSizer481->Add( 0, 0, 1, wxLEFT|wxRIGHT, 15 );
1063 
1064 	m_staticText26 = new wxStaticText( m_scSetPlaybackPanel, wxID_ANY, _("Loop Start"), wxDefaultPosition, wxDefaultSize, 0 );
1065 	m_staticText26->Wrap( -1 );
1066 	fgSizer481->Add( m_staticText26, 0, wxALL|wxEXPAND, 5 );
1067 
1068 	wxString m_cLoopStartPointChoices[] = { _("Top of Grib File"), _("Current time forecast") };
1069 	int m_cLoopStartPointNChoices = sizeof( m_cLoopStartPointChoices ) / sizeof( wxString );
1070 	m_cLoopStartPoint = new wxChoice( m_scSetPlaybackPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_cLoopStartPointNChoices, m_cLoopStartPointChoices, 0 );
1071 	m_cLoopStartPoint->SetSelection( 0 );
1072 	fgSizer481->Add( m_cLoopStartPoint, 0, wxALL|wxEXPAND, 5 );
1073 
1074 	fgSizer48->Add( fgSizer481, 0, wxALL, 5 );
1075 
1076 	m_cInterpolate = new wxCheckBox( m_scSetPlaybackPanel, wxID_ANY, _("Interpolate between gribs"), wxDefaultPosition, wxDefaultSize, 0 );
1077 	fgSizer48->Add( m_cInterpolate, 0, wxALL|wxEXPAND, 5 );
1078 
1079 	wxFlexGridSizer* fgSizer482;
1080 	fgSizer482 = new wxFlexGridSizer( 0, 3, 0, 0 );
1081 	fgSizer482->SetFlexibleDirection( wxBOTH );
1082 	fgSizer482->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1083 
1084 	fgSizer482->Add( 0, 0, 1, wxLEFT|wxRIGHT, 15 );
1085 
1086 	m_tSlicesPerUpdate = new wxStaticText( m_scSetPlaybackPanel, wxID_ANY, _("Time Interval"), wxDefaultPosition, wxDefaultSize, 0 );
1087 	m_tSlicesPerUpdate->Wrap( -1 );
1088 	fgSizer482->Add( m_tSlicesPerUpdate, 0, wxALL|wxEXPAND, 5 );
1089 
1090 	wxArrayString m_sSlicesPerUpdateChoices;
1091 	m_sSlicesPerUpdate = new wxChoice( m_scSetPlaybackPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_sSlicesPerUpdateChoices, 0 );
1092 	m_sSlicesPerUpdate->SetSelection( 0 );
1093 	fgSizer482->Add( m_sSlicesPerUpdate, 0, wxALL|wxEXPAND, 5 );
1094 
1095     fgSizer48->Add( fgSizer482, 0, wxALL|wxEXPAND, 5 );
1096 
1097 	sbSizer121->Add( fgSizer48, 1, wxEXPAND|wxALL, 5 );
1098 
1099 
1100 	m_fgSetPlaybackSizer->Add( sbSizer121, 1, wxEXPAND|wxTOP, 10 );
1101 
1102 
1103 	m_scSetPlaybackPanel->SetSizer( m_fgSetPlaybackSizer );
1104 	m_scSetPlaybackPanel->Layout();
1105 	m_fgSetPlaybackSizer->Fit( m_scSetPlaybackPanel );
1106 	m_nSettingsBook->AddPage( m_scSetPlaybackPanel, _("Playback"), false );
1107 	wxScrolledWindow* m_scSetGuiPanel;
1108 	m_scSetGuiPanel = new wxScrolledWindow( m_nSettingsBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL );
1109 	m_scSetGuiPanel->SetScrollRate( 5, 5 );
1110 	m_fgSetGuiSizer = new wxFlexGridSizer( 0, 1, 0, 0 );
1111 	m_fgSetGuiSizer->AddGrowableCol( 0 );
1112 	m_fgSetGuiSizer->SetFlexibleDirection( wxBOTH );
1113 	m_fgSetGuiSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1114 
1115 	wxStaticBoxSizer* sbSizer9;
1116 	sbSizer9 = new wxStaticBoxSizer( new wxStaticBox( m_scSetGuiPanel, wxID_ANY, _("Dialogs Style") ), wxVERTICAL );
1117 
1118 	wxFlexGridSizer* fgSizer47;
1119 	fgSizer47 = new wxFlexGridSizer( 0, 1, 0, 0 );
1120 	fgSizer47->SetFlexibleDirection( wxBOTH );
1121 	fgSizer47->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1122 
1123 	m_rbCurDataAttaWCap = new wxRadioButton( m_scSetGuiPanel, wxID_ANY, _("Data at cursor dialog is attached to icons bar - with a title/drag bar"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
1124 	fgSizer47->Add( m_rbCurDataAttaWCap, 0, wxALL, 5 );
1125 
1126 	m_rbCurDataAttaWoCap = new wxRadioButton( m_scSetGuiPanel, wxID_ANY, _("Data at cursor dialog is attached to icons bar - without a title/drag bar"), wxDefaultPosition, wxDefaultSize, 0 );
1127 	fgSizer47->Add( m_rbCurDataAttaWoCap, 0, wxALL, 5 );
1128 
1129 	m_rbCurDataIsolHoriz = new wxRadioButton( m_scSetGuiPanel, wxID_ANY, _("Data at cursor dialog is isolated and displayed horizontally"), wxDefaultPosition, wxDefaultSize, 0 );
1130 	fgSizer47->Add( m_rbCurDataIsolHoriz, 0, wxALL, 5 );
1131 
1132 	m_rbCurDataIsolVertic = new wxRadioButton( m_scSetGuiPanel, wxID_ANY, _("Data at cursor dialog is isolated and displayed vertically"), wxDefaultPosition, wxDefaultSize, 0 );
1133 	fgSizer47->Add( m_rbCurDataIsolVertic, 0, wxALL, 5 );
1134 
1135 
1136 	sbSizer9->Add( fgSizer47, 1, wxEXPAND, 5 );
1137 
1138 
1139 	m_fgSetGuiSizer->Add( sbSizer9, 1, wxEXPAND|wxTOP, 10 );
1140 
1141 
1142 	m_fgSetGuiSizer->Add( 0, 0, 1, wxALL, 5 );
1143 
1144 	wxStaticBoxSizer* sbSizer10;
1145 	sbSizer10 = new wxStaticBoxSizer( new wxStaticBox( m_scSetGuiPanel, wxID_ANY, _("Buttons Visibility") ), wxVERTICAL );
1146 
1147 	wxFlexGridSizer* fgSizer52;
1148 	fgSizer52 = new wxFlexGridSizer( 0, 4, 0, 0 );
1149 	fgSizer52->SetFlexibleDirection( wxBOTH );
1150 	fgSizer52->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1151 
1152 
1153 	fgSizer52->Add( 0, 0, 1, wxEXPAND, 5 );
1154 
1155 
1156 	fgSizer52->Add( 0, 0, 1, wxEXPAND, 5 );
1157 
1158 	wxStaticText* m_staticText44;
1159 	m_staticText44 = new wxStaticText( m_scSetGuiPanel, wxID_ANY, _("Attached icon bar"), wxDefaultPosition, wxDefaultSize, 0 );
1160 	m_staticText44->Wrap( -1 );
1161 	fgSizer52->Add( m_staticText44, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
1162 
1163 	wxStaticText* m_staticText45;
1164 	m_staticText45 = new wxStaticText( m_scSetGuiPanel, wxID_ANY, _("Isolated icon bar"), wxDefaultPosition, wxDefaultSize, 0 );
1165 	m_staticText45->Wrap( -1 );
1166 	fgSizer52->Add( m_staticText45, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
1167 
1168 	m_biAltitude = new wxStaticBitmap( m_scSetGuiPanel, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
1169 	fgSizer52->Add( m_biAltitude, 0, wxALL, 2 );
1170 
1171 	wxStaticText* m_staticText46;
1172 	m_staticText46 = new wxStaticText( m_scSetGuiPanel, wxID_ANY, _("Geopot. Height Choice"), wxDefaultPosition, wxDefaultSize, 0 );
1173 	m_staticText46->Wrap( -1 );
1174 	fgSizer52->Add( m_staticText46, 0, wxALL, 3 );
1175 
1176 	wxCheckBox* m_checkBox48;
1177 	m_checkBox48 = new wxCheckBox( m_scSetGuiPanel, AC0, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1178 	fgSizer52->Add( m_checkBox48, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 3 );
1179 
1180 	wxCheckBox* m_checkBox49;
1181 	m_checkBox49 = new wxCheckBox( m_scSetGuiPanel, AC1, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1182 	fgSizer52->Add( m_checkBox49, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 3 );
1183 
1184 	m_biNow = new wxStaticBitmap( m_scSetGuiPanel, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
1185 	fgSizer52->Add( m_biNow, 0, wxALL, 3 );
1186 
1187 	wxStaticText* m_staticText47;
1188 	m_staticText47 = new wxStaticText( m_scSetGuiPanel, wxID_ANY, _("Now"), wxDefaultPosition, wxDefaultSize, 0 );
1189 	m_staticText47->Wrap( -1 );
1190 	fgSizer52->Add( m_staticText47, 0, wxALL, 3 );
1191 
1192 	wxCheckBox* m_checkBox50;
1193 	m_checkBox50 = new wxCheckBox( m_scSetGuiPanel, NW0, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1194 	fgSizer52->Add( m_checkBox50, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 3 );
1195 
1196 	wxCheckBox* m_checkBox51;
1197 	m_checkBox51 = new wxCheckBox( m_scSetGuiPanel, NW1, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1198 	fgSizer52->Add( m_checkBox51, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 3 );
1199 
1200 	m_biZoomToCenter = new wxStaticBitmap( m_scSetGuiPanel, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
1201 	fgSizer52->Add( m_biZoomToCenter, 0, wxALL, 3 );
1202 
1203 	wxStaticText* m_staticText48;
1204 	m_staticText48 = new wxStaticText( m_scSetGuiPanel, wxID_ANY, _("Zoom to Center"), wxDefaultPosition, wxDefaultSize, 0 );
1205 	m_staticText48->Wrap( -1 );
1206 	fgSizer52->Add( m_staticText48, 0, wxALL, 3 );
1207 
1208 	wxCheckBox* m_checkBox52;
1209 	m_checkBox52 = new wxCheckBox( m_scSetGuiPanel, ZC0, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1210 	fgSizer52->Add( m_checkBox52, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 3 );
1211 
1212 	wxCheckBox* m_checkBox53;
1213 	m_checkBox53 = new wxCheckBox( m_scSetGuiPanel, ZC1, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1214 	fgSizer52->Add( m_checkBox53, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 3 );
1215 
1216 	m_biShowCursorData = new wxStaticBitmap( m_scSetGuiPanel, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
1217 	fgSizer52->Add( m_biShowCursorData, 0, wxALL, 3 );
1218 
1219 	wxStaticText* m_staticText49;
1220 	m_staticText49 = new wxStaticText( m_scSetGuiPanel, wxID_ANY, _("Show Cursor Data"), wxDefaultPosition, wxDefaultSize, 0 );
1221 	m_staticText49->Wrap( -1 );
1222 	fgSizer52->Add( m_staticText49, 0, wxALL, 3 );
1223 
1224 	wxCheckBox* m_checkBox54;
1225 	m_checkBox54 = new wxCheckBox( m_scSetGuiPanel, SCD0, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1226 	fgSizer52->Add( m_checkBox54, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 3 );
1227 
1228 	wxCheckBox* m_checkBox55;
1229 	m_checkBox55 = new wxCheckBox( m_scSetGuiPanel, SCD1, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1230 	fgSizer52->Add( m_checkBox55, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 3 );
1231 
1232 	m_biPlay = new wxStaticBitmap( m_scSetGuiPanel, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
1233 	fgSizer52->Add( m_biPlay, 0, wxALL, 3 );
1234 
1235 	wxStaticText* m_staticText50;
1236 	m_staticText50 = new wxStaticText( m_scSetGuiPanel, wxID_ANY, _("Playback"), wxDefaultPosition, wxDefaultSize, 0 );
1237 	m_staticText50->Wrap( -1 );
1238 	fgSizer52->Add( m_staticText50, 0, wxALL, 3 );
1239 
1240 	wxCheckBox* m_checkBox56;
1241 	m_checkBox56 = new wxCheckBox( m_scSetGuiPanel, PB0, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1242 	fgSizer52->Add( m_checkBox56, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 3 );
1243 
1244 	wxCheckBox* m_checkBox57;
1245 	m_checkBox57 = new wxCheckBox( m_scSetGuiPanel, PB1, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1246 	fgSizer52->Add( m_checkBox57, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 3 );
1247 
1248 	m_biTimeSlider = new wxStaticBitmap( m_scSetGuiPanel, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
1249 	fgSizer52->Add( m_biTimeSlider, 0, wxALL, 3 );
1250 
1251 	wxStaticText* m_staticText51;
1252 	m_staticText51 = new wxStaticText( m_scSetGuiPanel, wxID_ANY, _("Time Slider"), wxDefaultPosition, wxDefaultSize, 0 );
1253 	m_staticText51->Wrap( -1 );
1254 	fgSizer52->Add( m_staticText51, 0, wxALL, 3 );
1255 
1256 	wxCheckBox* m_checkBox58;
1257 	m_checkBox58 = new wxCheckBox( m_scSetGuiPanel, TL0, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1258 	fgSizer52->Add( m_checkBox58, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 3 );
1259 
1260 	wxCheckBox* m_checkBox59;
1261 	m_checkBox59 = new wxCheckBox( m_scSetGuiPanel, TL1, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1262 	fgSizer52->Add( m_checkBox59, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 3 );
1263 
1264 	m_biOpenFile = new wxStaticBitmap( m_scSetGuiPanel, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
1265 	fgSizer52->Add( m_biOpenFile, 0, wxALL, 3 );
1266 
1267 	wxStaticText* m_staticText52;
1268 	m_staticText52 = new wxStaticText( m_scSetGuiPanel, wxID_ANY, _("Open File"), wxDefaultPosition, wxDefaultSize, 0 );
1269 	m_staticText52->Wrap( -1 );
1270 	fgSizer52->Add( m_staticText52, 0, wxALL, 3 );
1271 
1272 	wxCheckBox* m_checkBox60;
1273 	m_checkBox60 = new wxCheckBox( m_scSetGuiPanel, OF0, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1274 	fgSizer52->Add( m_checkBox60, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 3 );
1275 
1276 	wxCheckBox* m_checkBox61;
1277 	m_checkBox61 = new wxCheckBox( m_scSetGuiPanel, OF1, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1278 	fgSizer52->Add( m_checkBox61, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
1279 
1280 	m_biSettings = new wxStaticBitmap( m_scSetGuiPanel, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
1281 	fgSizer52->Add( m_biSettings, 0, wxALL, 3 );
1282 
1283 	wxStaticText* m_staticText53;
1284 	m_staticText53 = new wxStaticText( m_scSetGuiPanel, wxID_ANY, _("Settings"), wxDefaultPosition, wxDefaultSize, 0 );
1285 	m_staticText53->Wrap( -1 );
1286 	fgSizer52->Add( m_staticText53, 0, wxALL, 3 );
1287 
1288 	wxCheckBox* m_checkBox62;
1289 	m_checkBox62 = new wxCheckBox( m_scSetGuiPanel, STS0, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1290 	fgSizer52->Add( m_checkBox62, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 3 );
1291 
1292 	wxCheckBox* m_checkBox63;
1293 	m_checkBox63 = new wxCheckBox( m_scSetGuiPanel, STS1, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1294 	fgSizer52->Add( m_checkBox63, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 3 );
1295 
1296 	m_biRequest = new wxStaticBitmap( m_scSetGuiPanel, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
1297 	fgSizer52->Add( m_biRequest, 0, wxALL, 3 );
1298 
1299 	wxStaticText* m_staticText54;
1300 	m_staticText54 = new wxStaticText( m_scSetGuiPanel, wxID_ANY, _("Request"), wxDefaultPosition, wxDefaultSize, 0 );
1301 	m_staticText54->Wrap( -1 );
1302 	fgSizer52->Add( m_staticText54, 0, wxALL, 3 );
1303 
1304 	wxCheckBox* m_checkBox64;
1305 	m_checkBox64 = new wxCheckBox( m_scSetGuiPanel, RQ0, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1306 	fgSizer52->Add( m_checkBox64, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 3 );
1307 
1308 	wxCheckBox* m_checkBox65;
1309 	m_checkBox65 = new wxCheckBox( m_scSetGuiPanel, RQ1, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1310 	fgSizer52->Add( m_checkBox65, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 3 );
1311 
1312 
1313 	sbSizer10->Add( fgSizer52, 1, wxEXPAND, 5 );
1314 
1315 
1316 	m_fgSetGuiSizer->Add( sbSizer10, 1, wxEXPAND|wxTOP, 5 );
1317 
1318 
1319 	m_scSetGuiPanel->SetSizer( m_fgSetGuiSizer );
1320 	m_scSetGuiPanel->Layout();
1321 	m_fgSetGuiSizer->Fit( m_scSetGuiPanel );
1322 	m_nSettingsBook->AddPage( m_scSetGuiPanel, _("GUI"), true );
1323 
1324 	fgSizer53->Add( m_nSettingsBook, 1, wxEXPAND | wxALL, 5 );
1325 
1326 	m_sButton = new wxStdDialogButtonSizer();
1327 	m_sButtonOK = new wxButton( this, wxID_OK );
1328 	m_sButton->AddButton( m_sButtonOK );
1329 	m_sButtonApply = new wxButton( this, wxID_APPLY );
1330 	m_sButton->AddButton( m_sButtonApply );
1331 	m_sButtonCancel = new wxButton( this, wxID_CANCEL, _("Cancel") );
1332 	m_sButton->AddButton( m_sButtonCancel );
1333 	m_sButton->Realize();
1334 
1335 	fgSizer53->Add( m_sButton, 1, wxEXPAND, 5 );
1336 
1337 
1338 	this->SetSizer( fgSizer53 );
1339 	this->Layout();
1340 	fgSizer53->Fit( this );
1341 
1342 	this->Centre( wxBOTH );
1343 
1344 	// Connect Events
1345 	m_nSettingsBook->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( GribSettingsDialogBase::OnPageChange ), NULL, this );
1346 	m_cDataType->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( GribSettingsDialogBase::OnDataTypeChoice ), NULL, this );
1347 	m_cDataUnits->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( GribSettingsDialogBase::OnUnitChange ), NULL, this );
1348 	m_cBarbArrFixSpac->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribSettingsDialogBase::OnSpacingModeChange ), NULL, this );
1349 	m_cBarbArrMinSpac->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribSettingsDialogBase::OnSpacingModeChange ), NULL, this );
1350 	m_cDirArrFixSpac->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribSettingsDialogBase::OnSpacingModeChange ), NULL, this );
1351 	m_cDirArrMinSpac->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribSettingsDialogBase::OnSpacingModeChange ), NULL, this );
1352 	m_cNumFixSpac->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribSettingsDialogBase::OnSpacingModeChange ), NULL, this );
1353 	m_cNumMinSpac->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribSettingsDialogBase::OnSpacingModeChange ), NULL, this );
1354 	m_sTransparency->Connect( wxEVT_SCROLL_TOP, wxScrollEventHandler( GribSettingsDialogBase::OnTransparencyChange ), NULL, this );
1355 	m_sTransparency->Connect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( GribSettingsDialogBase::OnTransparencyChange ), NULL, this );
1356 	m_sTransparency->Connect( wxEVT_SCROLL_LINEUP, wxScrollEventHandler( GribSettingsDialogBase::OnTransparencyChange ), NULL, this );
1357 	m_sTransparency->Connect( wxEVT_SCROLL_LINEDOWN, wxScrollEventHandler( GribSettingsDialogBase::OnTransparencyChange ), NULL, this );
1358 	m_sTransparency->Connect( wxEVT_SCROLL_PAGEUP, wxScrollEventHandler( GribSettingsDialogBase::OnTransparencyChange ), NULL, this );
1359 	m_sTransparency->Connect( wxEVT_SCROLL_PAGEDOWN, wxScrollEventHandler( GribSettingsDialogBase::OnTransparencyChange ), NULL, this );
1360 	m_sTransparency->Connect( wxEVT_SCROLL_THUMBTRACK, wxScrollEventHandler( GribSettingsDialogBase::OnTransparencyChange ), NULL, this );
1361 	m_sTransparency->Connect( wxEVT_SCROLL_THUMBRELEASE, wxScrollEventHandler( GribSettingsDialogBase::OnTransparencyChange ), NULL, this );
1362 	m_sTransparency->Connect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( GribSettingsDialogBase::OnTransparencyChange ), NULL, this );
1363 	m_cLoopMode->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribSettingsDialogBase::OnIntepolateChange ), NULL, this );
1364 	m_cInterpolate->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribSettingsDialogBase::OnIntepolateChange ), NULL, this );
1365 	m_rbCurDataAttaWCap->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( GribSettingsDialogBase::OnCtrlandDataStyleChanged ), NULL, this );
1366 	m_rbCurDataAttaWoCap->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( GribSettingsDialogBase::OnCtrlandDataStyleChanged ), NULL, this );
1367 	m_rbCurDataIsolHoriz->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( GribSettingsDialogBase::OnCtrlandDataStyleChanged ), NULL, this );
1368 	m_rbCurDataIsolVertic->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( GribSettingsDialogBase::OnCtrlandDataStyleChanged ), NULL, this );
1369 	m_sButtonApply->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GribSettingsDialogBase::OnApply ), NULL, this );
1370 }
1371 
~GribSettingsDialogBase()1372 GribSettingsDialogBase::~GribSettingsDialogBase()
1373 {
1374 	// Disconnect Events
1375 	m_nSettingsBook->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( GribSettingsDialogBase::OnPageChange ), NULL, this );
1376 	m_cDataType->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( GribSettingsDialogBase::OnDataTypeChoice ), NULL, this );
1377 	m_cDataUnits->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( GribSettingsDialogBase::OnUnitChange ), NULL, this );
1378 	m_cBarbArrFixSpac->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribSettingsDialogBase::OnSpacingModeChange ), NULL, this );
1379 	m_cBarbArrMinSpac->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribSettingsDialogBase::OnSpacingModeChange ), NULL, this );
1380 	m_cDirArrFixSpac->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribSettingsDialogBase::OnSpacingModeChange ), NULL, this );
1381 	m_cDirArrMinSpac->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribSettingsDialogBase::OnSpacingModeChange ), NULL, this );
1382 	m_cNumFixSpac->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribSettingsDialogBase::OnSpacingModeChange ), NULL, this );
1383 	m_cNumMinSpac->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribSettingsDialogBase::OnSpacingModeChange ), NULL, this );
1384 	m_sTransparency->Disconnect( wxEVT_SCROLL_TOP, wxScrollEventHandler( GribSettingsDialogBase::OnTransparencyChange ), NULL, this );
1385 	m_sTransparency->Disconnect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( GribSettingsDialogBase::OnTransparencyChange ), NULL, this );
1386 	m_sTransparency->Disconnect( wxEVT_SCROLL_LINEUP, wxScrollEventHandler( GribSettingsDialogBase::OnTransparencyChange ), NULL, this );
1387 	m_sTransparency->Disconnect( wxEVT_SCROLL_LINEDOWN, wxScrollEventHandler( GribSettingsDialogBase::OnTransparencyChange ), NULL, this );
1388 	m_sTransparency->Disconnect( wxEVT_SCROLL_PAGEUP, wxScrollEventHandler( GribSettingsDialogBase::OnTransparencyChange ), NULL, this );
1389 	m_sTransparency->Disconnect( wxEVT_SCROLL_PAGEDOWN, wxScrollEventHandler( GribSettingsDialogBase::OnTransparencyChange ), NULL, this );
1390 	m_sTransparency->Disconnect( wxEVT_SCROLL_THUMBTRACK, wxScrollEventHandler( GribSettingsDialogBase::OnTransparencyChange ), NULL, this );
1391 	m_sTransparency->Disconnect( wxEVT_SCROLL_THUMBRELEASE, wxScrollEventHandler( GribSettingsDialogBase::OnTransparencyChange ), NULL, this );
1392 	m_sTransparency->Disconnect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( GribSettingsDialogBase::OnTransparencyChange ), NULL, this );
1393 	m_cLoopMode->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribSettingsDialogBase::OnIntepolateChange ), NULL, this );
1394 	m_cInterpolate->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribSettingsDialogBase::OnIntepolateChange ), NULL, this );
1395 	m_rbCurDataAttaWCap->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( GribSettingsDialogBase::OnCtrlandDataStyleChanged ), NULL, this );
1396 	m_rbCurDataAttaWoCap->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( GribSettingsDialogBase::OnCtrlandDataStyleChanged ), NULL, this );
1397 	m_rbCurDataIsolHoriz->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( GribSettingsDialogBase::OnCtrlandDataStyleChanged ), NULL, this );
1398 	m_rbCurDataIsolVertic->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( GribSettingsDialogBase::OnCtrlandDataStyleChanged ), NULL, this );
1399 	m_sButtonApply->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GribSettingsDialogBase::OnApply ), NULL, this );
1400 
1401 }
1402 
1403 #ifndef __OCPN__ANDROID__
GribPreferencesDialogBase(wxWindow * parent,wxWindowID id,const wxString & title,const wxPoint & pos,const wxSize & size,long style)1404 GribPreferencesDialogBase::GribPreferencesDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
1405 {
1406 	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
1407 
1408 	wxFlexGridSizer* fgSizer6;
1409 	fgSizer6 = new wxFlexGridSizer( 0, 1, 0, 0 );
1410 	fgSizer6->SetFlexibleDirection( wxBOTH );
1411 	fgSizer6->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1412 
1413 	wxStaticBoxSizer* sbSizer9;
1414 	sbSizer9 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("General Options") ), wxVERTICAL );
1415 
1416 	wxFlexGridSizer* fgSizer46;
1417 	fgSizer46 = new wxFlexGridSizer( 0, 1, 0, 0 );
1418 	fgSizer46->SetFlexibleDirection( wxBOTH );
1419 	fgSizer46->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1420 
1421 	m_cbUseHiDef = new wxCheckBox( this, wxID_ANY, _("Use High Definition Graphics"), wxDefaultPosition, wxDefaultSize, 0 );
1422 	fgSizer46->Add( m_cbUseHiDef, 0, wxALL, 5 );
1423 
1424 	m_cbUseGradualColors = new wxCheckBox( this, wxID_ANY, _("Use Gradual Colors"), wxDefaultPosition, wxDefaultSize, 0 );
1425 	fgSizer46->Add( m_cbUseGradualColors, 0, wxALL, 5 );
1426 
1427 	m_cbCopyFirstCumulativeRecord = new wxCheckBox( this, wxID_ANY, _("Copy First Cumulative Missing Record"), wxDefaultPosition, wxDefaultSize, 0 );
1428 	fgSizer46->Add( m_cbCopyFirstCumulativeRecord, 0, wxALL, 5 );
1429 
1430 	m_cbCopyMissingWaveRecord = new wxCheckBox( this, wxID_ANY, _("Copy Missing Wave Records"), wxDefaultPosition, wxDefaultSize, 0 );
1431 	fgSizer46->Add( m_cbCopyMissingWaveRecord, 0, wxALL, 5 );
1432 
1433 	m_cbDrawBarbedArrowHead = new wxCheckBox( this, wxID_ANY, _("Draw Barbed Arrows Head"), wxDefaultPosition, wxDefaultSize, 0 );
1434 	fgSizer46->Add( m_cbDrawBarbedArrowHead, 0, wxALL, 5 );
1435 
1436     m_cZoomToCenterAtInit = new wxCheckBox(this, wxID_ANY, _("Zoom to file center when opened"), wxDefaultPosition, wxDefaultSize, 0);
1437     fgSizer46->Add(m_cZoomToCenterAtInit, 0, wxALL, 5);
1438 
1439 	sbSizer9->Add( fgSizer46, 1, wxEXPAND, 5 );
1440 
1441 
1442 	fgSizer6->Add( sbSizer9, 1, wxEXPAND, 5 );
1443 
1444 	wxString m_rbLoadOptionsChoices[] = { _("Load the More Recent File in Directory"), _("Load the Last Opened File") };
1445 	int m_rbLoadOptionsNChoices = sizeof( m_rbLoadOptionsChoices ) / sizeof( wxString );
1446 	m_rbLoadOptions = new wxRadioBox( this, wxID_ANY, _("Load File Options"), wxDefaultPosition, wxDefaultSize, m_rbLoadOptionsNChoices, m_rbLoadOptionsChoices, 1, wxRA_SPECIFY_COLS );
1447 	m_rbLoadOptions->SetSelection( 0 );
1448 	fgSizer6->Add( m_rbLoadOptions, 0, wxALL|wxEXPAND, 5 );
1449 
1450 	wxString m_rbStartOptionsChoices[] = { _("Start at the first forecast in GRIB file"), _("Start at the nearest forecast to current time"), _("Authorize Interpolation to start at current time") };
1451 	int m_rbStartOptionsNChoices = sizeof( m_rbStartOptionsChoices ) / sizeof( wxString );
1452 	m_rbStartOptions = new wxRadioBox( this, wxID_ANY, _("Start Options"), wxDefaultPosition, wxDefaultSize, m_rbStartOptionsNChoices, m_rbStartOptionsChoices, 1, wxRA_SPECIFY_COLS );
1453 	m_rbStartOptions->SetSelection( 0 );
1454 	fgSizer6->Add( m_rbStartOptions, 0, wxALL|wxEXPAND, 5 );
1455 
1456 	wxString m_rbTimeFormatChoices[] = { _("Local Time"), _("UTC") };
1457 	int m_rbTimeFormatNChoices = sizeof( m_rbTimeFormatChoices ) / sizeof( wxString );
1458 	m_rbTimeFormat = new wxRadioBox( this, wxID_ANY, _("Time Options"), wxDefaultPosition, wxDefaultSize, m_rbTimeFormatNChoices, m_rbTimeFormatChoices, 1, wxRA_SPECIFY_COLS );
1459 	m_rbTimeFormat->SetSelection( 1 );
1460 	fgSizer6->Add( m_rbTimeFormat, 0, wxALL|wxEXPAND, 5 );
1461 
1462 	wxStdDialogButtonSizer* m_sdbSizer2;
1463 	wxButton* m_sdbSizer2OK;
1464 	wxButton* m_sdbSizer2Cancel;
1465 	m_sdbSizer2 = new wxStdDialogButtonSizer();
1466 	m_sdbSizer2OK = new wxButton( this, wxID_OK );
1467 	m_sdbSizer2->AddButton( m_sdbSizer2OK );
1468 	m_sdbSizer2Cancel = new wxButton( this, wxID_CANCEL, _("Cancel") );
1469 	m_sdbSizer2->AddButton( m_sdbSizer2Cancel );
1470 	m_sdbSizer2->Realize();
1471 
1472 	fgSizer6->Add( m_sdbSizer2, 1, wxEXPAND, 5 );
1473 
1474 
1475 	this->SetSizer( fgSizer6 );
1476 	this->Layout();
1477 	fgSizer6->Fit( this );
1478 
1479 	this->Centre( wxBOTH );
1480 
1481 	// Connect Events
1482 	m_rbStartOptions->Connect( wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler( GribPreferencesDialogBase::OnStartOptionChange ), NULL, this );
1483         m_sdbSizer2OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GribPreferencesDialogBase::OnOKClick ), NULL, this );
1484 
1485 }
1486 #else
1487 
1488 
GribPreferencesDialogBase(wxWindow * parent,wxWindowID id,const wxString & title,const wxPoint & pos,const wxSize & size,long style)1489 GribPreferencesDialogBase::GribPreferencesDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
1490 {
1491         this->SetSizeHints( wxDefaultSize, wxDefaultSize );
1492 
1493         wxBoxSizer* topSizer = new wxBoxSizer( wxVERTICAL );
1494         SetSizer( topSizer );
1495 
1496         wxBoxSizer* labelSizer = new wxBoxSizer( wxHORIZONTAL );
1497         topSizer->Add( labelSizer, 0, wxEXPAND, 5 );
1498 
1499         wxStaticText *labelBox = new wxStaticText( this, wxID_ANY, _("GRIB PlugIn Preferences"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE);
1500         labelSizer->Add(labelBox, 1, wxEXPAND, 0);
1501 
1502         wxScrolledWindow *itemScrollWin = new wxScrolledWindow( this, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxVSCROLL);
1503         topSizer->Add( itemScrollWin, 1, wxEXPAND | wxALL, 0 );
1504         itemScrollWin->SetScrollRate(2, 2);
1505 
1506         wxBoxSizer* itemBoxSizer2 = new wxBoxSizer( wxVERTICAL );
1507         itemScrollWin->SetSizer( itemBoxSizer2 );
1508 
1509         wxStaticBoxSizer* sbSizer9;
1510         sbSizer9 = new wxStaticBoxSizer( new wxStaticBox( itemScrollWin, wxID_ANY, _("General Options") ), wxVERTICAL );
1511         itemBoxSizer2->Add( sbSizer9, 1, wxEXPAND, 5 );
1512 
1513         m_cbUseHiDef = new wxCheckBox( itemScrollWin, wxID_ANY, _("Use High Definition Graphics"), wxDefaultPosition, wxDefaultSize, 0 );
1514         sbSizer9->Add( m_cbUseHiDef, 0, wxALL, 5 );
1515 
1516         m_cbUseGradualColors = new wxCheckBox( itemScrollWin, wxID_ANY, _("Use Gradual Colors"), wxDefaultPosition, wxDefaultSize, 0 );
1517         sbSizer9->Add( m_cbUseGradualColors, 0, wxALL, 5 );
1518 
1519         m_cbCopyFirstCumulativeRecord = new wxCheckBox( itemScrollWin, wxID_ANY, _("Copy First Cumulative Missing Record"), wxDefaultPosition, wxDefaultSize, 0 );
1520         sbSizer9->Add( m_cbCopyFirstCumulativeRecord, 0, wxALL, 5 );
1521 
1522         m_cbCopyMissingWaveRecord = new wxCheckBox( itemScrollWin, wxID_ANY, _("Copy Missing Wave Records"), wxDefaultPosition, wxDefaultSize, 0 );
1523         sbSizer9->Add( m_cbCopyMissingWaveRecord, 0, wxALL, 5 );
1524 
1525         m_cbDrawBarbedArrowHead = new wxCheckBox( itemScrollWin, wxID_ANY, _("Draw Barbed Arrows Head"), wxDefaultPosition, wxDefaultSize, 0 );
1526         sbSizer9->Add( m_cbDrawBarbedArrowHead, 0, wxALL, 5 );
1527 
1528         m_cZoomToCenterAtInit = new wxCheckBox(itemScrollWin, wxID_ANY, _("Zoom to file center when opened"), wxDefaultPosition, wxDefaultSize, 0);
1529         sbSizer9->Add(m_cZoomToCenterAtInit, 0, wxALL, 5);
1530 
1531         wxString m_rbLoadOptionsChoices[] = { _("Load the More Recent File in Directory"), _("Load the Last Opened File") };
1532         int m_rbLoadOptionsNChoices = sizeof( m_rbLoadOptionsChoices ) / sizeof( wxString );
1533         m_rbLoadOptions = new wxRadioBox( itemScrollWin, wxID_ANY, _("Load File Options"), wxDefaultPosition, wxDefaultSize, m_rbLoadOptionsNChoices, m_rbLoadOptionsChoices, 1, wxRA_SPECIFY_COLS );
1534         m_rbLoadOptions->SetSelection( 0 );
1535         sbSizer9->Add( m_rbLoadOptions, 0, wxALL|wxEXPAND, 5 );
1536 
1537         wxString m_rbStartOptionsChoices[] = { _("Start at the first forecast in GRIB file"), _("Start at the nearest forecast to current time"), _("Authorize Interpolation to start at current time") };
1538         int m_rbStartOptionsNChoices = sizeof( m_rbStartOptionsChoices ) / sizeof( wxString );
1539         m_rbStartOptions = new wxRadioBox( itemScrollWin, wxID_ANY, _("Start Options"), wxDefaultPosition, wxDefaultSize, m_rbStartOptionsNChoices, m_rbStartOptionsChoices, 1, wxRA_SPECIFY_COLS );
1540         m_rbStartOptions->SetSelection( 0 );
1541         sbSizer9->Add( m_rbStartOptions, 0, wxALL|wxEXPAND, 5 );
1542 
1543         wxString m_rbTimeFormatChoices[] = { _("Local Time"), _("UTC") };
1544         int m_rbTimeFormatNChoices = sizeof( m_rbTimeFormatChoices ) / sizeof( wxString );
1545         m_rbTimeFormat = new wxRadioBox( itemScrollWin, wxID_ANY, _("Time Options"), wxDefaultPosition, wxDefaultSize, m_rbTimeFormatNChoices, m_rbTimeFormatChoices, 1, wxRA_SPECIFY_COLS );
1546         m_rbTimeFormat->SetSelection( 1 );
1547         sbSizer9->Add( m_rbTimeFormat, 0, wxALL|wxEXPAND, 5 );
1548 
1549 
1550         wxBoxSizer* m_sdbButtonSizer = new wxBoxSizer( wxHORIZONTAL );
1551         topSizer->Add( m_sdbButtonSizer, 0, wxEXPAND, 5 );
1552 
1553         wxButton *m_sdbButtonSizerOK = new wxButton( this, wxID_OK );
1554         m_sdbButtonSizer->Add( m_sdbButtonSizerOK, 0, wxALL | wxALIGN_RIGHT, 15 );
1555 
1556         wxButton *m_sdbButtonSizerCancel = new wxButton( this, wxID_CANCEL );
1557         m_sdbButtonSizer->Add( m_sdbButtonSizerCancel, 0, wxALL | wxALIGN_RIGHT, 15 );
1558 
1559         // Connect Events
1560         m_rbStartOptions->Connect( wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler( GribPreferencesDialogBase::OnStartOptionChange ), NULL, this );
1561         m_sdbButtonSizerOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GribPreferencesDialogBase::OnOKClick ), NULL, this );
1562 }
1563 
1564 #endif
1565 
1566 
~GribPreferencesDialogBase()1567 GribPreferencesDialogBase::~GribPreferencesDialogBase()
1568 {
1569 	// Disconnect Events
1570 	m_rbStartOptions->Disconnect( wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler( GribPreferencesDialogBase::OnStartOptionChange ), NULL, this );
1571 }
1572 
1573 
GribRequestSettingBase(wxWindow * parent,wxWindowID id,const wxString & title,const wxPoint & pos,const wxSize & size,long style)1574 GribRequestSettingBase::GribRequestSettingBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
1575 {
1576 	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
1577 
1578 	wxFlexGridSizer* fgSizer101;
1579 	fgSizer101 = new wxFlexGridSizer( 0, 1, 0, 0 );
1580 	fgSizer101->SetFlexibleDirection( wxBOTH );
1581 	fgSizer101->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1582 
1583 	m_sScrolledDialog = new wxScrolledWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxTAB_TRAVERSAL|wxVSCROLL );
1584 	m_sScrolledDialog->SetScrollRate( 0, 5 );
1585 	m_fgScrollSizer = new wxFlexGridSizer( 0, 1, 0, 0 );
1586 	m_fgScrollSizer->SetFlexibleDirection( wxBOTH );
1587 	m_fgScrollSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1588 
1589 	wxStaticBoxSizer* sbSizer7;
1590 	sbSizer7 = new wxStaticBoxSizer( new wxStaticBox( m_sScrolledDialog, wxID_ANY, _("Profile") ), wxVERTICAL );
1591 
1592 	wxFlexGridSizer* fgSizer17;
1593 	fgSizer17 = new wxFlexGridSizer( 0, 1, 0, 0 );
1594 	fgSizer17->SetFlexibleDirection( wxBOTH );
1595 	fgSizer17->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1596 
1597 	m_pSenderSizer = new wxFlexGridSizer( 0, 2, 0, 0 );
1598 	m_pSenderSizer->AddGrowableCol( 1 );
1599 	m_pSenderSizer->SetFlexibleDirection( wxBOTH );
1600 	m_pSenderSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1601 
1602 	wxStaticText* m_staticText25;
1603 	m_staticText25 = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("Sender eMail Address"), wxDefaultPosition, wxDefaultSize, 0 );
1604 	m_staticText25->Wrap( -1 );
1605 	m_pSenderSizer->Add( m_staticText25, 0, wxALL, 5 );
1606 
1607 	m_pSenderAddress = new wxTextCtrl( m_sScrolledDialog, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1608 	m_pSenderSizer->Add( m_pSenderAddress, 0, wxALL|wxEXPAND, 5 );
1609 
1610 	wxStaticLine* m_staticline4;
1611 	m_staticline4 = new wxStaticLine( m_sScrolledDialog, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
1612 	m_pSenderSizer->Add( m_staticline4, 0, wxEXPAND | wxALL, 5 );
1613 
1614 	wxStaticLine* m_staticline5;
1615 	m_staticline5 = new wxStaticLine( m_sScrolledDialog, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
1616 	m_pSenderSizer->Add( m_staticline5, 0, wxEXPAND | wxALL, 5 );
1617 
1618 
1619 	fgSizer17->Add( m_pSenderSizer, 1, wxEXPAND, 5 );
1620 
1621 	wxFlexGridSizer* fgSizer9;
1622 	fgSizer9 = new wxFlexGridSizer( 0, 3, 0, 0 );
1623 	fgSizer9->SetFlexibleDirection( wxBOTH );
1624 	fgSizer9->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1625 
1626 	wxFlexGridSizer* fgSizer33;
1627 	fgSizer33 = new wxFlexGridSizer( 0, 2, 0, 0 );
1628 	fgSizer33->SetFlexibleDirection( wxBOTH );
1629 	fgSizer33->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1630 
1631 	wxStaticText* m_staticText15;
1632 	m_staticText15 = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("Mail To "), wxDefaultPosition, wxDefaultSize, 0 );
1633 	m_staticText15->Wrap( -1 );
1634 	fgSizer33->Add( m_staticText15, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
1635 
1636 	wxArrayString m_pMailToChoices;
1637 	m_pMailTo = new wxChoice( m_sScrolledDialog, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_pMailToChoices, 0 );
1638 	m_pMailTo->SetSelection( 0 );
1639 	fgSizer33->Add( m_pMailTo, 0, wxALL, 5 );
1640 
1641 	wxStaticText* m_staticText16;
1642 	m_staticText16 = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("Forecast Model "), wxDefaultPosition, wxDefaultSize, 0 );
1643 	m_staticText16->Wrap( -1 );
1644 	fgSizer33->Add( m_staticText16, 0, wxALL|wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
1645 
1646 	wxArrayString m_pModelChoices;
1647 	m_pModel = new wxChoice( m_sScrolledDialog, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_pModelChoices, 0 );
1648 	m_pModel->SetSelection( 0 );
1649 	fgSizer33->Add( m_pModel, 0, wxALL, 5 );
1650 
1651 
1652 	fgSizer9->Add( fgSizer33, 1, wxEXPAND, 5 );
1653 
1654 	wxFlexGridSizer* fgSizer32;
1655 	fgSizer32 = new wxFlexGridSizer( 0, 2, 0, 0 );
1656 	fgSizer32->SetFlexibleDirection( wxBOTH );
1657 	fgSizer32->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1658 
1659 	m_cMovingGribEnabled = new wxCheckBox( m_sScrolledDialog, wxID_ANY, _("Moving Grib"), wxDefaultPosition, wxDefaultSize, 0 );
1660 	fgSizer32->Add( m_cMovingGribEnabled, 0, wxALL, 5 );
1661 
1662 	m_fgMovingParams = new wxFlexGridSizer( 0, 3, 0, 0 );
1663 	m_fgMovingParams->SetFlexibleDirection( wxBOTH );
1664 	m_fgMovingParams->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1665 
1666 	wxStaticText* m_staticText27;
1667 	m_staticText27 = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("Speed"), wxDefaultPosition, wxDefaultSize, 0 );
1668 	m_staticText27->Wrap( -1 );
1669 	m_fgMovingParams->Add( m_staticText27, 0, wxALL, 5 );
1670 
1671 	m_sMovingSpeed = new wxSpinCtrl( m_sScrolledDialog, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 1, 30, 1 );
1672 	m_fgMovingParams->Add( m_sMovingSpeed, 0, wxALL, 5 );
1673 
1674 	wxStaticText* m_sSpeedUnit;
1675 	m_sSpeedUnit = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("Kts"), wxDefaultPosition, wxDefaultSize, 0 );
1676 	m_sSpeedUnit->Wrap( -1 );
1677 	m_fgMovingParams->Add( m_sSpeedUnit, 0, wxBOTTOM|wxEXPAND|wxRIGHT|wxTOP, 5 );
1678 
1679 	wxStaticText* m_staticText29;
1680 	m_staticText29 = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("Course"), wxDefaultPosition, wxDefaultSize, 0 );
1681 	m_staticText29->Wrap( -1 );
1682 	m_fgMovingParams->Add( m_staticText29, 0, wxALL, 5 );
1683 
1684 	m_sMovingCourse = new wxSpinCtrl( m_sScrolledDialog, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 1, 360, 1 );
1685 	m_fgMovingParams->Add( m_sMovingCourse, 0, wxALL, 5 );
1686 
1687 	m_sCourseUnit = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("Deg"), wxDefaultPosition, wxDefaultSize, 0 );
1688 	m_sCourseUnit->Wrap( -1 );
1689 	m_fgMovingParams->Add( m_sCourseUnit, 0, wxBOTTOM|wxEXPAND|wxRIGHT|wxTOP, 5 );
1690 
1691 
1692 	fgSizer32->Add( m_fgMovingParams, 1, wxEXPAND, 5 );
1693 
1694 
1695 	fgSizer9->Add( fgSizer32, 1, wxEXPAND, 5 );
1696 
1697 	m_fgLog = new wxFlexGridSizer( 0, 2, 0, 0 );
1698 	m_fgLog->SetFlexibleDirection( wxBOTH );
1699 	m_fgLog->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1700 
1701 	wxStaticText* m_tLogin;
1702 	m_tLogin = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("zyGrib Login"), wxDefaultPosition, wxDefaultSize, 0 );
1703 	m_tLogin->Wrap( -1 );
1704 	m_fgLog->Add( m_tLogin, 0, wxALL, 5 );
1705 
1706 	m_pLogin = new wxTextCtrl( m_sScrolledDialog, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1707 	m_fgLog->Add( m_pLogin, 0, wxALL, 5 );
1708 
1709 	wxStaticText* m_tCode;
1710 	m_tCode = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("zyGrib Code"), wxDefaultPosition, wxDefaultSize, 0 );
1711 	m_tCode->Wrap( -1 );
1712 	m_fgLog->Add( m_tCode, 0, wxALL, 5 );
1713 
1714 	m_pCode = new wxTextCtrl( m_sScrolledDialog, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1715 	m_fgLog->Add( m_pCode, 0, wxALL, 5 );
1716 
1717 
1718 	fgSizer9->Add( m_fgLog, 1, wxEXPAND, 5 );
1719 
1720 
1721 	fgSizer17->Add( fgSizer9, 1, wxEXPAND, 10 );
1722 
1723 	wxFlexGridSizer* fgSizer13;
1724 	fgSizer13 = new wxFlexGridSizer( 0, 9, 0, 0 );
1725 	fgSizer13->SetFlexibleDirection( wxBOTH );
1726 	fgSizer13->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1727 
1728 	wxStaticText* m_staticText17;
1729 	m_staticText17 = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("Resolution"), wxDefaultPosition, wxDefaultSize, 0 );
1730 	m_staticText17->Wrap( -1 );
1731 	fgSizer13->Add( m_staticText17, 0, wxALL, 5 );
1732 
1733 	wxArrayString m_pResolutionChoices;
1734 	m_pResolution = new wxChoice( m_sScrolledDialog, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_pResolutionChoices, 0 );
1735 	m_pResolution->SetSelection( 0 );
1736 	fgSizer13->Add( m_pResolution, 0, wxALL, 1 );
1737 
1738 	m_tResUnit = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("Deg"), wxDefaultPosition, wxDefaultSize, 0 );
1739 	m_tResUnit->Wrap( -1 );
1740 	fgSizer13->Add( m_tResUnit, 0, wxTOP|wxBOTTOM|wxRIGHT, 5 );
1741 
1742 	wxStaticText* m_staticText18;
1743 	m_staticText18 = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("Interval"), wxDefaultPosition, wxDefaultSize, 0 );
1744 	m_staticText18->Wrap( -1 );
1745 	fgSizer13->Add( m_staticText18, 0, wxALL, 5 );
1746 
1747 	wxArrayString m_pIntervalChoices;
1748 	m_pInterval = new wxChoice( m_sScrolledDialog, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_pIntervalChoices, 0 );
1749 	m_pInterval->SetSelection( 0 );
1750 	fgSizer13->Add( m_pInterval, 0, wxALL, 1 );
1751 
1752 	wxStaticText* m_staticText20;
1753 	m_staticText20 = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("Hours"), wxDefaultPosition, wxDefaultSize, 0 );
1754 	m_staticText20->Wrap( -1 );
1755 	fgSizer13->Add( m_staticText20, 0, wxTOP|wxBOTTOM|wxRIGHT, 5 );
1756 
1757 	wxStaticText* m_staticText19;
1758 	m_staticText19 = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("Time Range"), wxDefaultPosition, wxDefaultSize, 0 );
1759 	m_staticText19->Wrap( -1 );
1760 	fgSizer13->Add( m_staticText19, 0, wxALL, 5 );
1761 
1762 	wxArrayString m_pTimeRangeChoices;
1763 	m_pTimeRange = new wxChoice( m_sScrolledDialog, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_pTimeRangeChoices, 0 );
1764 	m_pTimeRange->SetSelection( 0 );
1765 	fgSizer13->Add( m_pTimeRange, 0, wxALL, 1 );
1766 
1767 	m_staticText21 = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("Days"), wxDefaultPosition, wxDefaultSize, 0 );
1768 	m_staticText21->Wrap( -1 );
1769 	fgSizer13->Add( m_staticText21, 0, wxTOP|wxBOTTOM|wxRIGHT, 5 );
1770 
1771 
1772 	fgSizer17->Add( fgSizer13, 1, wxEXPAND, 5 );
1773 
1774 
1775 	sbSizer7->Add( fgSizer17, 1, wxEXPAND, 5 );
1776 
1777 
1778 	m_fgScrollSizer->Add( sbSizer7, 1, wxEXPAND, 5 );
1779 
1780 	wxStaticBoxSizer* sbSizer81;
1781 	sbSizer81 = new wxStaticBoxSizer( new wxStaticBox( m_sScrolledDialog, wxID_ANY, _("Area Selection") ), wxVERTICAL );
1782 
1783 	wxFlexGridSizer* fgSizer36;
1784 	fgSizer36 = new wxFlexGridSizer( 0, 2, 0, 0 );
1785 	fgSizer36->SetFlexibleDirection( wxBOTH );
1786 	fgSizer36->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1787 
1788     wxFlexGridSizer* fgSizer37;
1789 	fgSizer37 = new wxFlexGridSizer( 0, 1, 0, 0 );
1790 	fgSizer37->SetFlexibleDirection( wxBOTH );
1791 	fgSizer37->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1792 
1793 	m_cManualZoneSel = new wxCheckBox( m_sScrolledDialog, MANSELECT, _("Manual Selection"), wxDefaultPosition, wxDefaultSize, 0 );
1794 	fgSizer37->Add( m_cManualZoneSel, 0, wxLEFT|wxBOTTOM, 5 );
1795 
1796     m_cUseSavedZone = new wxCheckBox( m_sScrolledDialog, SAVEDZONE, _("Use Always this Area"), wxDefaultPosition, wxDefaultSize, 0 );
1797 	fgSizer37->Add( m_cUseSavedZone, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
1798 
1799     fgSizer36->Add( fgSizer37, 1, wxEXPAND|wxLEFT, 5 );
1800 
1801 	fgZoneCoordinatesSizer = new wxFlexGridSizer( 0, 6, 0, 0 );
1802 	fgZoneCoordinatesSizer->SetFlexibleDirection( wxBOTH );
1803 	fgZoneCoordinatesSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1804 
1805 	wxStaticText* m_staticText34;
1806 	m_staticText34 = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("Max Lat"), wxDefaultPosition, wxDefaultSize, 0 );
1807 	m_staticText34->Wrap( -1 );
1808 	fgZoneCoordinatesSizer->Add( m_staticText34, 0, wxLEFT|wxRIGHT, 5 );
1809 
1810 	m_spMaxLat = new wxSpinCtrl( m_sScrolledDialog, MAXLAT, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, -180, 180, 0 );
1811 	fgZoneCoordinatesSizer->Add( m_spMaxLat, 0, wxLEFT|wxRIGHT, 5 );
1812 
1813 	m_stMaxLatNS = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("N"), wxDefaultPosition, wxDefaultSize, 0 );
1814 	m_stMaxLatNS->Wrap( -1 );
1815 	fgZoneCoordinatesSizer->Add( m_stMaxLatNS, 0, wxRIGHT, 20 );
1816 
1817 	m_staticText36 = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("Max Long"), wxDefaultPosition, wxDefaultSize, 0 );
1818 	m_staticText36->Wrap( -1 );
1819 	fgZoneCoordinatesSizer->Add( m_staticText36, 0, wxLEFT|wxRIGHT, 5 );
1820 
1821 	m_spMaxLon = new wxSpinCtrl( m_sScrolledDialog, MAXLON, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, -180, 180, 0 );
1822 	fgZoneCoordinatesSizer->Add( m_spMaxLon, 0, wxLEFT|wxRIGHT, 5 );
1823 
1824 	m_stMaxLonEW = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("E"), wxDefaultPosition, wxDefaultSize, 0 );
1825 	m_stMaxLonEW->Wrap( -1 );
1826 	fgZoneCoordinatesSizer->Add( m_stMaxLonEW, 0, wxRIGHT, 5 );
1827 
1828 	wxStaticText* m_staticText38;
1829 	m_staticText38 = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("Min Lat"), wxDefaultPosition, wxDefaultSize, 0 );
1830 	m_staticText38->Wrap( -1 );
1831 	fgZoneCoordinatesSizer->Add( m_staticText38, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
1832 
1833 	m_spMinLat = new wxSpinCtrl( m_sScrolledDialog, MINLAT, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, -180, 180, 0 );
1834 	fgZoneCoordinatesSizer->Add( m_spMinLat, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
1835 
1836 	m_stMinLatNS = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("S"), wxDefaultPosition, wxDefaultSize, 0 );
1837 	m_stMinLatNS->Wrap( -1 );
1838 	fgZoneCoordinatesSizer->Add( m_stMinLatNS, 0, wxRIGHT|wxTOP, 5 );
1839 
1840 	wxStaticText* m_staticText40;
1841 	m_staticText40 = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("Min Long"), wxDefaultPosition, wxDefaultSize, 0 );
1842 	m_staticText40->Wrap( -1 );
1843 	fgZoneCoordinatesSizer->Add( m_staticText40, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
1844 
1845 	m_spMinLon = new wxSpinCtrl( m_sScrolledDialog, MINLON, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, -180, 180, 0 );
1846 	fgZoneCoordinatesSizer->Add( m_spMinLon, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
1847 
1848 	m_stMinLonEW = new wxStaticText( m_sScrolledDialog, wxID_ANY, _("W"), wxDefaultPosition, wxDefaultSize, 0 );
1849 	m_stMinLonEW->Wrap( -1 );
1850 	fgZoneCoordinatesSizer->Add( m_stMinLonEW, 0, wxRIGHT|wxTOP, 5 );
1851 
1852 	fgSizer36->Add( fgZoneCoordinatesSizer, 1, wxEXPAND|wxLEFT|wxTOP, 5 );
1853 
1854 	sbSizer81->Add( fgSizer36, 1, wxBOTTOM|wxEXPAND|wxTOP, 5 );
1855 
1856 
1857 	m_fgScrollSizer->Add( sbSizer81, 1, wxEXPAND, 5 );
1858 
1859 	wxStaticBoxSizer* sbSizer8;
1860 	sbSizer8 = new wxStaticBoxSizer( new wxStaticBox( m_sScrolledDialog, wxID_ANY, _("Data Selection") ), wxVERTICAL );
1861 
1862 	wxFlexGridSizer* fgSizer10;
1863 	fgSizer10 = new wxFlexGridSizer( 0, 3, 0, 0 );
1864 	fgSizer10->SetFlexibleDirection( wxBOTH );
1865 	fgSizer10->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1866 
1867 	m_pWind = new wxCheckBox( m_sScrolledDialog, wxID_ANY, _("Wind"), wxDefaultPosition, wxDefaultSize, 0 );
1868 	fgSizer10->Add( m_pWind, 0, wxALL|wxEXPAND, 5 );
1869 
1870 	m_pPress = new wxCheckBox( m_sScrolledDialog, wxID_ANY, _("Pressure"), wxDefaultPosition, wxDefaultSize, 0 );
1871 	fgSizer10->Add( m_pPress, 0, wxALL|wxEXPAND, 5 );
1872 
1873 	m_pWindGust = new wxCheckBox( m_sScrolledDialog, wxID_ANY, _("Wind Gust"), wxDefaultPosition, wxDefaultSize, 0 );
1874 	fgSizer10->Add( m_pWindGust, 0, wxALL|wxEXPAND, 5 );
1875 
1876 	m_pRainfall = new wxCheckBox( m_sScrolledDialog, wxID_ANY, _("Rainfall"), wxDefaultPosition, wxDefaultSize, 0 );
1877 	fgSizer10->Add( m_pRainfall, 0, wxALL|wxEXPAND, 5 );
1878 
1879 	m_pCloudCover = new wxCheckBox( m_sScrolledDialog, wxID_ANY, _("Cloud Cover"), wxDefaultPosition, wxDefaultSize, 0 );
1880 	fgSizer10->Add( m_pCloudCover, 0, wxALL|wxEXPAND, 5 );
1881 
1882 	m_pAirTemp = new wxCheckBox( m_sScrolledDialog, wxID_ANY, _("Air Temperature(2m)"), wxDefaultPosition, wxDefaultSize, 0 );
1883 	m_pAirTemp->SetValue(true);
1884 	fgSizer10->Add( m_pAirTemp, 0, wxALL|wxEXPAND, 5 );
1885 
1886 	m_pCAPE = new wxCheckBox( m_sScrolledDialog, wxID_ANY, _("CAPE"), wxDefaultPosition, wxDefaultSize, 0 );
1887 	fgSizer10->Add( m_pCAPE, 0, wxALL|wxEXPAND, 5 );
1888 
1889 	m_pReflectivity = new wxCheckBox( m_sScrolledDialog, wxID_ANY, _("Comp. Reflect."), wxDefaultPosition, wxDefaultSize, 0 );
1890 	fgSizer10->Add( m_pReflectivity , 0, wxALL|wxEXPAND, 5 );
1891 
1892 	m_pSeaTemp = new wxCheckBox( m_sScrolledDialog, wxID_ANY, _("Sea Temperature(surf.)"), wxDefaultPosition, wxDefaultSize, 0 );
1893 	fgSizer10->Add( m_pSeaTemp, 0, wxALL|wxEXPAND, 5 );
1894 
1895 	m_pCurrent = new wxCheckBox( m_sScrolledDialog, wxID_ANY, _("Current"), wxDefaultPosition, wxDefaultSize, 0 );
1896 	fgSizer10->Add( m_pCurrent, 0, wxALL|wxEXPAND, 5 );
1897 
1898 
1899 	wxFlexGridSizer* fgSizer28;
1900 	fgSizer28 = new wxFlexGridSizer( 0, 2, 0, 0 );
1901 	fgSizer28->SetFlexibleDirection( wxBOTH );
1902 	fgSizer28->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1903 
1904 	m_pWaves = new wxCheckBox( m_sScrolledDialog, wxID_ANY, _("Waves"), wxDefaultPosition, wxDefaultSize, 0 );
1905 	fgSizer28->Add( m_pWaves, 0, wxALL, 5 );
1906 
1907 	wxArrayString m_pWModelChoices;
1908 	m_pWModel = new wxChoice( m_sScrolledDialog, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_pWModelChoices, 0 );
1909 	m_pWModel->SetSelection( 0 );
1910 	fgSizer28->Add( m_pWModel, 0, wxALL|wxRESERVE_SPACE_EVEN_IF_HIDDEN, 1 );
1911 
1912 
1913 	fgSizer10->Add( fgSizer28, 1, wxEXPAND, 5 );
1914 
1915 	wxFlexGridSizer* fgSizer331;
1916 	fgSizer331 = new wxFlexGridSizer( 0, 2, 0, 0 );
1917 	fgSizer331->SetFlexibleDirection( wxBOTH );
1918 	fgSizer331->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1919 
1920 	m_pAltitudeData = new wxCheckBox( m_sScrolledDialog, wxID_ANY, _("Geopotential Height"), wxDefaultPosition, wxDefaultSize, 0 );
1921 	fgSizer331->Add( m_pAltitudeData, 0, wxALL|wxEXPAND, 5 );
1922 
1923 
1924 	fgSizer10->Add( fgSizer331, 1, wxEXPAND, 5 );
1925 
1926 	m_fgAltitudeData = new wxFlexGridSizer( 0, 2, 0, 0 );
1927 	m_fgAltitudeData->SetFlexibleDirection( wxBOTH );
1928 	m_fgAltitudeData->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1929 
1930 	m_p850hpa = new wxCheckBox( m_sScrolledDialog, wxID_ANY, _("850 hPa"), wxDefaultPosition, wxDefaultSize, 0 );
1931 	m_fgAltitudeData->Add( m_p850hpa, 0, wxALL|wxEXPAND|wxRESERVE_SPACE_EVEN_IF_HIDDEN, 5 );
1932 
1933 	m_p700hpa = new wxCheckBox( m_sScrolledDialog, wxID_ANY, _("700 hPa"), wxDefaultPosition, wxDefaultSize, 0 );
1934 	m_fgAltitudeData->Add( m_p700hpa, 0, wxALL|wxEXPAND|wxRESERVE_SPACE_EVEN_IF_HIDDEN, 5 );
1935 
1936 	m_p500hpa = new wxCheckBox( m_sScrolledDialog, wxID_ANY, _("500 hPa"), wxDefaultPosition, wxDefaultSize, 0 );
1937 	m_fgAltitudeData->Add( m_p500hpa, 0, wxALL|wxEXPAND, 5 );
1938 
1939 	m_p300hpa = new wxCheckBox( m_sScrolledDialog, wxID_ANY, _("300 hPa"), wxDefaultPosition, wxDefaultSize, 0 );
1940 	m_fgAltitudeData->Add( m_p300hpa, 0, wxALL|wxEXPAND, 5 );
1941 
1942 
1943 	fgSizer10->Add( m_fgAltitudeData, 1, wxEXPAND, 5 );
1944 
1945 
1946 	sbSizer8->Add( fgSizer10, 1, wxEXPAND, 5 );
1947 
1948 
1949 	m_fgScrollSizer->Add( sbSizer8, 1, wxEXPAND|wxTOP, 5 );
1950 
1951 	wxStaticBoxSizer* sbSizer6;
1952 	sbSizer6 = new wxStaticBoxSizer( new wxStaticBox( m_sScrolledDialog, wxID_ANY, _("Mail") ), wxVERTICAL );
1953 
1954 	wxFlexGridSizer* fgSizer11;
1955 	fgSizer11 = new wxFlexGridSizer( 0, 1, 0, 0 );
1956 	fgSizer11->AddGrowableCol( 0 );
1957 	fgSizer11->SetFlexibleDirection( wxBOTH );
1958 	fgSizer11->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1959 
1960 	m_MailImage = new wxTextCtrl( m_sScrolledDialog, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_READONLY );
1961 	fgSizer11->Add( m_MailImage, 0, wxALL|wxEXPAND, 5 );
1962 
1963 
1964 	sbSizer6->Add( fgSizer11, 1, wxEXPAND, 5 );
1965 
1966 
1967 	m_fgScrollSizer->Add( sbSizer6, 1, wxEXPAND, 5 );
1968 
1969 
1970 	m_sScrolledDialog->SetSizer( m_fgScrollSizer );
1971 	m_sScrolledDialog->Layout();
1972 	m_fgScrollSizer->Fit( m_sScrolledDialog );
1973 	fgSizer101->Add( m_sScrolledDialog, 1, 0, 5 );
1974 
1975 	m_fgFixedSizer = new wxFlexGridSizer( 0, 3, 0, 0 );
1976 	m_fgFixedSizer->SetFlexibleDirection( wxBOTH );
1977 	m_fgFixedSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1978 
1979 	wxStaticText* m_staticText181;
1980 	m_staticText181 = new wxStaticText( this, wxID_ANY, _("Estimated File Size"), wxDefaultPosition, wxDefaultSize, 0 );
1981 	m_staticText181->Wrap( -1 );
1982 	m_fgFixedSizer->Add( m_staticText181, 0, wxALL, 5 );
1983 
1984 	m_tFileSize = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1985 	m_tFileSize->Wrap( -1 );
1986 	m_fgFixedSizer->Add( m_tFileSize, 0, wxTOP|wxBOTTOM, 5 );
1987 
1988 	m_tLimit = new wxStaticText( this, wxID_ANY, _(" (Max size )"), wxDefaultPosition, wxDefaultSize, 0 );
1989 	m_tLimit->Wrap( -1 );
1990 	m_fgFixedSizer->Add( m_tLimit, 0, wxALL, 5 );
1991 
1992 
1993 	fgSizer101->Add( m_fgFixedSizer, 1, wxEXPAND, 5 );
1994 
1995 	m_rButton = new wxStdDialogButtonSizer();
1996 	m_rButtonYes = new wxButton( this, wxID_YES );
1997 	m_rButton->AddButton( m_rButtonYes );
1998 	m_rButtonApply = new wxButton( this, wxID_APPLY );
1999 	m_rButton->AddButton( m_rButtonApply );
2000 	m_rButtonCancel = new wxButton( this, wxID_CANCEL, _("Cancel") );
2001 	m_rButton->AddButton( m_rButtonCancel );
2002 	m_rButton->Realize();
2003 
2004 	fgSizer101->Add( m_rButton, 1, wxEXPAND, 5 );
2005 
2006 
2007 	this->SetSizer( fgSizer101 );
2008 	this->Layout();
2009 	fgSizer101->Fit( this );
2010 
2011 	this->Centre( wxBOTH );
2012 
2013 	// Connect Events
2014 	this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GribRequestSettingBase::OnClose ) );
2015 	m_pMailTo->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( GribRequestSettingBase::OnTopChange ), NULL, this );
2016 	m_pModel->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( GribRequestSettingBase::OnTopChange ), NULL, this );
2017 	m_cMovingGribEnabled->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnMovingClick ), NULL, this );
2018 	m_sMovingSpeed->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( GribRequestSettingBase::OnAnySpinChange ), NULL, this );
2019 	m_sMovingCourse->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( GribRequestSettingBase::OnAnySpinChange ), NULL, this );
2020 	m_pLogin->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2021 	m_pCode->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2022 	m_pResolution->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2023 	m_pInterval->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2024 	m_pTimeRange->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( GribRequestSettingBase::OnTimeRangeChange ), NULL, this );
2025 	m_cManualZoneSel->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnZoneSelectionModeChange ), NULL, this );
2026     m_cUseSavedZone->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnZoneSelectionModeChange ), NULL, this );
2027 	m_spMaxLat->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( GribRequestSettingBase::OnCoordinatesChange ), NULL, this );
2028 	m_spMaxLon->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( GribRequestSettingBase::OnCoordinatesChange ), NULL, this );
2029 	m_spMinLat->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( GribRequestSettingBase::OnCoordinatesChange ), NULL, this );
2030 	m_spMinLon->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( GribRequestSettingBase::OnCoordinatesChange ), NULL, this );
2031 	m_pWind->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2032 	m_pPress->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2033 	m_pWindGust->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2034 	m_pRainfall->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2035 	m_pCloudCover->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2036 	m_pAirTemp->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2037 	m_pCAPE->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2038 	m_pReflectivity->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2039 	m_pSeaTemp->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2040 	m_pCurrent->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2041 	m_pWaves->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2042 	m_pWModel->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2043 	m_pAltitudeData->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2044 	m_p850hpa->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2045 	m_p700hpa->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2046 	m_p500hpa->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2047 	m_p300hpa->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2048 	m_rButtonApply->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnSaveMail ), NULL, this );
2049 	m_rButtonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnCancel ), NULL, this );
2050 	m_rButtonYes->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnSendMaiL ), NULL, this );
2051 }
2052 
~GribRequestSettingBase()2053 GribRequestSettingBase::~GribRequestSettingBase()
2054 {
2055 	// Disconnect Events
2056 	this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GribRequestSettingBase::OnClose ) );
2057 	m_pMailTo->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( GribRequestSettingBase::OnTopChange ), NULL, this );
2058 	m_pModel->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( GribRequestSettingBase::OnTopChange ), NULL, this );
2059 	m_cMovingGribEnabled->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnMovingClick ), NULL, this );
2060 	m_sMovingSpeed->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( GribRequestSettingBase::OnAnySpinChange ), NULL, this );
2061 	m_sMovingCourse->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( GribRequestSettingBase::OnAnySpinChange ), NULL, this );
2062 	m_pLogin->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2063 	m_pCode->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2064 	m_pResolution->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2065 	m_pInterval->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2066 	m_pTimeRange->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( GribRequestSettingBase::OnTimeRangeChange ), NULL, this );
2067 	m_cManualZoneSel->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnZoneSelectionModeChange ), NULL, this );
2068     m_cUseSavedZone->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnZoneSelectionModeChange ), NULL, this );
2069 	m_spMaxLat->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( GribRequestSettingBase::OnCoordinatesChange ), NULL, this );
2070 	m_spMaxLon->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( GribRequestSettingBase::OnCoordinatesChange ), NULL, this );
2071 	m_spMinLat->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( GribRequestSettingBase::OnCoordinatesChange ), NULL, this );
2072 	m_spMinLon->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( GribRequestSettingBase::OnCoordinatesChange ), NULL, this );
2073 	m_pWind->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2074 	m_pPress->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2075 	m_pWindGust->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2076 	m_pRainfall->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2077 	m_pCloudCover->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2078 	m_pAirTemp->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2079 	m_pCAPE->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2080 	m_pReflectivity->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2081 	m_pSeaTemp->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2082 	m_pCurrent->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2083 	m_pWaves->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2084 	m_pWModel->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2085 	m_pAltitudeData->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2086 	m_p850hpa->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2087 	m_p700hpa->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2088 	m_p500hpa->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2089 	m_p300hpa->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnAnyChange ), NULL, this );
2090 	m_rButtonApply->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnSaveMail ), NULL, this );
2091 	m_rButtonCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnCancel ), NULL, this );
2092 	m_rButtonYes->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GribRequestSettingBase::OnSendMaiL ), NULL, this );
2093 
2094 }
2095 
GRIBTableBase(wxWindow * parent,wxWindowID id,const wxString & title,const wxPoint & pos,const wxSize & size,long style)2096 GRIBTableBase::GRIBTableBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
2097 {
2098 	this->SetSizeHints( wxSize( -1,-1 ), wxSize( -1,-1 ) );
2099 
2100 	wxBoxSizer* bSizer1;
2101 	bSizer1 = new wxBoxSizer( wxVERTICAL );
2102 
2103 	wxFlexGridSizer* fgSizer18;
2104 	fgSizer18 = new wxFlexGridSizer( 0, 1, 0, 0 );
2105 	fgSizer18->AddGrowableRow( 1 );
2106 	fgSizer18->SetFlexibleDirection( wxBOTH );
2107 	fgSizer18->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_NONE );
2108 
2109 	wxFlexGridSizer* fgSizer19;
2110 	fgSizer19 = new wxFlexGridSizer( 0, 2, 0, 0 );
2111 	fgSizer19->SetFlexibleDirection( wxBOTH );
2112 	fgSizer19->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_NONE );
2113 
2114 	m_pPositionText = new wxStaticText( this, wxID_ANY, _("Data at Position:"), wxDefaultPosition, wxDefaultSize, 0 );
2115 	m_pPositionText->Wrap( -1 );
2116 	fgSizer19->Add( m_pPositionText, 0, wxALL|wxEXPAND, 5 );
2117 
2118 	m_pCursorPosition = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
2119 	m_pCursorPosition->Wrap( -1 );
2120 	fgSizer19->Add( m_pCursorPosition, 0, wxALL|wxEXPAND, 5 );
2121 
2122 
2123 	fgSizer18->Add( fgSizer19, 1, wxEXPAND, 10 );
2124 
2125 	wxFlexGridSizer* fgSizer20;
2126 	fgSizer20 = new wxFlexGridSizer( 0, 1, 0, 0 );
2127 	fgSizer20->AddGrowableRow( 0 );
2128 	fgSizer20->SetFlexibleDirection( wxBOTH );
2129 	fgSizer20->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_ALL );
2130 
2131 	m_pGribTable = new CustomGrid( this, wxID_ANY, wxDefaultPosition, wxSize( -1,50 ), 0, _T(" ") );
2132 
2133 	// Cell Defaults
2134 	m_pGribTable->SetDefaultCellFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) );
2135 	m_pGribTable->SetDefaultCellAlignment( wxALIGN_CENTRE, wxALIGN_TOP );
2136 	fgSizer20->Add( m_pGribTable, 0, wxALL|wxEXPAND, 5 );
2137 
2138 
2139 	fgSizer18->Add( fgSizer20, 1, wxEXPAND, 5 );
2140 
2141 	wxStdDialogButtonSizer *m_pButtonTable = new wxStdDialogButtonSizer();
2142 	m_pButtonTableOK = new wxButton( this, wxID_OK, _("Close") );
2143 	m_pButtonTableOK->SetFont( GetOCPNGUIScaledFont_PlugIn(_T("Dialog")) );
2144 	m_pButtonTable->AddButton( m_pButtonTableOK );
2145 	m_pButtonTable->Realize();
2146 
2147 	fgSizer18->Add( m_pButtonTable, 1, wxEXPAND, 5 );
2148 
2149 
2150 	bSizer1->Add( fgSizer18, 1, wxEXPAND, 5 );
2151 
2152 
2153 	this->SetSizer( bSizer1 );
2154 	this->Layout();
2155 	bSizer1->Fit( this );
2156 
2157 	this->Centre( wxBOTH );
2158 
2159 	// Connect Events
2160 	this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GRIBTableBase::OnClose ) );
2161 	m_pButtonTableOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBTableBase::OnOKButton ), NULL, this );
2162 }
2163 
~GRIBTableBase()2164 GRIBTableBase::~GRIBTableBase()
2165 {
2166 	// Disconnect Events
2167 	this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GRIBTableBase::OnClose ) );
2168 	m_pButtonTableOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GRIBTableBase::OnOKButton ), NULL, this );
2169 
2170 }
2171