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:
@@ -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 );
|
||||
|
Reference in New Issue
Block a user