--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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_
+
#endif
#include "wx/gtk/private.h"
+#include "wx/gtk/private/messagetype.h"
#include "wx/gtk/private/mnemonics.h"
#include <gtk/gtk.h>
}
}
-#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)