f4ec6bd20a
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37440 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
250 lines
4.4 KiB
C++
250 lines
4.4 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: contrib/samples/ogl/studio/dialogs.h
|
|
// Purpose: Miscellaneous dialogs
|
|
// Author: Julian Smart
|
|
// Modified by:
|
|
// Created: 12/07/98
|
|
// RCS-ID: $Id$
|
|
// Copyright: (c) Julian Smart
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _STUDIO_DIALOGS_H_
|
|
#define _STUDIO_DIALOGS_H_
|
|
|
|
#include "wx/wx.h"
|
|
#include "wx/notebook.h"
|
|
|
|
#include "wx/ogl/ogl.h" // base header of OGL, includes and adjusts wx/deprecated/setup.h
|
|
|
|
#if wxUSE_WX_RESOURCES
|
|
|
|
/*
|
|
* Label editing dialog (about to become obsolete)
|
|
*/
|
|
|
|
class csLabelEditingDialog: public wxDialog
|
|
{
|
|
DECLARE_CLASS(csLabelEditingDialog)
|
|
public:
|
|
csLabelEditingDialog(wxWindow* parent);
|
|
|
|
void SetShapeLabel(const wxString& label);
|
|
inline wxString GetShapeLabel() const { return m_label; }
|
|
|
|
void OnOK(wxCommandEvent& event);
|
|
|
|
protected:
|
|
wxString m_label;
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
/*
|
|
* Settings dialog (tabbed)
|
|
*/
|
|
|
|
class csSettingsDialog: public wxDialog
|
|
{
|
|
DECLARE_CLASS(csSettingsDialog)
|
|
public:
|
|
csSettingsDialog(wxWindow* parent);
|
|
|
|
void OnOK(wxCommandEvent& event);
|
|
|
|
virtual bool TransferDataToWindow();
|
|
virtual bool TransferDataFromWindow();
|
|
|
|
protected:
|
|
|
|
wxPanel* m_generalSettings;
|
|
wxPanel* m_diagramSettings;
|
|
wxNotebook* m_notebook;
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
#define ID_PROPERTY_NOTEBOOK 1000
|
|
#define ID_GENERAL_SETTINGS 1002
|
|
#define ID_DIAGRAM_SETTINGS 1003
|
|
|
|
/*
|
|
* csGeneralShapePropertiesDialog
|
|
* Name, description etc.
|
|
*/
|
|
|
|
class csGeneralShapePropertiesDialog: public wxPanel
|
|
{
|
|
DECLARE_CLASS(csGeneralShapePropertiesDialog)
|
|
public:
|
|
csGeneralShapePropertiesDialog();
|
|
|
|
void SetShapeLabel(const wxString& label);
|
|
inline wxString GetShapeLabel() const { return m_label; }
|
|
|
|
protected:
|
|
wxString m_label;
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
/*
|
|
* Shape properties dialog (tabbed)
|
|
*/
|
|
|
|
class csShapePropertiesDialog: public wxDialog
|
|
{
|
|
DECLARE_CLASS(csShapePropertiesDialog)
|
|
public:
|
|
csShapePropertiesDialog(wxWindow* parent, const wxString& title, wxPanel* attributeDialog, const wxString& attributeDialogName);
|
|
|
|
void OnOK(wxCommandEvent& event);
|
|
|
|
// Set some suitable defaults in the attribute dialogs (in the first instance,
|
|
// just set all wxChoices to the first element)
|
|
void SetDefaults();
|
|
|
|
// Accessors
|
|
csGeneralShapePropertiesDialog* GetGeneralPropertiesDialog() const { return m_generalPropertiesDialog; }
|
|
|
|
|
|
protected:
|
|
|
|
// Attributes, specific to each shape
|
|
wxPanel* m_attributeDialog;
|
|
wxPanel* m_alternativeAttributeDialog;
|
|
|
|
// General properties, same for each shape, e.g. name/description
|
|
csGeneralShapePropertiesDialog* m_generalPropertiesDialog;
|
|
|
|
wxNotebook* m_notebook;
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
#endif // wxUSE_WX_RESOURCES
|
|
|
|
#define ID_SHAPE_PROPERTY_NOTEBOOK 1000
|
|
|
|
//// Specific attribute-editing panel classes below here
|
|
|
|
/*
|
|
* csThinRectangleDialog
|
|
*/
|
|
|
|
class csThinRectangleDialog: public wxPanel
|
|
{
|
|
DECLARE_CLASS(csThinRectangleDialog)
|
|
public:
|
|
csThinRectangleDialog();
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
/*
|
|
* csWideRectangleDialog
|
|
*/
|
|
|
|
class csWideRectangleDialog: public wxPanel
|
|
{
|
|
DECLARE_CLASS(csWideRectangleDialog)
|
|
public:
|
|
csWideRectangleDialog();
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
/*
|
|
* csTriangleDialog
|
|
*/
|
|
|
|
class csTriangleDialog: public wxPanel
|
|
{
|
|
DECLARE_CLASS(csTriangleDialog)
|
|
public:
|
|
csTriangleDialog();
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
/*
|
|
* csSemiCircleDialog
|
|
*/
|
|
|
|
class csSemiCircleDialog: public wxPanel
|
|
{
|
|
DECLARE_CLASS(csSemiCircleDialog)
|
|
public:
|
|
csSemiCircleDialog();
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
/*
|
|
* csCircleDialog
|
|
*/
|
|
|
|
class csCircleDialog: public wxPanel
|
|
{
|
|
DECLARE_CLASS(csCircleDialog)
|
|
public:
|
|
csCircleDialog();
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
/*
|
|
* csCircleShadowDialog
|
|
*/
|
|
|
|
class csCircleShadowDialog: public wxPanel
|
|
{
|
|
DECLARE_CLASS(csCircleShadowDialog)
|
|
public:
|
|
csCircleShadowDialog();
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
/*
|
|
* csOctagonDialog
|
|
*/
|
|
|
|
class csOctagonDialog: public wxPanel
|
|
{
|
|
DECLARE_CLASS(csOctagonDialog)
|
|
public:
|
|
csOctagonDialog();
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
/*
|
|
* csGroupDialog
|
|
*/
|
|
|
|
class csGroupDialog: public wxPanel
|
|
{
|
|
DECLARE_CLASS(csGroupDialog)
|
|
public:
|
|
csGroupDialog();
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
/*
|
|
* csTextBoxDialog
|
|
*/
|
|
|
|
class csTextBoxDialog: public wxPanel
|
|
{
|
|
DECLARE_CLASS(csTextBoxDialog)
|
|
public:
|
|
csTextBoxDialog();
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
#endif
|
|
// _STUDIO_DIALOGS_H_
|