X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0847e36eff0512bf3c50c01e8d9dcff5e693ada5..a7689c49fe02c0c065facf736ab28b19f5997b7c:/include/wx/propgrid/propgriddefs.h diff --git a/include/wx/propgrid/propgriddefs.h b/include/wx/propgrid/propgriddefs.h index d7180e71c8..f462f29e15 100644 --- a/include/wx/propgrid/propgriddefs.h +++ b/include/wx/propgrid/propgriddefs.h @@ -6,18 +6,21 @@ // Created: 2008-08-31 // RCS-ID: $Id$ // Copyright: (c) Jaakko Salli -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_PROPGRID_PROPGRIDDEFS_H_ #define _WX_PROPGRID_PROPGRIDDEFS_H_ +#include "wx/defs.h" + #if wxUSE_PROPGRID #include "wx/dynarray.h" #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 +31,6 @@ // NOTE: More in propertygrid.cpp // -#ifndef SWIG - #if defined(__WXMSW__) // space between vertical line and value text @@ -42,9 +43,6 @@ // 1 if wxRendererNative should be employed #define wxPG_USE_RENDERER_NATIVE 0 - // 1 to use double-buffer that guarantees flicker-free painting - #define wxPG_DOUBLE_BUFFER 1 - // Enable tooltips #define wxPG_SUPPORT_TOOLTIPS 1 @@ -54,15 +52,12 @@ // 1 if splitter drag detect margin and control cannot overlap #define wxPG_NO_CHILD_EVT_MOTION 0 - // If 1, then setting empty tooltip actually hides it - #define wxPG_ALLOW_EMPTY_TOOLTIPS 1 - #define wxPG_NAT_BUTTON_BORDER_ANY 1 #define wxPG_NAT_BUTTON_BORDER_X 1 #define wxPG_NAT_BUTTON_BORDER_Y 1 - // If 1 then controls are refreshed after selected was drawn. - #define wxPG_REFRESH_CONTROLS_AFTER_REPAINT 0 + // If 1 then controls are refreshed explicitly in a few places + #define wxPG_REFRESH_CONTROLS 0 #elif defined(__WXGTK__) @@ -81,9 +76,6 @@ // 1 if wxRendererNative should be employed #define wxPG_USE_RENDERER_NATIVE 1 - // 1 to use double-buffer that guarantees flicker-free painting - #define wxPG_DOUBLE_BUFFER 1 - // Enable tooltips #define wxPG_SUPPORT_TOOLTIPS 1 @@ -93,15 +85,12 @@ // 1 if splitter drag detect margin and control cannot overlap #define wxPG_NO_CHILD_EVT_MOTION 1 - // If 1, then setting empty tooltip actually hides it - #define wxPG_ALLOW_EMPTY_TOOLTIPS 0 - #define wxPG_NAT_BUTTON_BORDER_ANY 1 #define wxPG_NAT_BUTTON_BORDER_X 1 #define wxPG_NAT_BUTTON_BORDER_Y 1 // If 1 then controls are refreshed after selected was drawn. - #define wxPG_REFRESH_CONTROLS_AFTER_REPAINT 1 + #define wxPG_REFRESH_CONTROLS 1 #elif defined(__WXMAC__) @@ -118,9 +107,6 @@ // 1 if wxRendererNative should be employed #define wxPG_USE_RENDERER_NATIVE 1 - // 1 to use double-buffer that guarantees flicker-free painting - #define wxPG_DOUBLE_BUFFER 0 - // Enable tooltips #define wxPG_SUPPORT_TOOLTIPS 1 @@ -130,15 +116,12 @@ // 1 if splitter drag detect margin and control cannot overlap #define wxPG_NO_CHILD_EVT_MOTION 0 - // If 1, then setting empty tooltip actually hides it - #define wxPG_ALLOW_EMPTY_TOOLTIPS 1 - #define wxPG_NAT_BUTTON_BORDER_ANY 0 #define wxPG_NAT_BUTTON_BORDER_X 0 #define wxPG_NAT_BUTTON_BORDER_Y 0 // If 1 then controls are refreshed after selected was drawn. - #define wxPG_REFRESH_CONTROLS_AFTER_REPAINT 0 + #define wxPG_REFRESH_CONTROLS 0 #else // defaults @@ -155,9 +138,6 @@ // 1 if wxRendererNative should be employed #define wxPG_USE_RENDERER_NATIVE 0 - // 1 to use double-buffer that guarantees flicker-free painting - #define wxPG_DOUBLE_BUFFER 0 - // Enable tooltips #define wxPG_SUPPORT_TOOLTIPS 0 @@ -167,15 +147,12 @@ // 1 if splitter drag detect margin and control cannot overlap #define wxPG_NO_CHILD_EVT_MOTION 1 - // If 1, then setting empty tooltip actually hides it - #define wxPG_ALLOW_EMPTY_TOOLTIPS 0 - #define wxPG_NAT_BUTTON_BORDER_ANY 0 #define wxPG_NAT_BUTTON_BORDER_X 0 #define wxPG_NAT_BUTTON_BORDER_Y 0 // If 1 then controls are refreshed after selected was drawn. - #define wxPG_REFRESH_CONTROLS_AFTER_REPAINT 1 + #define wxPG_REFRESH_CONTROLS 0 #endif // platform @@ -203,13 +180,10 @@ #if defined(__WXWINCE__) #define wxPG_SMALL_SCREEN 1 - #undef wxPG_DOUBLE_BUFFER - #define wxPG_DOUBLE_BUFFER 0 #else #define wxPG_SMALL_SCREEN 0 #endif -#endif // #ifndef SWIG // Undefine wxPG_ICON_WIDTH to use supplied xpm bitmaps instead // (for tree buttons) @@ -264,17 +238,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. */ @@ -323,13 +293,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); @@ -349,7 +316,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 @@ -729,8 +708,6 @@ protected: #define WX_PG_TOKENIZER2_END() \ } -#endif - // ----------------------------------------------------------------------- #endif // wxUSE_PROPGRID