/////////////////////////////////////////////////////////////////////////////
// Name: wcameradialog.h
// Purpose:
// Author: Cesar Mauri Loba
// Modified by:
// Created: Fri 22 Oct 2010 10:02:49 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 _WCAMERADIALOG_H_
#define _WCAMERADIALOG_H_
/*!
* Includes
*/
////@begin includes
////@end includes
#include
/*!
* Forward declarations
*/
////@begin forward declarations
class wxFlexGridSizer;
////@end forward declarations
class CCamera;
class CCameraControl;
class wxScrolledWindow;
class wxSlider;
/*!
* Control identifiers
*/
////@begin control identifiers
#define ID_WCAMERADIALOG 10104
#define ID_PANEL2 10123
#define ID_SCROLLEDWINDOW1 10111
#define ID_BUTTON_CAMDIALOG_CLOSE 10124
#define SYMBOL_WCAMERADIALOG_STYLE wxCAPTION|wxSYSTEM_MENU|wxCLOSE_BOX|wxTAB_TRAVERSAL
#define SYMBOL_WCAMERADIALOG_TITLE _("Camera settings")
#define SYMBOL_WCAMERADIALOG_IDNAME ID_WCAMERADIALOG
#define SYMBOL_WCAMERADIALOG_SIZE wxDefaultSize
#define SYMBOL_WCAMERADIALOG_POSITION wxDefaultPosition
////@end control identifiers
union ControlType
{
wxSlider* slider;
wxCheckBox* checkbox;
wxChoice* choice;
wxButton* button;
};
struct ControlInfo
{
const CCameraControl* cc;
ControlType type;
wxTextCtrl* textCtrl;
};
using namespace std;
/*!
* WCameraDialog class declaration
*/
class WCameraDialog: public wxDialog
{
DECLARE_DYNAMIC_CLASS( WCameraDialog )
DECLARE_EVENT_TABLE()
public:
/// Constructors
WCameraDialog();
WCameraDialog( wxWindow* parent, wxWindowID id = SYMBOL_WCAMERADIALOG_IDNAME, const wxString& caption = SYMBOL_WCAMERADIALOG_TITLE, const wxPoint& pos = SYMBOL_WCAMERADIALOG_POSITION, const wxSize& size = SYMBOL_WCAMERADIALOG_SIZE, long style = SYMBOL_WCAMERADIALOG_STYLE );
WCameraDialog( wxWindow* parent, CCamera* pCamera, wxWindowID id = SYMBOL_WCAMERADIALOG_IDNAME, const wxString& caption = SYMBOL_WCAMERADIALOG_TITLE, const wxPoint& pos = SYMBOL_WCAMERADIALOG_POSITION, const wxSize& size = SYMBOL_WCAMERADIALOG_SIZE, long style = SYMBOL_WCAMERADIALOG_STYLE );
/// Creation
bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WCAMERADIALOG_IDNAME, const wxString& caption = SYMBOL_WCAMERADIALOG_TITLE, const wxPoint& pos = SYMBOL_WCAMERADIALOG_POSITION, const wxSize& size = SYMBOL_WCAMERADIALOG_SIZE, long style = SYMBOL_WCAMERADIALOG_STYLE );
/// Destructor
~WCameraDialog();
/// Initialises member variables
void Init();
/// Creates the controls and sizers
void CreateControls();
////@begin WCameraDialog event handler declarations
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON_CAMDIALOG_CLOSE
void OnButtonCamdialogCloseClick( wxCommandEvent& event );
////@end WCameraDialog event handler declarations
void OnCheckboxClick( wxCommandEvent& event );
void OnChoiceSelected( wxCommandEvent& event );
void OnSliderUpdated( wxCommandEvent& event );
void OnButtonClick( wxCommandEvent& event );
////@begin WCameraDialog member function declarations
/// Retrieves bitmap resources
wxBitmap GetBitmapResource( const wxString& name );
/// Retrieves icon resources
wxIcon GetIconResource( const wxString& name );
////@end WCameraDialog member function declarations
/// Should we show tooltips?
static bool ShowToolTips();
void CreateCameraControlWidget (const CCameraControl& cc, wxWindow* parent, wxSizer* sizer);
////@begin WCameraDialog member variables
wxScrolledWindow* m_scrollWindow;
wxFlexGridSizer* m_controlsSizer;
////@end WCameraDialog member variables
CCamera* m_pCamera;
int m_lastId;
vector m_controlList;
};
#endif
// _WCAMERADIALOG_H_