From 4bfec1790f526d462f8f2ce107f8a83f725d9192 Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Sun, 16 Apr 2006 09:31:06 +0000 Subject: [PATCH] Changed the wxPlatform syntax as per Vadim's suggestions git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38755 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/utils.h | 56 ++++++++++++++---------- samples/dialogs/dialogs.cpp | 4 +- src/common/utilscmn.cpp | 87 ++++++++++++++++++++++++++++++------- 3 files changed, 106 insertions(+), 41 deletions(-) diff --git a/include/wx/utils.h b/include/wx/utils.h index 9923ea9159..b84f78f44f 100644 --- a/include/wx/utils.h +++ b/include/wx/utils.h @@ -105,8 +105,8 @@ WXDLLIMPEXP_BASE wxString wxGetDataDir(); * Class to make it easier to specify platform-dependent values * * Examples: - * long val = wxPlatform(3).Is(wxMac, 1).Is(wxGTK, 2).Is(stPDA, 5); - * wxString strVal = wxPlatform(wxT("Hello")).Is(wxMac, wxT("Mac")).Is(wxMSW, wxT("MSW")); + * long val = wxPlatform::If(wxMac, 1).ElseIf(wxGTK, 2).ElseIf(stPDA, 5).Else(3); + * wxString strVal = wxPlatform::If(wxMac, wxT("Mac")).ElseIf(wxMSW, wxT("MSW")).Else(wxT("Other")); * * A custom platform symbol: * @@ -115,37 +115,47 @@ WXDLLIMPEXP_BASE wxString wxGetDataDir(); * wxPlatform::AddPlatform(stPDA); * #endif * - * long windowStyle = wxCAPTION | (long) wxPlatform().IsNot(stPDA, wxRESIZE_BORDER); + * long windowStyle = wxCAPTION | (long) wxPlatform::IfNot(stPDA, wxRESIZE_BORDER); * */ class WXDLLIMPEXP_BASE wxPlatform { public: - wxPlatform() { m_longValue = 0; m_doubleValue = 0.0; } + wxPlatform() { Init(); } + wxPlatform(const wxPlatform& platform) { Copy(platform); } + void operator = (const wxPlatform& platform) { Copy(platform); } + void Copy(const wxPlatform& platform); + void Init() { m_longValue = 0; m_doubleValue = 0.0; } // Specify an optional default value wxPlatform(long defValue) { m_longValue = defValue; m_doubleValue = 0.0; } wxPlatform(const wxString& defValue) { m_stringValue = defValue; m_longValue = 0; m_doubleValue = 0.0; } wxPlatform(double defValue) { m_longValue = 0; m_doubleValue = defValue; } - wxPlatform& Is(int platform, long value); - wxPlatform& IsNot(int platform, long value); - - wxPlatform& Is(int platform, int value) { return Is(platform, (long) value); } - wxPlatform& IsNot(int platform, int value) { return IsNot(platform, (long) value); } - - wxPlatform& Is(int platform, const wxString& value); - wxPlatform& IsNot(int platform, const wxString& value); - - wxPlatform& Is(int platform, double value); - wxPlatform& IsNot(int platform, double value); - - // This should be specified first to set the default value, or simply - // pass the value to the constructor - wxPlatform& Default(long value); - wxPlatform& Default(const wxString& value); - wxPlatform& Default(double value); + static wxPlatform If(int platform, long value); + static wxPlatform IfNot(int platform, long value); + wxPlatform& ElseIf(int platform, long value); + wxPlatform& ElseIfNot(int platform, long value); + wxPlatform& Else(long value); + + static wxPlatform If(int platform, int value); + static wxPlatform IfNot(int platform, int value) { return IfNot(platform, (long)value); } + wxPlatform& ElseIf(int platform, int value) { return ElseIf(platform, (long) value); } + wxPlatform& ElseIfNot(int platform, int value) { return ElseIfNot(platform, (long) value); } + wxPlatform& Else(int value) { return Else((long) value); } + + static wxPlatform If(int platform, double value); + static wxPlatform IfNot(int platform, double value); + wxPlatform& ElseIf(int platform, double value); + wxPlatform& ElseIfNot(int platform, double value); + wxPlatform& Else(double value); + + static wxPlatform If(int platform, const wxString& value); + static wxPlatform IfNot(int platform, const wxString& value); + wxPlatform& ElseIf(int platform, const wxString& value); + wxPlatform& ElseIfNot(int platform, const wxString& value); + wxPlatform& Else(const wxString& value); long GetInteger() const { return m_longValue; } const wxString& GetString() const { return m_stringValue; } @@ -158,7 +168,7 @@ public: operator const wxChar*() const { return (const wxChar*) GetString(); } static void AddPlatform(int platform); - static bool PlatformIs(int platform); + static bool Is(int platform); static void ClearPlatforms(); private: @@ -169,7 +179,7 @@ private: }; /// Function for testing current platform -inline bool wxPlatformIs(int platform) { return wxPlatform::PlatformIs(platform); } +inline bool wxPlatformIs(int platform) { return wxPlatform::Is(platform); } #if wxUSE_GUI diff --git a/samples/dialogs/dialogs.cpp b/samples/dialogs/dialogs.cpp index f0cc421f00..c6fd7e18fc 100644 --- a/samples/dialogs/dialogs.cpp +++ b/samples/dialogs/dialogs.cpp @@ -1460,7 +1460,7 @@ SettingsDialog::SettingsDialog(wxWindow* win, int dialogType) m_imageList = NULL; Create(win, wxID_ANY, _("Preferences"), wxDefaultPosition, wxDefaultSize, - wxDEFAULT_DIALOG_STYLE| (int)wxPlatform().IsNot(wxWinCE, resizeBorder) + wxDEFAULT_DIALOG_STYLE| (int)wxPlatform::IfNot(wxWinCE, resizeBorder) /* #ifndef __WXWINCE__ |resizeBorder @@ -1470,7 +1470,7 @@ SettingsDialog::SettingsDialog(wxWindow* win, int dialogType) // If using a toolbook, also follow Mac style and don't create buttons if (!useToolBook) - CreateButtons(wxOK|wxCANCEL| (int)wxPlatform().IsNot(wxWinPocketPC, wxHELP) + CreateButtons(wxOK|wxCANCEL| (int)wxPlatform::IfNot(wxWinPocketPC, wxHELP) /* #ifndef __POCKETPC__ |wxHELP diff --git a/src/common/utilscmn.cpp b/src/common/utilscmn.cpp index ead5a626e9..49f9715fe5 100644 --- a/src/common/utilscmn.cpp +++ b/src/common/utilscmn.cpp @@ -309,61 +309,116 @@ int wxGetOsVersion(int *verMaj, int *verMin) wxArrayInt* wxPlatform::sm_customPlatforms = NULL; -wxPlatform& wxPlatform::Is(int platform, long value) +void wxPlatform::Copy(const wxPlatform& platform) { - if (wxPlatformIs(platform)) + m_longValue = platform.m_longValue; + m_doubleValue = platform.m_doubleValue; + m_stringValue = platform.m_stringValue; +} + +wxPlatform wxPlatform::If(int platform, long value) +{ + if (Is(platform)) + return wxPlatform(value); + else + return wxPlatform(); +} + +wxPlatform wxPlatform::IfNot(int platform, long value) +{ + if (!Is(platform)) + return wxPlatform(value); + else + return wxPlatform(); +} + +wxPlatform& wxPlatform::ElseIf(int platform, long value) +{ + if (Is(platform)) m_longValue = value; return *this; } -wxPlatform& wxPlatform::IsNot(int platform, long value) +wxPlatform& wxPlatform::ElseIfNot(int platform, long value) { - if (!wxPlatformIs(platform)) + if (!Is(platform)) m_longValue = value; return *this; } -wxPlatform& wxPlatform::Is(int platform, double value) +wxPlatform wxPlatform::If(int platform, double value) { - if (wxPlatformIs(platform)) + if (Is(platform)) + return wxPlatform(value); + else + return wxPlatform(); +} + +wxPlatform wxPlatform::IfNot(int platform, double value) +{ + if (!Is(platform)) + return wxPlatform(value); + else + return wxPlatform(); +} + +wxPlatform& wxPlatform::ElseIf(int platform, double value) +{ + if (Is(platform)) m_doubleValue = value; return *this; } -wxPlatform& wxPlatform::IsNot(int platform, double value) +wxPlatform& wxPlatform::ElseIfNot(int platform, double value) { - if (!wxPlatformIs(platform)) + if (!Is(platform)) m_doubleValue = value; return *this; } -wxPlatform& wxPlatform::Is(int platform, const wxString& value) +wxPlatform wxPlatform::If(int platform, const wxString& value) +{ + if (Is(platform)) + return wxPlatform(value); + else + return wxPlatform(); +} + +wxPlatform wxPlatform::IfNot(int platform, const wxString& value) +{ + if (!Is(platform)) + return wxPlatform(value); + else + return wxPlatform(); +} + +wxPlatform& wxPlatform::ElseIf(int platform, const wxString& value) { - if (wxPlatformIs(platform)) + if (Is(platform)) m_stringValue = value; return *this; } -wxPlatform& wxPlatform::IsNot(int platform, const wxString& value) +wxPlatform& wxPlatform::ElseIfNot(int platform, const wxString& value) { - if (!wxPlatformIs(platform)) + if (!Is(platform)) m_stringValue = value; return *this; } -wxPlatform& wxPlatform::Default(long value) +wxPlatform& wxPlatform::Else(long value) { m_longValue = value; return *this; } -wxPlatform& wxPlatform::Default(double value) +wxPlatform& wxPlatform::Else(double value) { m_doubleValue = value; return *this; } -wxPlatform& wxPlatform::Default(const wxString& value) +wxPlatform& wxPlatform::Else(const wxString& value) { m_stringValue = value; return *this; @@ -384,7 +439,7 @@ void wxPlatform::ClearPlatforms() /// Function for testing current platform -bool wxPlatform::PlatformIs(int platform) +bool wxPlatform::Is(int platform) { #ifdef __WXMSW__ if (platform == wxMSW) -- 2.45.2