X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fe943278df5f54ed8d30665075a704d394f4c718..772513d82432ecf323bca55251551fd5c8a7562d:/src/gtk/utilsgtk.cpp diff --git a/src/gtk/utilsgtk.cpp b/src/gtk/utilsgtk.cpp index f68fddcbf0..384344934f 100644 --- a/src/gtk/utilsgtk.cpp +++ b/src/gtk/utilsgtk.cpp @@ -2,7 +2,6 @@ // Name: src/gtk/utilsgtk.cpp // Purpose: // Author: Robert Roebling -// Id: $Id$ // Copyright: (c) 1998 Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -21,9 +20,6 @@ #include "wx/apptrait.h" #include "wx/process.h" #include "wx/sysopt.h" -#ifdef __UNIX__ -#include "wx/unix/execute.h" -#endif #include "wx/gtk/private/timer.h" #include "wx/evtloop.h" @@ -97,11 +93,6 @@ void wxDisplaySizeMM( int *width, int *height ) if (height) *height = gdk_screen_height_mm(); } -void wxGetMousePosition( int* x, int* y ) -{ - gdk_window_get_pointer(gtk_widget_get_root_window(wxGetRootWindow()), x, y, NULL); -} - bool wxColourDisplay() { return true; @@ -125,7 +116,7 @@ wxConvertToGTK(const wxString& s, wxFontEncoding enc) wxWCharBuffer wbuf; if ( enc == wxFONTENCODING_SYSTEM || enc == wxFONTENCODING_DEFAULT ) { - wbuf = wxConvUI->cMB2WC(s); + wbuf = wxConvUI->cMB2WC(s.c_str()); } else // another encoding, use generic conversion class { @@ -191,39 +182,6 @@ const gchar *wx_pango_version_check (int major, int minor, int micro) #endif } -// ---------------------------------------------------------------------------- -// subprocess routines -// ---------------------------------------------------------------------------- - -#ifdef __UNIX__ - -extern "C" { -static gboolean EndProcessDetector(GIOChannel* source, GIOCondition, void* data) -{ - wxEndProcessData * const - proc_data = static_cast(data); - - // child exited, end waiting - close(g_io_channel_unix_get_fd(source)); - - wxHandleProcessTermination(proc_data); - - // don't call us again! - return false; -} -} - -int wxGUIAppTraits::AddProcessCallback(wxEndProcessData *proc_data, int fd) -{ - GIOChannel* channel = g_io_channel_unix_new(fd); - GIOCondition cond = GIOCondition(G_IO_IN | G_IO_HUP | G_IO_ERR); - unsigned id = g_io_add_watch(channel, cond, EndProcessDetector, proc_data); - g_io_channel_unref(channel); - return int(id); -} - -#endif // __UNIX__ - // ---------------------------------------------------------------------------- // wxPlatformInfo-related // ---------------------------------------------------------------------------- @@ -290,18 +248,6 @@ wxEventLoopBase *wxGUIAppTraits::CreateEventLoop() } -#if wxUSE_INTL && defined(__UNIX__) -void wxGUIAppTraits::SetLocale() -{ -#ifdef __WXGTK3__ - setlocale(LC_ALL, ""); -#else - gtk_set_locale(); -#endif - wxUpdateLocaleIsUtf8(); -} -#endif - #ifdef __UNIX__ #if wxDEBUG_LEVEL && wxUSE_STACKWALKER @@ -319,10 +265,12 @@ protected: // append this stack frame's info in the dialog if (!frame.GetFileName().empty() || !fncname.empty()) + { gtk_assert_dialog_append_stack_frame(m_dlg, - fncname.mb_str(), - frame.GetFileName().mb_str(), + fncname.utf8_str(), + frame.GetFileName().utf8_str(), frame.GetLine()); + } } private: @@ -333,7 +281,7 @@ static void get_stackframe_callback(void* p) { StackDump* dump = static_cast(p); // skip over frames up to including wxOnAssert() - dump->ProcessFrames(3); + dump->ProcessFrames(6); } #endif // wxDEBUG_LEVEL && wxUSE_STACKWALKER @@ -416,6 +364,8 @@ wxString wxGUIAppTraits::GetDesktopEnvironment() const #endif // __UNIX__ || __OS2__ +#ifdef __UNIX__ + // see the hack below in wxCmdLineParser::GetUsageString(). // TODO: replace this hack with a g_option_group_get_entries() // call as soon as such function exists; @@ -442,6 +392,7 @@ struct _GOptionGroup GOptionErrorFunc error_func; }; +static wxString wxGetNameFromGtkOptionEntry(const GOptionEntry *opt) { wxString ret; @@ -461,8 +412,6 @@ wxString wxGetNameFromGtkOptionEntry(const GOptionEntry *opt) return wxT(" ") + ret; } -#ifdef __UNIX__ - wxString wxGUIAppTraits::GetStandardCmdLineOptions(wxArrayString& names, wxArrayString& desc) const