// Author: Jaakko Salli
// Modified by:
// Created: 2005-01-14
-// RCS-ID: $Id:
+// RCS-ID: $Id$
// Copyright: (c) Jaakko Salli
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_PROPGRID_MANAGER_H_
#define _WX_PROPGRID_MANAGER_H_
+#if wxUSE_PROPGRID
+
#include "wx/propgrid/propgrid.h"
#include "wx/dcclient.h"
// -----------------------------------------------------------------------
#ifndef SWIG
-extern WXDLLIMPEXP_PROPGRID const wxChar *wxPropertyGridManagerNameStr;
+extern WXDLLIMPEXP_DATA_PROPGRID(const char) wxPropertyGridManagerNameStr[];
#endif
/** @class wxPropertyGridPage
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxPGMAN_DEFAULT_STYLE,
- const wxChar* name = wxPropertyGridManagerNameStr );
+ const wxString& name = wxPropertyGridManagerNameStr );
/** Destructor */
virtual ~wxPropertyGridManager();
@param pageObj
wxPropertyGridPage instance. Manager will take ownership of this object.
NULL indicates that a default page instance should be created.
+
@return
- Returns index to the page created.
+ Returns pointer to created page.
+
@remarks
If toolbar is used, it is highly recommended that the pages are
added when the toolbar is not turned off using window style flag
switching.
*/
- int AddPage( const wxString& label = wxEmptyString,
- const wxBitmap& bmp = wxPG_NULL_BITMAP,
- wxPropertyGridPage* pageObj = (wxPropertyGridPage*) NULL )
+ wxPropertyGridPage* AddPage( const wxString& label = wxEmptyString,
+ const wxBitmap& bmp = wxPG_NULL_BITMAP,
+ wxPropertyGridPage* pageObj = NULL )
{
- return InsertPage(-1,label,bmp,pageObj);
- }
-
- void ClearModifiedStatus ( wxPGPropArg id );
-
- void ClearModifiedStatus ()
- {
- m_pPropGrid->ClearModifiedStatus();
+ return InsertPage(-1, label, bmp, pageObj);
}
/** Deletes all all properties and all pages.
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
*/
bool EnsureVisible( wxPGPropArg id );
- /** Returns number of children of the root property of the selected page. */
- size_t GetChildrenCount()
- {
- return GetChildrenCount( m_pPropGrid->m_pState->m_properties );
- }
-
- /** Returns number of children of the root property of given page. */
- size_t GetChildrenCount( int pageIndex );
-
- /** Returns number of children for the property.
-
- NB: Cannot be in container methods class due to name hiding.
- */
- size_t GetChildrenCount( wxPGPropArg id ) const
- {
- wxPG_PROP_ARG_CALL_PROLOG_RETVAL(0)
- return p->GetChildCount();
- }
-
/** Returns number of columns on given page. By the default,
returns number of columns on current page. */
int GetColumnCount( int page = -1 ) const;
return GetPage(m_selPage);
}
- /** Returns last page.
- */
- wxPropertyGridPage* GetLastPage() const
- {
- return GetPage(m_arrPages.size()-1);
- }
-
/** Returns page object for given page index.
*/
wxPropertyGridPage* GetPage( unsigned int ind ) const
{
- return (wxPropertyGridPage*)m_arrPages.Item(ind);
+ return m_arrPages[ind];
}
/** Returns page object for given page name.
/** Returns index to currently selected page. */
int GetSelectedPage() const { return m_selPage; }
- /** Shortcut for GetGrid()->GetSelection(). */
+ /** Alias for GetSelection(). */
wxPGProperty* GetSelectedProperty() const
{
- return m_pPropGrid->GetSelection();
+ return GetSelection();
}
- /** Synonyme for GetSelectedPage. */
- int GetSelection() const { return m_selPage; }
+ /** Shortcut for GetGrid()->GetSelection(). */
+ wxPGProperty* GetSelection() const
+ {
+ return m_pPropGrid->GetSelection();
+ }
/** Returns a pointer to the toolbar currently associated with the
wxPropertyGridManager (if any). */
@param pageObj
wxPropertyGridPage instance. Manager will take ownership of this object.
If NULL, default page object is constructed.
+
@return
- Returns index to the page created.
+ Returns pointer to created page.
*/
- virtual int InsertPage( int index,
- const wxString& label,
- const wxBitmap& bmp = wxNullBitmap,
- wxPropertyGridPage* pageObj = NULL );
+ virtual wxPropertyGridPage* InsertPage( int index,
+ const wxString& label,
+ const wxBitmap& bmp = wxNullBitmap,
+ wxPropertyGridPage* pageObj = NULL );
/**
Returns true if any property on any page has been modified by the user.
*/
virtual bool RemovePage( int page );
- /** Select and displays a given page. Also makes it target page for
- insert operations etc.
+ /** Select and displays a given page.
+
@param index
- Index of page being seleced. Can be -1 to select nothing.
+ Index of page being seleced. Can be -1 to select nothing.
*/
void SelectPage( int index );
/** Sets y coordinate of the description box splitter. */
void SetDescBoxHeight( int ht, bool refresh = true );
- /** Sets property attribute for all applicapple properties.
- Be sure to use this method after all properties have been
- added to the grid.
- */
- void SetPropertyAttributeAll( const wxString& name, wxVariant value );
-
/** Moves splitter as left as possible, while still allowing all
labels to be shown in full.
@param subProps
*/
void SetSplitterPosition( int pos, int column = 0 );
- /** Synonyme for SelectPage(name). */
- void SetStringSelection( const wxChar* name )
- {
- SelectPage( GetPageByName(name) );
- }
-
#ifdef SWIG
%pythoncode {
def GetValuesFromPage(self,
public:
-#ifndef DOXYGEN
-
//
// Overridden functions - no documentation required.
//
wxPropertyGrid* m_pPropGrid;
- wxArrayPtrVoid m_arrPages;
+ wxVector<wxPropertyGridPage*> m_arrPages;
#if wxUSE_TOOLBAR
wxToolBar* m_pToolbar;
void SetDescribedProperty( wxPGProperty* p );
+ // Reimplement these to handle "descboxheight" state item
+ virtual bool SetEditableStateItem( const wxString& name, wxVariant value );
+ virtual wxVariant GetEditableStateItem( const wxString& name ) const;
+
virtual bool ProcessEvent( wxEvent& event );
private:
DECLARE_EVENT_TABLE()
#endif // #ifndef SWIG
-#endif // #ifndef DOXYGEN
};
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
+#endif // wxUSE_PROPGRID
+
#endif // _WX_PROPGRID_MANAGER_H_