X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/46446cc2aa025f445815545b31552a509b5e3f7e..38c8fce8c4348a61a1e55da13142b84e44924845:/src/gtk1/utilsgtk.cpp?ds=sidebyside diff --git a/src/gtk1/utilsgtk.cpp b/src/gtk1/utilsgtk.cpp index 75972bb8b6..4d780162b6 100644 --- a/src/gtk1/utilsgtk.cpp +++ b/src/gtk1/utilsgtk.cpp @@ -7,6 +7,9 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + #include "wx/utils.h" #include "wx/string.h" @@ -53,11 +56,14 @@ extern GtkWidget *wxGetRootWindow(); //---------------------------------------------------------------------------- // misc. //---------------------------------------------------------------------------- +#ifndef __EMX__ +// on OS/2, we use the wxBell from wxBase library void wxBell() { gdk_beep(); } +#endif /* Don't synthesize KeyUp events holding down a key and producing KeyDown events with autorepeat. */ @@ -75,6 +81,43 @@ bool wxSetDetectableAutoRepeat( bool WXUNUSED(flag) ) } #endif +#ifdef __WXGTK20__ +// Escapes string so that it is valid Pango markup XML string: +wxString wxEscapeStringForPangoMarkup(const wxString& str) +{ + size_t len = str.length(); + wxString out; + out.Alloc(len); + for (size_t i = 0; i < len; i++) + { + wxChar c = str[i]; + switch (c) + { + case _T('&'): + out << _T("&"); + break; + case _T('<'): + out << _T("<"); + break; + case _T('>'): + out << _T(">"); + break; + case _T('\''): + out << _T("'"); + break; + case _T('"'): + out << _T("""); + break; + default: + out << c; + break; + } + } + return out; +} +#endif + + // ---------------------------------------------------------------------------- // display characterstics // ---------------------------------------------------------------------------- @@ -122,14 +165,23 @@ int wxDisplayDepth() return gdk_window_get_visual( wxGetRootWindow()->window )->depth; } -int wxGUIAppTraits::GetOSVersion(int *majorVsn, int *minorVsn) +wxToolkitInfo& wxGUIAppTraits::GetToolkitInfo() { - if (majorVsn) - *majorVsn = GTK_MAJOR_VERSION; - if (minorVsn) - *minorVsn = GTK_MINOR_VERSION; - - return wxGTK; + static wxToolkitInfo info; +#ifdef __WXGTK20__ + info.shortName = _T("gtk2"); +#else + info.shortName = _T("gtk"); +#endif + info.name = _T("wxGTK"); +#ifdef __WXUNIVERSAL__ + info.shortName << _T("univ"); + info.name << _T("/wxUniversal"); +#endif + info.versionMajor = gtk_major_version; + info.versionMinor = gtk_minor_version; + info.os = wxGTK; + return info; } wxWindow* wxFindWindowAtPoint(const wxPoint& pt) @@ -142,7 +194,8 @@ wxWindow* wxFindWindowAtPoint(const wxPoint& pt) // subprocess routines // ---------------------------------------------------------------------------- -extern "C" +extern "C" { +static void GTK_EndProcessDetector(gpointer data, gint source, GdkInputCondition WXUNUSED(condition) ) { @@ -173,6 +226,7 @@ void GTK_EndProcessDetector(gpointer data, gint source, wxHandleProcessTermination(proc_data); } +} int wxAddProcessCallback(wxEndProcessData *proc_data, int fd) {