00001
00002
00003
00004
00005
00007
00008 #include "wx/wxprec.h"
00009
00010 #ifdef __BORLANDC__
00011 #pragma hdrstop
00012 #endif //__BORLANDC__
00013
00014 #ifndef WX_PRECOMP
00015 #include <wx/wx.h>
00016 #endif //WX_PRECOMP
00017
00018 #include "GUIFrame.h"
00019
00021
00022 GUIFrame::GUIFrame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style )
00023 {
00024 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
00025
00026 m_main_menuBar = new wxMenuBar( 0 );
00027 m_file_menu = new wxMenu();
00028 wxMenuItem* m_menu_file_quit;
00029 m_menu_file_quit = new wxMenuItem( m_file_menu, ID_FILE_QUIT_MENU, wxString( _("&Quit") ) + wxT('\t') + wxT("Alt+F4"), _("Quit the application"), wxITEM_NORMAL );
00030 m_file_menu->Append( m_menu_file_quit );
00031
00032 m_main_menuBar->Append( m_file_menu, _("&File") );
00033
00034 m_tool_menu = new wxMenu();
00035 m_menu_tools_connect = new wxMenuItem( m_tool_menu, ID_TOOLS_CONNECT_MENU, wxString( _("&Connect") ) + wxT('\t') + wxT("Ctrl+C"), _("Connect to device"), wxITEM_CHECK );
00036 m_tool_menu->Append( m_menu_tools_connect );
00037
00038 m_menu_tools_export = new wxMenuItem( m_tool_menu, ID_TOOLS_EXPORT_MENU, wxString( _("&Export ...") ) + wxT('\t') + wxT("Ctrl+X"), _("Export channel 0 data to other channels"), wxITEM_NORMAL );
00039 m_tool_menu->Append( m_menu_tools_export );
00040 m_menu_tools_export->Enable( false );
00041
00042 m_menu_tools_download = new wxMenuItem( m_tool_menu, ID_TOOLS_DOWNLOAD_MENU, wxString( _("&Download ...") ) + wxT('\t') + wxT("Ctrl+D"), _("Downloads a whole command file to the board."), wxITEM_NORMAL );
00043 m_tool_menu->Append( m_menu_tools_download );
00044 m_menu_tools_download->Enable( false );
00045
00046 m_tool_menu->AppendSeparator();
00047
00048 wxMenuItem* m_menu_tools_settings;
00049 m_menu_tools_settings = new wxMenuItem( m_tool_menu, ID_TOOLS_SETTINGS_MENU, wxString( _("&Settings...") ) + wxT('\t') + wxT("Ctrl+S"), _("Setup application settings"), wxITEM_NORMAL );
00050 m_tool_menu->Append( m_menu_tools_settings );
00051
00052 m_main_menuBar->Append( m_tool_menu, _("&Tools") );
00053
00054 m_help_menu = new wxMenu();
00055 wxMenuItem* m_menu_help_about;
00056 m_menu_help_about = new wxMenuItem( m_help_menu, ID_HELP_ABOUT_MENU, wxString( _("&About ...") ) + wxT('\t') + wxT("F1"), _("Show info about this application"), wxITEM_NORMAL );
00057 m_help_menu->Append( m_menu_help_about );
00058
00059 m_main_menuBar->Append( m_help_menu, _("&Help") );
00060
00061 this->SetMenuBar( m_main_menuBar );
00062
00063 m_main_toolBar = this->CreateToolBar( wxTB_HORIZONTAL|wxTB_TEXT, wxID_MAIN_TOOLBAR );
00064 m_main_toolBar->SetToolBitmapSize( wxSize( 32,32 ) );
00065 m_main_toolBar->AddTool( ID_FILE_QUIT_TOOL, _("Quit"), wxBitmap( wxT("images/exit.png"), wxBITMAP_TYPE_ANY ), wxNullBitmap, wxITEM_NORMAL, _("Quit the application"), _("Quit the application") );
00066 m_main_toolBar->AddSeparator();
00067 m_main_toolBar->AddTool( ID_TOOLS_CONNECT_TOOL, _("Connect"), wxBitmap( wxT("images/cache.png"), wxBITMAP_TYPE_ANY ), wxNullBitmap, wxITEM_CHECK, _("Connect to the device"), _("Connect to the device") );
00068 m_main_toolBar->AddTool( ID_TOOLS_EXPORT_TOOL, _("Export"), wxBitmap( wxT("images/agt_forward.png"), wxBITMAP_TYPE_ANY ), wxNullBitmap, wxITEM_NORMAL, _("Export channel 0 data to other channels"), _("Export channel 0 data to other channels") );
00069 m_main_toolBar->AddTool( ID_TOOLS_DOWNLOAD_TOOL, _("Download"), wxBitmap( wxT("images/download.png"), wxBITMAP_TYPE_ANY ), wxNullBitmap, wxITEM_NORMAL, _("Downloads a whole command file to the board."), _("Downloads a whole command file to the board.") );
00070 m_main_toolBar->AddSeparator();
00071 m_main_toolBar->AddTool( ID_TOOLS_SETTINGS_TOOL, _("Settings"), wxBitmap( wxT("images/advancedsettings.png"), wxBITMAP_TYPE_ANY ), wxNullBitmap, wxITEM_NORMAL, _("Setup application settings"), _("Setup application settings") );
00072 m_main_toolBar->AddSeparator();
00073 m_main_toolBar->AddTool( ID_HELP_ABOUT_TOOL, _("About"), wxBitmap( wxT("images/info.png"), wxBITMAP_TYPE_ANY ), wxNullBitmap, wxITEM_NORMAL, _("Show info about this application"), _("Show info about this application") );
00074 m_main_toolBar->Realize();
00075
00076 m_main_statusBar = this->CreateStatusBar( 3, wxST_SIZEGRIP, wxID_ANY );
00077 wxBoxSizer* m_main_sizer;
00078 m_main_sizer = new wxBoxSizer( wxVERTICAL );
00079
00080 m_main_splitter = new wxSplitterWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3D );
00081 m_main_splitter->SetSashGravity( 1 );
00082 m_main_splitter->SetSashSize( 4 );
00083 m_main_splitter->SetMinimumPaneSize( 1 );
00084 m_main_splitter->Connect( wxEVT_IDLE, wxIdleEventHandler( GUIFrame::m_main_splitterOnIdle ), NULL, this );
00085 m_top_panel = new wxPanel( m_main_splitter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
00086 wxBoxSizer* bSizer20;
00087 bSizer20 = new wxBoxSizer( wxVERTICAL );
00088
00089 m_notebook3 = new wxNotebook( m_top_panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
00090 m_notebook3->SetFont( wxFont( 8, 74, 90, 92, false, wxT("Sans") ) );
00091
00092 m_channels_scrolledWindow = new wxScrolledWindow( m_notebook3, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL );
00093 m_channels_scrolledWindow->SetScrollRate( 5, 5 );
00094 m_channels_scrolledWindow->SetFont( wxFont( 8, 74, 90, 90, false, wxT("Tahoma") ) );
00095
00096 m_channel_sizer = new wxBoxSizer( wxVERTICAL );
00097
00098 m_channels_scrolledWindow->SetSizer( m_channel_sizer );
00099 m_channels_scrolledWindow->Layout();
00100 m_channel_sizer->Fit( m_channels_scrolledWindow );
00101 m_notebook3->AddPage( m_channels_scrolledWindow, _("Channels"), true );
00102 m_misc_scrolledWindow = new wxScrolledWindow( m_notebook3, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL );
00103 m_misc_scrolledWindow->SetScrollRate( 5, 5 );
00104 m_misc_scrolledWindow->SetFont( wxFont( 8, 74, 90, 90, false, wxT("Tahoma") ) );
00105
00106 wxFlexGridSizer* fgSizer4;
00107 fgSizer4 = new wxFlexGridSizer( 2, 2, 0, 0 );
00108 fgSizer4->SetFlexibleDirection( wxBOTH );
00109 fgSizer4->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
00110
00111 m_module_address_staticText = new wxStaticText( m_misc_scrolledWindow, wxID_ANY, _("Module address: "), wxDefaultPosition, wxDefaultSize, 0 );
00112 m_module_address_staticText->Wrap( -1 );
00113 m_module_address_staticText->SetFont( wxFont( 8, 74, 90, 92, false, wxT("Tahoma") ) );
00114
00115 fgSizer4->Add( m_module_address_staticText, 0, wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL, 5 );
00116
00117 m_module_address_spinCtrl = new wxSpinCtrl( m_misc_scrolledWindow, wxID_MODULE_ADDRESS, wxEmptyString, wxDefaultPosition, wxSize( 60,-1 ), wxSP_ARROW_KEYS, 0, 16, 0 );
00118 m_module_address_spinCtrl->SetToolTip( _("The module address") );
00119
00120 fgSizer4->Add( m_module_address_spinCtrl, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
00121
00122 m_mux_out_staticText1 = new wxStaticText( m_misc_scrolledWindow, wxID_ANY, _("Mux out: "), wxDefaultPosition, wxDefaultSize, 0 );
00123 m_mux_out_staticText1->Wrap( -1 );
00124 m_mux_out_staticText1->SetFont( wxFont( 8, 74, 90, 92, false, wxT("Tahoma") ) );
00125
00126 fgSizer4->Add( m_mux_out_staticText1, 0, wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL, 5 );
00127
00128 m_mux_out_spinCtrl = new wxSpinCtrl( m_misc_scrolledWindow, wxID_MUX_OUT_SPINCTRL, wxEmptyString, wxDefaultPosition, wxSize( 60,-1 ), wxSP_ARROW_KEYS|wxSP_WRAP, 0, 15, 0 );
00129 m_mux_out_spinCtrl->SetToolTip( _("Set the channel id for the multiplexed output") );
00130 m_mux_out_spinCtrl->SetHelpText( _("Set the channel id for the multiplexed output") );
00131
00132 fgSizer4->Add( m_mux_out_spinCtrl, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
00133
00134 m_cmd_label_staticText = new wxStaticText( m_misc_scrolledWindow, wxID_ANY, _("Direct command: "), wxDefaultPosition, wxDefaultSize, 0 );
00135 m_cmd_label_staticText->Wrap( -1 );
00136 m_cmd_label_staticText->SetFont( wxFont( 8, 74, 90, 92, false, wxT("Tahoma") ) );
00137
00138 fgSizer4->Add( m_cmd_label_staticText, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );
00139
00140 wxBoxSizer* bSizer23;
00141 bSizer23 = new wxBoxSizer( wxHORIZONTAL );
00142
00143 m_cmd_textCtrl = new wxTextCtrl( m_misc_scrolledWindow, wxID_COMMAND_TEXT_CTRL, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_NO_VSCROLL|wxTE_PROCESS_ENTER );
00144 m_cmd_textCtrl->SetFont( wxFont( 8, 74, 90, 90, false, wxT("Tahoma") ) );
00145 m_cmd_textCtrl->SetToolTip( _("Type a command and press enter to send ") );
00146 m_cmd_textCtrl->SetHelpText( _("Type a command and press enter to send ") );
00147 m_cmd_textCtrl->SetMinSize( wxSize( 150,-1 ) );
00148
00149 bSizer23->Add( m_cmd_textCtrl, 1, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
00150
00151 m_cmd_send_button = new wxButton( m_misc_scrolledWindow, wxID_CMD_SEND_BUTTON, _("Send"), wxDefaultPosition, wxDefaultSize, 0 );
00152 m_cmd_send_button->SetFont( wxFont( 8, 74, 90, 92, false, wxT("Tahoma") ) );
00153 m_cmd_send_button->SetToolTip( _("Sends the direct command to the board") );
00154 m_cmd_send_button->SetHelpText( _("Sends the direct command to the board") );
00155
00156 bSizer23->Add( m_cmd_send_button, 0, wxALL, 5 );
00157
00158 fgSizer4->Add( bSizer23, 1, wxEXPAND, 5 );
00159
00160 m_misc_scrolledWindow->SetSizer( fgSizer4 );
00161 m_misc_scrolledWindow->Layout();
00162 fgSizer4->Fit( m_misc_scrolledWindow );
00163 m_notebook3->AddPage( m_misc_scrolledWindow, _("Misc"), false );
00164
00165 bSizer20->Add( m_notebook3, 1, wxEXPAND | wxALL, 5 );
00166
00167 m_top_panel->SetSizer( bSizer20 );
00168 m_top_panel->Layout();
00169 bSizer20->Fit( m_top_panel );
00170 m_bottom_panel = new wxPanel( m_main_splitter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxDOUBLE_BORDER|wxTAB_TRAVERSAL );
00171 wxBoxSizer* bSizer2;
00172 bSizer2 = new wxBoxSizer( wxHORIZONTAL );
00173
00174 m_bottom_notebook = new wxNotebook( m_bottom_panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
00175 wxSize m_bottom_notebookImageSize = wxSize( 16,16 );
00176 int m_bottom_notebookIndex = 0;
00177 wxImageList* m_bottom_notebookImages = new wxImageList( m_bottom_notebookImageSize.GetWidth(), m_bottom_notebookImageSize.GetHeight() );
00178 m_bottom_notebook->AssignImageList( m_bottom_notebookImages );
00179 wxBitmap m_bottom_notebookBitmap;
00180 wxImage m_bottom_notebookImage;
00181 m_bottom_notebook->SetFont( wxFont( 8, 74, 90, 92, false, wxT("Sans") ) );
00182
00183 m_logger_panel = new wxPanel( m_bottom_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
00184 wxBoxSizer* bSizer3;
00185 bSizer3 = new wxBoxSizer( wxVERTICAL );
00186
00187 m_logger_richText = new wxRichTextCtrl( m_logger_panel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY|wxHSCROLL|wxVSCROLL|wxWANTS_CHARS );
00188 m_logger_richText->SetFont( wxFont( 9, 74, 90, 90, false, wxT("Sans") ) );
00189
00190 bSizer3->Add( m_logger_richText, 1, wxEXPAND | wxALL, 5 );
00191
00192 m_logger_panel->SetSizer( bSizer3 );
00193 m_logger_panel->Layout();
00194 bSizer3->Fit( m_logger_panel );
00195 m_bottom_notebook->AddPage( m_logger_panel, _("Logger"), false );
00196 m_bottom_notebookBitmap = wxBitmap( wxT("images/easymoblog.png"), wxBITMAP_TYPE_ANY );
00197 if ( m_bottom_notebookBitmap.Ok() )
00198 {
00199 m_bottom_notebookImage = m_bottom_notebookBitmap.ConvertToImage();
00200 m_bottom_notebookImages->Add( m_bottom_notebookImage.Scale( m_bottom_notebookImageSize.GetWidth(), m_bottom_notebookImageSize.GetHeight() ) );
00201 m_bottom_notebook->SetPageImage( m_bottom_notebookIndex, m_bottom_notebookIndex );
00202 m_bottom_notebookIndex++;
00203 }
00204
00205 bSizer2->Add( m_bottom_notebook, 1, wxEXPAND | wxALL, 5 );
00206
00207 m_bottom_panel->SetSizer( bSizer2 );
00208 m_bottom_panel->Layout();
00209 bSizer2->Fit( m_bottom_panel );
00210 m_main_splitter->SplitHorizontally( m_top_panel, m_bottom_panel, 300 );
00211 m_main_sizer->Add( m_main_splitter, 1, wxEXPAND, 5 );
00212
00213 this->SetSizer( m_main_sizer );
00214 this->Layout();
00215
00216
00217 this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GUIFrame::OnClose ) );
00218 this->Connect( wxEVT_IDLE, wxIdleEventHandler( GUIFrame::OnIdle ) );
00219 this->Connect( wxEVT_SIZE, wxSizeEventHandler( GUIFrame::OnSize ) );
00220 this->Connect( m_menu_file_quit->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnQuit ) );
00221 this->Connect( m_menu_tools_connect->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnMenuToolsConnect ) );
00222 this->Connect( m_menu_tools_export->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnMenuToolsExport ) );
00223 this->Connect( m_menu_tools_download->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnMenuToolsDownload ) );
00224 this->Connect( m_menu_tools_settings->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnMenuToolsSettings ) );
00225 this->Connect( m_menu_help_about->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnAbout ) );
00226 this->Connect( ID_FILE_QUIT_TOOL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( GUIFrame::OnFileQuitToolClicked ) );
00227 this->Connect( ID_TOOLS_CONNECT_TOOL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( GUIFrame::OnToolsConnectToolClicked ) );
00228 this->Connect( ID_TOOLS_EXPORT_TOOL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( GUIFrame::OnToolsExportToolClicked ) );
00229 this->Connect( ID_TOOLS_DOWNLOAD_TOOL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( GUIFrame::OnToolsDownloadToolClicked ) );
00230 this->Connect( ID_TOOLS_SETTINGS_TOOL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( GUIFrame::OnToolsSettingsToolClicked ) );
00231 this->Connect( ID_HELP_ABOUT_TOOL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( GUIFrame::OnHelpAboutToolClicked ) );
00232 m_module_address_spinCtrl->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( GUIFrame::OnModuleAddressChanged ), NULL, this );
00233 m_mux_out_spinCtrl->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( GUIFrame::OnMuxOutChanged ), NULL, this );
00234 m_cmd_textCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( GUIFrame::OnCmdTextCtrl ), NULL, this );
00235 m_cmd_textCtrl->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( GUIFrame::OnCmdTextCtrlEnter ), NULL, this );
00236 m_cmd_send_button->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIFrame::OnCmdSendClick ), NULL, this );
00237 }
00238
00239 GUIFrame::~GUIFrame()
00240 {
00241
00242 this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GUIFrame::OnClose ) );
00243 this->Disconnect( wxEVT_IDLE, wxIdleEventHandler( GUIFrame::OnIdle ) );
00244 this->Disconnect( wxEVT_SIZE, wxSizeEventHandler( GUIFrame::OnSize ) );
00245 this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnQuit ) );
00246 this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnMenuToolsConnect ) );
00247 this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnMenuToolsExport ) );
00248 this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnMenuToolsDownload ) );
00249 this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnMenuToolsSettings ) );
00250 this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnAbout ) );
00251 this->Disconnect( ID_FILE_QUIT_TOOL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( GUIFrame::OnFileQuitToolClicked ) );
00252 this->Disconnect( ID_TOOLS_CONNECT_TOOL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( GUIFrame::OnToolsConnectToolClicked ) );
00253 this->Disconnect( ID_TOOLS_EXPORT_TOOL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( GUIFrame::OnToolsExportToolClicked ) );
00254 this->Disconnect( ID_TOOLS_DOWNLOAD_TOOL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( GUIFrame::OnToolsDownloadToolClicked ) );
00255 this->Disconnect( ID_TOOLS_SETTINGS_TOOL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( GUIFrame::OnToolsSettingsToolClicked ) );
00256 this->Disconnect( ID_HELP_ABOUT_TOOL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( GUIFrame::OnHelpAboutToolClicked ) );
00257 m_module_address_spinCtrl->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( GUIFrame::OnModuleAddressChanged ), NULL, this );
00258 m_mux_out_spinCtrl->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( GUIFrame::OnMuxOutChanged ), NULL, this );
00259 m_cmd_textCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( GUIFrame::OnCmdTextCtrl ), NULL, this );
00260 m_cmd_textCtrl->Disconnect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( GUIFrame::OnCmdTextCtrlEnter ), NULL, this );
00261 m_cmd_send_button->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIFrame::OnCmdSendClick ), NULL, this );
00262 }
00263
00264 AboutDialog::AboutDialog( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
00265 {
00266 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
00267
00268 wxBoxSizer* bSizer21;
00269 bSizer21 = new wxBoxSizer( wxVERTICAL );
00270
00271 wxBoxSizer* bSizer24;
00272 bSizer24 = new wxBoxSizer( wxHORIZONTAL );
00273
00274 wxBoxSizer* bSizer22;
00275 bSizer22 = new wxBoxSizer( wxVERTICAL );
00276
00277 m_bitmap2 = new wxStaticBitmap( this, wxID_ANY, wxBitmap( wxT("images/caen.png"), wxBITMAP_TYPE_ANY ), wxDefaultPosition, wxDefaultSize, 0 );
00278 bSizer22->Add( m_bitmap2, 0, wxALL, 5 );
00279
00280 m_hyperlink1 = new wxHyperlinkCtrl( this, wxID_ANY, _("http://www.caen.it"), wxT("http://www.caen.it"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
00281 bSizer22->Add( m_hyperlink1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
00282
00283 bSizer24->Add( bSizer22, 1, wxALL|wxEXPAND, 5 );
00284
00285 wxBoxSizer* bSizer25;
00286 bSizer25 = new wxBoxSizer( wxVERTICAL );
00287
00288 m_staticText26 = new wxStaticText( this, wxID_ANY, _("CAEN N1568 Demo"), wxDefaultPosition, wxDefaultSize, 0 );
00289 m_staticText26->Wrap( -1 );
00290 m_staticText26->SetFont( wxFont( 16, 74, 90, 90, false, wxT("Comic Sans MS") ) );
00291 m_staticText26->SetForegroundColour( wxColour( 0, 0, 160 ) );
00292
00293 bSizer25->Add( m_staticText26, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
00294
00295 m_sw_rev_Text = new wxStaticText( this, wxID_ANY, _("N1568Demo rev: ???"), wxDefaultPosition, wxDefaultSize, 0 );
00296 m_sw_rev_Text->Wrap( -1 );
00297 bSizer25->Add( m_sw_rev_Text, 0, wxALL, 5 );
00298
00299 m_sdk_sw_rev_Text = new wxStaticText( this, wxID_ANY, _("N1568SDK rev: ???"), wxDefaultPosition, wxDefaultSize, 0 );
00300 m_sdk_sw_rev_Text->Wrap( -1 );
00301 bSizer25->Add( m_sdk_sw_rev_Text, 0, wxALL, 5 );
00302
00303 bSizer24->Add( bSizer25, 0, wxEXPAND, 5 );
00304
00305 bSizer21->Add( bSizer24, 1, wxEXPAND, 5 );
00306
00307 m_sdbSizer2 = new wxStdDialogButtonSizer();
00308 m_sdbSizer2OK = new wxButton( this, wxID_OK );
00309 m_sdbSizer2->AddButton( m_sdbSizer2OK );
00310 m_sdbSizer2->Realize();
00311 bSizer21->Add( m_sdbSizer2, 0, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 5 );
00312
00313 this->SetSizer( bSizer21 );
00314 this->Layout();
00315 bSizer21->Fit( this );
00316 }
00317
00318 AboutDialog::~AboutDialog()
00319 {
00320 }
00321
00322 ChannelPanel::ChannelPanel( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
00323 {
00324 wxBoxSizer* bSizer14;
00325 bSizer14 = new wxBoxSizer( wxHORIZONTAL );
00326
00327 wxBoxSizer* bSizer15;
00328 bSizer15 = new wxBoxSizer( wxVERTICAL );
00329
00330 m_channel_staticText = new wxStaticText( this, wxID_ANY, _("Ch ##"), wxDefaultPosition, wxSize( 60,-1 ), 0 );
00331 m_channel_staticText->Wrap( -1 );
00332 m_channel_staticText->SetFont( wxFont( 10, 74, 93, 92, false, wxT("Sans") ) );
00333 m_channel_staticText->SetMinSize( wxSize( 60,-1 ) );
00334 m_channel_staticText->SetMaxSize( wxSize( 60,-1 ) );
00335
00336 bSizer15->Add( m_channel_staticText, 0, wxALL, 2 );
00337
00338 bSizer14->Add( bSizer15, 0, wxALIGN_BOTTOM|wxALIGN_CENTER_VERTICAL, 2 );
00339
00340 wxBoxSizer* bSizer51;
00341 bSizer51 = new wxBoxSizer( wxVERTICAL );
00342
00343 m_cfd_threshold_staticText = new wxStaticText( this, wxID_ANY, _("CFth"), wxDefaultPosition, wxDefaultSize, 0 );
00344 m_cfd_threshold_staticText->Wrap( -1 );
00345 m_cfd_threshold_staticText->SetFont( wxFont( 8, 74, 90, 92, false, wxT("Sans") ) );
00346
00347 bSizer51->Add( m_cfd_threshold_staticText, 0, wxALL, 2 );
00348
00349 m_cfd_threshold_spinCtrl = new wxSpinCtrl( this, ID_CF_TH, wxEmptyString, wxDefaultPosition, wxSize( 70,-1 ), wxSP_ARROW_KEYS, 0, 255, 0 );
00350 m_cfd_threshold_spinCtrl->SetToolTip( _("CFD Threshold") );
00351
00352 bSizer51->Add( m_cfd_threshold_spinCtrl, 0, wxALL, 2 );
00353
00354 bSizer14->Add( bSizer51, 0, 0, 5 );
00355
00356 wxBoxSizer* bSizer5;
00357 bSizer5 = new wxBoxSizer( wxVERTICAL );
00358
00359 m_cfd30_out_width_staticText = new wxStaticText( this, wxID_ANY, _("CFWdt"), wxDefaultPosition, wxDefaultSize, 0 );
00360 m_cfd30_out_width_staticText->Wrap( -1 );
00361 m_cfd30_out_width_staticText->SetFont( wxFont( 8, 74, 90, 92, false, wxT("Sans") ) );
00362
00363 bSizer5->Add( m_cfd30_out_width_staticText, 0, wxALL, 2 );
00364
00365 m_cfd30_out_width_spinCtrl = new wxSpinCtrl( this, ID_CFD30_OUT_WIDTH, wxEmptyString, wxDefaultPosition, wxSize( 70,-1 ), wxSP_ARROW_KEYS, 0, 255, 0 );
00366 m_cfd30_out_width_spinCtrl->SetToolTip( _("CFD 30% Out Width") );
00367
00368 bSizer5->Add( m_cfd30_out_width_spinCtrl, 0, wxALL, 2 );
00369
00370 bSizer14->Add( bSizer5, 0, 0, 2 );
00371
00372 wxBoxSizer* bSizer6;
00373 bSizer6 = new wxBoxSizer( wxVERTICAL );
00374
00375 m_pole_zero_adj_staticText = new wxStaticText( this, wxID_ANY, _("P/Z"), wxDefaultPosition, wxDefaultSize, 0 );
00376 m_pole_zero_adj_staticText->Wrap( -1 );
00377 m_pole_zero_adj_staticText->SetFont( wxFont( 8, 74, 90, 92, false, wxT("Sans") ) );
00378
00379 bSizer6->Add( m_pole_zero_adj_staticText, 0, wxALL, 2 );
00380
00381 m_pole_zero_adj_spinCtrl = new wxSpinCtrl( this, ID_POLE_ZERO_ADJ, wxEmptyString, wxDefaultPosition, wxSize( 70,-1 ), wxSP_ARROW_KEYS, 0, 255, 0 );
00382 m_pole_zero_adj_spinCtrl->SetToolTip( _("Pole zero adjustment") );
00383
00384 bSizer6->Add( m_pole_zero_adj_spinCtrl, 0, wxALL, 2 );
00385
00386 bSizer14->Add( bSizer6, 0, 0, 2 );
00387
00388 wxBoxSizer* bSizer7;
00389 bSizer7 = new wxBoxSizer( wxVERTICAL );
00390
00391 m_fine_gain_staticText = new wxStaticText( this, wxID_ANY, _("F.G."), wxDefaultPosition, wxDefaultSize, 0 );
00392 m_fine_gain_staticText->Wrap( -1 );
00393 m_fine_gain_staticText->SetFont( wxFont( 8, 74, 90, 92, false, wxT("Sans") ) );
00394
00395 bSizer7->Add( m_fine_gain_staticText, 0, wxALL, 2 );
00396
00397 m_fine_gain_spinCtrl = new wxSpinCtrl( this, ID_FINE_GAIN, wxEmptyString, wxDefaultPosition, wxSize( 70,-1 ), wxSP_ARROW_KEYS, 0, 127, 0 );
00398 m_fine_gain_spinCtrl->SetToolTip( _("Fine Gain setting") );
00399
00400 bSizer7->Add( m_fine_gain_spinCtrl, 0, wxALL, 2 );
00401
00402 bSizer14->Add( bSizer7, 0, 0, 2 );
00403
00404 wxBoxSizer* bSizer8;
00405 bSizer8 = new wxBoxSizer( wxVERTICAL );
00406
00407 m_shaping_time_staticText = new wxStaticText( this, wxID_ANY, _("SH"), wxDefaultPosition, wxDefaultSize, 0 );
00408 m_shaping_time_staticText->Wrap( -1 );
00409 m_shaping_time_staticText->SetFont( wxFont( 8, 74, 90, 92, false, wxT("Sans") ) );
00410
00411 bSizer8->Add( m_shaping_time_staticText, 0, wxALL, 2 );
00412
00413 m_shaping_time_spinCtrl = new wxSpinCtrl( this, ID_SHAPING_TIME, wxEmptyString, wxDefaultPosition, wxSize( 70,-1 ), wxSP_ARROW_KEYS, 0, 3, 0 );
00414 m_shaping_time_spinCtrl->SetToolTip( _("Shaping time selection") );
00415
00416 bSizer8->Add( m_shaping_time_spinCtrl, 0, wxALL, 2 );
00417
00418 bSizer14->Add( bSizer8, 0, 0, 2 );
00419
00420 wxBoxSizer* bSizer9;
00421 bSizer9 = new wxBoxSizer( wxVERTICAL );
00422
00423 m_coarse_gain_staticText = new wxStaticText( this, wxID_ANY, _("C.G."), wxDefaultPosition, wxDefaultSize, 0 );
00424 m_coarse_gain_staticText->Wrap( -1 );
00425 m_coarse_gain_staticText->SetFont( wxFont( 8, 74, 90, 92, false, wxT("Sans") ) );
00426
00427 bSizer9->Add( m_coarse_gain_staticText, 0, wxALL, 2 );
00428
00429 m_coarse_gain_spinCtrl = new wxSpinCtrl( this, ID_COARSE_GAIN, wxEmptyString, wxDefaultPosition, wxSize( 70,-1 ), wxSP_ARROW_KEYS, 0, 3, 0 );
00430 m_coarse_gain_spinCtrl->SetToolTip( _("Coarse gain") );
00431
00432 bSizer9->Add( m_coarse_gain_spinCtrl, 0, wxALL, 2 );
00433
00434 bSizer14->Add( bSizer9, 0, 0, 2 );
00435
00436 wxBoxSizer* bSizer10;
00437 bSizer10 = new wxBoxSizer( wxVERTICAL );
00438
00439 m_gain_timing_staticText = new wxStaticText( this, wxID_ANY, _("C.G.T."), wxDefaultPosition, wxDefaultSize, 0 );
00440 m_gain_timing_staticText->Wrap( -1 );
00441 m_gain_timing_staticText->SetFont( wxFont( 8, 74, 90, 92, false, wxT("Sans") ) );
00442
00443 bSizer10->Add( m_gain_timing_staticText, 0, wxALL, 2 );
00444
00445 m_gain_timing_spinCtrl = new wxSpinCtrl( this, ID_GAIN_TIMING, wxEmptyString, wxDefaultPosition, wxSize( 70,-1 ), wxSP_ARROW_KEYS, 0, 3, 0 );
00446 m_gain_timing_spinCtrl->SetToolTip( _("Coarse gain timing") );
00447
00448 bSizer10->Add( m_gain_timing_spinCtrl, 0, wxALL, 2 );
00449
00450 bSizer14->Add( bSizer10, 0, 0, 2 );
00451
00452 wxBoxSizer* bSizer11;
00453 bSizer11 = new wxBoxSizer( wxVERTICAL );
00454
00455 m_input_polarity_staticText = new wxStaticText( this, wxID_ANY, _("In."), wxDefaultPosition, wxDefaultSize, 0 );
00456 m_input_polarity_staticText->Wrap( -1 );
00457 m_input_polarity_staticText->SetFont( wxFont( 8, 74, 90, 92, false, wxT("Sans") ) );
00458
00459 bSizer11->Add( m_input_polarity_staticText, 0, wxALL, 2 );
00460
00461 wxString m_input_polarity_choiceChoices[] = { _("POSITIVE"), _("NEGATIVE") };
00462 int m_input_polarity_choiceNChoices = sizeof( m_input_polarity_choiceChoices ) / sizeof( wxString );
00463 m_input_polarity_choice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), m_input_polarity_choiceNChoices, m_input_polarity_choiceChoices, 0 );
00464 m_input_polarity_choice->SetSelection( 0 );
00465 m_input_polarity_choice->SetToolTip( _("Setup the input polarity") );
00466
00467 bSizer11->Add( m_input_polarity_choice, 0, wxALL, 2 );
00468
00469 bSizer14->Add( bSizer11, 0, 0, 2 );
00470
00471 wxBoxSizer* bSizer12;
00472 bSizer12 = new wxBoxSizer( wxVERTICAL );
00473
00474 m_stretcher_enable_staticText = new wxStaticText( this, wxID_ANY, _("STR."), wxDefaultPosition, wxDefaultSize, 0 );
00475 m_stretcher_enable_staticText->Wrap( -1 );
00476 m_stretcher_enable_staticText->SetFont( wxFont( 8, 74, 90, 92, false, wxT("Sans") ) );
00477
00478 bSizer12->Add( m_stretcher_enable_staticText, 0, wxALL, 2 );
00479
00480 wxString m_stretcher_enable_choiceChoices[] = { _("DISABLED"), _("ENABLED") };
00481 int m_stretcher_enable_choiceNChoices = sizeof( m_stretcher_enable_choiceChoices ) / sizeof( wxString );
00482 m_stretcher_enable_choice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), m_stretcher_enable_choiceNChoices, m_stretcher_enable_choiceChoices, 0 );
00483 m_stretcher_enable_choice->SetSelection( 0 );
00484 m_stretcher_enable_choice->SetToolTip( _("Enable/Disable the stretcher ") );
00485
00486 bSizer12->Add( m_stretcher_enable_choice, 0, wxALL, 2 );
00487
00488 bSizer14->Add( bSizer12, 0, 0, 5 );
00489
00490 wxBoxSizer* bSizer16;
00491 bSizer16 = new wxBoxSizer( wxVERTICAL );
00492
00493 m_write_button = new wxButton( this, ID_WRITE_BUTTON, _("Write"), wxDefaultPosition, wxSize( 50,-1 ), 0 );
00494 m_write_button->SetDefault();
00495 m_write_button->SetFont( wxFont( 8, 74, 90, 92, false, wxT("Sans") ) );
00496 m_write_button->SetForegroundColour( wxColour( 11, 233, 64 ) );
00497 m_write_button->SetToolTip( _("Writes values to the board.") );
00498
00499 bSizer16->Add( m_write_button, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 1 );
00500
00501 bSizer14->Add( bSizer16, 0, wxALIGN_BOTTOM, 5 );
00502
00503 wxBoxSizer* bSizer17;
00504 bSizer17 = new wxBoxSizer( wxVERTICAL );
00505
00506 m_read_button = new wxButton( this, ID_READ_BUTTON, _("Read"), wxDefaultPosition, wxSize( 50,-1 ), 0 );
00507 m_read_button->SetFont( wxFont( 8, 74, 90, 92, false, wxT("Sans") ) );
00508 m_read_button->SetForegroundColour( wxColour( 249, 10, 13 ) );
00509 m_read_button->SetToolTip( _("Read current values from the board") );
00510
00511 bSizer17->Add( m_read_button, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 1 );
00512
00513 bSizer14->Add( bSizer17, 0, wxALIGN_BOTTOM, 5 );
00514
00515 this->SetSizer( bSizer14 );
00516 this->Layout();
00517
00518
00519 m_cfd_threshold_spinCtrl->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ChannelPanel::OnCFThChanged ), NULL, this );
00520 m_cfd30_out_width_spinCtrl->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ChannelPanel::OnCFWdtChanged ), NULL, this );
00521 m_pole_zero_adj_spinCtrl->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ChannelPanel::OnPZChanged ), NULL, this );
00522 m_fine_gain_spinCtrl->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ChannelPanel::OnFGChanged ), NULL, this );
00523 m_shaping_time_spinCtrl->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ChannelPanel::OnSHChanged ), NULL, this );
00524 m_coarse_gain_spinCtrl->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ChannelPanel::OnCGChanged ), NULL, this );
00525 m_gain_timing_spinCtrl->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ChannelPanel::OnCGTChanged ), NULL, this );
00526 m_input_polarity_choice->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( ChannelPanel::OnInChanged ), NULL, this );
00527 m_stretcher_enable_choice->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( ChannelPanel::OnSTRChanged ), NULL, this );
00528 m_write_button->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ChannelPanel::OnWriteClicked ), NULL, this );
00529 m_read_button->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ChannelPanel::OnReadClicked ), NULL, this );
00530 }
00531
00532 ChannelPanel::~ChannelPanel()
00533 {
00534
00535 m_cfd_threshold_spinCtrl->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ChannelPanel::OnCFThChanged ), NULL, this );
00536 m_cfd30_out_width_spinCtrl->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ChannelPanel::OnCFWdtChanged ), NULL, this );
00537 m_pole_zero_adj_spinCtrl->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ChannelPanel::OnPZChanged ), NULL, this );
00538 m_fine_gain_spinCtrl->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ChannelPanel::OnFGChanged ), NULL, this );
00539 m_shaping_time_spinCtrl->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ChannelPanel::OnSHChanged ), NULL, this );
00540 m_coarse_gain_spinCtrl->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ChannelPanel::OnCGChanged ), NULL, this );
00541 m_gain_timing_spinCtrl->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ChannelPanel::OnCGTChanged ), NULL, this );
00542 m_input_polarity_choice->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( ChannelPanel::OnInChanged ), NULL, this );
00543 m_stretcher_enable_choice->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( ChannelPanel::OnSTRChanged ), NULL, this );
00544 m_write_button->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ChannelPanel::OnWriteClicked ), NULL, this );
00545 m_read_button->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ChannelPanel::OnReadClicked ), NULL, this );
00546 }
00547
00548 SettingsDialog::SettingsDialog( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
00549 {
00550 this->SetSizeHints( wxSize( 250,150 ), wxDefaultSize );
00551
00552 wxBoxSizer* bSizer29;
00553 bSizer29 = new wxBoxSizer( wxVERTICAL );
00554
00555 m_notebook2 = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
00556 m_panel8 = new wxPanel( m_notebook2, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
00557 wxFlexGridSizer* fgSizer2;
00558 fgSizer2 = new wxFlexGridSizer( 2, 2, 0, 0 );
00559 fgSizer2->AddGrowableCol( 1 );
00560 fgSizer2->SetFlexibleDirection( wxBOTH );
00561 fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
00562
00563 m_staticText34 = new wxStaticText( m_panel8, wxID_ANY, _("Device name:"), wxDefaultPosition, wxDefaultSize, 0 );
00564 m_staticText34->Wrap( -1 );
00565 m_staticText34->SetFont( wxFont( 9, 74, 90, 92, false, wxT("Sans") ) );
00566
00567 fgSizer2->Add( m_staticText34, 0, wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL, 5 );
00568
00569 m_device_name_textCtrl = new wxTextCtrl( m_panel8, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
00570 m_device_name_textCtrl->SetToolTip( _("The communication device name (e.g. /dev/ttyS0 for Linux or COM1 for Windows )") );
00571 m_device_name_textCtrl->SetMinSize( wxSize( 100,-1 ) );
00572
00573 fgSizer2->Add( m_device_name_textCtrl, 1, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
00574
00575 m_panel8->SetSizer( fgSizer2 );
00576 m_panel8->Layout();
00577 fgSizer2->Fit( m_panel8 );
00578 m_notebook2->AddPage( m_panel8, _("Communication"), true );
00579 m_panel81 = new wxPanel( m_notebook2, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
00580 wxFlexGridSizer* fgSizer21;
00581 fgSizer21 = new wxFlexGridSizer( 2, 2, 0, 0 );
00582 fgSizer21->AddGrowableCol( 1 );
00583 fgSizer21->SetFlexibleDirection( wxBOTH );
00584 fgSizer21->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
00585
00586 m_staticText341 = new wxStaticText( m_panel81, wxID_ANY, _("First visible channel:"), wxDefaultPosition, wxDefaultSize, 0 );
00587 m_staticText341->Wrap( -1 );
00588 m_staticText341->SetFont( wxFont( 9, 74, 90, 92, false, wxT("Sans") ) );
00589
00590 fgSizer21->Add( m_staticText341, 0, wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL, 5 );
00591
00592 m_first_visible_channel_spinCtrl = new wxSpinCtrl( m_panel81, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 50,-1 ), wxSP_ARROW_KEYS|wxWANTS_CHARS, 0, 15, 0 );
00593 m_first_visible_channel_spinCtrl->SetToolTip( _("The first visible channel") );
00594
00595 fgSizer21->Add( m_first_visible_channel_spinCtrl, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
00596
00597 m_staticText3412 = new wxStaticText( m_panel81, wxID_ANY, _("Last visible channel:"), wxDefaultPosition, wxDefaultSize, 0 );
00598 m_staticText3412->Wrap( -1 );
00599 m_staticText3412->SetFont( wxFont( 9, 74, 90, 92, false, wxT("Sans") ) );
00600
00601 fgSizer21->Add( m_staticText3412, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
00602
00603 m_last_visible_channel_spinCtrl = new wxSpinCtrl( m_panel81, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 50,-1 ), wxSP_ARROW_KEYS, 0, 15, 15 );
00604 m_last_visible_channel_spinCtrl->SetToolTip( _("The last visible channel") );
00605
00606 fgSizer21->Add( m_last_visible_channel_spinCtrl, 0, wxALL, 5 );
00607
00608 m_staticText3411 = new wxStaticText( m_panel81, wxID_ANY, _("Default module address:"), wxDefaultPosition, wxDefaultSize, 0 );
00609 m_staticText3411->Wrap( -1 );
00610 m_staticText3411->SetFont( wxFont( 9, 74, 90, 92, false, wxT("Sans") ) );
00611
00612 fgSizer21->Add( m_staticText3411, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );
00613
00614 m_module_address_spinCtrl = new wxSpinCtrl( m_panel81, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 50,-1 ), wxSP_ARROW_KEYS, 0, 16, 0 );
00615 m_module_address_spinCtrl->SetToolTip( _("The default module address") );
00616
00617 fgSizer21->Add( m_module_address_spinCtrl, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
00618
00619 m_staticText34111 = new wxStaticText( m_panel81, wxID_ANY, _("Default mux out:"), wxDefaultPosition, wxDefaultSize, 0 );
00620 m_staticText34111->Wrap( -1 );
00621 m_staticText34111->SetFont( wxFont( 9, 74, 90, 92, false, wxT("Sans") ) );
00622
00623 fgSizer21->Add( m_staticText34111, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );
00624
00625 m_mux_out_spinCtrl = new wxSpinCtrl( m_panel81, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 50,-1 ), wxSP_ARROW_KEYS, 0, 15, 0 );
00626 m_mux_out_spinCtrl->SetToolTip( _("The default mux output channel index") );
00627
00628 fgSizer21->Add( m_mux_out_spinCtrl, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
00629
00630 m_panel81->SetSizer( fgSizer21 );
00631 m_panel81->Layout();
00632 fgSizer21->Fit( m_panel81 );
00633 m_notebook2->AddPage( m_panel81, _("Board"), false );
00634 m_panel82 = new wxPanel( m_notebook2, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
00635 wxFlexGridSizer* fgSizer22;
00636 fgSizer22 = new wxFlexGridSizer( 2, 2, 0, 0 );
00637 fgSizer22->AddGrowableCol( 1 );
00638 fgSizer22->SetFlexibleDirection( wxBOTH );
00639 fgSizer22->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
00640
00641 m_staticText342 = new wxStaticText( m_panel82, wxID_ANY, _("Logger:"), wxDefaultPosition, wxDefaultSize, 0 );
00642 m_staticText342->Wrap( -1 );
00643 m_staticText342->SetFont( wxFont( 9, 74, 90, 92, false, wxT("Sans") ) );
00644
00645 fgSizer22->Add( m_staticText342, 0, wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL, 5 );
00646
00647 m_logger_enabled_checkBox = new wxCheckBox( m_panel82, wxID_ANY, _("Enabled"), wxDefaultPosition, wxDefaultSize, 0 );
00648
00649 m_logger_enabled_checkBox->SetToolTip( _("Enable/Disable Loggin") );
00650
00651 fgSizer22->Add( m_logger_enabled_checkBox, 0, wxALL|wxEXPAND, 5 );
00652
00653
00654 fgSizer22->Add( 0, 0, 1, wxEXPAND, 5 );
00655
00656 m_logger_visible_checkBox = new wxCheckBox( m_panel82, wxID_ANY, _("Visible"), wxDefaultPosition, wxDefaultSize, 0 );
00657
00658 m_logger_visible_checkBox->SetToolTip( _("Show/Hide Logger window") );
00659
00660 fgSizer22->Add( m_logger_visible_checkBox, 0, wxALL, 5 );
00661
00662 m_panel82->SetSizer( fgSizer22 );
00663 m_panel82->Layout();
00664 fgSizer22->Fit( m_panel82 );
00665 m_notebook2->AddPage( m_panel82, _("Application"), false );
00666
00667 bSizer29->Add( m_notebook2, 1, wxEXPAND | wxALL, 5 );
00668
00669 m_sdbSizer1 = new wxStdDialogButtonSizer();
00670 m_sdbSizer1OK = new wxButton( this, wxID_OK );
00671 m_sdbSizer1->AddButton( m_sdbSizer1OK );
00672 m_sdbSizer1Cancel = new wxButton( this, wxID_CANCEL );
00673 m_sdbSizer1->AddButton( m_sdbSizer1Cancel );
00674 m_sdbSizer1->Realize();
00675 bSizer29->Add( m_sdbSizer1, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5 );
00676
00677 this->SetSizer( bSizer29 );
00678 this->Layout();
00679 bSizer29->Fit( this );
00680
00681 this->Centre( wxBOTH );
00682
00683
00684 m_sdbSizer1OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SettingsDialog::OnOkClicked ), NULL, this );
00685 }
00686
00687 SettingsDialog::~SettingsDialog()
00688 {
00689
00690 m_sdbSizer1OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SettingsDialog::OnOkClicked ), NULL, this );
00691 }