]> git.saurik.com Git - wxWidgets.git/commitdiff
Extract conversion from wx to GtkMessageType in a separate file.
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 5 Oct 2009 22:54:36 +0000 (22:54 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 5 Oct 2009 22:54:36 +0000 (22:54 +0000)
Add wxGTKImpl::ConvertMessageTypeFromWX() function to convert from wxICON_XXX
styles to GTK_MESSAGE_XXX values.

This will be reused by wxInfoBar in the next commits.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62271 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/gtk/private/messagetype.h [new file with mode: 0644]
src/gtk/msgdlg.cpp

diff --git a/include/wx/gtk/private/messagetype.h b/include/wx/gtk/private/messagetype.h
new file mode 100644 (file)
index 0000000..2dfd5d3
--- /dev/null
@@ -0,0 +1,45 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/gtk/private/msgtype.h
+// Purpose:     translate between wx and GtkMessageType
+// Author:      Vadim Zeitlin
+// Created:     2009-09-27
+// RCS-ID:      $Id: wxhead.h,v 1.11 2009-06-29 10:23:04 zeitlin Exp $
+// Copyright:   (c) 2009 Vadim Zeitlin <vadim@wxwidgets.org>
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _GTK_PRIVATE_MSGTYPE_H_
+#define _GTK_PRIVATE_MSGTYPE_H_
+
+#include <gtk/gtkmessagedialog.h>
+
+namespace wxGTKImpl
+{
+
+// Convert the given wx style to GtkMessageType, return true if succeeded or
+// false if failed.
+inline bool ConvertMessageTypeFromWX(int style, GtkMessageType *type)
+{
+#ifdef __WXGTK210__
+    if ( gtk_check_version(2, 10, 0) == NULL && (style & wxICON_NONE))
+        *type = GTK_MESSAGE_OTHER;
+    else
+#endif // __WXGTK210__
+    if (style & wxICON_EXCLAMATION)
+        *type = GTK_MESSAGE_WARNING;
+    else if (style & wxICON_ERROR)
+        *type = GTK_MESSAGE_ERROR;
+    else if (style & wxICON_INFORMATION)
+        *type = GTK_MESSAGE_INFO;
+    else if (style & wxICON_QUESTION)
+        *type = GTK_MESSAGE_QUESTION;
+    else
+        return false;
+
+    return true;
+}
+
+} // namespace wxGTKImpl
+
+#endif // _GTK_PRIVATE_MSGTYPE_H_
+
index ca2fa78303076b01beb1346bebb78276f4496bff..3badb45c6324850dfc134380b5c290b70a020813 100644 (file)
@@ -25,6 +25,7 @@
 #endif
 
 #include "wx/gtk/private.h"
+#include "wx/gtk/private/messagetype.h"
 #include "wx/gtk/private/mnemonics.h"
 #include <gtk/gtk.h>
 
@@ -137,20 +138,7 @@ void wxMessageDialog::GTKCreateMsgDialog()
         }
     }
 
-#ifdef __WXGTK210__
-    if ( gtk_check_version(2, 10, 0) == NULL && (m_dialogStyle & wxICON_NONE))
-        type = GTK_MESSAGE_OTHER;
-    else
-#endif // __WXGTK210__
-    if (m_dialogStyle & wxICON_EXCLAMATION)
-        type = GTK_MESSAGE_WARNING;
-    else if (m_dialogStyle & wxICON_ERROR)
-        type = GTK_MESSAGE_ERROR;
-    else if (m_dialogStyle & wxICON_INFORMATION)
-        type = GTK_MESSAGE_INFO;
-    else if (m_dialogStyle & wxICON_QUESTION)
-        type = GTK_MESSAGE_QUESTION;
-    else
+    if ( !wxGTKImpl::ConvertMessageTypeFromWX(m_dialogStyle, &type) )
     {
         // if no style is explicitly specified, detect the suitable icon
         // ourselves (this can be disabled by using wxICON_NONE)