00001 /*************************************************************** 00002 * Name: N1568DemoMain.h 00003 * Purpose: Defines Application Frame 00004 * Author: NDA (nicola.dellamico@ndatech.it) 00005 * Created: 2008-07-29 00006 * Copyright: CAEN S.p.A (www.caen.it) 00007 * License: 00008 **************************************************************/ 00009 00010 #ifndef N1568DEMOMAIN_H 00011 #define N1568DEMOMAIN_H 00012 00013 #include "N1568DemoApp.h" 00014 #include "GUIFrame.h" 00015 #include "ApplicationSettings.h" 00016 #include "common.h" 00017 00018 class wxDateTime; 00019 class ChannelPanelImpl; 00020 class AllChannelPanelImpl; 00021 00022 typedef enum _STATUS_BAR_PANE { 00023 SBP_SW_REVISION= 0, 00024 SBP_CONNECTION_STATUS, 00025 SBP_MODULE_ADDRESS, 00026 } STATUS_BAR_PANE; 00027 00028 class N1568DemoFrame: public GUIFrame { 00029 public: 00030 N1568DemoFrame(wxFrame *frame); 00031 ~N1568DemoFrame(); 00032 void SetStatusBarText( const wxString &msg, STATUS_BAR_PANE pane); 00033 void AddToLogger( const wxString &msg, LOG_MESSAGE_TYPE type= LMT_INTERNAL); 00034 N1568_data* GetBoardData( ) { 00035 return &this->m_board_data; 00036 } 00037 bool SetModuleAddress( ); 00038 bool RefreshChannels( ); 00039 static wxString GetExecutablePath(); 00040 void DoExport( bool prompt); 00041 void DoDirectCmdSend(); 00042 void DoSetMuxOut(); 00043 00044 private: 00045 virtual void OnClose(wxCloseEvent& event); 00046 virtual void OnQuit(wxCommandEvent& event); 00047 virtual void OnAbout(wxCommandEvent& event); 00048 virtual void OnFileQuitToolClicked( wxCommandEvent& event ); 00049 virtual void OnToolsConnectToolClicked( wxCommandEvent& event ); 00050 virtual void OnToolsExportToolClicked( wxCommandEvent& event ); 00051 virtual void OnToolsDownloadToolClicked( wxCommandEvent& event ); 00052 virtual void OnToolsSettingsToolClicked( wxCommandEvent& event ); 00053 virtual void OnHelpAboutToolClicked( wxCommandEvent& event ); 00054 virtual void OnMenuToolsConnect( wxCommandEvent& event ); 00055 virtual void OnMenuToolsExport( wxCommandEvent& event ); 00056 virtual void OnMenuToolsDownload( wxCommandEvent& event ); 00057 virtual void OnMenuToolsSettings( wxCommandEvent& event ); 00058 virtual void OnCmdTextCtrlEnter( wxCommandEvent& event ); 00059 virtual void OnCmdTextCtrl( wxCommandEvent& event ); 00060 virtual void OnCmdSendClick( wxCommandEvent& event ); 00061 virtual void OnMuxOutChanged( wxSpinEvent& event ); 00062 virtual void OnIdle( wxIdleEvent& event ); 00063 virtual void OnModuleAddressChanged( wxSpinEvent& event ); 00064 virtual void OnSize( wxSizeEvent& event ); 00065 00066 bool ConnectToDevice( bool connect); 00067 void SetupSettings( ); 00068 ApplicationSettings m_application_settings; 00069 void LayoutWindow(); 00070 ChannelPanelImpl* m_channel_panel_array[ MAX_CHANNELS]; 00071 AllChannelPanelImpl* m_all_channel_panel; 00072 bool m_is_connect; 00073 N1568_data m_board_data; 00074 wxDateTime m_next_module_address_sent; 00075 wxDateTime m_next_mux_out_sent; 00076 const static int SPIN_CTRL_DELAY_MSEC= 1500; 00077 00078 }; 00079 00080 #endif // N1568DEMOMAIN_H
1.5.6