]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/qt/app.h
More configure fixes
[wxWidgets.git] / include / wx / qt / app.h
diff --git a/include/wx/qt/app.h b/include/wx/qt/app.h
new file mode 100644 (file)
index 0000000..e8a7b10
--- /dev/null
@@ -0,0 +1,138 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        app.h
+// Purpose:
+// Author:      Robert Roebling
+// Created:     01/02/97
+// Id:
+// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Licence:    wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef __GTKAPPH__
+#define __GTKAPPH__
+
+#ifdef __GNUG__
+#pragma interface
+#endif
+
+#include "wx/window.h"
+#include "wx/frame.h"
+
+//-----------------------------------------------------------------------------
+// classes
+//-----------------------------------------------------------------------------
+
+class wxApp;
+class wxLog;
+class wxConfig; // it's not used #if !USE_WXCONFIG, but fwd decl doesn't harm
+
+//-----------------------------------------------------------------------------
+// global data
+//-----------------------------------------------------------------------------
+
+extern wxApp *wxTheApp;
+
+//-----------------------------------------------------------------------------
+// global functions
+//-----------------------------------------------------------------------------
+
+void wxExit(void);
+bool wxYield(void);
+
+//-----------------------------------------------------------------------------
+// constants
+//-----------------------------------------------------------------------------
+
+#define wxPRINT_WINDOWS         1
+#define wxPRINT_POSTSCRIPT      2
+
+//-----------------------------------------------------------------------------
+// wxApp
+//-----------------------------------------------------------------------------
+
+class wxApp: public wxEvtHandler
+{
+  DECLARE_DYNAMIC_CLASS(wxApp)
+
+  public:
+  
+    wxApp(void);
+    ~wxApp(void);
+    
+    static void SetInitializerFunction(wxAppInitializerFunction fn) { m_appInitFn = fn; }
+    static wxAppInitializerFunction GetInitializerFunction(void) { return m_appInitFn; }
+    
+    virtual bool OnInit(void);
+    virtual bool OnInitGui(void);
+    virtual int OnRun(void);
+    virtual int OnExit(void);
+    
+    wxWindow *GetTopWindow(void);
+    void SetTopWindow( wxWindow *win );
+    virtual int MainLoop(void);
+    void ExitMainLoop(void);
+    bool Initialized(void);
+    virtual bool Pending(void);
+    virtual void Dispatch(void);
+
+    inline void SetWantDebugOutput(bool flag) { m_wantDebugOutput = flag; }
+    inline bool GetWantDebugOutput(void) { return m_wantDebugOutput; }
+
+    void OnIdle( wxIdleEvent &event );    
+    bool SendIdleEvents(void);
+    bool SendIdleEvents( wxWindow* win );
+        
+    inline wxString GetAppName(void) const {
+      if (m_appName != "")
+        return m_appName;
+      else return m_className;
+    }
+    inline void SetAppName(const wxString& name) { m_appName = name; };
+    inline wxString GetClassName(void) const { return m_className; }
+    inline void SetClassName(const wxString& name) { m_className = name; }
+    const wxString& GetVendorName() const { return m_vendorName; }
+    void SetVendorName(const wxString& name) { m_vendorName = name; }
+
+    inline void SetExitOnFrameDelete(bool flag) { m_exitOnFrameDelete = flag; }
+    inline bool GetExitOnFrameDelete(void) const { return m_exitOnFrameDelete; }
+  
+    void SetPrintMode(int WXUNUSED(mode) ) {}; 
+    int GetPrintMode(void) const { return wxPRINT_POSTSCRIPT; };
+    
+    // override this function to create default log target of arbitrary
+    // user-defined classv (default implementation creates a wxLogGui object)
+    virtual wxLog *CreateLogTarget();
+    
+#if USE_WXCONFIG
+    // override this function to create a global wxConfig object of different
+    // than default type (right now the default implementation returns NULL)
+    virtual wxConfig *CreateConfig() { return NULL; }
+#endif
+    
+  // GTK implementation
+
+    static void CommonInit(void);
+    static void CommonCleanUp(void);    
+    
+    bool ProcessIdle(void);
+    void DeletePendingObjects(void);
+    
+    bool          m_initialized;
+    bool          m_exitOnFrameDelete;
+    bool          m_wantDebugOutput;
+    wxWindow     *m_topWindow;
+    
+    int         argc;
+    char      **argv;
+    
+    static wxAppInitializerFunction m_appInitFn;
+    
+private:
+  wxString m_vendorName,
+           m_appName,
+           m_className;
+
+  DECLARE_EVENT_TABLE()
+};
+
+#endif // __GTKAPPH__