ac1d0a3a9d
Added wxArrayDoubleProperty::ValidateValue() method checks if pending value is of proper type (wxArrayDouble). Pending value of improper type is used to signal that invalid numeric value was entered into the edit field. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78513 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
142 lines
4.9 KiB
C++
142 lines
4.9 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// 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() wxOVERRIDE;
|
|
|
|
// 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 wxOVERRIDE;
|
|
|
|
virtual wxVariant ChildChanged( wxVariant& thisValue,
|
|
int childIndex,
|
|
wxVariant& childValue ) const wxOVERRIDE;
|
|
virtual void RefreshChildren() wxOVERRIDE;
|
|
virtual bool OnEvent( wxPropertyGrid* propgrid, wxWindow* primary, wxEvent& event ) wxOVERRIDE;
|
|
|
|
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 wxOVERRIDE;
|
|
virtual void RefreshChildren() wxOVERRIDE;
|
|
|
|
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 wxOVERRIDE;
|
|
virtual void RefreshChildren() wxOVERRIDE;
|
|
|
|
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() wxOVERRIDE;
|
|
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const wxOVERRIDE;
|
|
virtual bool StringToValue( wxVariant& variant,
|
|
const wxString& text,
|
|
int argFlags = 0 ) const wxOVERRIDE;
|
|
virtual bool OnEvent( wxPropertyGrid* propgrid, wxWindow* primary, wxEvent& event ) wxOVERRIDE;
|
|
virtual bool DoSetAttribute( const wxString& name, wxVariant& value ) wxOVERRIDE;
|
|
|
|
// Generates cache for displayed text
|
|
virtual void GenerateValueAsString ( wxString& target, int prec, bool removeZeroes ) const;
|
|
|
|
wxValidator* DoGetValidator() const wxOVERRIDE;
|
|
bool ValidateValue(wxVariant& value,
|
|
wxPGValidationInfo& validationInfo) const wxOVERRIDE;
|
|
|
|
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_
|