2003-06-24 00:56:19 +00:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: wx/msw/apptrait.h
|
|
|
|
// Purpose: class implementing wxAppTraits for MSW
|
|
|
|
// Author: Vadim Zeitlin
|
|
|
|
// Modified by:
|
|
|
|
// Created: 21.06.2003
|
2004-05-23 14:56:36 +00:00
|
|
|
// Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwidgets.org>
|
2004-05-23 20:53:33 +00:00
|
|
|
// Licence: wxWindows licence
|
2003-06-24 00:56:19 +00:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
#ifndef _WX_MSW_APPTRAIT_H_
|
|
|
|
#define _WX_MSW_APPTRAIT_H_
|
|
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// wxGUI/ConsoleAppTraits: must derive from wxAppTraits, not wxAppTraitsBase
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
2003-07-04 13:00:07 +00:00
|
|
|
class WXDLLIMPEXP_BASE wxConsoleAppTraits : public wxConsoleAppTraitsBase
|
2003-06-24 00:56:19 +00:00
|
|
|
{
|
|
|
|
public:
|
2007-05-22 02:30:01 +00:00
|
|
|
virtual wxEventLoopBase *CreateEventLoop();
|
2003-06-24 00:56:19 +00:00
|
|
|
virtual void *BeforeChildWaitLoop();
|
|
|
|
virtual void AfterChildWaitLoop(void *data);
|
2007-04-20 01:29:16 +00:00
|
|
|
#if wxUSE_TIMER
|
|
|
|
virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
|
2011-03-22 17:15:56 +00:00
|
|
|
#endif // wxUSE_TIMER
|
|
|
|
#if wxUSE_THREADS
|
2003-06-24 00:56:19 +00:00
|
|
|
virtual bool DoMessageFromThreadWait();
|
2011-03-14 11:54:32 +00:00
|
|
|
virtual WXDWORD WaitForThread(WXHANDLE hThread, int flags);
|
2011-03-22 17:15:56 +00:00
|
|
|
#endif // wxUSE_THREADS
|
2008-05-23 23:28:13 +00:00
|
|
|
virtual bool CanUseStderr() { return true; }
|
|
|
|
virtual bool WriteToStderr(const wxString& text);
|
2003-06-24 00:56:19 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#if wxUSE_GUI
|
|
|
|
|
2012-07-23 15:03:30 +00:00
|
|
|
#if defined(__WXMSW__)
|
|
|
|
|
2003-07-04 13:00:07 +00:00
|
|
|
class WXDLLIMPEXP_CORE wxGUIAppTraits : public wxGUIAppTraitsBase
|
2003-06-24 00:56:19 +00:00
|
|
|
{
|
|
|
|
public:
|
2007-05-22 02:30:01 +00:00
|
|
|
virtual wxEventLoopBase *CreateEventLoop();
|
2003-06-24 00:56:19 +00:00
|
|
|
virtual void *BeforeChildWaitLoop();
|
|
|
|
virtual void AfterChildWaitLoop(void *data);
|
2007-04-20 01:29:16 +00:00
|
|
|
#if wxUSE_TIMER
|
|
|
|
virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
|
2011-03-22 17:15:56 +00:00
|
|
|
#endif // wxUSE_TIMER
|
|
|
|
#if wxUSE_THREADS
|
2003-06-24 00:56:19 +00:00
|
|
|
virtual bool DoMessageFromThreadWait();
|
2011-03-14 11:54:32 +00:00
|
|
|
virtual WXDWORD WaitForThread(WXHANDLE hThread, int flags);
|
2011-03-22 17:15:56 +00:00
|
|
|
#endif // wxUSE_THREADS
|
2015-06-24 04:54:34 +00:00
|
|
|
wxPortId GetToolkitVersion(int *majVer = NULL,
|
|
|
|
int *minVer = NULL,
|
|
|
|
int *microVer = NULL) const wxOVERRIDE;
|
2008-05-23 23:28:13 +00:00
|
|
|
|
|
|
|
virtual bool CanUseStderr();
|
|
|
|
virtual bool WriteToStderr(const wxString& text);
|
2003-06-24 00:56:19 +00:00
|
|
|
};
|
|
|
|
|
2012-07-23 15:03:30 +00:00
|
|
|
#elif defined(__WXGTK__)
|
|
|
|
|
|
|
|
class WXDLLIMPEXP_CORE wxGUIAppTraits : public wxGUIAppTraitsBase
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
virtual wxEventLoopBase *CreateEventLoop();
|
|
|
|
virtual void *BeforeChildWaitLoop() { return NULL; }
|
|
|
|
virtual void AfterChildWaitLoop(void *WXUNUSED(data)) { }
|
|
|
|
#if wxUSE_TIMER
|
|
|
|
virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if wxUSE_THREADS && defined(__WXGTK20__)
|
|
|
|
virtual void MutexGuiEnter();
|
|
|
|
virtual void MutexGuiLeave();
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if wxUSE_THREADS
|
|
|
|
virtual bool DoMessageFromThreadWait() { return true; }
|
|
|
|
virtual WXDWORD WaitForThread(WXHANDLE hThread, int WXUNUSED(flags))
|
|
|
|
{ return DoSimpleWaitForThread(hThread); }
|
|
|
|
#endif // wxUSE_THREADS
|
2015-06-24 04:54:34 +00:00
|
|
|
virtual wxPortId GetToolkitVersion(int *majVer = NULL,
|
|
|
|
int *minVer = NULL,
|
|
|
|
int *microVer = NULL) const;
|
2012-07-23 15:03:30 +00:00
|
|
|
|
|
|
|
virtual bool CanUseStderr() { return false; }
|
|
|
|
virtual bool WriteToStderr(const wxString& WXUNUSED(text)) { return false; }
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
2003-06-24 00:56:19 +00:00
|
|
|
#endif // wxUSE_GUI
|
|
|
|
|
|
|
|
#endif // _WX_MSW_APPTRAIT_H_
|