git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6407 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			249 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			249 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        dialogs.h
 | 
						|
// Purpose:     Miscellaneous dialogs
 | 
						|
// Author:      Julian Smart
 | 
						|
// Modified by:
 | 
						|
// Created:     12/07/98
 | 
						|
// RCS-ID:      $Id$
 | 
						|
// Copyright:   (c) Julian Smart
 | 
						|
// Licence:
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
#ifndef _STUDIO_DIALOGS_H_
 | 
						|
#define _STUDIO_DIALOGS_H_
 | 
						|
 | 
						|
#ifdef __GNUG__
 | 
						|
// #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_
 |