X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0ee316821c467b45d759bd0b728842d5521ba632..66c2bf7b1d9326fb650acfaae22ec50528cfbf7c:/include/wx/propgrid/propgridpagestate.h?ds=sidebyside diff --git a/include/wx/propgrid/propgridpagestate.h b/include/wx/propgrid/propgridpagestate.h index c38413477e..77f38b2891 100644 --- a/include/wx/propgrid/propgridpagestate.h +++ b/include/wx/propgrid/propgridpagestate.h @@ -4,14 +4,15 @@ // Author: Jaakko Salli // Modified by: // Created: 2008-08-24 -// RCS-ID: $Id$ // Copyright: (c) Jaakko Salli -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_PROPGRID_PROPGRIDPAGESTATE_H_ #define _WX_PROPGRID_PROPGRIDPAGESTATE_H_ +#include "wx/defs.h" + #if wxUSE_PROPGRID #include "wx/propgrid/property.h" @@ -379,7 +380,6 @@ public: m_pIt = it.m_pIt; m_pIt->IncRef(); } -#ifndef SWIG const wxPGVIterator& operator=( const wxPGVIterator& it ) { if (this != &it) @@ -390,7 +390,6 @@ public: } return *this; } -#endif void Next() { m_pIt->Next(); } bool AtEnd() const { return m_pIt->m_it.AtEnd(); } wxPGProperty* GetProperty() const { return m_pIt->m_it.GetProperty(); } @@ -400,9 +399,6 @@ protected: // ----------------------------------------------------------------------- -#ifndef SWIG -// We won't need this class from wxPython - /** @class wxPropertyGridPageState Contains low-level property page information (properties, column widths, @@ -440,7 +436,7 @@ public: void CheckColumnWidths( int widthChange = 0 ); /** - Override this member function to add custom behavior on property + Override this member function to add custom behaviour on property deletion. */ virtual void DoDelete( wxPGProperty* item, bool doDelete = true ); @@ -450,7 +446,7 @@ public: wxPGProperty* DoGetItemAtY( int y ) const; /** - Override this member function to add custom behavior on property + Override this member function to add custom behaviour on property insertion. */ virtual wxPGProperty* DoInsert( wxPGProperty* parent, @@ -463,8 +459,7 @@ public: */ virtual void DoSetSplitterPosition( int pos, int splitterColumn = 0, - bool allPages = false, - bool fromAutoCenter = false ); + int flags = 0 ); bool EnableCategories( bool enable ); @@ -479,9 +474,6 @@ public: } } - /** Enables or disables given property and its subproperties. */ - bool DoEnableProperty( wxPGProperty* p, bool enable ); - /** Returns (precalculated) height of contained visible properties. */ unsigned int GetVirtualHeight() const @@ -553,6 +545,15 @@ public: void DoRemoveFromSelection( wxPGProperty* prop ); + void DoSetColumnProportion( unsigned int column, int proportion ); + + int DoGetColumnProportion( unsigned int column ) const + { + return m_columnProportions[column]; + } + + void ResetColumnSizes( int setSplitterFlags ); + wxPropertyCategory* GetPropertyCategory( const wxPGProperty* p ) const; wxPGProperty* GetPropertyByLabel( const wxString& name, @@ -583,12 +584,14 @@ public: unsigned int col, bool subProps) const; + int GetColumnFullWidth(wxClientDC &dc, wxPGProperty *p, unsigned int col); + /** Returns information about arbitrary position in the grid. @param pt Logical coordinates in the virtual grid space. Use - wxScrolledWindow::CalcUnscrolledPosition() if you need to + wxScrolled::CalcUnscrolledPosition() if you need to translate a scrolled position into a logical one. */ wxPropertyGridHitTestResult HitTest( const wxPoint& pt ) const; @@ -669,6 +672,11 @@ public: protected: + // Utility to check if two properties are visibly next to each other + bool ArePropertiesAdjacent( wxPGProperty* prop1, + wxPGProperty* prop2, + int iterFlags = wxPG_ITERATE_VISIBLE ) const; + int DoGetSplitterPosition( int splitterIndex = 0 ) const; /** Returns column at x coordinate (in GetGrid()->GetPanel()). @@ -705,6 +713,9 @@ protected: /** List of indices of columns the user can edit by clicking it. */ wxArrayInt m_editableColumns; + /** Column proportions */ + wxArrayInt m_columnProportions; + double m_fSplitterX; /** Most recently added category. */ @@ -733,13 +744,17 @@ protected: unsigned char m_vhCalcPending; + /** True if splitter has been pre-set by the application. */ + bool m_isSplitterPreSet; + + /** Used to (temporarily) disable splitter centering. */ + bool m_dontCenterSplitter; + private: /** Only inits arrays, doesn't migrate things or such. */ void InitNonCatMode(); }; -#endif // #ifndef SWIG - // ----------------------------------------------------------------------- #endif // wxUSE_PROPGRID