// Author: Jaakko Salli
// Modified by:
// Created: 2005-01-14
-// RCS-ID: $Id:
+// RCS-ID: $Id$
// Copyright: (c) Jaakko Salli
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
// -----------------------------------------------------------------------
#ifndef SWIG
-extern WXDLLIMPEXP_PROPGRID const wxChar *wxPropertyGridManagerNameStr;
+extern WXDLLIMPEXP_DATA_PROPGRID(const char) wxPropertyGridManagerNameStr[];
#endif
/** @class wxPropertyGridPage
*/
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
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxPGMAN_DEFAULT_STYLE,
- const wxChar* name = wxPropertyGridManagerNameStr );
+ const wxString& name = wxPropertyGridManagerNameStr );
/** Destructor */
virtual ~wxPropertyGridManager();
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();
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
*/
wxPropertyGridPage* GetPage( unsigned int ind ) const
{
- return (wxPropertyGridPage*)m_arrPages.Item(ind);
+ return m_arrPages[ind];
}
/** Returns page object for given page name.
*/
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;
/** 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
{
// 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();
virtual void SetWindowStyleFlag ( long style );
protected:
+ virtual wxSize DoGetBestSize() const;
public:
wxPropertyGrid* m_pPropGrid;
- wxArrayPtrVoid m_arrPages;
+ wxVector<wxPropertyGridPage*> m_arrPages;
#if wxUSE_TOOLBAR
wxToolBar* m_pToolbar;
virtual WXDWORD MSWGetStyle(long flags, WXDWORD *exstyle) const;
#endif*/
+ virtual bool ProcessEvent( wxEvent& event );
+
/** Recalculates new positions for components, according to the
given size.
*/
/** (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
};
// -----------------------------------------------------------------------