///////////////////////////////////////////////////////////////////////////// // Name: wviacam.h // Purpose: // Author: Cesar Mauri Loba (cesar at crea-si dot com) // Modified by: // Created: // Copyright: (C) 2008 Cesar Mauri Loba - CREA Software Systems // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . ///////////////////////////////////////////////////////////////////////////// #ifndef WVIACAM_H_ #define WVIACAM_H_ /*! * Includes */ ////@begin includes #include "wx/frame.h" #include "wx/toolbar.h" #include "wx/statusbr.h" ////@end includes #include /*! * Forward declarations */ ////@begin forward declarations class wxStatusBar; ////@end forward declarations class CCamWindow; class wxHtmlHelpController; /*! * Control identifiers */ ////@begin control identifiers #define ID_WVIACAM 10000 #define ID_MENUITEM_ENABLE 10011 #define ID_MENUITEM_EXIT 10001 #define ID_MENU_WIZARD 10094 #define ID_MENU_OPTIONS 10003 #define ID_MENU_HELP_CONTENTS 10040 #define ID_MENU_CHECKUPDATES 10127 #define ID_MENU_ABOUT 10028 #define ID_TOOLBAR 10042 #define ID_TOOL_ENABLE 10043 #define ID_TOOL_DISABLE 10044 #define ID_TOOL_CLICKWIN 10046 #define ID_TOOL_KEYBOARD 10048 #define ID_TOOL_OPTIONS 10045 #define ID_TOOL_HELP 10047 #define ID_STATUSBAR 10002 #define SYMBOL_WVIACAM_STYLE wxDEFAULT_FRAME_STYLE|wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxMINIMIZE|wxMINIMIZE_BOX|wxCLOSE_BOX #define SYMBOL_WVIACAM_TITLE wxEmptyString #define SYMBOL_WVIACAM_IDNAME ID_WVIACAM #define SYMBOL_WVIACAM_SIZE wxSize(300, 300) #define SYMBOL_WVIACAM_POSITION wxPoint(100, 200) ////@end control identifiers #undef SYMBOL_WVIACAM_TITLE #define SYMBOL_WVIACAM_TITLE _T("Enable Viacam") /*! * WViacam class declaration */ class WViacam: public wxFrame { DECLARE_CLASS( WViacam ) DECLARE_EVENT_TABLE() public: /// Constructors WViacam(); WViacam( wxWindow* parent, wxWindowID id = SYMBOL_WVIACAM_IDNAME, const wxString& caption = SYMBOL_WVIACAM_TITLE, const wxPoint& pos = SYMBOL_WVIACAM_POSITION, const wxSize& size = SYMBOL_WVIACAM_SIZE, long style = SYMBOL_WVIACAM_STYLE ); bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WVIACAM_IDNAME, const wxString& caption = SYMBOL_WVIACAM_TITLE, const wxPoint& pos = SYMBOL_WVIACAM_POSITION, const wxSize& size = SYMBOL_WVIACAM_SIZE, long style = SYMBOL_WVIACAM_STYLE ); /// Destructor ~WViacam(); /// Initialises member variables void Init(); /// Creates the controls and sizers void CreateControls(); CCamWindow* GetCamWindow() { return m_pCamWindow; } // void SetController (CViacamController* pController) { m_pController= pController; } virtual bool Show(bool show); // // Custom events // // Update FPS meter enum EFPSCondition { GOOD, FAIR, POOR }; void SetFPS (long value, EFPSCondition cond); void OnSetFPS( wxCommandEvent &event ); private: ////@begin WViacam event handler declarations /// wxEVT_CLOSE_WINDOW event handler for ID_WVIACAM void OnCloseWindow( wxCloseEvent& event ); /// wxEVT_ICONIZE event handler for ID_WVIACAM void OnIconize( wxIconizeEvent& event ); /// wxEVT_COMMAND_MENU_SELECTED event handler for ID_MENUITEM_ENABLE void OnMenuitemEnableClick( wxCommandEvent& event ); /// wxEVT_UPDATE_UI event handler for ID_MENUITEM_ENABLE void OnMenuitemEnableUpdate( wxUpdateUIEvent& event ); /// wxEVT_COMMAND_MENU_SELECTED event handler for ID_MENUITEM_EXIT void OnMenuitemExitClick( wxCommandEvent& event ); /// wxEVT_COMMAND_MENU_SELECTED event handler for ID_MENU_WIZARD void OnMenuWizardClick( wxCommandEvent& event ); /// wxEVT_COMMAND_MENU_SELECTED event handler for ID_MENU_OPTIONS void OnMenuOptionsClick( wxCommandEvent& event ); /// wxEVT_COMMAND_MENU_SELECTED event handler for ID_MENU_HELP_CONTENTS void OnToolHelpClick( wxCommandEvent& event ); /// wxEVT_COMMAND_MENU_SELECTED event handler for ID_MENU_CHECKUPDATES void OnMenuCheckupdatesClick( wxCommandEvent& event ); /// wxEVT_COMMAND_MENU_SELECTED event handler for ID_MENU_ABOUT void OnMenuAboutClick( wxCommandEvent& event ); /// wxEVT_COMMAND_MENU_SELECTED event handler for ID_TOOL_ENABLE void OnToolEnableClick( wxCommandEvent& event ); /// wxEVT_UPDATE_UI event handler for ID_TOOL_ENABLE void OnToolEnableUpdate( wxUpdateUIEvent& event ); /// wxEVT_COMMAND_MENU_SELECTED event handler for ID_TOOL_DISABLE void OnToolDisableClick( wxCommandEvent& event ); /// wxEVT_UPDATE_UI event handler for ID_TOOL_DISABLE void OnToolDisableUpdate( wxUpdateUIEvent& event ); /// wxEVT_COMMAND_MENU_SELECTED event handler for ID_TOOL_CLICKWIN void OnToolClickwinClick( wxCommandEvent& event ); /// wxEVT_UPDATE_UI event handler for ID_TOOL_CLICKWIN void OnToolClickwinUpdate( wxUpdateUIEvent& event ); /// wxEVT_COMMAND_MENU_SELECTED event handler for ID_TOOL_KEYBOARD void OnToolKeyboardClick( wxCommandEvent& event ); /// wxEVT_COMMAND_MENU_SELECTED event handler for ID_TOOL_OPTIONS void OnToolOptionsClick( wxCommandEvent& event ); ////@end WViacam event handler declarations ////@begin WViacam member function declarations /// Retrieves bitmap resources wxBitmap GetBitmapResource( const wxString& name ); /// Retrieves icon resources wxIcon GetIconResource( const wxString& name ); ////@end WViacam member function declarations /// Should we show tooltips? static bool ShowToolTips(); void OnTaskBarIconLeftUp ( wxTaskBarIconEvent& event ); ////@begin WViacam member variables wxToolBar* m_toolBar; wxStatusBar* m_statusBar; ////@end WViacam member variables CCamWindow* m_pCamWindow; wxTaskBarIcon* m_taskBarIcon; wxHtmlHelpController* m_helpController; long m_prevFPS; bool m_updateToolbar; }; #endif // _WVIACAM_H_