Updated documentation for some wxPropertyGrid classes.
Updated documentation for wxPGEditor, wxPropertyGridPage, wxPropertyGridManager, wx*Property classes. Removed doxygen-style comments from header files.
This commit is contained in:
@@ -47,35 +47,26 @@ WX_PG_DECLARE_EDITOR_WITH_DECL(DatePickerCtrl,WXDLLIMPEXP_PROPGRID)
|
||||
#define wxPG_COLOUR_CUSTOM 0xFFFFFF
|
||||
#define wxPG_COLOUR_UNSPECIFIED (wxPG_COLOUR_CUSTOM+1)
|
||||
|
||||
/** @class wxColourPropertyValue
|
||||
|
||||
Because text, background and other colours tend to differ between
|
||||
platforms, wxSystemColourProperty must be able to select between system
|
||||
colour and, when necessary, to pick a custom one. wxSystemColourProperty
|
||||
value makes this possible.
|
||||
*/
|
||||
// Because text, background and other colours tend to differ between
|
||||
// platforms, wxSystemColourProperty must be able to select between system
|
||||
// colour and, when necessary, to pick a custom one. wxSystemColourProperty
|
||||
// value makes this possible.
|
||||
class WXDLLIMPEXP_PROPGRID wxColourPropertyValue : public wxObject
|
||||
{
|
||||
public:
|
||||
/** An integer value relating to the colour, and which exact
|
||||
meaning depends on the property with which it is used.
|
||||
|
||||
For wxSystemColourProperty:
|
||||
|
||||
Any of wxSYS_COLOUR_XXX, or any web-colour ( use wxPG_TO_WEB_COLOUR
|
||||
macro - (currently unsupported) ), or wxPG_COLOUR_CUSTOM.
|
||||
|
||||
For custom colour properties without values array specified:
|
||||
|
||||
index or wxPG_COLOUR_CUSTOM
|
||||
|
||||
For custom colour properties <b>with</b> values array specified:
|
||||
|
||||
m_arrValues[index] or wxPG_COLOUR_CUSTOM
|
||||
*/
|
||||
// An integer value relating to the colour, and which exact
|
||||
// meaning depends on the property with which it is used.
|
||||
// For wxSystemColourProperty:
|
||||
// Any of wxSYS_COLOUR_XXX, or any web-colour ( use wxPG_TO_WEB_COLOUR
|
||||
// macro - (currently unsupported) ), or wxPG_COLOUR_CUSTOM.
|
||||
//
|
||||
// For custom colour properties without values array specified:
|
||||
// index or wxPG_COLOUR_CUSTOM
|
||||
// For custom colour properties with values array specified:
|
||||
// m_arrValues[index] or wxPG_COLOUR_CUSTOM
|
||||
wxUint32 m_type;
|
||||
|
||||
/** Resulting colour. Should be correct regardless of type. */
|
||||
// Resulting colour. Should be correct regardless of type.
|
||||
wxColour m_colour;
|
||||
|
||||
wxColourPropertyValue()
|
||||
@@ -145,10 +136,7 @@ DECLARE_VARIANT_OBJECT_EXPORTED(wxColourPropertyValue, WXDLLIMPEXP_PROPGRID)
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
/** @class wxFontProperty
|
||||
@ingroup classes
|
||||
Property representing wxFont.
|
||||
*/
|
||||
// Property representing wxFont.
|
||||
class WXDLLIMPEXP_PROPGRID wxFontProperty : public wxPGProperty
|
||||
{
|
||||
WX_PG_DECLARE_PROPERTY_CLASS(wxFontProperty)
|
||||
@@ -173,15 +161,12 @@ protected:
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
|
||||
/** If set, then match from list is searched for a custom colour. */
|
||||
// If set, then match from list is searched for a custom colour.
|
||||
#define wxPG_PROP_TRANSLATE_CUSTOM wxPG_PROP_CLASS_SPECIFIC_1
|
||||
|
||||
|
||||
/** @class wxSystemColourProperty
|
||||
@ingroup classes
|
||||
Has dropdown list of wxWidgets system colours. Value used is
|
||||
of wxColourPropertyValue type.
|
||||
*/
|
||||
// Has dropdown list of wxWidgets system colours. Value used is
|
||||
// of wxColourPropertyValue type.
|
||||
class WXDLLIMPEXP_PROPGRID wxSystemColourProperty : public wxEnumProperty
|
||||
{
|
||||
WX_PG_DECLARE_PROPERTY_CLASS(wxSystemColourProperty)
|
||||
@@ -198,16 +183,13 @@ public:
|
||||
int number,
|
||||
int argFlags = 0) const wxOVERRIDE;
|
||||
|
||||
/**
|
||||
Override in derived class to customize how colours are printed as
|
||||
strings.
|
||||
*/
|
||||
// Override in derived class to customize how colours are printed as
|
||||
// strings.
|
||||
virtual wxString ColourToString( const wxColour& col, int index,
|
||||
int argFlags = 0 ) const;
|
||||
|
||||
/** Returns index of entry that triggers colour picker dialog
|
||||
(default is last).
|
||||
*/
|
||||
// Returns index of entry that triggers colour picker dialog
|
||||
// (default is last).
|
||||
virtual int GetCustomColourIndex() const;
|
||||
|
||||
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const wxOVERRIDE;
|
||||
@@ -224,9 +206,8 @@ public:
|
||||
// Helper function to show the colour dialog
|
||||
bool QueryColourFromUser( wxVariant& variant ) const;
|
||||
|
||||
/** Default is to use wxSystemSettings::GetColour(index). Override to use
|
||||
custom colour tables etc.
|
||||
*/
|
||||
// Default is to use wxSystemSettings::GetColour(index). Override to use
|
||||
// custom colour tables etc.
|
||||
virtual wxColour GetColour( int index ) const;
|
||||
|
||||
wxColourPropertyValue GetVal( const wxVariant* pVariant = NULL ) const;
|
||||
@@ -282,10 +263,7 @@ private:
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
/** @class wxCursorProperty
|
||||
@ingroup classes
|
||||
Property representing wxCursor.
|
||||
*/
|
||||
// Property representing wxCursor.
|
||||
class WXDLLIMPEXP_PROPGRID wxCursorProperty : public wxEnumProperty
|
||||
{
|
||||
wxDECLARE_DYNAMIC_CLASS(wxCursorProperty);
|
||||
@@ -306,10 +284,7 @@ class WXDLLIMPEXP_PROPGRID wxCursorProperty : public wxEnumProperty
|
||||
|
||||
WXDLLIMPEXP_PROPGRID const wxString& wxPGGetDefaultImageWildcard();
|
||||
|
||||
/** @class wxImageFileProperty
|
||||
@ingroup classes
|
||||
Property representing image file(name).
|
||||
*/
|
||||
// Property representing image file(name).
|
||||
class WXDLLIMPEXP_PROPGRID wxImageFileProperty : public wxFileProperty
|
||||
{
|
||||
wxDECLARE_DYNAMIC_CLASS(wxImageFileProperty);
|
||||
@@ -339,18 +314,9 @@ private:
|
||||
|
||||
#if wxUSE_CHOICEDLG
|
||||
|
||||
/** @class wxMultiChoiceProperty
|
||||
@ingroup classes
|
||||
Property that manages a value resulting from wxMultiChoiceDialog. Value is
|
||||
array of strings. You can get value as array of choice values/indices by
|
||||
calling wxMultiChoiceProperty::GetValueAsArrayInt().
|
||||
|
||||
<b>Supported special attributes:</b>
|
||||
- "UserStringMode": If > 0, allow user to manually enter strings that are
|
||||
not in the list of choices. If this value is 1, user strings are
|
||||
preferably placed in front of valid choices. If value is 2, then those
|
||||
strings will placed behind valid choices.
|
||||
*/
|
||||
// Property that manages a value resulting from wxMultiChoiceDialog. Value is
|
||||
// array of strings. You can get value as array of choice values/indices by
|
||||
// calling wxMultiChoiceProperty::GetValueAsArrayInt().
|
||||
class WXDLLIMPEXP_PROPGRID wxMultiChoiceProperty : public wxPGProperty
|
||||
{
|
||||
WX_PG_DECLARE_PROPERTY_CLASS(wxMultiChoiceProperty)
|
||||
@@ -403,16 +369,7 @@ protected:
|
||||
|
||||
#if wxUSE_DATETIME
|
||||
|
||||
/** @class wxDateProperty
|
||||
@ingroup classes
|
||||
Property representing wxDateTime.
|
||||
|
||||
<b>Supported special attributes:</b>
|
||||
- "DateFormat": Determines displayed date format.
|
||||
- "PickerStyle": Determines window style used with wxDatePickerCtrl.
|
||||
Default is wxDP_DEFAULT | wxDP_SHOWCENTURY. Using wxDP_ALLOWNONE
|
||||
enables additional support for unspecified property value.
|
||||
*/
|
||||
// Property representing wxDateTime.
|
||||
class WXDLLIMPEXP_PROPGRID wxDateProperty : public wxPGProperty
|
||||
{
|
||||
WX_PG_DECLARE_PROPERTY_CLASS(wxDateProperty)
|
||||
|
@@ -49,136 +49,98 @@ public:
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
/** @class wxPGEditor
|
||||
|
||||
Base class for custom wxPropertyGrid editors.
|
||||
|
||||
@remarks
|
||||
- Names of builtin property editors are: TextCtrl, Choice,
|
||||
ComboBox, CheckBox, TextCtrlAndButton, and ChoiceAndButton. Additional
|
||||
editors include SpinCtrl and DatePickerCtrl, but using them requires
|
||||
calling wxPropertyGrid::RegisterAdditionalEditors() prior use.
|
||||
|
||||
- Pointer to builtin editor is available as wxPGEditor_EditorName
|
||||
(e.g. wxPGEditor_TextCtrl).
|
||||
|
||||
- To add new editor you need to register it first using static function
|
||||
wxPropertyGrid::RegisterEditorClass(), with code like this:
|
||||
@code
|
||||
wxPGEditor *editorPointer = wxPropertyGrid::RegisterEditorClass(
|
||||
new MyEditorClass(), "MyEditor");
|
||||
@endcode
|
||||
After that, wxPropertyGrid will take ownership of the given object, but
|
||||
you should still store editorPointer somewhere, so you can pass it to
|
||||
wxPGProperty::SetEditor(), or return it from
|
||||
wxPGEditor::DoGetEditorClass().
|
||||
|
||||
@library{wxpropgrid}
|
||||
@category{propgrid}
|
||||
*/
|
||||
// Base class for custom wxPropertyGrid editors.
|
||||
// - Names of builtin property editors are: TextCtrl, Choice,
|
||||
// ComboBox, CheckBox, TextCtrlAndButton, and ChoiceAndButton. Additional
|
||||
// editors include SpinCtrl and DatePickerCtrl, but using them requires
|
||||
// calling wxPropertyGrid::RegisterAdditionalEditors() prior use.
|
||||
// - Pointer to builtin editor is available as wxPGEditor_EditorName
|
||||
// (e.g. wxPGEditor_TextCtrl).
|
||||
// - To add new editor you need to register it first using static function
|
||||
// wxPropertyGrid::RegisterEditorClass(), with code like this:
|
||||
// wxPGEditor *editorPointer = wxPropertyGrid::RegisterEditorClass(
|
||||
// new MyEditorClass(), "MyEditor");
|
||||
// After that, wxPropertyGrid will take ownership of the given object, but
|
||||
// you should still store editorPointer somewhere, so you can pass it to
|
||||
// wxPGProperty::SetEditor(), or return it from
|
||||
// wxPGEditor::DoGetEditorClass().
|
||||
class WXDLLIMPEXP_PROPGRID wxPGEditor : public wxObject
|
||||
{
|
||||
wxDECLARE_ABSTRACT_CLASS(wxPGEditor);
|
||||
public:
|
||||
|
||||
/** Constructor. */
|
||||
// Constructor.
|
||||
wxPGEditor()
|
||||
: wxObject()
|
||||
{
|
||||
m_clientData = NULL;
|
||||
}
|
||||
|
||||
/** Destructor. */
|
||||
// Destructor.
|
||||
virtual ~wxPGEditor();
|
||||
|
||||
/**
|
||||
Returns pointer to the name of the editor. For example,
|
||||
wxPGEditor_TextCtrl has name "TextCtrl". If you don't need to access
|
||||
your custom editor by string name, then you do not need to implement
|
||||
this function.
|
||||
*/
|
||||
// Returns pointer to the name of the editor. For example,
|
||||
// wxPGEditor_TextCtrl has name "TextCtrl". If you don't need to access
|
||||
// your custom editor by string name, then you do not need to implement
|
||||
// this function.
|
||||
virtual wxString GetName() const;
|
||||
|
||||
/**
|
||||
Instantiates editor controls.
|
||||
|
||||
@param propgrid
|
||||
wxPropertyGrid to which the property belongs (use as parent for
|
||||
control).
|
||||
@param property
|
||||
Property for which this method is called.
|
||||
@param pos
|
||||
Position, inside wxPropertyGrid, to create control(s) to.
|
||||
@param size
|
||||
Initial size for control(s).
|
||||
|
||||
@remarks
|
||||
- Unlike in previous version of wxPropertyGrid, it is no longer
|
||||
necessary to call wxEvtHandler::Connect() for interesting editor
|
||||
events. Instead, all events from control are now automatically
|
||||
forwarded to wxPGEditor::OnEvent() and wxPGProperty::OnEvent().
|
||||
*/
|
||||
// Instantiates editor controls.
|
||||
// propgrid- wxPropertyGrid to which the property belongs
|
||||
// (use as parent for control).
|
||||
// property - Property for which this method is called.
|
||||
// pos - Position, inside wxPropertyGrid, to create control(s) to.
|
||||
// size - Initial size for control(s).
|
||||
// Unlike in previous version of wxPropertyGrid, it is no longer
|
||||
// necessary to call wxEvtHandler::Connect() for interesting editor
|
||||
// events. Instead, all events from control are now automatically
|
||||
// forwarded to wxPGEditor::OnEvent() and wxPGProperty::OnEvent().
|
||||
virtual wxPGWindowList CreateControls(wxPropertyGrid* propgrid,
|
||||
wxPGProperty* property,
|
||||
const wxPoint& pos,
|
||||
const wxSize& size) const = 0;
|
||||
|
||||
/** Loads value from property to the control. */
|
||||
// Loads value from property to the control.
|
||||
virtual void UpdateControl( wxPGProperty* property,
|
||||
wxWindow* ctrl ) const = 0;
|
||||
|
||||
/**
|
||||
Used to get the renderer to draw the value with when the control is
|
||||
hidden.
|
||||
|
||||
Default implementation returns g_wxPGDefaultRenderer.
|
||||
*/
|
||||
// Used to get the renderer to draw the value with when the control is
|
||||
// hidden.
|
||||
// Default implementation returns g_wxPGDefaultRenderer.
|
||||
//virtual wxPGCellRenderer* GetCellRenderer() const;
|
||||
|
||||
/** Draws value for given property.
|
||||
*/
|
||||
// Draws value for given property.
|
||||
virtual void DrawValue( wxDC& dc,
|
||||
const wxRect& rect,
|
||||
wxPGProperty* property,
|
||||
const wxString& text ) const;
|
||||
|
||||
/** Handles events. Returns true if value in control was modified
|
||||
(see wxPGProperty::OnEvent for more information).
|
||||
|
||||
@remarks wxPropertyGrid will automatically unfocus the editor when
|
||||
wxEVT_TEXT_ENTER is received and when it results in
|
||||
property value being modified. This happens regardless of
|
||||
editor type (i.e. behaviour is same for any wxTextCtrl and
|
||||
wxComboBox based editor).
|
||||
*/
|
||||
// Handles events. Returns true if value in control was modified
|
||||
// (see wxPGProperty::OnEvent for more information).
|
||||
// wxPropertyGrid will automatically unfocus the editor when
|
||||
// wxEVT_TEXT_ENTER is received and when it results in
|
||||
// property value being modified. This happens regardless of
|
||||
// editor type (i.e. behaviour is same for any wxTextCtrl and
|
||||
// wxComboBox based editor).
|
||||
virtual bool OnEvent( wxPropertyGrid* propgrid, wxPGProperty* property,
|
||||
wxWindow* wnd_primary, wxEvent& event ) const = 0;
|
||||
|
||||
/** Returns value from control, via parameter 'variant'.
|
||||
Usually ends up calling property's StringToValue or IntToValue.
|
||||
Returns true if value was different.
|
||||
*/
|
||||
// Returns value from control, via parameter 'variant'.
|
||||
// Usually ends up calling property's StringToValue or IntToValue.
|
||||
// Returns true if value was different.
|
||||
virtual bool GetValueFromControl( wxVariant& variant,
|
||||
wxPGProperty* property,
|
||||
wxWindow* ctrl ) const;
|
||||
|
||||
/**
|
||||
Sets new appearance for the control. Default implementation
|
||||
sets foreground colour, background colour, font, plus text
|
||||
for wxTextCtrl and wxComboCtrl.
|
||||
|
||||
@param appearance
|
||||
New appearance to be applied.
|
||||
|
||||
@param oldAppearance
|
||||
Previously applied appearance. Used to detect which
|
||||
control attributes need to be changed (e.g. so we only
|
||||
change background colour if really needed).
|
||||
|
||||
@param unspecified
|
||||
@true if the new appearance represents an unspecified
|
||||
property value.
|
||||
*/
|
||||
// Sets new appearance for the control. Default implementation
|
||||
// sets foreground colour, background colour, font, plus text
|
||||
// for wxTextCtrl and wxComboCtrl.
|
||||
// appearance - New appearance to be applied.
|
||||
// oldAppearance - Previously applied appearance. Used to detect
|
||||
// which control attributes need to be changed (e.g. so we only
|
||||
// change background colour if really needed).
|
||||
// unspecified - true if the new appearance represents an unspecified
|
||||
// property value.
|
||||
virtual void SetControlAppearance( wxPropertyGrid* pg,
|
||||
wxPGProperty* property,
|
||||
wxWindow* ctrl,
|
||||
@@ -186,42 +148,36 @@ public:
|
||||
const wxPGCell& oldAppearance,
|
||||
bool unspecified ) const;
|
||||
|
||||
/**
|
||||
Sets value in control to unspecified.
|
||||
*/
|
||||
// Sets value in control to unspecified.
|
||||
virtual void SetValueToUnspecified( wxPGProperty* property,
|
||||
wxWindow* ctrl ) const;
|
||||
|
||||
/** Sets control's value specifically from string. */
|
||||
// Sets control's value specifically from string.
|
||||
virtual void SetControlStringValue( wxPGProperty* property,
|
||||
wxWindow* ctrl,
|
||||
const wxString& txt ) const;
|
||||
|
||||
/** Sets control's value specifically from int (applies to choice etc.). */
|
||||
// Sets control's value specifically from int (applies to choice etc.).
|
||||
virtual void SetControlIntValue( wxPGProperty* property,
|
||||
wxWindow* ctrl,
|
||||
int value ) const;
|
||||
|
||||
/** Inserts item to existing control. Index -1 means appending.
|
||||
Default implementation does nothing. Returns index of item added.
|
||||
*/
|
||||
// Inserts item to existing control. Index -1 means appending.
|
||||
// Default implementation does nothing. Returns index of item added.
|
||||
virtual int InsertItem( wxWindow* ctrl,
|
||||
const wxString& label,
|
||||
int index ) const;
|
||||
|
||||
/** Deletes item from existing control.
|
||||
Default implementation does nothing.
|
||||
*/
|
||||
// Deletes item from existing control.
|
||||
// Default implementation does nothing.
|
||||
virtual void DeleteItem( wxWindow* ctrl, int index ) const;
|
||||
|
||||
/** Extra processing when control gains focus. For example, wxTextCtrl
|
||||
based controls should select all text.
|
||||
*/
|
||||
// Extra processing when control gains focus. For example, wxTextCtrl
|
||||
// based controls should select all text.
|
||||
virtual void OnFocus( wxPGProperty* property, wxWindow* wnd ) const;
|
||||
|
||||
/** Returns true if control itself can contain the custom image. Default is
|
||||
to return false.
|
||||
*/
|
||||
// Returns true if control itself can contain the custom image. Default is
|
||||
// to return false.
|
||||
virtual bool CanContainCustomImage() const;
|
||||
|
||||
//
|
||||
@@ -450,18 +406,11 @@ public:
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
/** @class wxPGEditorDialogAdapter
|
||||
|
||||
Derive a class from this to adapt an existing editor dialog or function to
|
||||
be used when editor button of a property is pushed.
|
||||
|
||||
You only need to derive class and implement DoShowDialog() to create and
|
||||
show the dialog, and finally submit the value returned by the dialog
|
||||
via SetValue().
|
||||
|
||||
@library{wxpropgrid}
|
||||
@category{propgrid}
|
||||
*/
|
||||
// Derive a class from this to adapt an existing editor dialog or function to
|
||||
// be used when editor button of a property is pushed.
|
||||
// You only need to derive class and implement DoShowDialog() to create and
|
||||
// show the dialog, and finally submit the value returned by the dialog
|
||||
// via SetValue().
|
||||
class WXDLLIMPEXP_PROPGRID wxPGEditorDialogAdapter : public wxObject
|
||||
{
|
||||
wxDECLARE_ABSTRACT_CLASS(wxPGEditorDialogAdapter);
|
||||
@@ -484,13 +433,10 @@ public:
|
||||
m_value = value;
|
||||
}
|
||||
|
||||
/**
|
||||
This method is typically only used if deriving class from existing
|
||||
adapter with value conversion purposes.
|
||||
*/
|
||||
// This method is typically only used if deriving class from existing
|
||||
// adapter with value conversion purposes.
|
||||
wxVariant& GetValue() { return m_value; }
|
||||
|
||||
//
|
||||
// This member is public so scripting language bindings
|
||||
// wrapper code can access it freely.
|
||||
void* m_clientData;
|
||||
@@ -502,13 +448,10 @@ private:
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
|
||||
/** @class wxPGMultiButton
|
||||
|
||||
This class can be used to have multiple buttons in a property editor.
|
||||
You will need to create a new property editor class, override
|
||||
CreateControls, and have it return wxPGMultiButton instance in
|
||||
wxPGWindowList::SetSecondary().
|
||||
*/
|
||||
// This class can be used to have multiple buttons in a property editor.
|
||||
// You will need to create a new property editor class, override
|
||||
// CreateControls, and have it return wxPGMultiButton instance in
|
||||
// wxPGWindowList::SetSecondary().
|
||||
class WXDLLIMPEXP_PROPGRID wxPGMultiButton : public wxWindow
|
||||
{
|
||||
public:
|
||||
@@ -519,12 +462,10 @@ public:
|
||||
const wxWindow* GetButton( unsigned int i ) const
|
||||
{ return (const wxWindow*) m_buttons[i]; }
|
||||
|
||||
/** Utility function to be used in event handlers.
|
||||
*/
|
||||
// Utility function to be used in event handlers.
|
||||
int GetButtonId( unsigned int i ) const { return GetButton(i)->GetId(); }
|
||||
|
||||
/** Returns number of buttons.
|
||||
*/
|
||||
// Returns number of buttons.
|
||||
unsigned int GetCount() const { return (unsigned int) m_buttons.size(); }
|
||||
|
||||
void Add( const wxString& label, int id = -2 );
|
||||
|
@@ -32,36 +32,25 @@
|
||||
extern WXDLLIMPEXP_DATA_PROPGRID(const char) wxPropertyGridManagerNameStr[];
|
||||
#endif
|
||||
|
||||
/** @class wxPropertyGridPage
|
||||
|
||||
Holder of property grid page information. You can subclass this and
|
||||
give instance in wxPropertyGridManager::AddPage. It inherits from
|
||||
wxEvtHandler and can be used to process events specific to this
|
||||
page (id of events will still be same as manager's). If you don't
|
||||
want to use it to process all events of the page, you need to
|
||||
return false in the derived wxPropertyGridPage::IsHandlingAllEvents.
|
||||
|
||||
Please note that wxPropertyGridPage lacks many non-const property
|
||||
manipulation functions found in wxPropertyGridManager. Please use
|
||||
parent manager (m_manager member variable) when needed.
|
||||
|
||||
Please note that most member functions are inherited and as such not
|
||||
documented on this page. This means you will probably also want to read
|
||||
wxPropertyGridInterface class reference.
|
||||
|
||||
@section propgridpage_event_handling Event Handling
|
||||
|
||||
wxPropertyGridPage receives events emitted by its wxPropertyGridManager, but
|
||||
only those events that are specific to that page. If
|
||||
wxPropertyGridPage::IsHandlingAllEvents returns false, then unhandled
|
||||
events are sent to the manager's parent, as usual.
|
||||
|
||||
See @ref propgrid_event_handling "wxPropertyGrid Event Handling"
|
||||
for more information.
|
||||
|
||||
@library{wxpropgrid}
|
||||
@category{propgrid}
|
||||
*/
|
||||
// Holder of property grid page information. You can subclass this and
|
||||
// give instance in wxPropertyGridManager::AddPage. It inherits from
|
||||
// wxEvtHandler and can be used to process events specific to this
|
||||
// page (id of events will still be same as manager's). If you don't
|
||||
// want to use it to process all events of the page, you need to
|
||||
// return false in the derived wxPropertyGridPage::IsHandlingAllEvents.
|
||||
//
|
||||
// Please note that wxPropertyGridPage lacks many non-const property
|
||||
// manipulation functions found in wxPropertyGridManager. Please use
|
||||
// parent manager (m_manager member variable) when needed.
|
||||
//
|
||||
// Please note that most member functions are inherited and as such not
|
||||
// documented on this page. This means you will probably also want to read
|
||||
// wxPropertyGridInterface class reference.
|
||||
//
|
||||
// wxPropertyGridPage receives events emitted by its wxPropertyGridManager, but
|
||||
// only those events that are specific to that page. If
|
||||
// wxPropertyGridPage::IsHandlingAllEvents returns false, then unhandled
|
||||
// events are sent to the manager's parent, as usual.
|
||||
class WXDLLIMPEXP_PROPGRID wxPropertyGridPage : public wxEvtHandler,
|
||||
public wxPropertyGridInterface,
|
||||
public wxPropertyGridPageState
|
||||
@@ -73,88 +62,69 @@ public:
|
||||
wxPropertyGridPage();
|
||||
virtual ~wxPropertyGridPage();
|
||||
|
||||
/** Deletes all properties on page.
|
||||
*/
|
||||
// Deletes all properties on page.
|
||||
virtual void Clear() wxOVERRIDE;
|
||||
|
||||
/**
|
||||
Reduces column sizes to minimum possible that contents are still
|
||||
visibly (naturally some margin space will be applied as well).
|
||||
|
||||
@return
|
||||
Minimum size for the page to still display everything.
|
||||
|
||||
@remarks
|
||||
This function only works properly if size of containing grid was
|
||||
already fairly large.
|
||||
|
||||
Note that you can also get calculated column widths by calling
|
||||
GetColumnWidth() immediately after this function returns.
|
||||
*/
|
||||
// Reduces column sizes to minimum possible that contents are still
|
||||
// visibly (naturally some margin space will be applied as well).
|
||||
// Returns minimum size for the page to still display everything.
|
||||
// This function only works properly if size of containing grid was
|
||||
// already fairly large.
|
||||
// Note that you can also get calculated column widths by calling
|
||||
// GetColumnWidth() immediately after this function returns.
|
||||
wxSize FitColumns();
|
||||
|
||||
/** Returns page index in manager;
|
||||
*/
|
||||
// Returns page index in manager;
|
||||
inline int GetIndex() const;
|
||||
|
||||
/** Returns x-coordinate position of splitter on a page.
|
||||
*/
|
||||
// Returns x-coordinate position of splitter on a page.
|
||||
int GetSplitterPosition( int col = 0 ) const
|
||||
{ return GetStatePtr()->DoGetSplitterPosition(col); }
|
||||
|
||||
/** Returns "root property". It does not have name, etc. and it is not
|
||||
visible. It is only useful for accessing its children.
|
||||
*/
|
||||
// Returns "root property". It does not have name, etc. and it is not
|
||||
// visible. It is only useful for accessing its children.
|
||||
wxPGProperty* GetRoot() const { return GetStatePtr()->DoGetRoot(); }
|
||||
|
||||
/** Return pointer to contained property grid state.
|
||||
*/
|
||||
// Returns pointer to contained property grid state.
|
||||
wxPropertyGridPageState* GetStatePtr()
|
||||
{
|
||||
return this;
|
||||
}
|
||||
|
||||
/** Return pointer to contained property grid state.
|
||||
*/
|
||||
// Returns pointer to contained property grid state.
|
||||
const wxPropertyGridPageState* GetStatePtr() const
|
||||
{
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
Returns id of the tool bar item that represents this page on
|
||||
wxPropertyGridManager's wxToolBar.
|
||||
*/
|
||||
// Returns id of the tool bar item that represents this page on
|
||||
// wxPropertyGridManager's wxToolBar.
|
||||
int GetToolId() const
|
||||
{
|
||||
return m_toolId;
|
||||
}
|
||||
|
||||
/** Do any member initialization in this method.
|
||||
@remarks
|
||||
- Called every time the page is added into a manager.
|
||||
- You can add properties to the page here.
|
||||
*/
|
||||
// Do any member initialization in this method.
|
||||
// Notes:
|
||||
// - Called every time the page is added into a manager.
|
||||
// - You can add properties to the page here.
|
||||
virtual void Init() {}
|
||||
|
||||
/** Return false here to indicate unhandled events should be
|
||||
propagated to manager's parent, as normal.
|
||||
*/
|
||||
// Return false here to indicate unhandled events should be
|
||||
// propagated to manager's parent, as normal.
|
||||
virtual bool IsHandlingAllEvents() const { return true; }
|
||||
|
||||
/** Called every time page is about to be shown.
|
||||
Useful, for instance, creating properties just-in-time.
|
||||
*/
|
||||
// Called every time page is about to be shown.
|
||||
// Useful, for instance, creating properties just-in-time.
|
||||
virtual void OnShow();
|
||||
|
||||
// Refreshes given property on page.
|
||||
virtual void RefreshProperty( wxPGProperty* p ) wxOVERRIDE;
|
||||
|
||||
/** Sets splitter position on page.
|
||||
@remarks
|
||||
Splitter position cannot exceed grid size, and therefore setting it
|
||||
during form creation may fail as initial grid size is often smaller
|
||||
than desired splitter position, especially when sizers are being used.
|
||||
*/
|
||||
// Sets splitter position on page.
|
||||
// Splitter position cannot exceed grid size, and therefore setting it
|
||||
// during form creation may fail as initial grid size is often smaller
|
||||
// than desired splitter position, especially when sizers are being used.
|
||||
void SetSplitterPosition( int splitterPos, int col = 0 );
|
||||
|
||||
#if WXWIN_COMPATIBILITY_3_0
|
||||
@@ -165,16 +135,14 @@ public:
|
||||
|
||||
protected:
|
||||
|
||||
/** Propagate to other pages.
|
||||
*/
|
||||
// Propagate to other pages.
|
||||
virtual void DoSetSplitterPosition( int pos,
|
||||
int splitterColumn = 0,
|
||||
int flags = wxPG_SPLITTER_REFRESH ) wxOVERRIDE;
|
||||
|
||||
/** Page label (may be referred as name in some parts of documentation).
|
||||
Can be set in constructor, or passed in
|
||||
wxPropertyGridManager::AddPage(), but *not* in both.
|
||||
*/
|
||||
// Page label (may be referred as name in some parts of documentation).
|
||||
// Can be set in constructor, or passed in
|
||||
// wxPropertyGridManager::AddPage(), but *not* in both.
|
||||
wxString m_label;
|
||||
|
||||
//virtual bool ProcessEvent( wxEvent& event );
|
||||
@@ -198,25 +166,10 @@ class wxPGHeaderCtrl;
|
||||
#endif
|
||||
|
||||
|
||||
/** @class wxPropertyGridManager
|
||||
|
||||
wxPropertyGridManager is an efficient multi-page version of wxPropertyGrid,
|
||||
which can optionally have toolbar for mode and page selection, and help
|
||||
text box.
|
||||
Use window flags to select components to include.
|
||||
|
||||
@section propgridmanager_window_styles_ Window Styles
|
||||
|
||||
See @ref propgrid_window_styles.
|
||||
|
||||
@section propgridmanager_event_handling Event Handling
|
||||
|
||||
See @ref propgrid_event_handling "wxPropertyGrid Event Handling"
|
||||
for more information.
|
||||
|
||||
@library{wxpropgrid}
|
||||
@category{propgrid}
|
||||
*/
|
||||
// wxPropertyGridManager is an efficient multi-page version of wxPropertyGrid,
|
||||
// which can optionally have toolbar for mode and page selection, and help
|
||||
// text box.
|
||||
// Use window flags to select components to include.
|
||||
class WXDLLIMPEXP_PROPGRID
|
||||
wxPropertyGridManager : public wxPanel, public wxPropertyGridInterface
|
||||
{
|
||||
@@ -225,46 +178,34 @@ class WXDLLIMPEXP_PROPGRID
|
||||
public:
|
||||
|
||||
#ifndef SWIG
|
||||
/**
|
||||
Two step constructor.
|
||||
Call Create when this constructor is called to build up the
|
||||
wxPropertyGridManager.
|
||||
*/
|
||||
// Two step constructor.
|
||||
// Call Create when this constructor is called to build up the
|
||||
// wxPropertyGridManager.
|
||||
wxPropertyGridManager();
|
||||
#endif
|
||||
|
||||
/** The default constructor. The styles to be used are styles valid for
|
||||
the wxWindow.
|
||||
@see @link wndflags Additional Window Styles@endlink
|
||||
*/
|
||||
// The default constructor. The styles to be used are styles valid for
|
||||
// the wxWindow.
|
||||
wxPropertyGridManager( wxWindow *parent, wxWindowID id = wxID_ANY,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxPGMAN_DEFAULT_STYLE,
|
||||
const wxString& name = wxPropertyGridManagerNameStr );
|
||||
|
||||
/** Destructor */
|
||||
// Destructor.
|
||||
virtual ~wxPropertyGridManager();
|
||||
|
||||
/** Creates new property page. Note that the first page is not created
|
||||
automatically.
|
||||
@param label
|
||||
A label for the page. This may be shown as a toolbar tooltip etc.
|
||||
@param bmp
|
||||
Bitmap image for toolbar. If wxNullBitmap is used, then a built-in
|
||||
default image is used.
|
||||
@param pageObj
|
||||
wxPropertyGridPage instance. Manager will take ownership of this object.
|
||||
NULL indicates that a default page instance should be created.
|
||||
|
||||
@return
|
||||
Returns pointer to created page.
|
||||
|
||||
@remarks
|
||||
If toolbar is used, it is highly recommended that the pages are
|
||||
added when the toolbar is not turned off using window style flag
|
||||
switching.
|
||||
*/
|
||||
// Creates new property page. Note that the first page is not created
|
||||
// automatically.
|
||||
// label - A label for the page. This may be shown as a toolbar tooltip etc.
|
||||
// bmp - Bitmap image for toolbar. If wxNullBitmap is used, then a built-in
|
||||
// default image is used.
|
||||
// pageObj - wxPropertyGridPage instance. Manager will take ownership of this object.
|
||||
// NULL indicates that a default page instance should be created.
|
||||
// Returns pointer to created page.
|
||||
// If toolbar is used, it is highly recommended that the pages are
|
||||
// added when the toolbar is not turned off using window style flag
|
||||
// switching.
|
||||
wxPropertyGridPage* AddPage( const wxString& label = wxEmptyString,
|
||||
const wxBitmap& bmp = wxNullBitmap,
|
||||
wxPropertyGridPage* pageObj = NULL )
|
||||
@@ -272,41 +213,32 @@ public:
|
||||
return InsertPage(-1, label, bmp, pageObj);
|
||||
}
|
||||
|
||||
/** Deletes all all properties and all pages.
|
||||
*/
|
||||
// Deletes all all properties and all pages.
|
||||
virtual void Clear() wxOVERRIDE;
|
||||
|
||||
/** Deletes all properties on given page.
|
||||
*/
|
||||
// Deletes all properties on given page.
|
||||
void ClearPage( int page );
|
||||
|
||||
/** Forces updating the value of property from the editor control.
|
||||
Returns true if DoPropertyChanged was actually called.
|
||||
*/
|
||||
// Forces updating the value of property from the editor control.
|
||||
// Returns true if DoPropertyChanged was actually called.
|
||||
bool CommitChangesFromEditor( wxUint32 flags = 0 )
|
||||
{
|
||||
return m_pPropGrid->CommitChangesFromEditor(flags);
|
||||
}
|
||||
|
||||
/**
|
||||
Two step creation.
|
||||
Whenever the control is created without any parameters, use Create to
|
||||
actually create it. Don't access the control's public methods before
|
||||
this is called.
|
||||
@see @link wndflags Additional Window Styles@endlink
|
||||
*/
|
||||
// Two step creation.
|
||||
// Whenever the control is created without any parameters, use Create to
|
||||
// actually create it. Don't access the control's public methods before
|
||||
// this is called.
|
||||
bool Create( wxWindow *parent, wxWindowID id = wxID_ANY,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxPGMAN_DEFAULT_STYLE,
|
||||
const wxString& name = wxPropertyGridManagerNameStr );
|
||||
|
||||
/**
|
||||
Enables or disables (shows/hides) categories according to parameter
|
||||
enable.
|
||||
|
||||
WARNING: Not tested properly, use at your own risk.
|
||||
*/
|
||||
// Enables or disables (shows/hides) categories according to parameter
|
||||
// enable.
|
||||
// Calling this may not properly update toolbar buttons.
|
||||
bool EnableCategories( bool enable )
|
||||
{
|
||||
long fl = m_windowStyle | wxPG_HIDE_CATEGORIES;
|
||||
@@ -315,22 +247,20 @@ public:
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Selects page, scrolls and/or expands items to ensure that the
|
||||
given item is visible. Returns true if something was actually done.
|
||||
*/
|
||||
// Selects page, scrolls and/or expands items to ensure that the
|
||||
// given item is visible. Returns true if something was actually done.
|
||||
bool EnsureVisible( wxPGPropArg id );
|
||||
|
||||
/** Returns number of columns on given page. By the default,
|
||||
returns number of columns on current page. */
|
||||
// Returns number of columns on given page. By the default,
|
||||
// returns number of columns on current page.
|
||||
int GetColumnCount( int page = -1 ) const;
|
||||
|
||||
/** Returns height of the description text box. */
|
||||
// Returns height of the description text box.
|
||||
int GetDescBoxHeight() const;
|
||||
|
||||
/** Returns pointer to the contained wxPropertyGrid. This does not change
|
||||
after wxPropertyGridManager has been created, so you can safely obtain
|
||||
pointer once and use it for the entire lifetime of the instance.
|
||||
*/
|
||||
// Returns pointer to the contained wxPropertyGrid. This does not change
|
||||
// after wxPropertyGridManager has been created, so you can safely obtain
|
||||
// pointer once and use it for the entire lifetime of the manager instance.
|
||||
wxPropertyGrid* GetGrid()
|
||||
{
|
||||
wxASSERT(m_pPropGrid);
|
||||
@@ -343,12 +273,10 @@ public:
|
||||
return (const wxPropertyGrid*)m_pPropGrid;
|
||||
}
|
||||
|
||||
/** Returns iterator class instance.
|
||||
@remarks
|
||||
Calling this method in wxPropertyGridManager causes run-time assertion
|
||||
failure. Please only iterate through individual pages or use
|
||||
CreateVIterator().
|
||||
*/
|
||||
// Returns iterator class instance.
|
||||
// Calling this method in wxPropertyGridManager causes run-time assertion
|
||||
// failure. Please only iterate through individual pages or use
|
||||
// CreateVIterator().
|
||||
wxPropertyGridIterator GetIterator( int flags = wxPG_ITERATE_DEFAULT,
|
||||
wxPGProperty* firstProp = NULL )
|
||||
{
|
||||
@@ -366,12 +294,10 @@ public:
|
||||
return wxPropertyGridInterface::GetIterator( flags, firstProp );
|
||||
}
|
||||
|
||||
/** Returns iterator class instance.
|
||||
@remarks
|
||||
Calling this method in wxPropertyGridManager causes run-time assertion
|
||||
failure. Please only iterate through individual pages or use
|
||||
CreateVIterator().
|
||||
*/
|
||||
// Returns iterator class instance.
|
||||
// Calling this method in wxPropertyGridManager causes run-time assertion
|
||||
// failure. Please only iterate through individual pages or use
|
||||
// CreateVIterator().
|
||||
wxPropertyGridIterator GetIterator( int flags, int startPos )
|
||||
{
|
||||
wxFAIL_MSG( wxS("Please only iterate through individual pages ")
|
||||
@@ -387,139 +313,110 @@ public:
|
||||
return wxPropertyGridInterface::GetIterator( flags, startPos );
|
||||
}
|
||||
|
||||
/** Similar to GetIterator, but instead returns wxPGVIterator instance,
|
||||
which can be useful for forward-iterating through arbitrary property
|
||||
containers.
|
||||
*/
|
||||
// Similar to GetIterator, but instead returns wxPGVIterator instance,
|
||||
// which can be useful for forward-iterating through arbitrary property
|
||||
// containers.
|
||||
virtual wxPGVIterator GetVIterator( int flags ) const wxOVERRIDE;
|
||||
|
||||
/** Returns currently selected page.
|
||||
*/
|
||||
// Returns currently selected page.
|
||||
wxPropertyGridPage* GetCurrentPage() const
|
||||
{
|
||||
return GetPage(m_selPage);
|
||||
}
|
||||
|
||||
/** Returns page object for given page index.
|
||||
*/
|
||||
// Returns page object for given page index.
|
||||
wxPropertyGridPage* GetPage( unsigned int ind ) const
|
||||
{
|
||||
return m_arrPages[ind];
|
||||
}
|
||||
|
||||
/** Returns page object for given page name.
|
||||
*/
|
||||
// Returns page object for given page name.
|
||||
wxPropertyGridPage* GetPage( const wxString& name ) const
|
||||
{
|
||||
return GetPage(GetPageByName(name));
|
||||
}
|
||||
|
||||
/**
|
||||
Returns index for a page name.
|
||||
|
||||
If no match is found, wxNOT_FOUND is returned.
|
||||
*/
|
||||
// Returns index for a page name.
|
||||
// If no match is found, wxNOT_FOUND is returned.
|
||||
int GetPageByName( const wxString& name ) const;
|
||||
|
||||
/** Returns index for a relevant propertygrid state.
|
||||
|
||||
If no match is found, wxNOT_FOUND is returned.
|
||||
*/
|
||||
// Returns index for a relevant propertygrid state.
|
||||
// If no match is found, wxNOT_FOUND is returned.
|
||||
int GetPageByState( const wxPropertyGridPageState* pstate ) const;
|
||||
|
||||
protected:
|
||||
/** Returns wxPropertyGridPageState of given page, current page's for -1.
|
||||
*/
|
||||
// Returns wxPropertyGridPageState of given page, current page's for -1.
|
||||
virtual wxPropertyGridPageState* GetPageState( int page ) const wxOVERRIDE;
|
||||
|
||||
public:
|
||||
/** Returns number of managed pages. */
|
||||
// Returns number of managed pages.
|
||||
size_t GetPageCount() const;
|
||||
|
||||
/** Returns name of given page. */
|
||||
// Returns name of given page.
|
||||
const wxString& GetPageName( int index ) const;
|
||||
|
||||
/** Returns "root property" of the given page. It does not have name, etc.
|
||||
and it is not visible. It is only useful for accessing its children.
|
||||
*/
|
||||
// Returns "root property" of the given page. It does not have name, etc.
|
||||
// and it is not visible. It is only useful for accessing its children.
|
||||
wxPGProperty* GetPageRoot( int index ) const;
|
||||
|
||||
/** Returns index to currently selected page. */
|
||||
// Returns index to currently selected page.
|
||||
int GetSelectedPage() const { return m_selPage; }
|
||||
|
||||
/** Alias for GetSelection(). */
|
||||
// Alias for GetSelection().
|
||||
wxPGProperty* GetSelectedProperty() const
|
||||
{
|
||||
return GetSelection();
|
||||
}
|
||||
|
||||
/** Shortcut for GetGrid()->GetSelection(). */
|
||||
// Shortcut for GetGrid()->GetSelection().
|
||||
wxPGProperty* GetSelection() const
|
||||
{
|
||||
return m_pPropGrid->GetSelection();
|
||||
}
|
||||
|
||||
#if wxUSE_TOOLBAR
|
||||
/** Returns a pointer to the toolbar currently associated with the
|
||||
wxPropertyGridManager (if any). */
|
||||
// Returns a pointer to the toolbar currently associated with the
|
||||
// wxPropertyGridManager (if any).
|
||||
wxToolBar* GetToolBar() const { return m_pToolbar; }
|
||||
#endif // wxUSE_TOOLBAR
|
||||
|
||||
/** Creates new property page. Note that the first page is not created
|
||||
automatically.
|
||||
@param index
|
||||
Add to this position. -1 will add as the last item.
|
||||
@param label
|
||||
A label for the page. This may be shown as a toolbar tooltip etc.
|
||||
@param bmp
|
||||
Bitmap image for toolbar. If wxNullBitmap is used, then a built-in
|
||||
default image is used.
|
||||
@param pageObj
|
||||
wxPropertyGridPage instance. Manager will take ownership of this object.
|
||||
If NULL, default page object is constructed.
|
||||
|
||||
@return
|
||||
Returns pointer to created page.
|
||||
*/
|
||||
// Creates new property page. Note that the first page is not created
|
||||
// automatically.
|
||||
// index - Add to this position. -1 will add as the last item.
|
||||
// label - A label for the page. This may be shown as a toolbar tooltip etc.
|
||||
// bmp - Bitmap image for toolbar. If wxNullBitmap is used, then a built-in
|
||||
// default image is used.
|
||||
// pageObj - wxPropertyGridPage instance. Manager will take ownership of this object.
|
||||
// If NULL, default page object is constructed.
|
||||
// Returns pointer to created page.
|
||||
virtual wxPropertyGridPage* InsertPage( int index,
|
||||
const wxString& label,
|
||||
const wxBitmap& bmp = wxNullBitmap,
|
||||
wxPropertyGridPage* pageObj = NULL );
|
||||
|
||||
/**
|
||||
Returns true if any property on any page has been modified by the user.
|
||||
*/
|
||||
// Returns true if any property on any page has been modified by the user.
|
||||
bool IsAnyModified() const;
|
||||
|
||||
/**
|
||||
Returns true if any property on given page has been modified by the
|
||||
user.
|
||||
*/
|
||||
// Returns true if any property on given page has been modified by the
|
||||
// user.
|
||||
bool IsPageModified( size_t index ) const;
|
||||
|
||||
/**
|
||||
Returns true if property is selected. Since selection is page
|
||||
based, this function checks every page in the manager.
|
||||
*/
|
||||
// Returns true if property is selected. Since selection is page
|
||||
// based, this function checks every page in the manager.
|
||||
virtual bool IsPropertySelected( wxPGPropArg id ) const;
|
||||
|
||||
virtual void Refresh( bool eraseBackground = true,
|
||||
const wxRect* rect = (const wxRect*) NULL ) wxOVERRIDE;
|
||||
|
||||
/** Removes a page.
|
||||
@return
|
||||
Returns false if it was not possible to remove page in question.
|
||||
*/
|
||||
// Removes a page.
|
||||
// Returns false if it was not possible to remove page in question.
|
||||
virtual bool RemovePage( int page );
|
||||
|
||||
/** Select and displays a given page.
|
||||
|
||||
@param index
|
||||
Index of page being selected. Can be -1 to select nothing.
|
||||
*/
|
||||
// Select and displays a given page.
|
||||
// index - Index of page being selected. Can be -1 to select nothing.
|
||||
void SelectPage( int index );
|
||||
|
||||
/** Select and displays a given page (by label). */
|
||||
// Select and displays a given page (by label).
|
||||
void SelectPage( const wxString& label )
|
||||
{
|
||||
int index = GetPageByName(label);
|
||||
@@ -527,13 +424,13 @@ public:
|
||||
SelectPage( index );
|
||||
}
|
||||
|
||||
/** Select and displays a given page. */
|
||||
// Select and displays a given page.
|
||||
void SelectPage( wxPropertyGridPage* ptr )
|
||||
{
|
||||
SelectPage( GetPageByState(ptr) );
|
||||
}
|
||||
|
||||
/** Select a property. */
|
||||
// Select a property.
|
||||
bool SelectProperty( wxPGPropArg id, bool focus = false )
|
||||
{
|
||||
wxPG_PROP_ARG_CALL_PROLOG_RETVAL(false)
|
||||
@@ -545,78 +442,57 @@ public:
|
||||
}
|
||||
|
||||
#if wxUSE_HEADERCTRL
|
||||
/**
|
||||
Sets a column title. Default title for column 0 is "Property",
|
||||
and "Value" for column 1.
|
||||
|
||||
@remarks If header is not shown yet, then calling this
|
||||
member function will make it visible.
|
||||
*/
|
||||
// Sets a column title. Default title for column 0 is "Property",
|
||||
// and "Value" for column 1.
|
||||
// If header is not shown yet, then calling this
|
||||
// member function will make it visible.
|
||||
void SetColumnTitle( int idx, const wxString& title );
|
||||
#endif // wxUSE_HEADERCTRL
|
||||
|
||||
/**
|
||||
Sets number of columns on given page (default is current page).
|
||||
|
||||
@remarks If you use header, then you should always use this
|
||||
member function to set the column count, instead of
|
||||
ones present in wxPropertyGrid or wxPropertyGridPage.
|
||||
*/
|
||||
// Sets number of columns on given page (default is current page).
|
||||
// If you use header, then you should always use this
|
||||
// member function to set the column count, instead of
|
||||
// ones present in wxPropertyGrid or wxPropertyGridPage.
|
||||
void SetColumnCount( int colCount, int page = -1 );
|
||||
|
||||
/** Sets label and text in description box.
|
||||
*/
|
||||
// Sets label and text in description box.
|
||||
void SetDescription( const wxString& label, const wxString& content );
|
||||
|
||||
/** Sets y coordinate of the description box splitter. */
|
||||
// Sets y coordinate of the description box splitter.
|
||||
void SetDescBoxHeight( int ht, bool refresh = true );
|
||||
|
||||
/** Moves splitter as left as possible, while still allowing all
|
||||
labels to be shown in full.
|
||||
@param subProps
|
||||
If false, will still allow sub-properties (ie. properties which
|
||||
parent is not root or category) to be cropped.
|
||||
@param allPages
|
||||
If true, takes labels on all pages into account.
|
||||
*/
|
||||
// Moves splitter as left as possible, while still allowing all
|
||||
// labels to be shown in full.
|
||||
// subProps - If false, will still allow sub-properties (ie. properties which
|
||||
// parent is not root or category) to be cropped.
|
||||
// allPages - If true, takes labels on all pages into account.
|
||||
void SetSplitterLeft( bool subProps = false, bool allPages = true );
|
||||
|
||||
/** Moves splitter as left as possible on an individual page, while still allowing all
|
||||
labels to be shown in full.
|
||||
*/
|
||||
// Moves splitter as left as possible on an individual page, while still allowing all
|
||||
// labels to be shown in full.
|
||||
void SetPageSplitterLeft(int page, bool subProps = false);
|
||||
|
||||
/**
|
||||
Sets splitter position on individual page.
|
||||
|
||||
@remarks If you use header, then you should always use this
|
||||
member function to set the splitter position, instead of
|
||||
ones present in wxPropertyGrid or wxPropertyGridPage.
|
||||
*/
|
||||
// Sets splitter position on individual page.
|
||||
// If you use header, then you should always use this
|
||||
// member function to set the splitter position, instead of
|
||||
// ones present in wxPropertyGrid or wxPropertyGridPage.
|
||||
void SetPageSplitterPosition( int page, int pos, int column = 0 );
|
||||
|
||||
/**
|
||||
Sets splitter position for all pages.
|
||||
|
||||
@remarks Splitter position cannot exceed grid size, and therefore
|
||||
setting it during form creation may fail as initial grid
|
||||
size is often smaller than desired splitter position,
|
||||
especially when sizers are being used.
|
||||
|
||||
If you use header, then you should always use this
|
||||
member function to set the splitter position, instead of
|
||||
ones present in wxPropertyGrid or wxPropertyGridPage.
|
||||
*/
|
||||
// Sets splitter position for all pages.
|
||||
// Splitter position cannot exceed grid size, and therefore
|
||||
// setting it during form creation may fail as initial grid
|
||||
// size is often smaller than desired splitter position,
|
||||
// especially when sizers are being used.
|
||||
// If you use header, then you should always use this
|
||||
// member function to set the splitter position, instead of
|
||||
// ones present in wxPropertyGrid or wxPropertyGridPage.
|
||||
void SetSplitterPosition( int pos, int column = 0 );
|
||||
|
||||
#if wxUSE_HEADERCTRL
|
||||
/**
|
||||
Show or hide the property grid header control. It is hidden
|
||||
by the default.
|
||||
|
||||
@remarks Grid may look better if you use wxPG_NO_INTERNAL_BORDER
|
||||
window style when showing a header.
|
||||
*/
|
||||
// Show or hide the property grid header control. It is hidden
|
||||
// by the default.
|
||||
// Grid may look better if you use wxPG_NO_INTERNAL_BORDER
|
||||
// window style when showing a header.
|
||||
void ShowHeader(bool show = true);
|
||||
#endif
|
||||
|
||||
@@ -626,13 +502,11 @@ protected:
|
||||
// Subclassing helpers
|
||||
//
|
||||
|
||||
/**
|
||||
Creates property grid for the manager. Reimplement in derived class to
|
||||
use subclassed wxPropertyGrid. However, if you do this then you
|
||||
must also use the two-step construction (i.e. default constructor and
|
||||
Create() instead of constructor with arguments) when creating the
|
||||
manager.
|
||||
*/
|
||||
// Creates property grid for the manager. Reimplement in derived class to
|
||||
// use subclassed wxPropertyGrid. However, if you do this then you
|
||||
// must also use the two-step construction (i.e. default constructor and
|
||||
// Create() instead of constructor with arguments) when creating the
|
||||
// manager.
|
||||
virtual wxPropertyGrid* CreatePropertyGrid() const;
|
||||
|
||||
public:
|
||||
@@ -722,7 +596,7 @@ protected:
|
||||
|
||||
virtual wxPGProperty* DoGetPropertyByName( const wxString& name ) const wxOVERRIDE;
|
||||
|
||||
/** Select and displays a given page. */
|
||||
// Select and displays a given page.
|
||||
virtual bool DoSelectPage( int index ) wxOVERRIDE;
|
||||
|
||||
// Sets some members to defaults.
|
||||
@@ -737,12 +611,11 @@ protected:
|
||||
|
||||
virtual bool ProcessEvent( wxEvent& event ) wxOVERRIDE;
|
||||
|
||||
/** Recalculates new positions for components, according to the
|
||||
given size.
|
||||
*/
|
||||
// Recalculates new positions for components, according to the
|
||||
// given size.
|
||||
void RecalculatePositions( int width, int height );
|
||||
|
||||
/** (Re)creates/destroys controls, according to the window style bits. */
|
||||
// (Re)creates/destroys controls, according to the window style bits.
|
||||
void RecreateControls();
|
||||
|
||||
void UpdateDescriptionBox( int new_splittery, int new_width, int new_height );
|
||||
|
@@ -353,10 +353,7 @@ protected:
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
/** @section propgrid_vfbflags wxPropertyGrid Validation Failure behaviour Flags
|
||||
@{
|
||||
*/
|
||||
|
||||
// wxPropertyGrid Validation Failure behaviour Flags
|
||||
enum wxPG_VALIDATION_FAILURE_BEHAVIOR_FLAGS
|
||||
{
|
||||
|
||||
@@ -1637,7 +1634,7 @@ protected:
|
||||
|
||||
#if WXWIN_COMPATIBILITY_3_0
|
||||
// Unused variable.
|
||||
/** When drawing next time, clear this many item slots at the end. */
|
||||
// When drawing next time, clear this many item slots at the end.
|
||||
int m_clearThisMany;
|
||||
#endif
|
||||
|
||||
@@ -2101,7 +2098,7 @@ public:
|
||||
return m_property->GetMainParent();
|
||||
}
|
||||
|
||||
/** Returns id of associated property. */
|
||||
// Returns property associated with this event.
|
||||
wxPGProperty* GetProperty() const
|
||||
{
|
||||
return m_property;
|
||||
|
@@ -224,11 +224,7 @@ class wxPGValidationInfo;
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
/** @section propgrid_misc wxPropertyGrid Miscellaneous
|
||||
|
||||
This section describes some miscellaneous values, types and macros.
|
||||
@{
|
||||
*/
|
||||
// Some miscellaneous values, types and macros.
|
||||
|
||||
// Used to tell wxPGProperty to use label as name as well
|
||||
#define wxPG_LABEL (*wxPGProperty::sm_wxPG_LABEL)
|
||||
@@ -240,14 +236,12 @@ class wxPGValidationInfo;
|
||||
#endif // WXWIN_COMPATIBILITY_3_0
|
||||
#define wxPG_COLOUR_BLACK (*wxBLACK)
|
||||
|
||||
/** Convert Red, Green and Blue to a single 32-bit value.
|
||||
*/
|
||||
// Convert Red, Green and Blue to a single 32-bit value.
|
||||
#define wxPG_COLOUR(R,G,B) ((wxUint32)(R+(G<<8)+(B<<16)))
|
||||
|
||||
|
||||
/** If property is supposed to have custom-painted image, then returning
|
||||
this in OnMeasureImage() will usually be enough.
|
||||
*/
|
||||
// If property is supposed to have custom-painted image, then returning
|
||||
// this in OnMeasureImage() will usually be enough.
|
||||
#define wxPG_DEFAULT_IMAGE_SIZE wxDefaultSize
|
||||
|
||||
|
||||
@@ -271,9 +265,6 @@ typedef int (*wxPGSortCallback)(wxPropertyGrid* propGrid,
|
||||
typedef wxString wxPGCachedString;
|
||||
#endif
|
||||
|
||||
/** @}
|
||||
*/
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
// Used to indicate wxPGChoices::Add etc. that the value is actually not given
|
||||
|
@@ -61,11 +61,8 @@ WX_PG_IMPLEMENT_PROPERTY_CLASS_PLAIN(NAME, T, EDITOR)
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
/** @class wxPGInDialogValidator
|
||||
@ingroup classes
|
||||
Creates and manages a temporary wxTextCtrl for validation purposes.
|
||||
Uses wxPropertyGrid's current editor, if available.
|
||||
*/
|
||||
// Creates and manages a temporary wxTextCtrl for validation purposes.
|
||||
// Uses wxPropertyGrid's current editor, if available.
|
||||
class WXDLLIMPEXP_PROPGRID wxPGInDialogValidator
|
||||
{
|
||||
public:
|
||||
@@ -95,17 +92,9 @@ private:
|
||||
|
||||
#define wxPG_PROP_PASSWORD wxPG_PROP_CLASS_SPECIFIC_2
|
||||
|
||||
/** @class wxStringProperty
|
||||
@ingroup classes
|
||||
Basic property with string value.
|
||||
|
||||
<b>Supported special attributes:</b>
|
||||
- "Password": set to 1 in order to enable wxTE_PASSWORD on the editor.
|
||||
|
||||
@remarks
|
||||
- If value "<composed>" is set, then actual value is formed (or composed)
|
||||
from values of child properties.
|
||||
*/
|
||||
// Basic property with string value.
|
||||
// If value "<composed>" is set, then actual value is formed (or composed)
|
||||
// from values of child properties.
|
||||
class WXDLLIMPEXP_PROPGRID wxStringProperty : public wxPGProperty
|
||||
{
|
||||
WX_PG_DECLARE_PROPERTY_CLASS(wxStringProperty)
|
||||
@@ -122,8 +111,7 @@ public:
|
||||
|
||||
virtual bool DoSetAttribute( const wxString& name, wxVariant& value ) wxOVERRIDE;
|
||||
|
||||
/** This is updated so "<composed>" special value can be handled.
|
||||
*/
|
||||
// This is updated so "<composed>" special value can be handled.
|
||||
virtual void OnSetValue() wxOVERRIDE;
|
||||
|
||||
protected:
|
||||
@@ -131,20 +119,16 @@ protected:
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
/** Constants used with NumericValidation<>().
|
||||
*/
|
||||
// Constants used with NumericValidation<>().
|
||||
enum wxPGNumericValidationConstants
|
||||
{
|
||||
/** Instead of modifying the value, show an error message.
|
||||
*/
|
||||
// Instead of modifying the value, show an error message.
|
||||
wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE = 0,
|
||||
|
||||
/** Modify value, but stick with the limitations.
|
||||
*/
|
||||
// Modify value, but stick with the limitations.
|
||||
wxPG_PROPERTY_VALIDATION_SATURATE = 1,
|
||||
|
||||
/** Modify value, wrap around on overflow.
|
||||
*/
|
||||
// Modify value, wrap around on overflow.
|
||||
wxPG_PROPERTY_VALIDATION_WRAP = 2
|
||||
};
|
||||
|
||||
@@ -152,9 +136,7 @@ enum wxPGNumericValidationConstants
|
||||
|
||||
#if wxUSE_VALIDATORS
|
||||
|
||||
/**
|
||||
A more comprehensive numeric validator class.
|
||||
*/
|
||||
// A more comprehensive numeric validator class.
|
||||
class WXDLLIMPEXP_PROPGRID wxNumericPropertyValidator : public wxTextValidator
|
||||
{
|
||||
public:
|
||||
@@ -173,47 +155,8 @@ public:
|
||||
#endif // wxUSE_VALIDATORS
|
||||
|
||||
|
||||
/** @class wxIntProperty
|
||||
@ingroup classes
|
||||
Basic property with integer value.
|
||||
|
||||
Seamlessly supports 64-bit integer (wxLongLong) on overflow.
|
||||
|
||||
<b>Example how to use seamless 64-bit integer support</b>
|
||||
|
||||
Getting value:
|
||||
|
||||
@code
|
||||
wxLongLong_t value = pg->GetPropertyValueAsLongLong();
|
||||
@endcode
|
||||
|
||||
or
|
||||
|
||||
@code
|
||||
wxLongLong value;
|
||||
wxVariant variant = property->GetValue();
|
||||
if ( variant.IsType("longlong") )
|
||||
value = variant.GetLongLong();
|
||||
else
|
||||
value = variant.GetLong();
|
||||
@endcode
|
||||
|
||||
Setting value:
|
||||
|
||||
@code
|
||||
pg->SetPropertyValue(longLongVal);
|
||||
@endcode
|
||||
|
||||
or
|
||||
|
||||
@code
|
||||
property->SetValue(WXVARIANT(longLongVal));
|
||||
@endcode
|
||||
|
||||
|
||||
<b>Supported special attributes:</b>
|
||||
- "Min", "Max": Specify acceptable value range.
|
||||
*/
|
||||
// Basic property with integer value.
|
||||
// Seamlessly supports 64-bit integer (wxLongLong) on overflow.
|
||||
class WXDLLIMPEXP_PROPGRID wxIntProperty : public wxPGProperty
|
||||
{
|
||||
WX_PG_DECLARE_PROPERTY_CLASS(wxIntProperty)
|
||||
@@ -240,8 +183,7 @@ public:
|
||||
static wxValidator* GetClassValidator();
|
||||
virtual wxValidator* DoGetValidator() const wxOVERRIDE;
|
||||
|
||||
/** Validation helpers.
|
||||
*/
|
||||
// Validation helpers.
|
||||
#if wxUSE_LONGLONG
|
||||
static bool DoValidation( const wxPGProperty* property,
|
||||
wxLongLong& value,
|
||||
@@ -268,24 +210,8 @@ protected:
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
/** @class wxUIntProperty
|
||||
@ingroup classes
|
||||
Basic property with unsigned integer value.
|
||||
Seamlessly supports 64-bit integer (wxULongLong) on overflow.
|
||||
|
||||
<b>Supported special attributes:</b>
|
||||
- "Min", "Max": Specify acceptable value range.
|
||||
- "Base": Define base. Valid constants are wxPG_BASE_OCT, wxPG_BASE_DEC,
|
||||
wxPG_BASE_HEX and wxPG_BASE_HEXL (lowercase characters). Arbitrary bases
|
||||
are <b>not</b> supported.
|
||||
- "Prefix": Possible values are wxPG_PREFIX_NONE, wxPG_PREFIX_0x, and
|
||||
wxPG_PREFIX_DOLLAR_SIGN. Only wxPG_PREFIX_NONE works with Decimal and Octal
|
||||
numbers.
|
||||
|
||||
@remarks
|
||||
- For example how to use seamless 64-bit integer support, see wxIntProperty
|
||||
documentation (just use wxULongLong instead of wxLongLong).
|
||||
*/
|
||||
// Basic property with unsigned integer value.
|
||||
// Seamlessly supports 64-bit integer (wxULongLong) on overflow.
|
||||
class WXDLLIMPEXP_PROPGRID wxUIntProperty : public wxPGProperty
|
||||
{
|
||||
WX_PG_DECLARE_PROPERTY_CLASS(wxUIntProperty)
|
||||
@@ -339,14 +265,7 @@ private:
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
/** @class wxFloatProperty
|
||||
@ingroup classes
|
||||
Basic property with double-precision floating point value.
|
||||
|
||||
<b>Supported special attributes:</b>
|
||||
- "Precision": Sets the (max) precision used when floating point value is
|
||||
rendered as text. The default -1 means infinite precision.
|
||||
*/
|
||||
// Basic property with double-precision floating point value.
|
||||
class WXDLLIMPEXP_PROPGRID wxFloatProperty : public wxPGProperty
|
||||
{
|
||||
WX_PG_DECLARE_PROPERTY_CLASS(wxFloatProperty)
|
||||
@@ -366,8 +285,7 @@ public:
|
||||
virtual bool ValidateValue( wxVariant& value,
|
||||
wxPGValidationInfo& validationInfo ) const wxOVERRIDE;
|
||||
|
||||
/** Validation helper.
|
||||
*/
|
||||
// Validation helper.
|
||||
static bool DoValidation( const wxPGProperty* property,
|
||||
double& value,
|
||||
wxPGValidationInfo* pValidationInfo,
|
||||
@@ -382,14 +300,7 @@ protected:
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
/** @class wxBoolProperty
|
||||
@ingroup classes
|
||||
Basic property with boolean value.
|
||||
|
||||
<b>Supported special attributes:</b>
|
||||
- "UseCheckbox": Set to 1 to use check box editor instead of combo box.
|
||||
- "UseDClickCycling": Set to 1 to cycle combo box instead showing the list.
|
||||
*/
|
||||
// Basic property with boolean value.
|
||||
class WXDLLIMPEXP_PROPGRID wxBoolProperty : public wxPGProperty
|
||||
{
|
||||
WX_PG_DECLARE_PROPERTY_CLASS(wxBoolProperty)
|
||||
@@ -415,17 +326,12 @@ public:
|
||||
// changed (i.e. returns NULL in GetPropertyChoices).
|
||||
#define wxPG_PROP_STATIC_CHOICES wxPG_PROP_CLASS_SPECIFIC_1
|
||||
|
||||
/** @class wxEnumProperty
|
||||
@ingroup classes
|
||||
You can derive custom properties with choices from this class. See
|
||||
wxBaseEnumProperty for remarks.
|
||||
|
||||
@remarks
|
||||
- Updating private index is important. You can do this either by calling
|
||||
SetIndex() in IntToValue, and then letting wxBaseEnumProperty::OnSetValue
|
||||
be called (by not implementing it, or by calling super class function in
|
||||
it) -OR- you can just call SetIndex in OnSetValue.
|
||||
*/
|
||||
// Represents a single selection from a list of choices
|
||||
// You can derive custom properties with choices from this class.
|
||||
// Updating private index is important. You can do this either by calling
|
||||
// SetIndex() in IntToValue, and then letting wxBaseEnumProperty::OnSetValue
|
||||
// be called (by not implementing it, or by calling super class function in
|
||||
// it) -OR- you can just call SetIndex in OnSetValue.
|
||||
class WXDLLIMPEXP_PROPGRID wxEnumProperty : public wxPGProperty
|
||||
{
|
||||
WX_PG_DECLARE_PROPERTY_CLASS(wxEnumProperty)
|
||||
@@ -531,14 +437,9 @@ private:
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
/** @class wxEditEnumProperty
|
||||
@ingroup classes
|
||||
wxEnumProperty with wxString value and writable combo box editor.
|
||||
|
||||
@remarks
|
||||
Uses int value, similar to wxEnumProperty, unless text entered by user is
|
||||
is not in choices (in which case string value is used).
|
||||
*/
|
||||
// wxEnumProperty with wxString value and writable combo box editor.
|
||||
// Uses int value, similar to wxEnumProperty, unless text entered by user is
|
||||
// is not in choices (in which case string value is used).
|
||||
class WXDLLIMPEXP_PROPGRID wxEditEnumProperty : public wxEnumProperty
|
||||
{
|
||||
WX_PG_DECLARE_PROPERTY_CLASS(wxEditEnumProperty)
|
||||
@@ -581,16 +482,13 @@ protected:
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
/** @class wxFlagsProperty
|
||||
@ingroup classes
|
||||
Represents a bit set that fits in a long integer. wxBoolProperty
|
||||
sub-properties are created for editing individual bits. Textctrl is created
|
||||
to manually edit the flags as a text; a continuous sequence of spaces,
|
||||
commas and semicolons is considered as a flag id separator.
|
||||
<b>Note:</b> When changing "choices" (ie. flag labels) of wxFlagsProperty,
|
||||
you will need to use SetPropertyChoices - otherwise they will not get
|
||||
updated properly.
|
||||
*/
|
||||
// Represents a bit set that fits in a long integer. wxBoolProperty
|
||||
// sub-properties are created for editing individual bits. Textctrl is created
|
||||
// to manually edit the flags as a text; a continuous sequence of spaces,
|
||||
// commas and semicolons is considered as a flag id separator.
|
||||
// Note: When changing "choices" (ie. flag labels) of wxFlagsProperty,
|
||||
// you will need to use SetPropertyChoices - otherwise they will not get
|
||||
// updated properly.
|
||||
class WXDLLIMPEXP_PROPGRID wxFlagsProperty : public wxPGProperty
|
||||
{
|
||||
WX_PG_DECLARE_PROPERTY_CLASS(wxFlagsProperty)
|
||||
@@ -650,9 +548,6 @@ protected:
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
/** @class wxPGFileDialogAdapter
|
||||
@ingroup classes
|
||||
*/
|
||||
class WXDLLIMPEXP_PROPGRID
|
||||
wxPGFileDialogAdapter : public wxPGEditorDialogAdapter
|
||||
{
|
||||
@@ -666,20 +561,7 @@ public:
|
||||
// Indicates first bit useable by derived properties.
|
||||
#define wxPG_PROP_SHOW_FULL_FILENAME wxPG_PROP_CLASS_SPECIFIC_1
|
||||
|
||||
/** @class wxFileProperty
|
||||
@ingroup classes
|
||||
Like wxLongStringProperty, but the button triggers file selector instead.
|
||||
|
||||
<b>Supported special attributes:</b>
|
||||
- "Wildcard": Sets wildcard (see wxFileDialog for format details), "All
|
||||
files..." is default.
|
||||
- "ShowFullPath": Default 1. When 0, only the file name is shown (i.e. drive
|
||||
and directory are hidden).
|
||||
- "ShowRelativePath": If set, then the filename is shown relative to the
|
||||
given path string.
|
||||
- "InitialPath": Sets the initial path of where to look for files.
|
||||
- "DialogTitle": Sets a specific title for the dir dialog.
|
||||
*/
|
||||
// Like wxLongStringProperty, but the button triggers file selector instead.
|
||||
class WXDLLIMPEXP_PROPGRID wxFileProperty : public wxPGProperty
|
||||
{
|
||||
friend class wxPGFileDialogAdapter;
|
||||
@@ -702,9 +584,7 @@ public:
|
||||
static wxValidator* GetClassValidator();
|
||||
virtual wxValidator* DoGetValidator() const wxOVERRIDE;
|
||||
|
||||
/**
|
||||
Returns filename to file represented by current value.
|
||||
*/
|
||||
// Returns filename to file represented by current value.
|
||||
wxFileName GetFileName() const;
|
||||
|
||||
protected:
|
||||
@@ -723,9 +603,6 @@ protected:
|
||||
#define wxPG_PROP_ACTIVE_BTN wxPG_PROP_CLASS_SPECIFIC_3
|
||||
|
||||
|
||||
/** @class wxPGLongStringDialogAdapter
|
||||
@ingroup classes
|
||||
*/
|
||||
class WXDLLIMPEXP_PROPGRID
|
||||
wxPGLongStringDialogAdapter : public wxPGEditorDialogAdapter
|
||||
{
|
||||
@@ -735,11 +612,8 @@ public:
|
||||
};
|
||||
|
||||
|
||||
/** @class wxLongStringProperty
|
||||
@ingroup classes
|
||||
Like wxStringProperty, but has a button that triggers a small text
|
||||
editor dialog.
|
||||
*/
|
||||
// Like wxStringProperty, but has a button that triggers a small text
|
||||
// editor dialog.
|
||||
class WXDLLIMPEXP_PROPGRID wxLongStringProperty : public wxPGProperty
|
||||
{
|
||||
WX_PG_DECLARE_PROPERTY_CLASS(wxLongStringProperty)
|
||||
@@ -772,13 +646,7 @@ protected:
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
|
||||
/** @class wxDirProperty
|
||||
@ingroup classes
|
||||
Like wxLongStringProperty, but the button triggers dir selector instead.
|
||||
|
||||
<b>Supported special attributes:</b>
|
||||
- "DialogMessage": Sets specific message in the dir selector.
|
||||
*/
|
||||
// Like wxLongStringProperty, but the button triggers dir selector instead.
|
||||
class WXDLLIMPEXP_PROPGRID wxDirProperty : public wxLongStringProperty
|
||||
{
|
||||
wxDECLARE_DYNAMIC_CLASS(wxDirProperty);
|
||||
@@ -807,10 +675,7 @@ protected:
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
/** @class wxArrayStringProperty
|
||||
@ingroup classes
|
||||
Property that manages a list of strings.
|
||||
*/
|
||||
// Property that manages a list of strings.
|
||||
class WXDLLIMPEXP_PROPGRID wxArrayStringProperty : public wxPGProperty
|
||||
{
|
||||
WX_PG_DECLARE_PROPERTY_CLASS(wxArrayStringProperty)
|
||||
@@ -853,10 +718,8 @@ public:
|
||||
QuoteStrings = 0x02
|
||||
};
|
||||
|
||||
/**
|
||||
Generates contents for string dst based on the contents of
|
||||
wxArrayString src.
|
||||
*/
|
||||
// Generates contents for string dst based on the contents of
|
||||
// wxArrayString src.
|
||||
static void ArrayStringToString( wxString& dst, const wxArrayString& src,
|
||||
wxUniChar delimiter, int flags );
|
||||
|
||||
@@ -966,29 +829,24 @@ public:
|
||||
m_hasCustomNewAction = true;
|
||||
}
|
||||
|
||||
/** Set value modified by dialog.
|
||||
*/
|
||||
// Set value modified by dialog.
|
||||
virtual void SetDialogValue( const wxVariant& WXUNUSED(value) )
|
||||
{
|
||||
wxFAIL_MSG(wxS("re-implement this member function in derived class"));
|
||||
}
|
||||
|
||||
/** Return value modified by dialog.
|
||||
*/
|
||||
// Return value modified by dialog.
|
||||
virtual wxVariant GetDialogValue() const
|
||||
{
|
||||
wxFAIL_MSG(wxS("re-implement this member function in derived class"));
|
||||
return wxVariant();
|
||||
}
|
||||
|
||||
/** Override to return wxValidator to be used with the wxTextCtrl
|
||||
in dialog. Note that the validator is used in the standard
|
||||
wx way, i.e. it immediately prevents user from entering invalid
|
||||
input.
|
||||
|
||||
@remarks
|
||||
Dialog frees the validator.
|
||||
*/
|
||||
// Override to return wxValidator to be used with the wxTextCtrl
|
||||
// in dialog. Note that the validator is used in the standard
|
||||
// wx way, i.e. it immediately prevents user from entering invalid
|
||||
// input.
|
||||
// Note: Dialog frees the validator.
|
||||
virtual wxValidator* GetTextCtrlValidator() const
|
||||
{
|
||||
return NULL;
|
||||
|
@@ -116,14 +116,17 @@ public:
|
||||
Default implementation sets foreground colour, background colour,
|
||||
font, plus text for wxTextCtrl and wxComboCtrl.
|
||||
|
||||
The parameter @a appearance represents the new appearance to be applied.
|
||||
@param appearance
|
||||
New appearance to be applied.
|
||||
|
||||
The parameter @a oldAppearance is the previously applied appearance.
|
||||
Used to detect which control attributes need to be changed (e.g. so we only
|
||||
change background colour if really needed).
|
||||
@param oldAppearance
|
||||
Previously applied appearance. Used to detect which control
|
||||
attributes need to be changed (e.g. so we onlychange background
|
||||
colour if really needed).
|
||||
|
||||
Finally, the parameter @a unspecified if @true tells this function that
|
||||
the new appearance represents an unspecified property value.
|
||||
@param unspecified
|
||||
If @true tells this function that the new appearance represents
|
||||
an unspecified property value.
|
||||
*/
|
||||
virtual void SetControlAppearance( wxPropertyGrid* pg,
|
||||
wxPGProperty* property,
|
||||
@@ -333,3 +336,35 @@ public:
|
||||
wxSize GetPrimarySize() const;
|
||||
};
|
||||
|
||||
/** @class wxPGEditorDialogAdapter
|
||||
|
||||
Derive a class from this to adapt an existing editor dialog or function to
|
||||
be used when editor button of a property is pushed.
|
||||
|
||||
You only need to derive class and implement DoShowDialog() to create and
|
||||
show the dialog, and finally submit the value returned by the dialog
|
||||
via SetValue().
|
||||
|
||||
@library{wxpropgrid}
|
||||
@category{propgrid}
|
||||
*/
|
||||
class wxPGEditorDialogAdapter : public wxObject
|
||||
{
|
||||
public:
|
||||
wxPGEditorDialogAdapter();
|
||||
|
||||
virtual ~wxPGEditorDialogAdapter();
|
||||
|
||||
bool ShowDialog( wxPropertyGrid* propGrid, wxPGProperty* property );
|
||||
|
||||
virtual bool DoShowDialog( wxPropertyGrid* propGrid,
|
||||
wxPGProperty* property ) = 0;
|
||||
|
||||
void SetValue( wxVariant value );
|
||||
|
||||
/**
|
||||
This method is typically only used if deriving class from existing
|
||||
adapter with value conversion purposes.
|
||||
*/
|
||||
wxVariant& GetValue();
|
||||
};
|
||||
|
@@ -80,6 +80,16 @@ public:
|
||||
*/
|
||||
int GetSplitterPosition( int col = 0 ) const;
|
||||
|
||||
/**
|
||||
Returns pointer to contained property grid state.
|
||||
*/
|
||||
wxPropertyGridPageState* GetStatePtr();
|
||||
|
||||
/**
|
||||
Returns pointer to contained property grid state.
|
||||
*/
|
||||
const wxPropertyGridPageState* GetStatePtr() const;
|
||||
|
||||
/**
|
||||
Returns id of the tool bar item that represents this page on
|
||||
wxPropertyGridManager's wxToolBar.
|
||||
@@ -95,7 +105,7 @@ public:
|
||||
virtual void Init();
|
||||
|
||||
/**
|
||||
Return false here to indicate unhandled events should be
|
||||
Return @false here to indicate unhandled events should be
|
||||
propagated to manager's parent, as normal.
|
||||
*/
|
||||
virtual bool IsHandlingAllEvents() const;
|
||||
@@ -200,6 +210,21 @@ public:
|
||||
class wxPropertyGridManager : public wxPanel, public wxPropertyGridInterface
|
||||
{
|
||||
public:
|
||||
/**
|
||||
The default constructor. The styles to be used are styles valid for
|
||||
the wxWindow.
|
||||
*/
|
||||
wxPropertyGridManager( wxWindow *parent, wxWindowID id = wxID_ANY,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxPGMAN_DEFAULT_STYLE,
|
||||
const wxString& name = wxPropertyGridManagerNameStr );
|
||||
|
||||
/**
|
||||
Destructor.
|
||||
*/
|
||||
virtual ~wxPropertyGridManager();
|
||||
|
||||
/**
|
||||
Creates new property page. Note that the first page is not created
|
||||
automatically.
|
||||
@@ -259,7 +284,7 @@ public:
|
||||
Enables or disables (shows/hides) categories according to parameter enable.
|
||||
|
||||
@remarks
|
||||
Calling his may not properly update toolbar buttons.
|
||||
Calling this may not properly update toolbar buttons.
|
||||
*/
|
||||
bool EnableCategories( bool enable );
|
||||
|
||||
@@ -291,7 +316,7 @@ public:
|
||||
wxPropertyGrid* GetGrid();
|
||||
|
||||
/**
|
||||
Similar to GetIterator, but instead returns wxPGVIterator instance,
|
||||
Similar to GetIterator(), but instead returns wxPGVIterator instance,
|
||||
which can be useful for forward-iterating through arbitrary property
|
||||
containers.
|
||||
*/
|
||||
@@ -318,6 +343,12 @@ public:
|
||||
*/
|
||||
int GetPageByName( const wxString& name ) const;
|
||||
|
||||
/**
|
||||
Returns index for a relevant propertygrid state.
|
||||
If no match is found, wxNOT_FOUND is returned.
|
||||
*/
|
||||
int GetPageByState( const wxPropertyGridPageState* pstate ) const;
|
||||
|
||||
/**
|
||||
Returns number of managed pages.
|
||||
*/
|
||||
@@ -365,7 +396,7 @@ public:
|
||||
|
||||
@param pageObj
|
||||
wxPropertyGridPage instance. Manager will take ownership of this
|
||||
object. If NULL, default page object is constructed.
|
||||
object. If @NULL, default page object is constructed.
|
||||
|
||||
@return Returns pointer to created page.
|
||||
*/
|
||||
|
@@ -427,11 +427,15 @@ wxPG_PROP_CLASS_SPECIFIC_3 = 0x00400000
|
||||
|
||||
@subsection wxStringProperty
|
||||
|
||||
Simple string property. wxPG_STRING_PASSWORD attribute may be used
|
||||
to echo value as asterisks and use wxTE_PASSWORD for wxTextCtrl.
|
||||
wxPG_ATTR_AUTOCOMPLETE attribute may be used to enable auto-completion
|
||||
Simple string property.
|
||||
|
||||
Supported special attributes:
|
||||
- wxPG_STRING_PASSWORD: Set to @true in order to echo value as asterisks and
|
||||
to use wxTE_PASSWORD on the editor (wxTextCtrl).
|
||||
- wxPG_ATTR_AUTOCOMPLETE: Set to @true to enable auto-completion
|
||||
(use a wxArrayString value), and is also supported by any property that
|
||||
happens to use a wxTextCtrl-based editor.
|
||||
@see propgrid_property_attributes
|
||||
|
||||
@remarks wxStringProperty has a special trait: if it has value of
|
||||
"<composed>", and also has child properties, then its displayed
|
||||
@@ -441,9 +445,8 @@ wxPG_PROP_CLASS_SPECIFIC_3 = 0x00400000
|
||||
@subsection wxIntProperty
|
||||
|
||||
Like wxStringProperty, but converts text to a signed long integer.
|
||||
wxIntProperty seamlessly supports 64-bit integers (ie. wxLongLong).
|
||||
wxIntProperty seamlessly supports 64-bit integers (i.e. wxLongLong) on overlfow.
|
||||
To safely convert variant to integer, use code like this:
|
||||
|
||||
@code
|
||||
wxLongLong ll;
|
||||
ll << property->GetValue();
|
||||
@@ -452,15 +455,55 @@ wxPG_PROP_CLASS_SPECIFIC_3 = 0x00400000
|
||||
wxLongLong ll = propertyGrid->GetPropertyValueAsLong(property);
|
||||
@endcode
|
||||
|
||||
Getting 64-bit value:
|
||||
@code
|
||||
wxLongLong_t value = pg->GetPropertyValueAsLongLong();
|
||||
|
||||
// or
|
||||
|
||||
wxLongLong value;
|
||||
wxVariant variant = property->GetValue();
|
||||
if ( variant.IsType(wxPG_VARIANT_TYPE_LONGLONG) )
|
||||
value = variant.GetLongLong();
|
||||
else
|
||||
value = variant.GetLong();
|
||||
@endcode
|
||||
|
||||
Setting 64-bit value:
|
||||
@code
|
||||
pg->SetPropertyValue(longLongVal);
|
||||
|
||||
// or
|
||||
|
||||
property->SetValue(WXVARIANT(longLongVal));
|
||||
@endcode
|
||||
|
||||
Supported special attributes:
|
||||
- wxPG_ATTR_MIN, wxPG_ATTR_MAX to specify acceptable value range.
|
||||
|
||||
@subsection wxUIntProperty
|
||||
|
||||
Like wxIntProperty, but displays value as unsigned int. To set
|
||||
the prefix used globally, manipulate wxPG_UINT_PREFIX string attribute.
|
||||
To set the globally used base, manipulate wxPG_UINT_BASE int
|
||||
attribute. Regardless of current prefix, understands (hex) values starting
|
||||
with both "0x" and "$".
|
||||
with both "0x" and "$" (apart from edit mode).
|
||||
Like wxIntProperty, wxUIntProperty seamlessly supports 64-bit unsigned
|
||||
integers (ie. wxULongLong). Same wxVariant safety rules apply.
|
||||
integers (i.e. wxULongLong). Same wxVariant safety rules apply.
|
||||
|
||||
Supported special attributes:
|
||||
- wxPG_ATTR_MIN, wxPG_ATTR_MAX: Specifies acceptable value range.
|
||||
- wxPG_UINT_BASE: Defines base. Valid constants are wxPG_BASE_OCT,
|
||||
wxPG_BASE_DEC, wxPG_BASE_HEX and wxPG_BASE_HEXL (lowercase characters).
|
||||
Arbitrary bases are <b>not</b> supported.
|
||||
- wxPG_UINT_PREFIX: Defines displayed prefix. Possible values are
|
||||
wxPG_PREFIX_NONE, wxPG_PREFIX_0x and wxPG_PREFIX_DOLLAR_SIGN.
|
||||
Only wxPG_PREFIX_NONE works with decimal and octal numbers.
|
||||
@see propgrid_property_attributes
|
||||
|
||||
@remarks
|
||||
For example how to use seamless 64-bit integer support, see wxIntProperty
|
||||
documentation (just use wxULongLong instead of wxLongLong).
|
||||
|
||||
@subsection wxFloatProperty
|
||||
|
||||
@@ -474,12 +517,27 @@ wxPG_PROP_CLASS_SPECIFIC_3 = 0x00400000
|
||||
what C standard library does, but should result in better end-user
|
||||
experience in almost all cases.
|
||||
|
||||
Supported special attributes:
|
||||
- wxPG_ATTR_MIN, wxPG_ATTR_MAX: Specifies acceptable value range.
|
||||
<b>Supported special attributes:</b>
|
||||
- wxPG_FLOAT_PRECISION: Sets the (max) precision used when floating point
|
||||
value is rendered as text. The default -1 means shortest floating-point
|
||||
6-digit representation.
|
||||
@see propgrid_property_attributes
|
||||
|
||||
@subsection wxBoolProperty
|
||||
|
||||
Represents a boolean value. wxChoice is used as editor control, by the
|
||||
default. wxPG_BOOL_USE_CHECKBOX attribute can be set to true in order to
|
||||
default. wxPG_BOOL_USE_CHECKBOX attribute can be set to @true in order to
|
||||
use check box instead.
|
||||
|
||||
Supported special attributes:
|
||||
- wxPG_BOOL_USE_CHECKBOX: If set to @true uses check box editor instead
|
||||
of combo box.
|
||||
- wxPG_BOOL_USE_DOUBLE_CLICK_CYCLING: If set to @true cycles combo box
|
||||
instead showing the list.
|
||||
@see propgrid_property_attributes
|
||||
|
||||
@subsection wxLongStringProperty
|
||||
|
||||
Like wxStringProperty, but has a button that triggers a small text editor
|
||||
@@ -520,15 +578,27 @@ wxPG_PROP_CLASS_SPECIFIC_3 = 0x00400000
|
||||
@subsection wxDirProperty
|
||||
|
||||
Like wxLongStringProperty, but the button triggers dir selector instead.
|
||||
Supported properties (all with string value): wxPG_DIR_DIALOG_MESSAGE.
|
||||
|
||||
Supported special attributes:
|
||||
- wxPG_DIR_DIALOG_MESSAGE: Sets specific message in the dir selector.
|
||||
@see propgrid_property_attributes
|
||||
|
||||
@subsection wxFileProperty
|
||||
|
||||
Like wxLongStringProperty, but the button triggers file selector instead.
|
||||
Default wildcard is "All files..." but this can be changed by setting
|
||||
wxPG_FILE_WILDCARD attribute (see wxFileDialog for format details).
|
||||
Attribute wxPG_FILE_SHOW_FULL_PATH can be set to @false in order to show
|
||||
only the filename, not the entire path.
|
||||
wxPG_FILE_WILDCARD attribute.
|
||||
|
||||
Supported special attributes:
|
||||
- wxPG_FILE_WILDCARD: Sets wildcard (see wxFileDialog for format details), "All
|
||||
files..." is default.
|
||||
- wxPG_FILE_SHOW_FULL_PATH: Default @true. When @false, only the file name is shown
|
||||
(i.e. drive and directory are hidden).
|
||||
- wxPG_FILE_SHOW_RELATIVE_PATH: If set, then the filename is shown relative to the
|
||||
given path string.
|
||||
- wxPG_FILE_INITIAL_PATH: Sets the initial path of where to look for files.
|
||||
- wxPG_FILE_DIALOG_TITLE: Sets a specific title for the dir dialog.
|
||||
@see propgrid_property_attributes
|
||||
|
||||
@subsection wxEnumProperty
|
||||
|
||||
@@ -550,33 +620,54 @@ wxPG_PROP_CLASS_SPECIFIC_3 = 0x00400000
|
||||
|
||||
@subsection wxArrayStringProperty
|
||||
|
||||
Allows editing of a list of strings in wxTextCtrl and in a separate
|
||||
dialog. Supports "Delimiter" attribute, which defaults to comma (',').
|
||||
Property that manages a list of strings. Allows editing of a list
|
||||
of strings in wxTextCtrl and in a separate dialog.
|
||||
|
||||
Supported special attributes:
|
||||
- wxPG_ARRAY_DELIMITER: Sets string delimiter character.
|
||||
Default is comma (',').
|
||||
@see propgrid_property_attributes
|
||||
|
||||
@subsection wxDateProperty
|
||||
|
||||
wxDateTime property. Default editor is DatePickerCtrl, although TextCtrl
|
||||
should work as well. wxPG_DATE_FORMAT attribute can be used to change
|
||||
string wxDateTime::Format uses (although default is recommended as it is
|
||||
locale-dependent), and wxPG_DATE_PICKER_STYLE allows changing window
|
||||
style given to DatePickerCtrl (default is wxDP_DEFAULT|wxDP_SHOWCENTURY).
|
||||
Using wxDP_ALLOWNONE will enable better unspecified value support.
|
||||
Property representing wxDateTime. Default editor is DatePickerCtrl,
|
||||
although TextCtrl should work as well.
|
||||
|
||||
Supported special attributes:
|
||||
- wxPG_DATE_FORMAT: Determines displayed date format (with wxDateTime::Format).
|
||||
Default is recommended as it is locale-dependent.
|
||||
- wxPG_DATE_PICKER_STYLE: Determines window style used with wxDatePickerCtrl.
|
||||
Default is wxDP_DEFAULT | wxDP_SHOWCENTURY. Using wxDP_ALLOWNONE
|
||||
enables additional support for unspecified property value.
|
||||
@see propgrid_property_attributes
|
||||
|
||||
@subsection wxEditEnumProperty
|
||||
|
||||
Represents a string that can be freely edited or selected from list of choices -
|
||||
custom combobox control is used to edit the value.
|
||||
|
||||
@remarks
|
||||
Uses int value, similar to wxEnumProperty, unless text entered by user is
|
||||
is not in choices (in which case string value is used).
|
||||
|
||||
@subsection wxMultiChoiceProperty
|
||||
|
||||
Allows editing a multiple selection from a list of strings. This is
|
||||
property is pretty much built around concept of wxMultiChoiceDialog.
|
||||
It uses wxArrayString value.
|
||||
|
||||
Supported special attributes:
|
||||
- wxPG_ATTR_MULTICHOICE_USERSTRINGMODE: If > 0, allows user to manually
|
||||
enter strings that are not in the list of choices. If this value is 1,
|
||||
user strings are preferably placed in front of valid choices. If value
|
||||
is 2, then those strings will placed behind valid choices.
|
||||
@see propgrid_property_attributes
|
||||
|
||||
@subsection wxImageFileProperty
|
||||
|
||||
Like wxFileProperty, but has thumbnail of the image in front of
|
||||
the filename and autogenerates wildcard from available image handlers.
|
||||
Property representing image file(name). Like wxFileProperty,
|
||||
but has thumbnail of the image in front of the filename
|
||||
and autogenerates wildcard from available image handlers.
|
||||
|
||||
@subsection wxColourProperty
|
||||
|
||||
@@ -586,8 +677,10 @@ wxPG_PROP_CLASS_SPECIFIC_3 = 0x00400000
|
||||
There are various sub-classing opportunities with this class. See
|
||||
below in wxSystemColourProperty section for details.
|
||||
|
||||
Setting "HasAlpha" attribute to @true for this property allows user to
|
||||
edit the alpha colour component.
|
||||
Supported special attributes:
|
||||
- wxPG_COLOUR_HAS_ALPHA: If set to @true allows user to edit the alpha
|
||||
colour component.
|
||||
@see propgrid_property_attributes
|
||||
|
||||
@subsection wxFontProperty
|
||||
|
||||
@@ -618,7 +711,7 @@ wxPG_PROP_CLASS_SPECIFIC_3 = 0x00400000
|
||||
};
|
||||
@endcode
|
||||
|
||||
in wxSystemColourProperty, and its derived class wxColourProperty, there
|
||||
In wxSystemColourProperty, and its derived class wxColourProperty, there
|
||||
are various sub-classing features. To set a basic list of colour
|
||||
names, call wxPGProperty::SetChoices().
|
||||
|
||||
@@ -1488,19 +1581,19 @@ public:
|
||||
wxPGProperty* GetItemAtY( unsigned int y ) const;
|
||||
|
||||
/**
|
||||
Returns true if property has given flag set.
|
||||
Returns @true if property has given flag set.
|
||||
|
||||
@see propgrid_propflags
|
||||
*/
|
||||
bool HasFlag(wxPGPropertyFlags flag) const;
|
||||
|
||||
/**
|
||||
Returns true if property has given flag set.
|
||||
Returns @true if property has given flag set.
|
||||
*/
|
||||
bool HasFlag(FlagType flag) const;
|
||||
|
||||
/**
|
||||
Returns true if property has all given flags set.
|
||||
Returns @true if property has all given flags set.
|
||||
*/
|
||||
bool HasFlagsExact(FlagType flags) const;
|
||||
|
||||
|
@@ -71,6 +71,38 @@ wxPG_SORT_TOP_LEVEL_ONLY = 0x00000200
|
||||
/** @}
|
||||
*/
|
||||
|
||||
/** @section propgrid_misc_data wxPropertyGrid Miscellaneous
|
||||
|
||||
This section describes some miscellaneous values, types and macros.
|
||||
@{
|
||||
*/
|
||||
|
||||
/**
|
||||
Used to tell wxPGProperty to use label as name as well.
|
||||
*/
|
||||
#define wxPG_LABEL (*wxPGProperty::sm_wxPG_LABEL)
|
||||
|
||||
/**
|
||||
This is the value placed in wxPGProperty::sm_wxPG_LABEL
|
||||
*/
|
||||
#define wxPG_LABEL_STRING wxS("@!")
|
||||
|
||||
#define wxPG_COLOUR_BLACK (*wxBLACK)
|
||||
|
||||
/**
|
||||
Convert Red, Green and Blue to a single 32-bit value.
|
||||
*/
|
||||
#define wxPG_COLOUR(R,G,B) ((wxUint32)(R+(G<<8)+(B<<16)))
|
||||
|
||||
/**
|
||||
If property is supposed to have custom-painted image, then returning
|
||||
this in OnMeasureImage() will usually be enough.
|
||||
*/
|
||||
#define wxPG_DEFAULT_IMAGE_SIZE wxDefaultSize
|
||||
|
||||
/** @}
|
||||
*/
|
||||
|
||||
/**
|
||||
@class wxPropertyGridInterface
|
||||
|
||||
|
Reference in New Issue
Block a user