#ifndef SWIG
-extern WXDLLIMPEXP_PROPGRID const wxChar *wxPropertyGridNameStr;
+extern WXDLLIMPEXP_DATA_PROPGRID(const char) wxPropertyGridNameStr[];
#endif
+class wxPGComboBox;
// -----------------------------------------------------------------------
// Global variables
wxPG_ACTION_EXPAND_PROPERTY,
wxPG_ACTION_COLLAPSE_PROPERTY,
wxPG_ACTION_CANCEL_EDIT,
- wxPG_ACTION_PRESS_BUTTON, // Causes editor button (if any) to be pressed
+ wxPG_ACTION_PRESS_BUTTON, // Causes editor button (if any) to be pressed
wxPG_ACTION_MAX
};
-
+
/** @}
*/
#define wxPG_MAN_FL_PAGE_INSERTED 0x02000000
// Active editor control is abnormally large
#define wxPG_FL_ABNORMAL_EDITOR 0x04000000
-// Recursion guard for OnCustomEditorEvent
-#define wxPG_FL_IN_ONCUSTOMEDITOREVENT 0x08000000
+// Recursion guard for HandleCustomEditorEvent
+#define wxPG_FL_IN_HANDLECUSTOMEDITOREVENT 0x08000000
#define wxPG_FL_VALUE_CHANGE_IN_EVENT 0x10000000
// Editor control width should not change on resize
#define wxPG_FL_FIXED_WIDTH_EDITOR 0x20000000
/** The default constructor. The styles to be used are styles valid for
the wxWindow and wxScrolledWindow.
- @see @link wndflags Additional Window Styles@endlink
+
+ @see @link wndflags Additional Window Styles @endlink
*/
wxPropertyGrid( wxWindow *parent, wxWindowID id = wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxPG_DEFAULT_STYLE,
- const wxChar* name = wxPropertyGridNameStr );
+ const wxString& name = wxPropertyGridNameStr );
/** Destructor */
virtual ~wxPropertyGrid();
#endif
/** Adds given key combination to trigger given action.
+
@param action
Which action to trigger. See @link pgactions List of list of
wxPropertyGrid actions@endlink.
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxPG_DEFAULT_STYLE,
- const wxChar* name = wxPropertyGridNameStr );
+ const wxString& name = wxPropertyGridNameStr );
/**
Call when editor widget's contents is modified.
*/
wxVariant GetUncommittedPropertyValue();
- /** Returns cell background colour of a property. */
- wxColour GetPropertyBackgroundColour( wxPGPropArg id ) const;
-
- /** Returns cell background colour of a property. */
- wxColour GetPropertyTextColour( wxPGPropArg id ) const;
-
/** Returns "root property". It does not have name, etc. and it is not
visible. It is only useful for accessing its children.
*/
/** Sets background colour of margin. */
void SetMarginColour(const wxColour& col);
- /**
- Sets background colour of property.
-
- @param id
- Property name or pointer.
-
- @param colour
- New background colour.
-
- @param recursively
- If True, child properties are affected recursively. Property
- categories are skipped if this flag is used.
- */
- void SetPropertyBackgroundColour( wxPGPropArg id,
- const wxColour& colour,
- bool recursively = false);
-
- /** Resets text and background colours of given property.
- */
- void SetPropertyColoursToDefault( wxPGPropArg id );
-
- /** Sets text colour of property and all its children.
- */
- void SetPropertyTextColour( wxPGPropArg id,
- const wxColour& col,
- bool recursively = true );
-
/**
Sets selection background colour - applies to selected property name
background.
return m_wndEditor2;
}
+ // Events from editor controls are forward to this function
+ void HandleCustomEditorEvent( wxEvent &event );
+
#ifndef SWIG
/**
// Mostly useful for page switching.
void SwitchState( wxPropertyGridPageState* pNewState );
- /**
- When creating custom property editors, connect required editor events to
- this function. For instance:
-
- @code
- control->Connect(control->GetId(), wxEVT_COMMAND_TEXT_UPDATED,
- wxEventHandler(wxPropertyGrid::OnCustomEditorEvent),
- NULL, propgrid);
- @endcode
-
- @remarks You should never need to call this function directly!
-
- @see wxPGEditor::CreateControls(), wxEvtHandler::Connect()
- */
- void OnCustomEditorEvent( wxEvent &event );
-
long GetInternalFlags() const { return m_iFlags; }
bool HasInternalFlag( long flag ) const
{ return (m_iFlags & flag) ? true : false; }
void IncFrozen() { m_frozen++; }
void DecFrozen() { m_frozen--; }
- void OnComboItemPaint( wxPGCustomComboControl* pCb,int item,wxDC& dc,
- wxRect& rect,int flags );
+ void OnComboItemPaint( const wxPGComboBox* pCb,
+ int item,
+ wxDC* pDc,
+ wxRect& rect,
+ int flags );
/** Standardized double-to-string conversion.
*/
*/
bool UnfocusEditor();
+ virtual void SetWindowStyleFlag( long style );
+
protected:
/**
// Overridden functions.
virtual bool Destroy();
- virtual wxSize DoGetBestSize() const;
// Returns property at given y coordinate (relative to grid's top left).
wxPGProperty* GetItemAtY( int y ) const { return DoGetItemAtY(y); }
protected:
+ virtual wxSize DoGetBestSize() const;
#ifndef wxPG_ICON_WIDTH
wxBitmap *m_expandbmp, *m_collbmp;
void CustomSetCursor( int type, bool override = false );
- virtual bool ProcessEvent(wxEvent& event);
- virtual void SetWindowStyleFlag( long style );
-
/**
Repositions scrollbar and underlying panel according to changed virtual
size.
// -----------------------------------------------------------------------
+#define wxPG_BASE_EVT_PRE_ID 1775
#ifndef SWIG
-#define wxPG_BASE_EVT_PRE_ID 1775
+extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_SELECTED;
+extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_CHANGING;
+extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_CHANGED;
+extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_HIGHLIGHTED;
+extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_RIGHT_CLICK;
+extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_PAGE_CHANGED;
+extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_ITEM_COLLAPSED;
+extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_ITEM_EXPANDED;
+extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_DOUBLE_CLICK;
-BEGIN_DECLARE_EVENT_TYPES()
- DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_SELECTED, wxPG_BASE_EVT_PRE_ID)
- DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_CHANGING, wxPG_BASE_EVT_PRE_ID+1)
- DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_CHANGED, wxPG_BASE_EVT_PRE_ID+2)
- DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_HIGHLIGHTED, wxPG_BASE_EVT_PRE_ID+3)
- DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_RIGHT_CLICK, wxPG_BASE_EVT_PRE_ID+4)
- DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_PAGE_CHANGED, wxPG_BASE_EVT_PRE_ID+5)
- DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_ITEM_COLLAPSED, wxPG_BASE_EVT_PRE_ID+6)
- DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_ITEM_EXPANDED, wxPG_BASE_EVT_PRE_ID+7)
- DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_DOUBLE_CLICK, wxPG_BASE_EVT_PRE_ID+8)
-END_DECLARE_EVENT_TYPES()
#else
enum {
wxEVT_PG_SELECTED = wxPG_BASE_EVT_PRE_ID,