class WXDLLIMPEXP_FWD_BASE wxMessageOutput;
#if wxUSE_GUI
- class WXDLLIMPEXP_FWD_CORE wxVideoMode;
+ struct WXDLLIMPEXP_FWD_CORE wxVideoMode;
#endif
// ----------------------------------------------------------------------------
// so the app name could be myapp while display name could be "My App"
wxString GetAppDisplayName() const
{
- return m_appDisplayName.empty() ? GetAppName() : m_appDisplayName;
+ return m_appDisplayName.empty() ? GetAppName().Capitalize()
+ : m_appDisplayName;
}
+
void SetAppDisplayName(const wxString& name) { m_appDisplayName = name; }
// set/get the app class name
// allows us to abstract the differences behind the common facade
wxAppTraits *GetTraits();
+ // this function provides safer access to traits object than
+ // wxTheApp->GetTraits() during startup or termination when the global
+ // application object itself may be unavailable
+ //
+ // of course, it still returns NULL in this case and the caller must check
+ // for it
+ static wxAppTraits *GetTraitsIfExists();
// event processing functions
// --------------------------
// (already) be dispatched
static bool IsMainLoopRunning();
- // process all events in the wxPendingEvents list -- it is necessary to
- // call this function to process posted events. This happens during each
+ // process all events in the wxHandlersWithPendingEvents list -- it is necessary
+ // to call this function to process posted events. This happens during each
// event loop iteration in GUI mode but if there is no main loop, it may be
// also called directly.
virtual void ProcessPendingEvents();
// with _extreme_ care or, better, don't use at all!
virtual bool Yield(bool onlyIfNeeded = false) = 0;
+ // returns true if the main thread is inside a Yield() call
+ bool IsYielding() const
+ { return m_isInsideYield; }
+
// this virtual function is called in the GUI mode when the application
// becomes idle and normally just sends wxIdleEvent to all interested
// parties
// does any of our windows have focus?
bool m_isActive;
+ bool m_isInsideYield;
DECLARE_NO_COPY_CLASS(wxAppBase)
};
#elif defined(__WXX11__)
#include "wx/x11/app.h"
#elif defined(__WXMAC__)
- #include "wx/mac/app.h"
+ #include "wx/osx/app.h"
#elif defined(__WXCOCOA__)
#include "wx/cocoa/app.h"
#elif defined(__WXPM__)
//
// the cast is safe as in GUI build we only use wxApp, not wxAppConsole, and in
// console mode it does nothing at all
-#define wxTheApp wx_static_cast(wxApp*, wxApp::GetInstance())
+#define wxTheApp static_cast<wxApp*>(wxApp::GetInstance())
// ----------------------------------------------------------------------------
// global functions
wxAppInitializer \
wxTheAppInitializer((wxAppInitializerFunction) wxCreateApp); \
DECLARE_APP(appname) \
- appname& wxGetApp() { return *wx_static_cast(appname*, wxApp::GetInstance()); }
+ appname& wxGetApp() { return *static_cast<appname*>(wxApp::GetInstance()); }
// Same as IMPLEMENT_APP() normally but doesn't include themes support in
// wxUniversal builds