8 #include "wxTauControlFrameInterface.h"
11 class wxFBContextSensitiveHelpSetter
14 wxFBContextSensitiveHelpSetter()
16 wxHelpProvider::Set(
new wxSimpleHelpProvider );
20 static wxFBContextSensitiveHelpSetter s_wxFBSetTheHelpProvider;
23 wxTauControlFrameInterface::wxTauControlFrameInterface(
wxWindow* parent, wxWindowID
id,
const wxString& title,
const wxPoint& pos,
const wxSize& size,
long style ) : wxFrame( parent, id, title, pos, size, style )
25 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
27 m_statusBar = this->CreateStatusBar( 1, wxST_SIZEGRIP, wxID_ANY );
28 wxFlexGridSizer* fgSizerTop;
29 fgSizerTop =
new wxFlexGridSizer( 2, 1, 0, 0 );
30 fgSizerTop->AddGrowableCol( 0 );
31 fgSizerTop->AddGrowableRow( 0 );
32 fgSizerTop->SetFlexibleDirection( wxBOTH );
33 fgSizerTop->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
35 m_notebook1 =
new wxNotebook(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
42 wxFlexGridSizer* fgSizerSetup;
43 fgSizerSetup =
new wxFlexGridSizer( 2, 2, 0, 0 );
44 fgSizerSetup->SetFlexibleDirection( wxBOTH );
45 fgSizerSetup->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
47 wxStaticBoxSizer* sbSizerFFC;
48 sbSizerFFC =
new wxStaticBoxSizer(
new wxStaticBox(
m_scrolledWindow1, wxID_ANY, wxT(
"Flat Field Correction") ), wxVERTICAL );
50 wxString m_radioBoxFFCChoices[] = { wxT(
"Manual"), wxT(
"Auto"), wxT(
"External") };
51 int m_radioBoxFFCNChoices =
sizeof( m_radioBoxFFCChoices ) /
sizeof( wxString );
52 m_radioBoxFFC =
new wxRadioBox(
m_scrolledWindow1, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_radioBoxFFCNChoices, m_radioBoxFFCChoices, 1, wxRA_SPECIFY_ROWS );
54 sbSizerFFC->Add(
m_radioBoxFFC, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
56 wxGridSizer* gSizerFFC;
57 gSizerFFC =
new wxGridSizer( 5, 3, 0, 0 );
116 sbSizerFFC->Add( gSizerFFC, 1, wxALIGN_CENTER|wxALL|wxSHAPED, 0 );
118 fgSizerSetup->Add( sbSizerFFC, 1, wxEXPAND, 5 );
121 bSizer3 =
new wxBoxSizer( wxVERTICAL );
123 wxString m_radioBoxOperationModeChoices[] = { wxT(
"Real Time"), wxT(
"Frozen") };
124 int m_radioBoxOperationModeNChoices =
sizeof( m_radioBoxOperationModeChoices ) /
sizeof( wxString );
125 m_radioBoxOperationMode =
new wxRadioBox(
m_scrolledWindow1, wxID_ANY, wxT(
"Operation Mode"), wxDefaultPosition, wxDefaultSize, m_radioBoxOperationModeNChoices, m_radioBoxOperationModeChoices, 1, wxRA_SPECIFY_COLS );
129 wxString m_radioBoxTestPatternChoices[] = { wxT(
"Off"), wxT(
"Ramp") };
130 int m_radioBoxTestPatternNChoices =
sizeof( m_radioBoxTestPatternChoices ) /
sizeof( wxString );
131 m_radioBoxTestPattern =
new wxRadioBox(
m_scrolledWindow1, wxID_ANY, wxT(
"Test Pattern"), wxDefaultPosition, wxDefaultSize, m_radioBoxTestPatternNChoices, m_radioBoxTestPatternChoices, 1, wxRA_SPECIFY_COLS );
135 wxString m_radioBoxExternalSyncChoices[] = { wxT(
"Disable"), wxT(
"Slave"), wxT(
"Master") };
136 int m_radioBoxExternalSyncNChoices =
sizeof( m_radioBoxExternalSyncChoices ) /
sizeof( wxString );
137 m_radioBoxExternalSync =
new wxRadioBox(
m_scrolledWindow1, wxID_ANY, wxT(
"External Sync"), wxDefaultPosition, wxDefaultSize, m_radioBoxExternalSyncNChoices, m_radioBoxExternalSyncChoices, 1, wxRA_SPECIFY_COLS );
141 fgSizerSetup->Add( bSizer3, 1, wxEXPAND, 5 );
143 wxString m_radioBoxGainModeChoices[] = { wxT(
"Auto"), wxT(
"Low"), wxT(
"High"), wxT(
"Manual") };
144 int m_radioBoxGainModeNChoices =
sizeof( m_radioBoxGainModeChoices ) /
sizeof( wxString );
145 m_radioBoxGainMode =
new wxRadioBox(
m_scrolledWindow1, wxID_ANY, wxT(
"Gain Mode"), wxDefaultPosition, wxDefaultSize, m_radioBoxGainModeNChoices, m_radioBoxGainModeChoices, 1, wxRA_SPECIFY_ROWS );
160 wxFlexGridSizer* fgSizerAGC;
161 fgSizerAGC =
new wxFlexGridSizer( 2, 2, 0, 0 );
162 fgSizerAGC->SetFlexibleDirection( wxBOTH );
163 fgSizerAGC->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
166 bSizer5 =
new wxBoxSizer( wxVERTICAL );
168 wxString m_radioBoxAlgorithmChoices[] = { wxT(
"Automatic"), wxT(
"Once Bright"), wxT(
"Auto Bright"), wxT(
"Manual"), wxT(
"Linear Histogram") };
169 int m_radioBoxAlgorithmNChoices =
sizeof( m_radioBoxAlgorithmChoices ) /
sizeof( wxString );
170 m_radioBoxAlgorithm =
new wxRadioBox(
m_scrolledWindow3, wxID_ANY, wxT(
"Algorithm"), wxDefaultPosition, wxDefaultSize, m_radioBoxAlgorithmNChoices, m_radioBoxAlgorithmChoices, 1, wxRA_SPECIFY_COLS );
174 wxStaticBoxSizer* sbSizer9;
175 sbSizer9 =
new wxStaticBoxSizer(
new wxStaticBox(
m_scrolledWindow3, wxID_ANY, wxT(
"Automatic Parameters") ), wxHORIZONTAL );
177 wxGridSizer* gSizer2;
178 gSizer2 =
new wxGridSizer( 3, 3, 0, 0 );
213 sbSizer9->Add( gSizer2, 1, wxEXPAND, 5 );
215 bSizer5->Add( sbSizer9, 1, 0, 5 );
217 fgSizerAGC->Add( bSizer5, 1, wxEXPAND, 5 );
219 wxStaticBoxSizer* sbSizerAutomaticParams;
220 sbSizerAutomaticParams =
new wxStaticBoxSizer(
new wxStaticBox(
m_scrolledWindow3, wxID_ANY, wxT(
"Automatic Parameters") ), wxVERTICAL );
224 sbSizerAutomaticParams->Add(
m_staticText22, 0, wxALIGN_CENTER|wxALL, 5 );
226 m_slider2 =
new wxSlider(
m_scrolledWindow3, wxID_ANY, 50, 0, 255, wxDefaultPosition, wxSize( 180,-1 ), wxSL_AUTOTICKS|wxSL_BOTTOM|wxSL_HORIZONTAL|wxSL_LABELS );
227 sbSizerAutomaticParams->Add(
m_slider2, 0, wxALIGN_CENTER|wxALL, 5 );
231 sbSizerAutomaticParams->Add(
m_staticText23, 0, wxALIGN_CENTER|wxALL, 5 );
233 m_slider3 =
new wxSlider(
m_scrolledWindow3, wxID_ANY, 50, 0, 16383, wxDefaultPosition, wxSize( 180,-1 ), wxSL_AUTOTICKS|wxSL_BOTTOM|wxSL_HORIZONTAL|wxSL_LABELS );
234 sbSizerAutomaticParams->Add(
m_slider3, 0, wxALIGN_CENTER|wxALL, 5 );
238 sbSizerAutomaticParams->Add(
m_staticText24, 0, wxALIGN_CENTER|wxALL, 5 );
240 m_slider4 =
new wxSlider(
m_scrolledWindow3, wxID_ANY, 50, -256, 256, wxDefaultPosition, wxSize( 180,-1 ), wxSL_AUTOTICKS|wxSL_BOTTOM|wxSL_HORIZONTAL|wxSL_LABELS );
241 sbSizerAutomaticParams->Add(
m_slider4, 0, wxALL, 5 );
243 fgSizerAGC->Add( sbSizerAutomaticParams, 1, wxEXPAND, 5 );
253 wxFlexGridSizer* fgSizerVideo;
254 fgSizerVideo =
new wxFlexGridSizer( 2, 2, 0, 0 );
255 fgSizerVideo->SetFlexibleDirection( wxBOTH );
256 fgSizerVideo->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
258 wxString m_radioBoxOrientationChoices[] = { wxT(
"Normal"), wxT(
"Invert (Flip vertically)"), wxT(
"Revert (Flip horizontally)"), wxT(
"Invert And Revert") };
259 int m_radioBoxOrientationNChoices =
sizeof( m_radioBoxOrientationChoices ) /
sizeof( wxString );
260 m_radioBoxOrientation =
new wxRadioBox(
m_scrolledWindow2, wxID_ANY, wxT(
"Orientation"), wxDefaultPosition, wxDefaultSize, m_radioBoxOrientationNChoices, m_radioBoxOrientationChoices, 1, wxRA_SPECIFY_COLS );
264 wxStaticBoxSizer* sbSizer2;
265 sbSizer2 =
new wxStaticBoxSizer(
new wxStaticBox(
m_scrolledWindow2, wxID_ANY, wxT(
"Polarity/LUT") ), wxVERTICAL );
267 sbSizer2->SetMinSize( wxSize( 200,-1 ) );
268 wxString m_choicePolarityChoices[] = { wxT(
"White Hot"), wxT(
"Black Hot"), wxT(
"Fusion"), wxT(
"Rainbow"), wxT(
"Glowbow"), wxT(
"Ironbow 1"), wxT(
"Ironbow 2"), wxT(
"Sepia"), wxT(
"Color 1"), wxT(
"Color 2"), wxT(
"Ice Fire"), wxT(
"Rain"), wxT(
"Red Hot"), wxT(
"Green Hot") };
269 int m_choicePolarityNChoices =
sizeof( m_choicePolarityChoices ) /
sizeof( wxString );
274 fgSizerVideo->Add( sbSizer2, 1, wxEXPAND, 5 );
276 wxStaticBoxSizer* sbSizer3;
277 sbSizer3 =
new wxStaticBoxSizer(
new wxStaticBox(
m_scrolledWindow2, wxID_ANY, wxT(
"Pan / Zoom") ), wxVERTICAL );
279 wxString m_radioBoxZoomChoices[] = { wxT(
"Unzoom"), wxT(
"Zoom 2x"), wxT(
"Zoom 4x") };
280 int m_radioBoxZoomNChoices =
sizeof( m_radioBoxZoomChoices ) /
sizeof( wxString );
281 m_radioBoxZoom =
new wxRadioBox(
m_scrolledWindow2, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_radioBoxZoomNChoices, m_radioBoxZoomChoices, 1, wxRA_SPECIFY_ROWS );
285 fgSizerVideo->Add( sbSizer3, 1, wxEXPAND, 5 );
287 wxStaticBoxSizer* sbSizer4;
288 sbSizer4 =
new wxStaticBoxSizer(
new wxStaticBox(
m_scrolledWindow2, wxID_ANY, wxT(
"FFC") ), wxHORIZONTAL );
301 fgSizerVideo->Add( sbSizer4, 1, wxEXPAND, 5 );
303 wxStaticBoxSizer* sbSizerDDE;
304 sbSizerDDE =
new wxStaticBoxSizer(
new wxStaticBox(
m_scrolledWindow2, wxID_ANY, wxT(
"Dynamic DDE") ), wxVERTICAL );
306 m_slider1 =
new wxSlider(
m_scrolledWindow2, wxID_ANY, 0, 0, 63, wxDefaultPosition, wxSize( 200,-1 ), wxSL_AUTOTICKS|wxSL_BOTTOM|wxSL_HORIZONTAL|wxSL_LABELS );
307 sbSizerDDE->Add(
m_slider1, 0, wxALIGN_CENTER|wxALL, 5 );
310 bSizer4 =
new wxBoxSizer( wxHORIZONTAL );
319 sbSizerDDE->Add( bSizer4, 1, wxEXPAND, 5 );
321 fgSizerVideo->Add( sbSizerDDE, 1, wxEXPAND, 5 );
323 wxString m_radioBoxVideoStandardChoices[] = { wxT(
"NTSC"), wxT(
"PAL") };
324 int m_radioBoxVideoStandardNChoices =
sizeof( m_radioBoxVideoStandardChoices ) /
sizeof( wxString );
325 m_radioBoxVideoStandard =
new wxRadioBox(
m_scrolledWindow2, wxID_ANY, wxT(
"Video Standard"), wxDefaultPosition, wxDefaultSize, m_radioBoxVideoStandardNChoices, m_radioBoxVideoStandardChoices, 1, wxRA_SPECIFY_ROWS );
335 wxFlexGridSizer* fgSizer6;
336 fgSizer6 =
new wxFlexGridSizer( 2, 1, 0, 0 );
337 fgSizer6->SetFlexibleDirection( wxBOTH );
338 fgSizer6->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
340 wxBoxSizer* bSizerSpotmeter;
341 bSizerSpotmeter =
new wxBoxSizer( wxHORIZONTAL );
343 wxString m_radioBoxSpotMeterModeChoices[] = { wxT(
"Disabled"), wxT(
"On (Fahrenheit)"), wxT(
"On (Celcius)") };
344 int m_radioBoxSpotMeterModeNChoices =
sizeof( m_radioBoxSpotMeterModeChoices ) /
sizeof( wxString );
345 m_radioBoxSpotMeterMode =
new wxRadioBox(
m_scrolledWindow4, wxID_ANY, wxT(
"Spot Meter Mode"), wxDefaultPosition, wxDefaultSize, m_radioBoxSpotMeterModeNChoices, m_radioBoxSpotMeterModeChoices, 1, wxRA_SPECIFY_ROWS );
349 fgSizer6->Add( bSizerSpotmeter, 1, wxEXPAND, 5 );
351 wxBoxSizer* bSizerGetSpotMeter;
352 bSizerGetSpotMeter =
new wxBoxSizer( wxHORIZONTAL );
362 fgSizer6->Add( bSizerGetSpotMeter, 1, wxEXPAND, 5 );
364 wxString m_radioBoxSpotDisplayChoices[] = { wxT(
"Off"), wxT(
"Numeric"), wxT(
"Thermometer"), wxT(
"Both") };
365 int m_radioBoxSpotDisplayNChoices =
sizeof( m_radioBoxSpotDisplayChoices ) /
sizeof( wxString );
366 m_radioBoxSpotDisplay =
new wxRadioBox(
m_scrolledWindow4, wxID_ANY, wxT(
"Spot Meter Display"), wxDefaultPosition, wxDefaultSize, m_radioBoxSpotDisplayNChoices, m_radioBoxSpotDisplayChoices, 1, wxRA_SPECIFY_ROWS );
375 fgSizerTop->Add(
m_notebook1, 1, wxEXPAND | wxALL, 5 );
377 m_panel2 =
new wxPanel(
this, wxID_ANY, wxDefaultPosition, wxSize( -1,50 ), wxTAB_TRAVERSAL );
378 wxFlexGridSizer* fgSizerBottom;
379 fgSizerBottom =
new wxFlexGridSizer( 1, 4, 0, 0 );
380 fgSizerBottom->AddGrowableCol( 3 );
381 fgSizerBottom->AddGrowableRow( 0 );
382 fgSizerBottom->SetFlexibleDirection( wxBOTH );
383 fgSizerBottom->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
388 m_textCtrlDevice =
new wxTextCtrl(
m_panel2, wxID_ANY, wxT(
"/dev/ttyUSB0"), wxDefaultPosition, wxSize( 120,-1 ), 0 );
392 fgSizerBottom->Add( 0, 0, 1, wxEXPAND, 5 );
394 m_buttonClose =
new wxButton(
m_panel2, wxID_ANY, wxT(
"Close"), wxDefaultPosition, wxDefaultSize, 0 );
395 fgSizerBottom->Add(
m_buttonClose, 0, wxALIGN_RIGHT|wxALL, 5 );
397 m_panel2->SetSizer( fgSizerBottom );
399 fgSizerTop->Add(
m_panel2, 1, wxEXPAND | wxALL, 5 );
401 this->SetSizer( fgSizerTop );
404 this->Centre( wxBOTH );
wxScrolledWindow * m_scrolledWindow4
wxButton * m_buttonGetSpotMeter
wxScrolledWindow * m_scrolledWindow3
wxTauControlFrameInterface(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=wxT("Flir - Tau Control Panel"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(552, 461), long style=wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL)
wxScrolledWindow * m_scrolledWindow2
virtual void OnOrientation(wxCommandEvent &event)
wxStaticText * m_staticText27
wxChoice * m_choicePolarity
wxStaticText * m_staticText6
virtual void OnOperationMode(wxCommandEvent &event)
wxRadioBox * m_radioBoxZoom
virtual void OnReset(wxCommandEvent &event)
virtual void OnMaxGain(wxCommandEvent &event)
wxRadioBox * m_radioBoxExternalSync
wxRadioBox * m_radioBoxOperationMode
wxRadioBox * m_radioBoxTestPattern
wxRadioBox * m_radioBoxSpotMeterMode
virtual void OnClose(wxCommandEvent &event)
virtual void OnZoom(wxCommandEvent &event)
virtual void OnSetSpotMeterMode(wxCommandEvent &event)
wxStaticText * m_staticText19
virtual void OnBrightness(wxScrollEvent &event)
virtual void OnConnect(wxCommandEvent &event)
virtual void OnFFCWarning(wxCommandEvent &event)
wxStaticText * m_staticText26
wxStaticText * m_staticText7
wxStaticText * m_staticText20
virtual void OnPolarity(wxCommandEvent &event)
virtual void OnVideoStandard(wxCommandEvent &event)
~wxTauControlFrameInterface()
wxStaticText * m_staticText11
virtual void OnSetFFC(wxCommandEvent &event)
wxStaticText * m_staticText28
wxStaticText * m_staticText25
wxStaticText * m_staticText8
wxStaticText * m_staticText12
wxRadioBox * m_radioBoxVideoStandard
virtual void OnSpotMeterDisplay(wxCommandEvent &event)
wxStaticText * m_staticText21
wxRadioBox * m_radioBoxAlgorithm
virtual void OnGainMode(wxCommandEvent &event)
wxTextCtrl * m_textCtrlLGFFCInt
wxRadioBox * m_radioBoxGainMode
wxStaticText * m_staticText5
wxTextCtrl * m_textCtrlITT
wxStaticText * m_staticText29
wxTextCtrl * m_textCtrlMaxGain
wxStaticText * m_staticText24
wxStaticText * m_staticText4
virtual void OnExternalSync(wxCommandEvent &event)
wxTextCtrl * m_textCtrSpotMeterValue
wxTextCtrl * m_textCtrlDevice
virtual void OnPlateauValue(wxCommandEvent &event)
virtual void OnGetSpotMeterValue(wxCommandEvent &event)
wxRadioBox * m_radioBoxSpotDisplay
wxRadioBox * m_radioBoxOrientation
wxStaticText * m_staticText22
virtual void OnAlgorithm(wxCommandEvent &event)
wxRadioBox * m_radioBoxFFC
wxStaticText * m_staticText23
wxStaticText * m_staticText30
wxStatusBar * m_statusBar
wxTextCtrl * m_textCtrlLGTC
wxTextCtrl * m_textCtrlPV
wxStaticText * m_staticText13
wxStaticText * m_staticText10
virtual void OnBrightnessBias(wxScrollEvent &event)
virtual void OnTestPattern(wxCommandEvent &event)
wxStaticText * m_staticText9
wxButton * m_buttonConnect
virtual void OnContrast(wxScrollEvent &event)
wxTextCtrl * m_textFFCInterval
virtual void OnScrollDDE(wxScrollEvent &event)
wxScrolledWindow * m_scrolledWindow1
wxTextCtrl * m_textCtrlTempChange