]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/propgrid/editors.h
document that under wxMSW slant == italic
[wxWidgets.git] / interface / wx / propgrid / editors.h
index 7f39b20814b1b287c5f54cbc1e875bce3f89350e..29738a5c22ee858211196d9d47c76d035dacd49f 100644 (file)
@@ -6,7 +6,6 @@
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
-// -----------------------------------------------------------------------
 
 /**
     @class wxPGEditor
@@ -40,11 +39,7 @@ class wxPGEditor : public wxObject
 public:
 
     /** Constructor. */
-    wxPGEditor()
-        : wxObject()
-    {
-        m_clientData = NULL;
-    }
+    wxPGEditor();
 
     /** Destructor. */
     virtual ~wxPGEditor();
@@ -75,17 +70,10 @@ public:
         @remarks
         - Primary control shall use id wxPG_SUBID1, and secondary (button) control
           shall use wxPG_SUBID2.
-        - Implementation shoud connect all necessary events to the
-          wxPropertyGrid::OnCustomEditorEvent. For Example:
-            @code
-                // Relays wxEVT_COMMAND_TEXT_UPDATED events of primary editor
-                // control to the OnEvent.
-                control->Connect(control->GetId(), wxEVT_COMMAND_TEXT_UPDATED,
-                                 wxCommandEventHandler(wxPropertyGrid::OnCustomEditorEvent),
-                                 NULL, propgrid);
-            @endcode
-          OnCustomEditorEvent will then forward events, first to
-          wxPGEditor::OnEvent() and then to wxPGProperty::OnEvent().
+        - 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,
@@ -106,10 +94,10 @@ public:
         (see wxPGProperty::OnEvent() for more information).
 
         @remarks wxPropertyGrid will automatically unfocus the editor when
-                wxEVT_COMMAND_TEXT_ENTER is received and when it results in
-                property value being modified. This happens regardless of
-                editor type (ie. behavior is same for any wxTextCtrl and
-                wxComboBox based editor).
+                 wxEVT_COMMAND_TEXT_ENTER is received and when it results in
+                 property value being modified. This happens regardless of
+                 editor type (ie. behavior is same for any wxTextCtrl and
+                 wxComboBox based editor).
     */
     virtual bool OnEvent( wxPropertyGrid* propgrid, wxPGProperty* property,
         wxWindow* wnd_primary, wxEvent& event ) const = 0;
@@ -120,26 +108,25 @@ public:
         Returns @true if value was different.
     */
     virtual bool GetValueFromControl( wxVariant& variant, wxPGProperty* property,
-        wxWindow* ctrl ) const;
+                                      wxWindow* ctrl ) const;
 
     /** Sets value in control to unspecified. */
     virtual void SetValueToUnspecified( wxPGProperty* property,
-        wxWindow* ctrl ) const = 0;
+                                        wxWindow* ctrl ) const = 0;
 
     /** Sets control's value specifically from string. */
     virtual void SetControlStringValue( wxPGProperty* property,
-        wxWindow* ctrl, const wxString& txt ) const;
+                                        wxWindow* ctrl, const wxString& txt ) const;
 
     /** Sets control's value specifically from int (applies to choice etc.). */
     virtual void SetControlIntValue( wxPGProperty* property,
-        wxWindow* ctrl, int value ) const;
+                                     wxWindow* ctrl, int value ) const;
 
     /**
         Inserts item to existing control. Index -1 means end of list.
         Default implementation does nothing. Returns index of item added.
     */
-    virtual int InsertItem( wxWindow* ctrl, const wxString& label,
-        int index ) const;
+    virtual int InsertItem( wxWindow* ctrl, const wxString& label, int index ) const;
 
     /**
         Deletes item from existing control.
@@ -148,19 +135,19 @@ public:
     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
-        implementation returns @false.
+        Returns @true if control itself can contain the custom image.
+        Default implementation returns @false.
     */
     virtual bool CanContainCustomImage() const;
 };
 
-// -----------------------------------------------------------------------
+
 
 /**
     @class wxPGMultiButton
@@ -172,7 +159,6 @@ public:
     For instance, here we add three buttons to a TextCtrl editor:
 
     @code
-
     #include <wx/propgrid/editors.h>
 
     class wxSampleMultiButtonEditor : public wxPGTextCtrlEditor
@@ -234,29 +220,28 @@ public:
 
             if ( event.GetId() == buttons->GetButtonId(0) )
             {
-                // Do something when first button is pressed
-                return true;
+                // Do something when the first button is pressed
+                // Return true if the action modified the value in editor.
+                ...
             }
             if ( event.GetId() == buttons->GetButtonId(1) )
             {
-                // Do something when second button is pressed
-                return true;
+                // Do something when the second button is pressed
+                ...
             }
             if ( event.GetId() == buttons->GetButtonId(2) )
             {
-                // Do something when third button is pressed
-                return true;
+                // Do something when the third button is pressed
+                ...
             }
         }
         return wxPGTextCtrlEditor::OnEvent(propGrid, property, ctrl, event);
     }
-
     @endcode
 
     Further to use this editor, code like this can be used:
 
     @code
-
         // Register editor class - needs only to be called once
         wxPGEditor* multiButtonEditor = new wxSampleMultiButtonEditor();
         wxPropertyGrid::RegisterEditorClass( multiButtonEditor );
@@ -266,7 +251,6 @@ public:
 
         // Change property to use editor created in the previous code segment
         propGrid->SetPropertyEditor( "MultipleButtons", multiButtonEditor );
-
     @endcode
 
     @library{wxpropgrid}
@@ -275,7 +259,6 @@ public:
 class WXDLLIMPEXP_PROPGRID wxPGMultiButton : public wxWindow
 {
 public:
-
     /**
         Constructor.
     */
@@ -314,8 +297,8 @@ public:
     wxWindow* GetButton( unsigned int i );
 
     /**
-        Returns Id of one of the buttons. This is utility function to be
-        used in event handlers.
+        Returns Id of one of the buttons.
+        This is utility function to be used in event handlers.
     */
     int GetButtonId( unsigned int i ) const;
 
@@ -331,4 +314,3 @@ public:
     wxSize GetPrimarySize() const;
 };
 
-// -----------------------------------------------------------------------