home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
wxos2240.zip
/
wxWindows-2.4.0
/
contrib
/
samples
/
ogl
/
studio
/
dialogs.h
< prev
next >
Wrap
C/C++ Source or Header
|
2002-09-07
|
5KB
|
249 lines
/////////////////////////////////////////////////////////////////////////////
// Name: dialogs.h
// Purpose: Miscellaneous dialogs
// Author: Julian Smart
// Modified by:
// Created: 12/07/98
// RCS-ID: $Id: dialogs.h,v 1.2 2002/09/07 12:12:22 GD Exp $
// Copyright: (c) Julian Smart
// Licence:
/////////////////////////////////////////////////////////////////////////////
#ifndef _STUDIO_DIALOGS_H_
#define _STUDIO_DIALOGS_H_
#if defined(__GNUG__) && !defined(__APPLE__)
// #pragma interface
#endif
#include <wx/wx.h>
#include <wx/notebook.h>
/*
* 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()
};
#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_