Extract conversion from wx to GtkMessageType in a separate file.
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
This commit is contained in:
45
include/wx/gtk/private/messagetype.h
Normal file
45
include/wx/gtk/private/messagetype.h
Normal file
@@ -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_
|
||||
|
@@ -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)
|
||||
|
Reference in New Issue
Block a user