X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/29a35dd5fee0e33143a39824e71aefd66e3e4851..109e2ca4349381ca7ed73f78795f1779c33143e5:/include/wx/propgrid/propgriddefs.h diff --git a/include/wx/propgrid/propgriddefs.h b/include/wx/propgrid/propgriddefs.h index 02312253dd..57a042eb35 100644 --- a/include/wx/propgrid/propgriddefs.h +++ b/include/wx/propgrid/propgriddefs.h @@ -18,6 +18,7 @@ #include "wx/vector.h" #include "wx/hashmap.h" #include "wx/variant.h" +#include "wx/any.h" #include "wx/longlong.h" #include "wx/clntdata.h" @@ -28,8 +29,6 @@ // NOTE: More in propertygrid.cpp // -#ifndef SWIG - #if defined(__WXMSW__) // space between vertical line and value text @@ -37,9 +36,6 @@ // space between vertical line and value editor control #define wxPG_XBEFOREWIDGET 1 - // x position adjustment for wxTextCtrl (and like) - #define wxPG_TEXTCTRLXADJUST 3 - // comment to use bitmap buttons #define wxPG_ICON_WIDTH 9 // 1 if wxRendererNative should be employed @@ -54,10 +50,6 @@ // width of optional bitmap/image in front of property #define wxPG_CUSTOM_IMAGE_WIDTH 20 - // 1 to create controls out of sight, hide them, and then move them into - // correct position - #define wxPG_CREATE_CONTROLS_HIDDEN 0 - // 1 if splitter drag detect margin and control cannot overlap #define wxPG_NO_CHILD_EVT_MOTION 0 @@ -79,7 +71,9 @@ #define wxPG_XBEFOREWIDGET 1 // x position adjustment for wxTextCtrl (and like) - #define wxPG_TEXTCTRLXADJUST 3 + // NB: Only define wxPG_TEXTCTRLXADJUST for platforms that do not + // (yet) support wxTextEntry::SetMargins() for the left margin. + //#define wxPG_TEXTCTRLXADJUST 3 // comment to use bitmap buttons #define wxPG_ICON_WIDTH 9 @@ -95,10 +89,6 @@ // width of optional bitmap/image in front of property #define wxPG_CUSTOM_IMAGE_WIDTH 20 - // 1 to create controls out of sight, hide them, and then move them into - // correct position - #define wxPG_CREATE_CONTROLS_HIDDEN 0 - // 1 if splitter drag detect margin and control cannot overlap #define wxPG_NO_CHILD_EVT_MOTION 1 @@ -136,10 +126,6 @@ // width of optional bitmap/image in front of property #define wxPG_CUSTOM_IMAGE_WIDTH 20 - // 1 to create controls out of sight, hide them, and then move them into - // correct position - #define wxPG_CREATE_CONTROLS_HIDDEN 0 - // 1 if splitter drag detect margin and control cannot overlap #define wxPG_NO_CHILD_EVT_MOTION 0 @@ -177,10 +163,6 @@ // width of optional bitmap/image in front of property #define wxPG_CUSTOM_IMAGE_WIDTH 20 - // 1 to create controls out of sight, hide them, and then move them into - // correct position - #define wxPG_CREATE_CONTROLS_HIDDEN 0 - // 1 if splitter drag detect margin and control cannot overlap #define wxPG_NO_CHILD_EVT_MOTION 1 @@ -226,7 +208,6 @@ #define wxPG_SMALL_SCREEN 0 #endif -#endif // #ifndef SWIG // Undefine wxPG_ICON_WIDTH to use supplied xpm bitmaps instead // (for tree buttons) @@ -281,17 +262,13 @@ class wxPGValidationInfo; @{ */ -#ifndef SWIG - // Used to tell wxPGProperty to use label as name as well - #define wxPG_LABEL (*wxPGProperty::sm_wxPG_LABEL) - // This is the value placed in wxPGProperty::sm_wxPG_LABEL - #define wxPG_LABEL_STRING wxS("@!") - #define wxPG_NULL_BITMAP wxNullBitmap - #define wxPG_COLOUR_BLACK (*wxBLACK) -#else - #define wxPG_NULL_BITMAP wxBitmap_NULL - #define wxPG_COLOUR_BLACK wxColour_BLACK -#endif // #ifndef SWIG +// Used to tell wxPGProperty to use label as name as well +#define wxPG_LABEL (*wxPGProperty::sm_wxPG_LABEL) + +// This is the value placed in wxPGProperty::sm_wxPG_LABEL +#define wxPG_LABEL_STRING wxS("@!") +#define wxPG_NULL_BITMAP wxNullBitmap +#define wxPG_COLOUR_BLACK (*wxBLACK) /** Convert Red, Green and Blue to a single 32-bit value. */ @@ -340,13 +317,10 @@ typedef wxString wxPGCachedString; // ----------------------------------------------------------------------- -#ifndef SWIG - WX_DEFINE_TYPEARRAY_WITH_DECL_PTR(wxPGProperty*, wxArrayPGProperty, wxBaseArrayPtrVoid, class WXDLLIMPEXP_PROPGRID); -// Always use wxString based hashmap with unicode, stl, swig and GCC 4.0+ WX_DECLARE_STRING_HASH_MAP_WITH_DECL(void*, wxPGHashMapS2P, class WXDLLIMPEXP_PROPGRID); @@ -366,7 +340,18 @@ WX_DECLARE_HASH_MAP_WITH_DECL(wxInt32, wxPGHashMapI2I, class WXDLLIMPEXP_PROPGRID); -#endif // #ifndef SWIG +// Utility to find if specific item is in a vector. Returns index to +// the item, or wxNOT_FOUND if not present. +template +int wxPGFindInVector( CONTAINER vector, const T& item ) +{ + for ( unsigned int i=0; i inline wxVariant WXVARIANT( const wxColour& value ) // ----------------------------------------------------------------------- -#ifndef SWIG - // // Tokenizer macros. // NOTE: I have made two versions - worse ones (performance and consistency @@ -746,8 +732,6 @@ protected: #define WX_PG_TOKENIZER2_END() \ } -#endif - // ----------------------------------------------------------------------- #endif // wxUSE_PROPGRID