// Global variables
// -----------------------------------------------------------------------
-#ifndef SWIG
-
// This is required for sharing common global variables.
class WXDLLIMPEXP_PROPGRID wxPGGlobalVarsClass
{
int HasExtraStyle( int style ) const { return (m_extraStyle & style); }
};
-extern WXDLLIMPEXP_PROPGRID wxPGGlobalVarsClass* wxPGGlobalVars;
+extern WXDLLIMPEXP_DATA_PROPGRID(wxPGGlobalVarsClass*) wxPGGlobalVars;
#define wxPGVariant_EmptyString (wxPGGlobalVars->m_vEmptyString)
#define wxPGVariant_Zero (wxPGGlobalVars->m_vZero)
// then the built-in module system won't pick this one up. Add it manually.
WXDLLIMPEXP_PROPGRID void wxPGInitResourceModule();
-#endif // !SWIG
-
// -----------------------------------------------------------------------
/** @section propgrid_window_styles wxPropertyGrid Window Styles
*/
wxPG_BOLD_MODIFIED = 0x00000040,
-/** When wxPropertyGrid is resized, splitter moves to the center. This
- behavior stops once the user manually moves the splitter.
+/** Using this style, the column splitters move automatically based on column
+ proportions (default is equal proportion for every column). This behavior
+ stops once the user manually moves a splitter, and returns when a
+ splitter is double-clicked.
+
+ @see wxPropertyGridInterface::SetColumnProportion().
*/
wxPG_SPLITTER_AUTO_CENTER = 0x00000080,
// -----------------------------------------------------------------------
-#ifndef SWIG
-
// Internal flags
#define wxPG_FL_INITIALIZED 0x0001
// Set when creating editor controls if it was clicked on.
// Prevents RecalculateVirtualSize re-entrancy
#define wxPG_FL_RECALCULATING_VIRTUAL_SIZE 0x80000000
-#endif // #ifndef SWIG
-
-#if !defined(__wxPG_SOURCE_FILE__) && !defined(SWIG)
+#if !defined(__wxPG_SOURCE_FILE__)
// Reduce compile time, but still include in user app
#include "wx/propgrid/props.h"
#endif
/**
Centers the splitter.
-
- If argument is true, automatic splitter centering is enabled (only
- applicapple if style wxPG_SPLITTER_AUTO_CENTER was defined).
+
+ @param enableAutoResizing
+ If @true, automatic column resizing is enabled (only applicapple
+ if window style wxPG_SPLITTER_AUTO_CENTER is used).
*/
- void CenterSplitter( bool enable_auto_centering = false );
+ void CenterSplitter( bool enableAutoResizing = false );
/** Deletes all properties.
*/
/** Returns current selection text colour. */
wxColour GetSelectionForegroundColour() const { return m_colSelFore; }
- /** Returns current splitter x position. */
- int GetSplitterPosition() const
- { return m_pState->DoGetSplitterPosition(0); }
+ /**
+ Returns current splitter x position.
+ */
+ int GetSplitterPosition( unsigned int splitterIndex = 0 ) const
+ {
+ return m_pState->DoGetSplitterPosition(splitterIndex);
+ }
/** Returns wxTextCtrl active in currently selected property, if any. Takes
into account wxOwnerDrawnComboBox.
*/
virtual void RefreshProperty( wxPGProperty* p );
-#ifndef SWIG
/** Registers a new editor class.
@return
Pointer to the editor class instance that should be used.
static wxPGEditor* DoRegisterEditorClass( wxPGEditor* editorClass,
const wxString& editorName,
bool noDefCheck = false );
-#endif
/** Resets all colours to the original system values.
*/
void ResetColours();
+ /**
+ Resets column sizes and splitter positions, based on proportions.
+
+ @param enableAutoResizing
+ If @true, automatic column resizing is enabled (only applicapple
+ if window style wxPG_SPLITTER_AUTO_CENTER is used).
+
+ @see wxPropertyGridInterface::SetColumnProportion()
+ */
+ void ResetColumnSizes( bool enableAutoResizing = false );
+
/**
Selects a property.
Editor widget is automatically created, but not focused unless focus is
// Events from editor controls are forward to this function
void HandleCustomEditorEvent( wxEvent &event );
-#ifndef SWIG
-
/**
Generates contents for string dst based on the contents of
wxArrayString src.
/** Appearance of a unspecified value cell. */
wxPGCell m_unspecifiedAppearance;
+ /** List of properties to be deleted/removed in idle event handler. */
+ wxArrayPGProperty m_deletedProperties;
+ wxArrayPGProperty m_removedProperties;
+
//
// Temporary values
//
bool ButtonTriggerKeyTest( int action, wxKeyEvent& event );
DECLARE_EVENT_TABLE()
-#endif // #ifndef SWIG
};
// -----------------------------------------------------------------------
// Bunch of inlines that need to resolved after all classes have been defined.
//
-#ifndef SWIG
inline bool wxPropertyGridPageState::IsDisplayed() const
{
return ( this == m_pPropGrid->GetState() );
{
return DoGetRoot()->GetChildrenHeight(GetGrid()->GetRowHeight());
}
-#endif
-wxString wxPGProperty::GetHintText() const
+inline wxString wxPGProperty::GetHintText() const
{
wxVariant vHintText = GetAttribute(wxPGGlobalVars->m_strHint);
/** Constructor. */
wxPropertyGridEvent(wxEventType commandType=0, int id=0);
-#ifndef SWIG
+
/** Copy constructor. */
wxPropertyGridEvent(const wxPropertyGridEvent& event);
-#endif
+
/** Destructor. */
~wxPropertyGridEvent();
m_validationInfo->SetFailureMessage( message );
}
-#ifndef SWIG
wxPGVFBFlags GetValidationFailureBehavior() const
{
wxASSERT( GetEventType() == wxEVT_PG_CHANGING );
bool m_canVeto;
bool m_wasVetoed;
-
-#endif
};