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
|
#endif
|
||||||
|
|
||||||
#include "wx/gtk/private.h"
|
#include "wx/gtk/private.h"
|
||||||
|
#include "wx/gtk/private/messagetype.h"
|
||||||
#include "wx/gtk/private/mnemonics.h"
|
#include "wx/gtk/private/mnemonics.h"
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
@@ -137,20 +138,7 @@ void wxMessageDialog::GTKCreateMsgDialog()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __WXGTK210__
|
if ( !wxGTKImpl::ConvertMessageTypeFromWX(m_dialogStyle, &type) )
|
||||||
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 no style is explicitly specified, detect the suitable icon
|
// if no style is explicitly specified, detect the suitable icon
|
||||||
// ourselves (this can be disabled by using wxICON_NONE)
|
// ourselves (this can be disabled by using wxICON_NONE)
|
||||||
|
Reference in New Issue
Block a user