/////////////////////////////////////////////////////////////////////////////
// Name: wwizard.h
// Purpose:
// Author: Cesar Mauri Loba
// Modified by:
// Created: Mon 18 Oct 2010 09:57:22 CEST
// RCS-ID:
// Copyright: (C) 2008 Cesar Mauri from CREA Sistemes Informatics
// License:
// 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 _WWIZARD_H_
#define _WWIZARD_H_
/*!
* Includes
*/
////@begin includes
#include "wx/wizard.h"
#include "wx/statline.h"
#include "wx/spinctrl.h"
#include "wx/tglbtn.h"
////@end includes
#include
/*!
* Forward declarations
*/
////@begin forward declarations
class WizardPage;
class WizardPage5;
class WizardPage8;
class WizardPage1;
class WizardPage2;
class WizardPage6;
class wxSpinCtrl;
class wxToggleButton;
class WizardPage3;
class WizardPage4;
////@end forward declarations
class wxCheckBox;
class wxRadioButton;
class wxStaticText;
/*!
* Control identifiers
*/
////@begin control identifiers
#define ID_WWIZARD 10090
#define ID_WIZARDPAGE_INI 10091
#define ID_WIZARDPAGE_CAMERA 10115
#define ID_BUTTON5 10124
#define ID_WIZARDPAGE_TRACKER 10016
#define ID_CHECKBOX_LOCATE_FACE 10022
#define ID_CHECKBOX_ENABLE_WHEN_FACE_DETECTED 10106
#define ID_WIZARDPAGE_CALIB1 10093
#define ID_CHECKBOX_PERFORM_CALIBRATION 10095
#define ID_WIZARDPAGE_CALIB2 10096
#define ID_WIZARDPAGE_CALIB3 10116
#define ID_SPINCTRL 10118
#define ID_SPINCTRL1 10119
#define ID_TOGGLE_HEAD_TRACKING_PAGE6 10117
#define ID_WIZARDPAGE_CLICK2 10097
#define ID_TOGGLE_TEST 10121
#define ID_RADIOBUTTON_DWELL_CLICK 10099
#define ID_RADIOBUTTON_GESTURE_CLICK 10100
#define ID_RADIOBUTTON_NONE_CLICK 10098
#define ID_TOGGLE_HEAD_TRACKING_PAGE3 10120
#define ID_WIZARDPAGE_FINAL 10103
#define ID_CHECKBOX1 10092
#define ID_CHECKBOX3 10101
#define ID_CHECKBOX4 10123
#define SYMBOL_WWIZARD_IDNAME ID_WWIZARD
////@end control identifiers
/*!
* WWizard class declaration
*/
class WWizard: public wxWizard
{
DECLARE_DYNAMIC_CLASS( WWizard )
DECLARE_EVENT_TABLE()
public:
enum EClickMode { NONE, DWELL, GESTURE };
/// Constructors
WWizard();
WWizard( wxWindow* parent, wxWindowID id = SYMBOL_WWIZARD_IDNAME, const wxPoint& pos = wxDefaultPosition );
/// Creation
bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WWIZARD_IDNAME, const wxPoint& pos = wxDefaultPosition );
/// Destructor
~WWizard();
const bool GetPerformCalibration() const { return m_performCalibration; }
void SetPerformCalibration(bool value) { m_performCalibration= value; }
private:
/// Initialises member variables
void Init();
/// Creates the controls and sizers
void CreateControls();
////@begin WWizard event handler declarations
/// wxEVT_WIZARD_CANCEL event handler for ID_WWIZARD
void OnWwizardCancel( wxWizardEvent& event );
/// wxEVT_WIZARD_FINISHED event handler for ID_WWIZARD
void OnWwizardFinished( wxWizardEvent& event );
////@end WWizard event handler declarations
public:
////@begin WWizard member function declarations
/// Runs the wizard
bool Run();
/// Retrieves bitmap resources
wxBitmap GetBitmapResource( const wxString& name );
/// Retrieves icon resources
wxIcon GetIconResource( const wxString& name );
////@end WWizard member function declarations
void UpdateToggleButtonStatus (wxToggleButton& toggle);
void OnToggleHeadTrackingClick (wxCommandEvent& event, wxToggleButton& toggle);
void OnToggleHeadTrackingUpdate(wxUpdateUIEvent& event, wxToggleButton& toggle);
private:
/// Should we show tooltips?
static bool ShowToolTips();
////@begin WWizard member variables
////@end WWizard member variables
bool m_performCalibration;
};
/*!
* WizardPage class declaration
*/
class WizardPage: public wxWizardPageSimple
{
DECLARE_DYNAMIC_CLASS( WizardPage )
DECLARE_EVENT_TABLE()
public:
/// Constructors
WizardPage();
WizardPage( wxWizard* parent );
/// Creation
bool Create( wxWizard* parent );
/// Destructor
~WizardPage();
/// Initialises member variables
void Init();
/// Creates the controls and sizers
void CreateControls();
////@begin WizardPage event handler declarations
////@end WizardPage event handler declarations
////@begin WizardPage member function declarations
/// Retrieves bitmap resources
wxBitmap GetBitmapResource( const wxString& name );
/// Retrieves icon resources
wxIcon GetIconResource( const wxString& name );
////@end WizardPage member function declarations
/// Should we show tooltips?
static bool ShowToolTips();
////@begin WizardPage member variables
wxStaticBitmap* m_eviacamLogo;
////@end WizardPage member variables
WWizard* m_wizardParent;
};
/*!
* WizardPage1 class declaration
*/
class WizardPage1: public wxWizardPageSimple
{
DECLARE_DYNAMIC_CLASS( WizardPage1 )
DECLARE_EVENT_TABLE()
public:
/// Constructors
WizardPage1();
WizardPage1( wxWizard* parent );
/// Creation
bool Create( wxWizard* parent );
/// Destructor
~WizardPage1();
/// Initialises member variables
void Init();
/// Creates the controls and sizers
void CreateControls();
////@begin WizardPage1 event handler declarations
/// wxEVT_WIZARD_PAGE_CHANGED event handler for ID_WIZARDPAGE_CALIB1
void OnWizardpage1Changed( wxWizardEvent& event );
/// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_CHECKBOX_PERFORM_CALIBRATION
void OnCheckboxPerformCalibrationClick( wxCommandEvent& event );
////@end WizardPage1 event handler declarations
////@begin WizardPage1 member function declarations
/// Retrieves bitmap resources
wxBitmap GetBitmapResource( const wxString& name );
/// Retrieves icon resources
wxIcon GetIconResource( const wxString& name );
////@end WizardPage1 member function declarations
/// Should we show tooltips?
static bool ShowToolTips();
////@begin WizardPage1 member variables
wxCheckBox* m_chkPerformCalibration;
////@end WizardPage1 member variables
WWizard* m_wizardParent;
};
/*!
* WizardPage2 class declaration
*/
class WizardPage2: public wxWizardPageSimple
{
DECLARE_DYNAMIC_CLASS( WizardPage2 )
DECLARE_EVENT_TABLE()
public:
/// Constructors
WizardPage2();
WizardPage2( wxWizard* parent );
/// Creation
bool Create( wxWizard* parent );
/// Destructor
~WizardPage2();
/// Initialises member variables
void Init();
/// Creates the controls and sizers
void CreateControls();
////@begin WizardPage2 event handler declarations
/// wxEVT_WIZARD_PAGE_CHANGED event handler for ID_WIZARDPAGE_CALIB2
void OnWizardpage2Changed( wxWizardEvent& event );
////@end WizardPage2 event handler declarations
////@begin WizardPage2 member function declarations
/// Retrieves bitmap resources
wxBitmap GetBitmapResource( const wxString& name );
/// Retrieves icon resources
wxIcon GetIconResource( const wxString& name );
////@end WizardPage2 member function declarations
/// Should we show tooltips?
static bool ShowToolTips();
////@begin WizardPage2 member variables
////@end WizardPage2 member variables
WWizard* m_wizardParent;
};
/*!
* WizardPage3 class declaration
*/
class WizardPage3: public wxWizardPageSimple
{
DECLARE_DYNAMIC_CLASS( WizardPage3 )
DECLARE_EVENT_TABLE()
public:
/// Constructors
WizardPage3();
WizardPage3( wxWizard* parent );
/// Creation
bool Create( wxWizard* parent );
/// Destructor
~WizardPage3();
/// Initialises member variables
void Init();
/// Creates the controls and sizers
void CreateControls();
private:
////@begin WizardPage3 event handler declarations
/// wxEVT_WIZARD_PAGE_CHANGED event handler for ID_WIZARDPAGE_CLICK2
void OnWizardpage3Changed( wxWizardEvent& event );
/// wxEVT_LEFT_DOWN event handler for ID_TOGGLE_TEST
void OnLeftDownTest( wxMouseEvent& event );
/// wxEVT_LEFT_UP event handler for ID_TOGGLE_TEST
void OnLeftUpTest( wxMouseEvent& event );
/// wxEVT_LEFT_DCLICK event handler for ID_TOGGLE_TEST
void OnLeftDClickTest( wxMouseEvent& event );
/// wxEVT_MIDDLE_UP event handler for ID_TOGGLE_TEST
void OnMiddleUpTest( wxMouseEvent& event );
/// wxEVT_RIGHT_UP event handler for ID_TOGGLE_TEST
void OnRightUpTest( wxMouseEvent& event );
/// wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_RADIOBUTTON_DWELL_CLICK
void OnRadiobuttonDwellClickSelected( wxCommandEvent& event );
#if defined(__WXGTK__)
/// wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_RADIOBUTTON_GESTURE_CLICK
void OnRadiobuttonGestureClickSelected( wxCommandEvent& event );
#endif
/// wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_RADIOBUTTON_NONE_CLICK
void OnRadiobuttonNoneClickSelected( wxCommandEvent& event );
/// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_TOGGLE_HEAD_TRACKING_PAGE3
void OnToggleHeadTrackingPage3Click( wxCommandEvent& event );
/// wxEVT_UPDATE_UI event handler for ID_TOGGLE_HEAD_TRACKING_PAGE3
void OnToggleHeadTrackingPage3Update( wxUpdateUIEvent& event );
////@end WizardPage3 event handler declarations
////@begin WizardPage3 member function declarations
/// Retrieves bitmap resources
wxBitmap GetBitmapResource( const wxString& name );
/// Retrieves icon resources
wxIcon GetIconResource( const wxString& name );
////@end WizardPage3 member function declarations
/// Should we show tooltips?
static bool ShowToolTips();
void UpdateRadioButtons();
////@begin WizardPage3 member variables
wxToggleButton* m_toggleTest;
wxRadioButton* m_rbDwellClick;
#if defined(__WXGTK__)
wxRadioButton* m_rbGestureClick;
#endif
wxRadioButton* m_rbNoneClick;
wxToggleButton* m_toggleHeadTrackingPage3;
////@end WizardPage3 member variables
WWizard* m_wizardParent;
bool m_isLeftDown;
bool m_isDoubleClick;
wxLongLong m_lastLeftDown;
};
/*!
* WizardPage4 class declaration
*/
class WizardPage4: public wxWizardPageSimple
{
DECLARE_DYNAMIC_CLASS( WizardPage4 )
DECLARE_EVENT_TABLE()
public:
/// Constructors
WizardPage4();
WizardPage4( wxWizard* parent );
/// Creation
bool Create( wxWizard* parent );
/// Destructor
~WizardPage4();
/// Initialises member variables
void Init();
/// Creates the controls and sizers
void CreateControls();
////@begin WizardPage4 event handler declarations
/// wxEVT_WIZARD_PAGE_CHANGED event handler for ID_WIZARDPAGE_FINAL
void OnWizardpageFinalPageChanged( wxWizardEvent& event );
/// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_CHECKBOX1
void OnCheckboxRunWizardAtStartupClick( wxCommandEvent& event );
#if defined(__WXGTK__)
/// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_CHECKBOX3
void OnCheckboxStartupClick( wxCommandEvent& event );
#endif
/// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_CHECKBOX4
void OnCheckboxEnabledAtStartupClick( wxCommandEvent& event );
////@end WizardPage4 event handler declarations
////@begin WizardPage4 member function declarations
/// Retrieves bitmap resources
wxBitmap GetBitmapResource( const wxString& name );
/// Retrieves icon resources
wxIcon GetIconResource( const wxString& name );
////@end WizardPage4 member function declarations
/// Should we show tooltips?
static bool ShowToolTips();
////@begin WizardPage4 member variables
wxCheckBox* m_chkRunWizardAtStartup;
#if defined(__WXGTK__)
wxCheckBox* m_chkStartup;
#endif
wxCheckBox* m_chkEnabledAtStartup;
////@end WizardPage4 member variables
WWizard* m_wizardParent;
};
/*!
* WizardPage5 class declaration
*/
class WizardPage5: public wxWizardPageSimple
{
DECLARE_DYNAMIC_CLASS( WizardPage5 )
DECLARE_EVENT_TABLE()
public:
/// Constructors
WizardPage5();
WizardPage5( wxWizard* parent );
/// Creation
bool Create( wxWizard* parent );
/// Destructor
~WizardPage5();
/// Initialises member variables
void Init();
/// Creates the controls and sizers
void CreateControls();
////@begin WizardPage5 event handler declarations
/// wxEVT_WIZARD_PAGE_CHANGED event handler for ID_WIZARDPAGE_CAMERA
void OnWizardpageCameraPageChanged( wxWizardEvent& event );
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON5
void OnButtonCameraSettingsClick( wxCommandEvent& event );
////@end WizardPage5 event handler declarations
////@begin WizardPage5 member function declarations
/// Retrieves bitmap resources
wxBitmap GetBitmapResource( const wxString& name );
/// Retrieves icon resources
wxIcon GetIconResource( const wxString& name );
////@end WizardPage5 member function declarations
/// Should we show tooltips?
static bool ShowToolTips();
////@begin WizardPage5 member variables
wxStaticText* m_staticCameraName;
wxStaticText* m_staticFramerate;
wxStaticText* m_staticCameraInstructions;
wxButton* m_btnCameraSettings;
////@end WizardPage5 member variables
WWizard* m_wizardParent;
};
/*!
* WizardPage6 class declaration
*/
class WizardPage6: public wxWizardPageSimple
{
DECLARE_DYNAMIC_CLASS( WizardPage6 )
DECLARE_EVENT_TABLE()
public:
/// Constructors
WizardPage6();
WizardPage6( wxWizard* parent );
/// Creation
bool Create( wxWizard* parent );
/// Destructor
~WizardPage6();
/// Initialises member variables
void Init();
/// Creates the controls and sizers
void CreateControls();
////@begin WizardPage6 event handler declarations
/// wxEVT_WIZARD_PAGE_CHANGED event handler for ID_WIZARDPAGE_CALIB3
void OnWizardpageCalib3PageChanged( wxWizardEvent& event );
/// wxEVT_COMMAND_SPINCTRL_UPDATED event handler for ID_SPINCTRL
void OnSpinctrlXSpeedUpdated( wxSpinEvent& event );
/// wxEVT_COMMAND_SPINCTRL_UPDATED event handler for ID_SPINCTRL1
void OnSpinctrlYSpeedUpdated( wxSpinEvent& event );
/// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_TOGGLE_HEAD_TRACKING_PAGE6
void OnToggleHeadTrackingPage6Click( wxCommandEvent& event );
/// wxEVT_UPDATE_UI event handler for ID_TOGGLE_HEAD_TRACKING_PAGE6
void OnToggleHeadTrackingPage6Update( wxUpdateUIEvent& event );
////@end WizardPage6 event handler declarations
////@begin WizardPage6 member function declarations
/// Retrieves bitmap resources
wxBitmap GetBitmapResource( const wxString& name );
/// Retrieves icon resources
wxIcon GetIconResource( const wxString& name );
////@end WizardPage6 member function declarations
/// Should we show tooltips?
static bool ShowToolTips();
////@begin WizardPage6 member variables
wxSpinCtrl* m_spinXSpeed;
wxSpinCtrl* m_spinYSpeed;
wxToggleButton* m_toggleHeadTrackingPage6;
////@end WizardPage6 member variables
WWizard* m_wizardParent;
};
/*!
* WizardPage8 class declaration
*/
class WizardPage8: public wxWizardPageSimple
{
DECLARE_DYNAMIC_CLASS( WizardPage8 )
DECLARE_EVENT_TABLE()
public:
/// Constructors
WizardPage8();
WizardPage8( wxWizard* parent );
/// Creation
bool Create( wxWizard* parent );
/// Destructor
~WizardPage8();
/// Initialises member variables
void Init();
/// Creates the controls and sizers
void CreateControls();
////@begin WizardPage8 event handler declarations
/// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_CHECKBOX_LOCATE_FACE
void OnCheckboxLocateFaceClick( wxCommandEvent& event );
/// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_CHECKBOX_ENABLE_WHEN_FACE_DETECTED
void OnCheckboxEnableWhenFaceDetectedClick( wxCommandEvent& event );
////@end WizardPage8 event handler declarations
////@begin WizardPage8 member function declarations
/// Retrieves bitmap resources
wxBitmap GetBitmapResource( const wxString& name );
/// Retrieves icon resources
wxIcon GetIconResource( const wxString& name );
////@end WizardPage8 member function declarations
/// Should we show tooltips?
static bool ShowToolTips();
////@begin WizardPage8 member variables
wxCheckBox* m_chkLocateFace;
wxCheckBox* m_chkEnableWhenFaceDetected;
////@end WizardPage8 member variables
};
#endif
// _WWIZARD_H_