X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5a8009d2f1bdd80865e7f26dd6be90cd7307116e..cbeda384e51acb82e13994cb67ac1714669cae10:/include/wx/propgrid/manager.h diff --git a/include/wx/propgrid/manager.h b/include/wx/propgrid/manager.h index d3166bc3d6..f0addd43ed 100644 --- a/include/wx/propgrid/manager.h +++ b/include/wx/propgrid/manager.h @@ -4,7 +4,7 @@ // Author: Jaakko Salli // Modified by: // Created: 2005-01-14 -// RCS-ID: $Id: +// RCS-ID: $Id$ // Copyright: (c) Jaakko Salli // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// @@ -27,7 +27,7 @@ // ----------------------------------------------------------------------- #ifndef SWIG -extern WXDLLIMPEXP_PROPGRID const wxChar *wxPropertyGridManagerNameStr; +extern WXDLLIMPEXP_DATA_PROPGRID(const char) wxPropertyGridManagerNameStr[]; #endif /** @class wxPropertyGridPage @@ -163,14 +163,8 @@ protected: */ virtual void DoSetSplitterPosition( int pos, int splitterColumn = 0, - bool allPages = false ); - - /** Propagate to other pages. - */ - void DoSetSplitterPositionThisPage( int pos, int splitterColumn = 0 ) - { - wxPropertyGridPageState::DoSetSplitterPosition( pos, splitterColumn ); - } + bool allPages = false, + bool fromAutoCenter = false ); /** Page label (may be referred as name in some parts of documentation). Can be set in constructor, or passed in @@ -260,7 +254,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxPGMAN_DEFAULT_STYLE, - const wxChar* name = wxPropertyGridManagerNameStr ); + const wxString& name = wxPropertyGridManagerNameStr ); /** Destructor */ virtual ~wxPropertyGridManager(); @@ -293,13 +287,6 @@ public: return InsertPage(-1, label, bmp, pageObj); } - void ClearModifiedStatus ( wxPGPropArg id ); - - void ClearModifiedStatus () - { - m_pPropGrid->ClearModifiedStatus(); - } - /** Deletes all all properties and all pages. */ virtual void Clear(); @@ -327,7 +314,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxPGMAN_DEFAULT_STYLE, - const wxChar* name = wxPropertyGridManagerNameStr ); + const wxString& name = wxPropertyGridManagerNameStr ); /** Enables or disables (shows/hides) categories according to parameter @@ -432,7 +419,7 @@ public: */ wxPropertyGridPage* GetPage( unsigned int ind ) const { - return (wxPropertyGridPage*)m_arrPages.Item(ind); + return m_arrPages[ind]; } /** Returns page object for given page name. @@ -455,10 +442,12 @@ public: */ int GetPageByState( const wxPropertyGridPageState* pstate ) const; +protected: /** Returns wxPropertyGridPageState of given page, current page's for -1. */ virtual wxPropertyGridPageState* GetPageState( int page ) const; +public: /** Returns number of managed pages. */ size_t GetPageCount() const; @@ -473,6 +462,12 @@ public: /** Returns index to currently selected page. */ int GetSelectedPage() const { return m_selPage; } + /** Alias for GetSelection(). */ + wxPGProperty* GetSelectedProperty() const + { + return GetSelection(); + } + /** Shortcut for GetGrid()->GetSelection(). */ wxPGProperty* GetSelection() const { @@ -612,22 +607,22 @@ protected: // Subclassing helpers // - /** Creates property grid for the manager. Override to use subclassed - wxPropertyGrid. + /** + Creates property grid for the manager. Reimplement in derived class to + use subclassed wxPropertyGrid. However, if you you do this then you + must also use the two-step construction (ie. default constructor and + Create() instead of constructor with arguments) when creating the + manager. */ virtual wxPropertyGrid* CreatePropertyGrid() const; - virtual void RefreshProperty( wxPGProperty* p ); - public: - -#ifndef DOXYGEN + virtual void RefreshProperty( wxPGProperty* p ); // // Overridden functions - no documentation required. // - virtual wxSize DoGetBestSize() const; void SetId( wxWindowID winid ); virtual void Freeze(); @@ -637,6 +632,7 @@ public: virtual void SetWindowStyleFlag ( long style ); protected: + virtual wxSize DoGetBestSize() const; public: @@ -660,7 +656,7 @@ protected: wxPropertyGrid* m_pPropGrid; - wxArrayPtrVoid m_arrPages; + wxVector m_arrPages; #if wxUSE_TOOLBAR wxToolBar* m_pToolbar; @@ -714,6 +710,8 @@ protected: virtual WXDWORD MSWGetStyle(long flags, WXDWORD *exstyle) const; #endif*/ + virtual bool ProcessEvent( wxEvent& event ); + /** Recalculates new positions for components, according to the given size. */ @@ -722,22 +720,22 @@ protected: /** (Re)creates/destroys controls, according to the window style bits. */ void RecreateControls(); - void RefreshHelpBox( int new_splittery, int new_width, int new_height ); + void UpdateDescriptionBox( int new_splittery, int new_width, int new_height ); - void RepaintSplitter( wxDC& dc, - int new_splittery, - int new_width, - int new_height, - bool desc_too ); + void RepaintDescBoxDecorations( wxDC& dc, + int newSplitterY, + int newWidth, + int newHeight ); void SetDescribedProperty( wxPGProperty* p ); - virtual bool ProcessEvent( wxEvent& event ); + // Reimplement these to handle "descboxheight" state item + virtual bool SetEditableStateItem( const wxString& name, wxVariant value ); + virtual wxVariant GetEditableStateItem( const wxString& name ) const; private: DECLARE_EVENT_TABLE() #endif // #ifndef SWIG -#endif // #ifndef DOXYGEN }; // -----------------------------------------------------------------------