X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b2c36e35494f0105f942069fa0d717b2d9a6fa36..438959cca892a7651634cc3a7aad4819ac49b23c:/include/wx/propgrid/advprops.h diff --git a/include/wx/propgrid/advprops.h b/include/wx/propgrid/advprops.h index c13993e637..860b89029b 100644 --- a/include/wx/propgrid/advprops.h +++ b/include/wx/propgrid/advprops.h @@ -4,31 +4,27 @@ // Author: Jaakko Salli // Modified by: // Created: 2004-09-25 -// RCS-ID: $Id: +// RCS-ID: $Id$ // Copyright: (c) Jaakko Salli -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_PROPGRID_ADVPROPS_H_ #define _WX_PROPGRID_ADVPROPS_H_ +#include "wx/defs.h" + #if wxUSE_PROPGRID #include "wx/propgrid/props.h" // ----------------------------------------------------------------------- - // // Additional Value Type Handlers // -#ifndef SWIG -bool WXDLLIMPEXP_PROPGRID operator==(const wxFont&, const wxFont&); - bool WXDLLIMPEXP_PROPGRID operator==(const wxArrayInt& array1, const wxArrayInt& array2); -#endif - // // Additional Property Editors @@ -125,47 +121,31 @@ public: Init( type, colour ); } -#ifndef SWIG void operator=(const wxColourPropertyValue& cpv) { - Init( cpv.m_type, cpv.m_colour ); + if (this != &cpv) + Init( cpv.m_type, cpv.m_colour ); } private: DECLARE_DYNAMIC_CLASS(wxColourPropertyValue) -#endif }; -#ifndef SWIG bool WXDLLIMPEXP_PROPGRID operator==(const wxColourPropertyValue&, const wxColourPropertyValue&); DECLARE_VARIANT_OBJECT_EXPORTED(wxColourPropertyValue, WXDLLIMPEXP_PROPGRID) -#endif - -#ifndef SWIG - #define wxPG_EMPTY_CPV (*((wxColourPropertyValue*)NULL)) - #define wxPG_NORMAL_FONT (*wxNORMAL_FONT) -#else - #define wxPG_EMPTY_CPV wxCPV_wxPG_EMPTY - #define wxPG_NORMAL_FONT wxFONT_wxPG_NORMAL_FONT -#endif - - // ----------------------------------------------------------------------- // Declare part of custom colour property macro pairs. -#if wxUSE_IMAGE || defined(SWIG) +#if wxUSE_IMAGE #include "wx/image.h" #endif // ----------------------------------------------------------------------- -// Exclude class from wxPython bindings -#ifndef SWIG - /** @class wxFontProperty @ingroup classes Property representing wxFont. @@ -180,18 +160,17 @@ public: const wxFont& value = wxFont()); virtual ~wxFontProperty(); virtual void OnSetValue(); - virtual wxString GetValueAsString( int argFlags = 0 ) const; + virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const; virtual bool OnEvent( wxPropertyGrid* propgrid, wxWindow* primary, wxEvent& event ); - virtual void ChildChanged( wxVariant& thisValue, - int childIndex, wxVariant& childValue ) const; + virtual wxVariant ChildChanged( wxVariant& thisValue, + int childIndex, + wxVariant& childValue ) const; virtual void RefreshChildren(); protected: }; -#endif // !SWIG - // ----------------------------------------------------------------------- @@ -224,14 +203,15 @@ public: Override in derived class to customize how colours are printed as strings. */ - virtual wxString ColourToString( const wxColour& col, int index ) const; + virtual wxString ColourToString( const wxColour& col, int index, + int argFlags = 0 ) const; /** Returns index of entry that triggers colour picker dialog (default is last). */ virtual int GetCustomColourIndex() const; - virtual wxString GetValueAsString( int argFlags = 0 ) const; + virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const; virtual bool StringToValue( wxVariant& variant, const wxString& text, int argFlags = 0 ) const; @@ -256,10 +236,10 @@ protected: // Special constructors to be used by derived classes. wxSystemColourProperty( const wxString& label, const wxString& name, - const wxChar** labels, const long* values, wxPGChoices* choicesCache, + const wxChar* const* labels, const long* values, wxPGChoices* choicesCache, const wxColourPropertyValue& value ); wxSystemColourProperty( const wxString& label, const wxString& name, - const wxChar** labels, const long* values, wxPGChoices* choicesCache, + const wxChar* const* labels, const long* values, wxPGChoices* choicesCache, const wxColour& value ); void Init( int type, const wxColour& colour ); @@ -282,11 +262,24 @@ protected: // ----------------------------------------------------------------------- -WX_PG_DECLARE_CUSTOM_COLOUR_PROPERTY_USES_WXCOLOUR_WITH_DECL( - wxColourProperty, class WXDLLIMPEXP_PROPGRID) +class WXDLLIMPEXP_PROPGRID wxColourProperty : public wxSystemColourProperty +{ + WX_PG_DECLARE_PROPERTY_CLASS(wxColourProperty) +public: + wxColourProperty( const wxString& label = wxPG_LABEL, + const wxString& name = wxPG_LABEL, + const wxColour& value = *wxWHITE ); + virtual ~wxColourProperty(); + + virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const; + virtual wxColour GetColour( int index ) const; + +protected: + virtual wxVariant DoTranslateVal( wxColourPropertyValue& v ) const; -// Exclude classes from wxPython bindings -#ifndef SWIG +private: + void Init( wxColour colour ); +}; // ----------------------------------------------------------------------- @@ -341,7 +334,7 @@ protected: #endif -#if wxUSE_CHOICEDLG || defined(SWIG) +#if wxUSE_CHOICEDLG /** @class wxMultiChoiceProperty @ingroup classes @@ -364,7 +357,6 @@ public: const wxString& name, const wxArrayString& strings, const wxArrayString& value ); -#ifndef SWIG wxMultiChoiceProperty( const wxString& label, const wxString& name, const wxPGChoices& choices, @@ -373,11 +365,11 @@ public: wxMultiChoiceProperty( const wxString& label = wxPG_LABEL, const wxString& name = wxPG_LABEL, const wxArrayString& value = wxArrayString() ); -#endif + virtual ~wxMultiChoiceProperty(); virtual void OnSetValue(); - virtual wxString GetValueAsString( int flags = 0 ) const; + virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const; virtual bool StringToValue(wxVariant& variant, const wxString& text, int argFlags = 0) const; @@ -391,7 +383,7 @@ public: protected: - void GenerateValueAsString(); + void GenerateValueAsString( wxVariant& value, wxString* target ) const; // Returns translation of values into string indices. wxArrayInt GetValueAsIndices() const; @@ -415,7 +407,8 @@ protected: Supported special attributes: - "DateFormat": Determines displayed date format. - "PickerStyle": Determines window style used with wxDatePickerCtrl. - Default is wxDP_DEFAULT | wxDP_SHOWCENTURY. + Default is wxDP_DEFAULT | wxDP_SHOWCENTURY. Using wxDP_ALLOWNONE + enables additional support for unspecified property value. */ class WXDLLIMPEXP_PROPGRID wxDateProperty : public wxPGProperty { @@ -427,7 +420,8 @@ public: const wxDateTime& value = wxDateTime() ); virtual ~wxDateProperty(); - virtual wxString GetValueAsString( int flags = 0 ) const; + virtual void OnSetValue(); + virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const; virtual bool StringToValue(wxVariant& variant, const wxString& text, int argFlags = 0) const; @@ -471,8 +465,6 @@ protected: #endif // wxUSE_DATETIME -#endif // !SWIG - // ----------------------------------------------------------------------- #if wxUSE_SPINBTN @@ -499,13 +491,15 @@ protected: // used for event handling here. class WXDLLIMPEXP_PROPGRID wxPGSpinCtrlEditor : public wxPGTextCtrlEditor { - WX_PG_DECLARE_EDITOR_CLASS(wxPGSpinCtrlEditor) + DECLARE_DYNAMIC_CLASS(wxPGSpinCtrlEditor) public: virtual ~wxPGSpinCtrlEditor(); - // See below for short explanations of what these are suppposed to do. - wxPG_DECLARE_CREATECONTROLS - + wxString GetName() const; + virtual wxPGWindowList CreateControls(wxPropertyGrid* propgrid, + wxPGProperty* property, + const wxPoint& pos, + const wxSize& size) const; virtual bool OnEvent( wxPropertyGrid* propgrid, wxPGProperty* property, wxWindow* wnd, wxEvent& event ) const;