X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bad606fa338d6176be68723b85b9d3afaf4c12c1..d38e8d5f34262fa688cd0e5d397a2201978e5fa7:/include/wx/settings.h diff --git a/include/wx/settings.h b/include/wx/settings.h index 4b114def80..af1b6bde81 100644 --- a/include/wx/settings.h +++ b/include/wx/settings.h @@ -1,12 +1,12 @@ ///////////////////////////////////////////////////////////////////////////// // Name: wx/settings.h -// Purpose: wxSystemSettingsBase class +// Purpose: wxSystemSettings class // Author: Julian Smart // Modified by: // Created: 01/02/97 // RCS-ID: $Id$ // Copyright: (c) Julian Smart and Markus Holzem -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_SETTINGS_H_BASE_ @@ -39,6 +39,7 @@ enum wxSystemColour { wxSYS_COLOUR_SCROLLBAR, wxSYS_COLOUR_BACKGROUND, + wxSYS_COLOUR_DESKTOP = wxSYS_COLOUR_BACKGROUND, wxSYS_COLOUR_ACTIVECAPTION, wxSYS_COLOUR_INACTIVECAPTION, wxSYS_COLOUR_MENU, @@ -53,26 +54,34 @@ enum wxSystemColour wxSYS_COLOUR_HIGHLIGHT, wxSYS_COLOUR_HIGHLIGHTTEXT, wxSYS_COLOUR_BTNFACE, + wxSYS_COLOUR_3DFACE = wxSYS_COLOUR_BTNFACE, wxSYS_COLOUR_BTNSHADOW, + wxSYS_COLOUR_3DSHADOW = wxSYS_COLOUR_BTNSHADOW, wxSYS_COLOUR_GRAYTEXT, wxSYS_COLOUR_BTNTEXT, wxSYS_COLOUR_INACTIVECAPTIONTEXT, wxSYS_COLOUR_BTNHIGHLIGHT, + wxSYS_COLOUR_BTNHILIGHT = wxSYS_COLOUR_BTNHIGHLIGHT, + wxSYS_COLOUR_3DHIGHLIGHT = wxSYS_COLOUR_BTNHIGHLIGHT, + wxSYS_COLOUR_3DHILIGHT = wxSYS_COLOUR_BTNHIGHLIGHT, wxSYS_COLOUR_3DDKSHADOW, wxSYS_COLOUR_3DLIGHT, wxSYS_COLOUR_INFOTEXT, wxSYS_COLOUR_INFOBK, wxSYS_COLOUR_LISTBOX, + wxSYS_COLOUR_HOTLIGHT, + wxSYS_COLOUR_GRADIENTACTIVECAPTION, + wxSYS_COLOUR_GRADIENTINACTIVECAPTION, + wxSYS_COLOUR_MENUHILIGHT, + wxSYS_COLOUR_MENUBAR, - wxSYS_COLOUR_DESKTOP = wxSYS_COLOUR_BACKGROUND, - wxSYS_COLOUR_3DFACE = wxSYS_COLOUR_BTNFACE, - wxSYS_COLOUR_3DSHADOW = wxSYS_COLOUR_BTNSHADOW, - wxSYS_COLOUR_3DHIGHLIGHT = wxSYS_COLOUR_BTNHIGHLIGHT, - wxSYS_COLOUR_3DHILIGHT = wxSYS_COLOUR_BTNHIGHLIGHT, - wxSYS_COLOUR_BTNHILIGHT = wxSYS_COLOUR_BTNHIGHLIGHT + wxSYS_COLOUR_MAX }; // possible values for wxSystemSettings::GetMetric() parameter +// +// NB: update the conversion table in msw/settings.cpp if you change the values +// of the elements of this enum enum wxSystemMetric { wxSYS_MOUSE_BUTTONS = 1, @@ -121,8 +130,19 @@ enum wxSystemFeature wxSYS_CAN_ICONIZE_FRAME }; +// values for different screen designs +enum wxSystemScreenType +{ + wxSYS_SCREEN_NONE = 0, // not yet defined + + wxSYS_SCREEN_TINY, // < + wxSYS_SCREEN_PDA, // >= 320x240 + wxSYS_SCREEN_SMALL, // >= 640x480 + wxSYS_SCREEN_DESKTOP // >= 800x600 +}; + // ---------------------------------------------------------------------------- -// wxSystemSettingsBase: defines the API for wxSystemSettings class +// wxSystemSettingsNative: defines the API for wxSystemSettings class // ---------------------------------------------------------------------------- // this is a namespace rather than a class: it has only non virtual static @@ -131,7 +151,8 @@ enum wxSystemFeature // also note that the methods are implemented in the platform-specific source // files (i.e. this is not a real base class as we can't override its virtual // functions because it doesn't have any) -class WXDLLEXPORT wxSystemSettingsBase + +class WXDLLEXPORT wxSystemSettingsNative { public: // get a standard system colour @@ -145,38 +166,43 @@ public: // return true if the port has certain feature static bool HasFeature(wxSystemFeature index); +}; +// ---------------------------------------------------------------------------- +// include the declaration of the real platform-dependent class +// ---------------------------------------------------------------------------- + +class WXDLLEXPORT wxSystemSettings : public wxSystemSettingsNative +{ +public: +#ifdef __WXUNIVERSAL__ + // in wxUniversal we want to use the theme standard colours instead of the + // system ones, otherwuse wxSystemSettings is just the same as + // wxSystemSettingsNative + static wxColour GetColour(wxSystemColour index); +#endif // __WXUNIVERSAL__ + + // Get system screen design (desktop, pda, ..) used for + // laying out various dialogs. + static wxSystemScreenType GetScreenType(); + + // Override default. + static void SetScreenType( wxSystemScreenType screen ); - // the backwards compatible versions, don't use these methods in the new - // code! + // Value + static wxSystemScreenType ms_screen; + + + // the backwards compatible versions of wxSystemSettingsNative functions, + // don't use these methods in the new code! static wxColour GetSystemColour(int index) { return GetColour((wxSystemColour)index); } static wxFont GetSystemFont(int index) { return GetFont((wxSystemFont)index); } static int GetSystemMetric(int index) { return GetMetric((wxSystemMetric)index); } - static bool GetCapability(int index) - { return HasFeature((wxSystemFeature)index); } }; -// ---------------------------------------------------------------------------- -// include the declaration of the real platform-dependent class -// ---------------------------------------------------------------------------- - -#if defined(__WXMSW__) - #include "wx/msw/settings.h" -#elif defined(__WXMOTIF__) - #include "wx/motif/settings.h" -#elif defined(__WXGTK__) - #include "wx/gtk/settings.h" -#elif defined(__WXMGL__) - #include "wx/mgl/settings.h" -#elif defined(__WXMAC__) - #include "wx/mac/settings.h" -#elif defined(__WXPM__) - #include "wx/os2/settings.h" -#endif - #endif // _WX_SETTINGS_H_BASE_