11#include "XyGribPanel.h"
15XyGribPanel::XyGribPanel(wxWindow* parent, wxWindowID
id,
const wxPoint& pos,
16 const wxSize& size,
long style,
const wxString& name)
17 : wxPanel(parent, id, pos, size, style, name) {
18 wxGridBagSizer* m_separator_line;
19 m_separator_line =
new wxGridBagSizer(0, 0);
20 m_separator_line->SetFlexibleDirection(wxBOTH);
21 m_separator_line->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
23 m_wavemodel_label =
new wxStaticText(
this, wxID_ANY, _(
"Wave model"),
24 wxDefaultPosition, wxDefaultSize, 0);
25 m_wavemodel_label->Wrap(-1);
26 m_separator_line->Add(m_wavemodel_label, wxGBPosition(1, 0), wxGBSpan(1, 1),
27 wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT | wxALL, 5);
29 m_atmmodel_label =
new wxStaticText(
this, wxID_ANY, _(
"Weather model"),
30 wxDefaultPosition, wxDefaultSize, 0);
31 m_atmmodel_label->Wrap(-1);
32 m_separator_line->Add(m_atmmodel_label, wxGBPosition(0, 0), wxGBSpan(1, 1),
33 wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT | wxALL, 5);
35 m_weathermodel =
new wxStaticText(
this, wxID_ANY, _(
"Resolution"),
36 wxDefaultPosition, wxDefaultSize, 0);
37 m_weathermodel->Wrap(-1);
38 m_separator_line->Add(m_weathermodel, wxGBPosition(2, 0), wxGBSpan(1, 1),
39 wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT | wxALL, 5);
41 m_duration_label =
new wxStaticText(
this, wxID_ANY, _(
"Days"),
42 wxDefaultPosition, wxDefaultSize, 0);
43 m_duration_label->Wrap(-1);
44 m_separator_line->Add(m_duration_label, wxGBPosition(3, 0), wxGBSpan(1, 1),
45 wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT | wxALL, 5);
47 m_run_label =
new wxStaticText(
this, wxID_ANY, _(
"Run"), wxDefaultPosition,
49 m_run_label->Wrap(-1);
50 m_separator_line->Add(m_run_label, wxGBPosition(4, 0), wxGBSpan(1, 1),
51 wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT | wxALL, 5);
53 m_interval_label =
new wxStaticText(
this, wxID_ANY, _(
"Interval"),
54 wxDefaultPosition, wxDefaultSize, 0);
55 m_interval_label->Wrap(-1);
56 m_separator_line->Add(m_interval_label, wxGBPosition(5, 0), wxGBSpan(1, 1),
57 wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT | wxALL, 5);
59 wxArrayString m_atmmodel_choiceChoices;
60 m_atmmodel_choice =
new wxChoice(
this, wxID_ANY, wxDefaultPosition,
61 wxDefaultSize, m_atmmodel_choiceChoices, 0);
62 m_atmmodel_choice->SetSelection(0);
63 m_separator_line->Add(m_atmmodel_choice, wxGBPosition(0, 1), wxGBSpan(1, 1),
66 wxArrayString m_wavemodel_choiceChoices;
68 new wxChoice(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
69 m_wavemodel_choiceChoices, 0);
70 m_wavemodel_choice->SetSelection(0);
71 m_separator_line->Add(m_wavemodel_choice, wxGBPosition(1, 1), wxGBSpan(1, 1),
74 wxArrayString m_interval_choiceChoices;
75 m_interval_choice =
new wxChoice(
this, wxID_ANY, wxDefaultPosition,
76 wxDefaultSize, m_interval_choiceChoices, 0);
77 m_interval_choice->SetSelection(0);
78 m_separator_line->Add(m_interval_choice, wxGBPosition(5, 1), wxGBSpan(1, 1),
81 wxArrayString m_resolution_choiceChoices;
83 new wxChoice(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
84 m_resolution_choiceChoices, 0);
85 m_resolution_choice->SetSelection(0);
86 m_separator_line->Add(m_resolution_choice, wxGBPosition(2, 1), wxGBSpan(1, 1),
89 wxArrayString m_duration_choiceChoices;
90 m_duration_choice =
new wxChoice(
this, wxID_ANY, wxDefaultPosition,
91 wxDefaultSize, m_duration_choiceChoices, 0);
92 m_duration_choice->SetSelection(0);
93 m_separator_line->Add(m_duration_choice, wxGBPosition(3, 1), wxGBSpan(1, 1),
96 wxArrayString m_run_choiceChoices;
97 m_run_choice =
new wxChoice(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
98 m_run_choiceChoices, 0);
99 m_run_choice->SetSelection(0);
100 m_separator_line->Add(m_run_choice, wxGBPosition(4, 1), wxGBSpan(1, 1),
101 wxALL | wxEXPAND, 5);
104 new wxNotebook(
this, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), 0);
106 new wxPanel(m_dataconfig_nbook, wxID_ANY, wxDefaultPosition,
107 wxDefaultSize, wxTAB_TRAVERSAL);
108 wxGridSizer* m_surfacetab_sizer;
109 m_surfacetab_sizer =
new wxGridSizer(0, 2, 0, 0);
111 m_wind_cbox =
new wxCheckBox(m_surfacetab_panel, wxID_ANY, _(
"Wind (10m)"),
112 wxDefaultPosition, wxDefaultSize, 0);
113 m_wind_cbox->SetValue(
true);
114 m_surfacetab_sizer->Add(m_wind_cbox, 0, wxALL, 5);
117 new wxCheckBox(m_surfacetab_panel, wxID_ANY, _(
"Wind gust (surface)"),
118 wxDefaultPosition, wxDefaultSize, 0);
119 m_gust_cbox->SetValue(
true);
120 m_surfacetab_sizer->Add(m_gust_cbox, 0, wxALL, 5);
123 new wxCheckBox(m_surfacetab_panel, wxID_ANY, _(
"Pressure (MSL)"),
124 wxDefaultPosition, wxDefaultSize, 0);
125 m_surfacetab_sizer->Add(m_pressure_cbox, 0, wxALL, 5);
128 new wxCheckBox(m_surfacetab_panel, wxID_ANY, _(
"Temperature (2m)"),
129 wxDefaultPosition, wxDefaultSize, 0);
130 m_surfacetab_sizer->Add(m_temperature_cbox, 0, wxALL, 5);
133 new wxCheckBox(m_surfacetab_panel, wxID_ANY, _(
"CAPE (surface)"),
134 wxDefaultPosition, wxDefaultSize, 0);
135 m_surfacetab_sizer->Add(m_cape_cbox, 0, wxALL, 5);
137 m_reflectivity_cbox =
new wxCheckBox(m_surfacetab_panel, wxID_ANY,
138 _(
"Reflectivity (atmosphere)"),
139 wxDefaultPosition, wxDefaultSize, 0);
140 m_surfacetab_sizer->Add(m_reflectivity_cbox, 0, wxALL, 5);
143 new wxCheckBox(m_surfacetab_panel, wxID_ANY, _(
"Cloud cover (total)"),
144 wxDefaultPosition, wxDefaultSize, 0);
145 m_surfacetab_sizer->Add(m_cloudcover_cbox, 0, wxALL, 5);
147 m_precipitation_cbox =
148 new wxCheckBox(m_surfacetab_panel, wxID_ANY, _(
"Total precipitation"),
149 wxDefaultPosition, wxDefaultSize, 0);
150 m_surfacetab_sizer->Add(m_precipitation_cbox, 0, wxALL, 5);
153 new wxCheckBox(m_surfacetab_panel, wxID_ANY, _(
"Wave Significant height"),
154 wxDefaultPosition, wxDefaultSize, 0);
155 m_waveheight_cbox->SetValue(
true);
156 m_surfacetab_sizer->Add(m_waveheight_cbox, 0, wxALL, 5);
159 new wxCheckBox(m_surfacetab_panel, wxID_ANY, _(
"Wind waves"),
160 wxDefaultPosition, wxDefaultSize, 0);
161 m_surfacetab_sizer->Add(m_windwave_cbox, 0, wxALL, 5);
163 m_surfacetab_panel->SetSizer(m_surfacetab_sizer);
164 m_surfacetab_panel->Layout();
165 m_surfacetab_sizer->Fit(m_surfacetab_panel);
166 m_dataconfig_nbook->AddPage(m_surfacetab_panel, _(
"Parameters"),
false);
168 m_separator_line->Add(m_dataconfig_nbook, wxGBPosition(0, 2), wxGBSpan(6, 1),
169 wxALL | wxEXPAND, 5);
171 m_separator_1 =
new wxStaticLine(
this, wxID_ANY, wxDefaultPosition,
172 wxDefaultSize, wxLI_HORIZONTAL);
173 m_separator_line->Add(m_separator_1, wxGBPosition(7, 0), wxGBSpan(1, 3),
174 wxEXPAND | wxALL, 5);
176 m_download_button =
new wxButton(
this, wxID_ANY, _(
"Download"),
177 wxDefaultPosition, wxDefaultSize, 0);
178 m_separator_line->Add(m_download_button, wxGBPosition(9, 0), wxGBSpan(1, 1),
179 wxALL | wxEXPAND, 5);
181 m_progress_gauge =
new wxGauge(
this, wxID_ANY, 100, wxDefaultPosition,
182 wxDefaultSize, wxGA_HORIZONTAL);
183 m_progress_gauge->SetValue(0);
184 m_separator_line->Add(m_progress_gauge, wxGBPosition(9, 1), wxGBSpan(1, 2),
185 wxALIGN_CENTER_VERTICAL | wxALL | wxEXPAND, 5);
187 m_status_label =
new wxStaticText(
this, wxID_ANY, _(
"Status :"),
188 wxDefaultPosition, wxDefaultSize, 0);
189 m_status_label->Wrap(-1);
190 m_separator_line->Add(m_status_label, wxGBPosition(8, 0), wxGBSpan(1, 1),
191 wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT | wxALL, 5);
193 m_status_text =
new wxStaticText(
this, wxID_ANY, _(
"Ready"),
194 wxDefaultPosition, wxDefaultSize, 0);
195 m_status_text->Wrap(-1);
196 m_separator_line->Add(m_status_text, wxGBPosition(8, 1), wxGBSpan(1, 2),
199 m_sizeestimate_label =
new wxStaticText(
this, wxID_ANY, _(
"Estimated size :"),
200 wxDefaultPosition, wxDefaultSize, 0);
201 m_sizeestimate_label->Wrap(-1);
202 m_separator_line->Add(m_sizeestimate_label, wxGBPosition(6, 1),
203 wxGBSpan(1, 1), wxALIGN_RIGHT | wxALL, 5);
205 m_sizeestimate_text =
new wxStaticText(
this, wxID_ANY, _(
"Unknown"),
206 wxDefaultPosition, wxDefaultSize, 0);
207 m_sizeestimate_text->Wrap(-1);
208 m_separator_line->Add(m_sizeestimate_text, wxGBPosition(6, 2), wxGBSpan(1, 1),
211 this->SetSizer(m_separator_line);
213 m_separator_line->Fit(
this);
216XyGribPanel::~XyGribPanel() {}