X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bf9dfac51cefdcca1d678518f051ecb7318027d1..93ed8ff7707eec179cf99f2f2f3c36f27916b068:/include/wx/settings.h diff --git a/include/wx/settings.h b/include/wx/settings.h index 2b4263af23..24cee957a2 100644 --- a/include/wx/settings.h +++ b/include/wx/settings.h @@ -5,7 +5,7 @@ // Modified by: // Created: 01/02/97 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Markus Holzem +// Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -15,6 +15,8 @@ #include "wx/colour.h" #include "wx/font.h" +class WXDLLEXPORT wxWindow; + // possible values for wxSystemSettings::GetFont() parameter // // NB: wxMSW assumes that they have the same values as the parameters of @@ -28,7 +30,10 @@ enum wxSystemFont wxSYS_DEVICE_DEFAULT_FONT, wxSYS_DEFAULT_PALETTE, wxSYS_SYSTEM_FIXED_FONT, - wxSYS_DEFAULT_GUI_FONT + wxSYS_DEFAULT_GUI_FONT, + + // this was just a temporary aberration, do not use it any more + wxSYS_ICONTITLE_FONT = wxSYS_DEFAULT_GUI_FONT }; // possible values for wxSystemSettings::GetColour() parameter @@ -39,6 +44,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 +59,31 @@ 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 +// possible values for wxSystemSettings::GetMetric() index parameter // // NB: update the conversion table in msw/settings.cpp if you change the values // of the elements of this enum @@ -124,6 +135,17 @@ 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 +}; + // ---------------------------------------------------------------------------- // wxSystemSettingsNative: defines the API for wxSystemSettings class // ---------------------------------------------------------------------------- @@ -145,55 +167,44 @@ public: static wxFont GetFont(wxSystemFont index); // get a system-dependent metric - static int GetMetric(wxSystemMetric index); + static int GetMetric(wxSystemMetric index, wxWindow * win = NULL); // return true if the port has certain feature static bool HasFeature(wxSystemFeature index); - - - // the backwards compatible versions, 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); } }; // ---------------------------------------------------------------------------- // include the declaration of the real platform-dependent class // ---------------------------------------------------------------------------- -#if defined(__WXMSW__) - #define wxHAS_SS_NATIVE -#elif defined(__WXMOTIF__) - #include "wx/motif/settings.h" -#elif defined(__WXGTK__) - #define wxHAS_SS_NATIVE -#elif defined(__WXMGL__) - #define wxHAS_SS_NATIVE -#elif defined(__WXMAC__) - #include "wx/mac/settings.h" -#elif defined(__WXPM__) - #include "wx/os2/settings.h" -#endif - -// TODO: this should go away once all ports are updated to use wxSSNative -#ifdef wxHAS_SS_NATIVE - -class wxSystemSettings : public wxSystemSettingsNative +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 + // system ones, otherwise wxSystemSettings is just the same as // wxSystemSettingsNative static wxColour GetColour(wxSystemColour index); #endif // __WXUNIVERSAL__ -}; -#endif // wxHAS_SS_NATIVE + // Get system screen design (desktop, pda, ..) used for + // laying out various dialogs. + static wxSystemScreenType GetScreenType(); + + // Override default. + static void SetScreenType( wxSystemScreenType screen ); + + // Value + static wxSystemScreenType ms_screen; + +#if WXWIN_COMPATIBILITY_2_4 + // the backwards compatible versions of wxSystemSettingsNative functions, + // don't use these methods in the new code! + wxDEPRECATED(static wxColour GetSystemColour(int index)); + wxDEPRECATED(static wxFont GetSystemFont(int index)); + wxDEPRECATED(static int GetSystemMetric(int index)); +#endif +}; #endif // _WX_SETTINGS_H_BASE_