X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d7e2b52235d70e25d7797ce1dccd97fa6989f4b5..8fad69b019ba90717b44824874192609cb7ef2a1:/include/wx/propgrid/propgrid.h?ds=inline diff --git a/include/wx/propgrid/propgrid.h b/include/wx/propgrid/propgrid.h index 9eae5fad80..650bacbb41 100644 --- a/include/wx/propgrid/propgrid.h +++ b/include/wx/propgrid/propgrid.h @@ -24,9 +24,10 @@ #ifndef SWIG -extern WXDLLIMPEXP_PROPGRID const wxChar *wxPropertyGridNameStr; +extern WXDLLIMPEXP_DATA_PROPGRID(const char) wxPropertyGridNameStr[]; #endif +class wxPGComboBox; // ----------------------------------------------------------------------- // Global variables @@ -418,10 +419,10 @@ enum wxPG_KEYBOARD_ACTIONS wxPG_ACTION_EXPAND_PROPERTY, wxPG_ACTION_COLLAPSE_PROPERTY, wxPG_ACTION_CANCEL_EDIT, - wxPG_ACTION_PRESS_BUTTON, // Causes editor button (if any) to be pressed + wxPG_ACTION_PRESS_BUTTON, // Causes editor button (if any) to be pressed wxPG_ACTION_MAX }; - + /** @} */ @@ -494,8 +495,8 @@ enum wxPG_KEYBOARD_ACTIONS #define wxPG_MAN_FL_PAGE_INSERTED 0x02000000 // Active editor control is abnormally large #define wxPG_FL_ABNORMAL_EDITOR 0x04000000 -// Recursion guard for OnCustomEditorEvent -#define wxPG_FL_IN_ONCUSTOMEDITOREVENT 0x08000000 +// Recursion guard for HandleCustomEditorEvent +#define wxPG_FL_IN_HANDLECUSTOMEDITOREVENT 0x08000000 #define wxPG_FL_VALUE_CHANGE_IN_EVENT 0x10000000 // Editor control width should not change on resize #define wxPG_FL_FIXED_WIDTH_EDITOR 0x20000000 @@ -614,19 +615,21 @@ public: /** The default constructor. The styles to be used are styles valid for the wxWindow and wxScrolledWindow. - @see @link wndflags Additional Window Styles@endlink + + @see @link wndflags Additional Window Styles @endlink */ wxPropertyGrid( wxWindow *parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxPG_DEFAULT_STYLE, - const wxChar* name = wxPropertyGridNameStr ); + const wxString& name = wxPropertyGridNameStr ); /** Destructor */ virtual ~wxPropertyGrid(); #endif /** Adds given key combination to trigger given action. + @param action Which action to trigger. See @link pgactions List of list of wxPropertyGrid actions@endlink. @@ -693,7 +696,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxPG_DEFAULT_STYLE, - const wxChar* name = wxPropertyGridNameStr ); + const wxString& name = wxPropertyGridNameStr ); /** Call when editor widget's contents is modified. @@ -837,12 +840,6 @@ public: */ wxVariant GetUncommittedPropertyValue(); - /** Returns cell background colour of a property. */ - wxColour GetPropertyBackgroundColour( wxPGPropArg id ) const; - - /** Returns cell background colour of a property. */ - wxColour GetPropertyTextColour( wxPGPropArg id ) const; - /** Returns "root property". It does not have name, etc. and it is not visible. It is only useful for accessing its children. */ @@ -987,33 +984,6 @@ public: /** Sets background colour of margin. */ void SetMarginColour(const wxColour& col); - /** - Sets background colour of property. - - @param id - Property name or pointer. - - @param colour - New background colour. - - @param recursively - If True, child properties are affected recursively. Property - categories are skipped if this flag is used. - */ - void SetPropertyBackgroundColour( wxPGPropArg id, - const wxColour& colour, - bool recursively = false); - - /** Resets text and background colours of given property. - */ - void SetPropertyColoursToDefault( wxPGPropArg id ); - - /** Sets text colour of property and all its children. - */ - void SetPropertyTextColour( wxPGPropArg id, - const wxColour& col, - bool recursively = true ); - /** Sets selection background colour - applies to selected property name background. @@ -1209,6 +1179,9 @@ public: return m_wndEditor2; } + // Events from editor controls are forward to this function + void HandleCustomEditorEvent( wxEvent &event ); + #ifndef SWIG /** @@ -1226,22 +1199,6 @@ public: // Mostly useful for page switching. void SwitchState( wxPropertyGridPageState* pNewState ); - /** - When creating custom property editors, connect required editor events to - this function. For instance: - - @code - control->Connect(control->GetId(), wxEVT_COMMAND_TEXT_UPDATED, - wxEventHandler(wxPropertyGrid::OnCustomEditorEvent), - NULL, propgrid); - @endcode - - @remarks You should never need to call this function directly! - - @see wxPGEditor::CreateControls(), wxEvtHandler::Connect() - */ - void OnCustomEditorEvent( wxEvent &event ); - long GetInternalFlags() const { return m_iFlags; } bool HasInternalFlag( long flag ) const { return (m_iFlags & flag) ? true : false; } @@ -1250,8 +1207,11 @@ public: void IncFrozen() { m_frozen++; } void DecFrozen() { m_frozen--; } - void OnComboItemPaint( wxPGCustomComboControl* pCb,int item,wxDC& dc, - wxRect& rect,int flags ); + void OnComboItemPaint( const wxPGComboBox* pCb, + int item, + wxDC* pDc, + wxRect& rect, + int flags ); /** Standardized double-to-string conversion. */ @@ -1354,6 +1314,8 @@ public: */ bool UnfocusEditor(); + virtual void SetWindowStyleFlag( long style ); + protected: /** @@ -1402,7 +1364,6 @@ public: // Overridden functions. virtual bool Destroy(); - virtual wxSize DoGetBestSize() const; // Returns property at given y coordinate (relative to grid's top left). wxPGProperty* GetItemAtY( int y ) const { return DoGetItemAtY(y); } @@ -1418,6 +1379,7 @@ public: protected: + virtual wxSize DoGetBestSize() const; #ifndef wxPG_ICON_WIDTH wxBitmap *m_expandbmp, *m_collbmp; @@ -1819,9 +1781,6 @@ protected: void CustomSetCursor( int type, bool override = false ); - virtual bool ProcessEvent(wxEvent& event); - virtual void SetWindowStyleFlag( long style ); - /** Repositions scrollbar and underlying panel according to changed virtual size. @@ -1897,22 +1856,20 @@ inline bool wxPGProperty::SetMaxLength( int maxLen ) // ----------------------------------------------------------------------- +#define wxPG_BASE_EVT_PRE_ID 1775 #ifndef SWIG -#define wxPG_BASE_EVT_PRE_ID 1775 +extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_SELECTED; +extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_CHANGING; +extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_CHANGED; +extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_HIGHLIGHTED; +extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_RIGHT_CLICK; +extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_PAGE_CHANGED; +extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_ITEM_COLLAPSED; +extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_ITEM_EXPANDED; +extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_DOUBLE_CLICK; -BEGIN_DECLARE_EVENT_TYPES() - DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_SELECTED, wxPG_BASE_EVT_PRE_ID) - DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_CHANGING, wxPG_BASE_EVT_PRE_ID+1) - DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_CHANGED, wxPG_BASE_EVT_PRE_ID+2) - DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_HIGHLIGHTED, wxPG_BASE_EVT_PRE_ID+3) - DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_RIGHT_CLICK, wxPG_BASE_EVT_PRE_ID+4) - DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_PAGE_CHANGED, wxPG_BASE_EVT_PRE_ID+5) - DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_ITEM_COLLAPSED, wxPG_BASE_EVT_PRE_ID+6) - DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_ITEM_EXPANDED, wxPG_BASE_EVT_PRE_ID+7) - DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_DOUBLE_CLICK, wxPG_BASE_EVT_PRE_ID+8) -END_DECLARE_EVENT_TYPES() #else enum { wxEVT_PG_SELECTED = wxPG_BASE_EVT_PRE_ID,