diff --git a/interface/wx/propgrid/propgriddefs.h b/interface/wx/propgrid/propgriddefs.h new file mode 100644 index 0000000000..084118b9ba --- /dev/null +++ b/interface/wx/propgrid/propgriddefs.h @@ -0,0 +1,158 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: propgriddefs.h +// Purpose: various constants, etc. used in documented propgrid API +// Author: wxWidgets team +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + + +// ----------------------------------------------------------------------- + +/** @section propgrid_misc wxPropertyGrid Miscellanous + + This section describes some miscellanous values, types and macros. + @{ +*/ + +// 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. +*/ +#define wxPG_COLOUR(R,G,B) ((wxUint32)(R+(G<<8)+(B<<16))) + + +/** If property is supposed to have custom-painted image, then returning + this in OnMeasureImage() will usually be enough. +*/ +#define wxPG_DEFAULT_IMAGE_SIZE wxSize(-1, -1) + + +/** This callback function is used for sorting properties. + + Call wxPropertyGrid::SetSortFunction() to set it. + + Sort function should return a value greater than 0 if position of p1 is + after p2. So, for instance, when comparing property names, you can use + following implementation: + + @code + int MyPropertySortFunction(wxPropertyGrid* propGrid, + wxPGProperty* p1, + wxPGProperty* p2) + { + return p1->GetBaseName().compare( p2->GetBaseName() ); + } + @endcode +*/ +typedef int (*wxPGSortCallback)(wxPropertyGrid* propGrid, + wxPGProperty* p1, + wxPGProperty* p2); + + + +typedef wxString wxPGCachedString; + +/** @} +*/ + +// ----------------------------------------------------------------------- + +// Used to indicate wxPGChoices::Add etc that the value is actually not given +// by the caller. +#define wxPG_INVALID_VALUE INT_MAX + +// ----------------------------------------------------------------------- + +enum wxPG_GETPROPERTYVALUES_FLAGS +{ + +/** Flags for wxPropertyGridInterface::GetPropertyValues */ +wxPG_KEEP_STRUCTURE = 0x00000010, + +/** Flags for wxPropertyGrid::SetPropertyAttribute() etc */ +wxPG_RECURSE = 0x00000020, + +/** Include attributes for GetPropertyValues. */ +wxPG_INC_ATTRIBUTES = 0x00000040, + +/** Used when first starting recursion. */ +wxPG_RECURSE_STARTS = 0x00000080, + +/** Force value change. */ +wxPG_FORCE = 0x00000100, + +/** Only sort categories and their immediate children. + Sorting done by wxPG_AUTO_SORT option uses this. +*/ +wxPG_SORT_TOP_LEVEL_ONLY = 0x00000200 + +}; + +/** Flags for wxPropertyGrid::SetPropertyAttribute() etc */ +#define wxPG_DONT_RECURSE 0x00000000 + +// ----------------------------------------------------------------------- + +// Misc argument flags. +enum wxPG_MISC_ARG_FLAGS +{ + // Get/Store full value instead of displayed value. + wxPG_FULL_VALUE = 0x00000001, + + wxPG_REPORT_ERROR = 0x00000002, + + wxPG_PROPERTY_SPECIFIC = 0x00000004, + + // Get/Store editable value instead of displayed one (should only be + // different in the case of common values) + wxPG_EDITABLE_VALUE = 0x00000008, + + // Used when dealing with fragments of composite string value + wxPG_COMPOSITE_FRAGMENT = 0x00000010, + + // Means property for which final string value is for cannot really be + // edited. + wxPG_UNEDITABLE_COMPOSITE_FRAGMENT = 0x00000020, + + // ValueToString() called from GetValueAsString() + // (guarantees that input wxVariant value is current own value) + wxPG_VALUE_IS_CURRENT = 0x00000040, + + // Value is being set programmatically (ie. not by user) + wxPG_PROGRAMMATIC_VALUE = 0x00000080 +}; + +// ----------------------------------------------------------------------- + +// wxPGProperty::SetValue() flags +enum wxPG_SETVALUE_FLAGS +{ + wxPG_SETVAL_REFRESH_EDITOR = 0x0001, + wxPG_SETVAL_AGGREGATED = 0x0002, + wxPG_SETVAL_FROM_PARENT = 0x0004, + wxPG_SETVAL_BY_USER = 0x0008 // Set if value changed by user +}; + +// ----------------------------------------------------------------------- + +// +// Valid constants for wxPG_UINT_BASE attribute +// (long because of wxVariant constructor) +#define wxPG_BASE_OCT (long)8 +#define wxPG_BASE_DEC (long)10 +#define wxPG_BASE_HEX (long)16 +#define wxPG_BASE_HEXL (long)32 + +// +// Valid constants for wxPG_UINT_PREFIX attribute +#define wxPG_PREFIX_NONE (long)0 +#define wxPG_PREFIX_0x (long)1 +#define wxPG_PREFIX_DOLLAR_SIGN (long)2 + +// -----------------------------------------------------------------------