| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: samples/propgrid/sampleprops.h
- // Purpose: wxPropertyGrid Sample Properties Header
- // Author: Jaakko Salli
- // Modified by:
- // Created: 2006-03-05
- // Copyright: (c) Jaakko Salli
- // Licence: wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
- #ifndef _WX_SAMPLES_PROPGRID_SAMPLEPROPS_H_
- #define _WX_SAMPLES_PROPGRID_SAMPLEPROPS_H_
- #include "wx/fontdata.h"
- DECLARE_VARIANT_OBJECT(wxFontData)
- class wxFontDataProperty : public wxFontProperty
- {
- WX_PG_DECLARE_PROPERTY_CLASS(wxFontDataProperty)
- public:
- wxFontDataProperty( const wxString& label = wxPG_LABEL,
- const wxString& name = wxPG_LABEL,
- const wxFontData& value = wxFontData() );
- virtual ~wxFontDataProperty ();
- void OnSetValue();
- // In order to have different value type in a derived property
- // class, we will override GetValue to return custom variant,
- // instead of changing the base m_value. This allows the methods
- // in base class to function properly.
- virtual wxVariant DoGetValue() const;
- virtual wxVariant ChildChanged( wxVariant& thisValue,
- int childIndex,
- wxVariant& childValue ) const;
- virtual void RefreshChildren();
- virtual bool OnEvent( wxPropertyGrid* propgrid, wxWindow* primary, wxEvent& event );
- protected:
- // Value must be stored as variant - otherwise it will be
- // decreffed to oblivion on GetValue().
- wxVariant m_value_wxFontData;
- };
- // -----------------------------------------------------------------------
- class wxSizeProperty : public wxPGProperty
- {
- WX_PG_DECLARE_PROPERTY_CLASS(wxSizeProperty)
- public:
- wxSizeProperty( const wxString& label = wxPG_LABEL, const wxString& name = wxPG_LABEL,
- const wxSize& value = wxSize() );
- virtual ~wxSizeProperty();
- virtual wxVariant ChildChanged( wxVariant& thisValue,
- int childIndex,
- wxVariant& childValue ) const;
- virtual void RefreshChildren();
- protected:
- // I stands for internal
- void SetValueI( const wxSize& value )
- {
- m_value = WXVARIANT(value);
- }
- };
- // -----------------------------------------------------------------------
- class wxPointProperty : public wxPGProperty
- {
- WX_PG_DECLARE_PROPERTY_CLASS(wxPointProperty)
- public:
- wxPointProperty( const wxString& label = wxPG_LABEL, const wxString& name = wxPG_LABEL,
- const wxPoint& value = wxPoint() );
- virtual ~wxPointProperty();
- virtual wxVariant ChildChanged( wxVariant& thisValue,
- int childIndex,
- wxVariant& childValue ) const;
- virtual void RefreshChildren();
- protected:
- // I stands for internal
- void SetValueI( const wxPoint& value )
- {
- m_value = WXVARIANT(value);
- }
- };
- // -----------------------------------------------------------------------
- WX_PG_DECLARE_ARRAYSTRING_PROPERTY_WITH_VALIDATOR_WITH_DECL(wxDirsProperty, class wxEMPTY_PARAMETER_VALUE)
- // -----------------------------------------------------------------------
- WX_PG_DECLARE_VARIANT_DATA(wxArrayDouble)
- class wxArrayDoubleProperty : public wxPGProperty
- {
- WX_PG_DECLARE_PROPERTY_CLASS(wxArrayDoubleProperty)
- public:
- wxArrayDoubleProperty( const wxString& label = wxPG_LABEL,
- const wxString& name = wxPG_LABEL,
- const wxArrayDouble& value = wxArrayDouble() );
- virtual ~wxArrayDoubleProperty ();
- virtual void OnSetValue();
- virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
- virtual bool StringToValue( wxVariant& variant,
- const wxString& text,
- int argFlags = 0 ) const;
- virtual bool OnEvent( wxPropertyGrid* propgrid, wxWindow* primary, wxEvent& event );
- virtual bool DoSetAttribute( const wxString& name, wxVariant& value );
- // Generates cache for displayed text
- virtual void GenerateValueAsString ( wxString& target, int prec, bool removeZeroes ) const;
- protected:
- wxString m_display; // Stores cache for displayed text
- int m_precision; // Used when formatting displayed string.
- wxChar m_delimiter; // Delimiter between array entries.
- };
- // -----------------------------------------------------------------------
- #endif // _WX_SAMPLES_PROPGRID_SAMPLEPROPS_H_
|