00001
00002
00003
00004
00005
00007
00008 #ifndef __GUIFrame__
00009 #define __GUIFrame__
00010
00011 #include <wx/intl.h>
00012
00013 #include <wx/string.h>
00014 #include <wx/bitmap.h>
00015 #include <wx/image.h>
00016 #include <wx/icon.h>
00017 #include <wx/menu.h>
00018 #include <wx/gdicmn.h>
00019 #include <wx/font.h>
00020 #include <wx/colour.h>
00021 #include <wx/settings.h>
00022 #include <wx/toolbar.h>
00023 #include <wx/statusbr.h>
00024 #include <wx/sizer.h>
00025 #include <wx/scrolwin.h>
00026 #include <wx/stattext.h>
00027 #include <wx/spinctrl.h>
00028 #include <wx/textctrl.h>
00029 #include <wx/button.h>
00030 #include <wx/notebook.h>
00031 #include <wx/panel.h>
00032 #include <wx/richtext/richtextctrl.h>
00033 #include <wx/imaglist.h>
00034 #include <wx/splitter.h>
00035 #include <wx/frame.h>
00036 #include <wx/statbmp.h>
00037 #include <wx/hyperlink.h>
00038 #include <wx/dialog.h>
00039 #include <wx/choice.h>
00040 #include <wx/checkbox.h>
00041
00043
00044 #define wxID_MAIN_FRAME 1000
00045 #define ID_FILE_QUIT_MENU 1001
00046 #define ID_TOOLS_CONNECT_MENU 1002
00047 #define ID_TOOLS_EXPORT_MENU 1003
00048 #define ID_TOOLS_DOWNLOAD_MENU 1004
00049 #define ID_TOOLS_SETTINGS_MENU 1005
00050 #define ID_HELP_ABOUT_MENU 1006
00051 #define wxID_MAIN_TOOLBAR 1007
00052 #define ID_FILE_QUIT_TOOL 1008
00053 #define ID_TOOLS_CONNECT_TOOL 1009
00054 #define ID_TOOLS_EXPORT_TOOL 1010
00055 #define ID_TOOLS_DOWNLOAD_TOOL 1011
00056 #define ID_TOOLS_SETTINGS_TOOL 1012
00057 #define ID_HELP_ABOUT_TOOL 1013
00058 #define wxID_MODULE_ADDRESS 1014
00059 #define wxID_MUX_OUT_SPINCTRL 1015
00060 #define wxID_COMMAND_TEXT_CTRL 1016
00061 #define wxID_CMD_SEND_BUTTON 1017
00062 #define ID_CF_TH 1018
00063 #define ID_CFD30_OUT_WIDTH 1019
00064 #define ID_POLE_ZERO_ADJ 1020
00065 #define ID_FINE_GAIN 1021
00066 #define ID_SHAPING_TIME 1022
00067 #define ID_COARSE_GAIN 1023
00068 #define ID_GAIN_TIMING 1024
00069 #define ID_WRITE_BUTTON 1025
00070 #define ID_READ_BUTTON 1026
00071
00075 class GUIFrame : public wxFrame
00076 {
00077 private:
00078
00079 protected:
00080 wxMenuBar* m_main_menuBar;
00081 wxMenu* m_file_menu;
00082 wxMenu* m_tool_menu;
00083 wxMenuItem* m_menu_tools_connect;
00084 wxMenuItem* m_menu_tools_export;
00085 wxMenuItem* m_menu_tools_download;
00086 wxMenu* m_help_menu;
00087 wxToolBar* m_main_toolBar;
00088 wxStatusBar* m_main_statusBar;
00089 wxSplitterWindow* m_main_splitter;
00090 wxPanel* m_top_panel;
00091 wxNotebook* m_notebook3;
00092 wxScrolledWindow* m_channels_scrolledWindow;
00093 wxBoxSizer* m_channel_sizer;
00094 wxScrolledWindow* m_misc_scrolledWindow;
00095 wxStaticText* m_module_address_staticText;
00096 wxSpinCtrl* m_module_address_spinCtrl;
00097 wxStaticText* m_mux_out_staticText1;
00098 wxSpinCtrl* m_mux_out_spinCtrl;
00099 wxStaticText* m_cmd_label_staticText;
00100 wxTextCtrl* m_cmd_textCtrl;
00101 wxButton* m_cmd_send_button;
00102 wxPanel* m_bottom_panel;
00103 wxNotebook* m_bottom_notebook;
00104 wxPanel* m_logger_panel;
00105 wxRichTextCtrl* m_logger_richText;
00106
00107
00108 virtual void OnClose( wxCloseEvent& event ){ event.Skip(); }
00109 virtual void OnIdle( wxIdleEvent& event ){ event.Skip(); }
00110 virtual void OnSize( wxSizeEvent& event ){ event.Skip(); }
00111 virtual void OnQuit( wxCommandEvent& event ){ event.Skip(); }
00112 virtual void OnMenuToolsConnect( wxCommandEvent& event ){ event.Skip(); }
00113 virtual void OnMenuToolsExport( wxCommandEvent& event ){ event.Skip(); }
00114 virtual void OnMenuToolsDownload( wxCommandEvent& event ){ event.Skip(); }
00115 virtual void OnMenuToolsSettings( wxCommandEvent& event ){ event.Skip(); }
00116 virtual void OnAbout( wxCommandEvent& event ){ event.Skip(); }
00117 virtual void OnFileQuitToolClicked( wxCommandEvent& event ){ event.Skip(); }
00118 virtual void OnToolsConnectToolClicked( wxCommandEvent& event ){ event.Skip(); }
00119 virtual void OnToolsExportToolClicked( wxCommandEvent& event ){ event.Skip(); }
00120 virtual void OnToolsDownloadToolClicked( wxCommandEvent& event ){ event.Skip(); }
00121 virtual void OnToolsSettingsToolClicked( wxCommandEvent& event ){ event.Skip(); }
00122 virtual void OnHelpAboutToolClicked( wxCommandEvent& event ){ event.Skip(); }
00123 virtual void OnModuleAddressChanged( wxSpinEvent& event ){ event.Skip(); }
00124 virtual void OnMuxOutChanged( wxSpinEvent& event ){ event.Skip(); }
00125 virtual void OnCmdTextCtrl( wxCommandEvent& event ){ event.Skip(); }
00126 virtual void OnCmdTextCtrlEnter( wxCommandEvent& event ){ event.Skip(); }
00127 virtual void OnCmdSendClick( wxCommandEvent& event ){ event.Skip(); }
00128
00129
00130 public:
00131 GUIFrame( wxWindow* parent, wxWindowID id = wxID_MAIN_FRAME, const wxString& title = _("CAEN N1568 demo"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 800,600 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL );
00132 ~GUIFrame();
00133 void m_main_splitterOnIdle( wxIdleEvent& )
00134 {
00135 m_main_splitter->SetSashPosition( 300 );
00136 m_main_splitter->Disconnect( wxEVT_IDLE, wxIdleEventHandler( GUIFrame::m_main_splitterOnIdle ), NULL, this );
00137 }
00138
00139
00140 };
00141
00145 class AboutDialog : public wxDialog
00146 {
00147 private:
00148
00149 protected:
00150 wxStaticBitmap* m_bitmap2;
00151 wxHyperlinkCtrl* m_hyperlink1;
00152 wxStaticText* m_staticText26;
00153 wxStdDialogButtonSizer* m_sdbSizer2;
00154 wxButton* m_sdbSizer2OK;
00155
00156 public:
00157 wxStaticText* m_sw_rev_Text;
00158 wxStaticText* m_sdk_sw_rev_Text;
00159 AboutDialog( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("CAEN N1568 demo "), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
00160 ~AboutDialog();
00161
00162 };
00163
00167 class ChannelPanel : public wxPanel
00168 {
00169 private:
00170
00171 protected:
00172 wxStaticText* m_channel_staticText;
00173 wxStaticText* m_cfd_threshold_staticText;
00174 wxSpinCtrl* m_cfd_threshold_spinCtrl;
00175 wxStaticText* m_cfd30_out_width_staticText;
00176 wxSpinCtrl* m_cfd30_out_width_spinCtrl;
00177 wxStaticText* m_pole_zero_adj_staticText;
00178 wxSpinCtrl* m_pole_zero_adj_spinCtrl;
00179 wxStaticText* m_fine_gain_staticText;
00180 wxSpinCtrl* m_fine_gain_spinCtrl;
00181 wxStaticText* m_shaping_time_staticText;
00182 wxSpinCtrl* m_shaping_time_spinCtrl;
00183 wxStaticText* m_coarse_gain_staticText;
00184 wxSpinCtrl* m_coarse_gain_spinCtrl;
00185 wxStaticText* m_gain_timing_staticText;
00186 wxSpinCtrl* m_gain_timing_spinCtrl;
00187 wxStaticText* m_input_polarity_staticText;
00188 wxChoice* m_input_polarity_choice;
00189 wxStaticText* m_stretcher_enable_staticText;
00190 wxChoice* m_stretcher_enable_choice;
00191 wxButton* m_write_button;
00192 wxButton* m_read_button;
00193
00194
00195 virtual void OnCFThChanged( wxSpinEvent& event ){ event.Skip(); }
00196 virtual void OnCFWdtChanged( wxSpinEvent& event ){ event.Skip(); }
00197 virtual void OnPZChanged( wxSpinEvent& event ){ event.Skip(); }
00198 virtual void OnFGChanged( wxSpinEvent& event ){ event.Skip(); }
00199 virtual void OnSHChanged( wxSpinEvent& event ){ event.Skip(); }
00200 virtual void OnCGChanged( wxSpinEvent& event ){ event.Skip(); }
00201 virtual void OnCGTChanged( wxSpinEvent& event ){ event.Skip(); }
00202 virtual void OnInChanged( wxCommandEvent& event ){ event.Skip(); }
00203 virtual void OnSTRChanged( wxCommandEvent& event ){ event.Skip(); }
00204 virtual void OnWriteClicked( wxCommandEvent& event ){ event.Skip(); }
00205 virtual void OnReadClicked( wxCommandEvent& event ){ event.Skip(); }
00206
00207
00208 public:
00209 ChannelPanel( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 819,-1 ), long style = wxTAB_TRAVERSAL );
00210 ~ChannelPanel();
00211
00212 };
00213
00217 class SettingsDialog : public wxDialog
00218 {
00219 private:
00220
00221 protected:
00222 wxNotebook* m_notebook2;
00223 wxPanel* m_panel8;
00224 wxStaticText* m_staticText34;
00225 wxTextCtrl* m_device_name_textCtrl;
00226 wxPanel* m_panel81;
00227 wxStaticText* m_staticText341;
00228 wxSpinCtrl* m_first_visible_channel_spinCtrl;
00229 wxStaticText* m_staticText3412;
00230 wxSpinCtrl* m_last_visible_channel_spinCtrl;
00231 wxStaticText* m_staticText3411;
00232 wxSpinCtrl* m_module_address_spinCtrl;
00233 wxStaticText* m_staticText34111;
00234 wxSpinCtrl* m_mux_out_spinCtrl;
00235 wxPanel* m_panel82;
00236 wxStaticText* m_staticText342;
00237 wxCheckBox* m_logger_enabled_checkBox;
00238
00239 wxCheckBox* m_logger_visible_checkBox;
00240 wxStdDialogButtonSizer* m_sdbSizer1;
00241 wxButton* m_sdbSizer1OK;
00242 wxButton* m_sdbSizer1Cancel;
00243
00244
00245 virtual void OnOkClicked( wxCommandEvent& event ){ event.Skip(); }
00246
00247
00248 public:
00249 SettingsDialog( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Application settings ..."), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
00250 ~SettingsDialog();
00251
00252 };
00253
00254 #endif //__GUIFrame__