]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/dialog.h
Instead of just deleting m_popupInterface, call Destroy() of its wxWindow-based popup...
[wxWidgets.git] / include / wx / gtk / dialog.h
index 37832582db1bc84b880c07209cfefc2444cad408..8f2b3284ede8d3ca51d0054ff2a56198bec4a0db 100644 (file)
 /////////////////////////////////////////////////////////////////////////////
-// Name:        dialog.h
+// Name:        wx/gtk/dialog.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
-// Licence:    wxWindows licence
+// Created:
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
+// Licence:           wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
+#ifndef _WX_GTKDIALOG_H_
+#define _WX_GTKDIALOG_H_
 
-#ifndef __GTKDIALOGH__
-#define __GTKDIALOGH__
-
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-#include "wx/defs.h"
-#include "wx/object.h"
-#include "wx/string.h"
-#include "wx/event.h"
-#include "wx/window.h"
-#include "wx/icon.h"
-
-//-----------------------------------------------------------------------------
-// forward decls
-//-----------------------------------------------------------------------------
-
-class wxRadioBox;
-
-//-----------------------------------------------------------------------------
-// classes
-//-----------------------------------------------------------------------------
-
-class wxDialog;
-
-//-----------------------------------------------------------------------------
-// global data
-//-----------------------------------------------------------------------------
-
-extern const char *wxDialogNameStr;
+class WXDLLIMPEXP_FWD_CORE wxGUIEventLoop;
 
 //-----------------------------------------------------------------------------
 // wxDialog
 //-----------------------------------------------------------------------------
 
-class wxDialog: public wxWindow
+class WXDLLIMPEXP_CORE wxDialog: public wxDialogBase
 {
-  DECLARE_DYNAMIC_CLASS(wxDialog)
+public:
+    wxDialog() { Init(); }
+    wxDialog( wxWindow *parent, wxWindowID id,
+            const wxString &title,
+            const wxPoint &pos = wxDefaultPosition,
+            const wxSize &size = wxDefaultSize,
+            long style = wxDEFAULT_DIALOG_STYLE,
+            const wxString &name = wxDialogNameStr );
+    bool Create( wxWindow *parent, wxWindowID id,
+            const wxString &title,
+            const wxPoint &pos = wxDefaultPosition,
+            const wxSize &size = wxDefaultSize,
+            long style = wxDEFAULT_DIALOG_STYLE,
+            const wxString &name = wxDialogNameStr );
+    virtual ~wxDialog();
+
+    virtual bool Show( bool show = true );
+    virtual int ShowModal();
+    virtual void EndModal( int retCode );
+    virtual bool IsModal() const;
+    void SetModal( bool modal );
 
-  public:
+    // implementation
+    // --------------
 
-    wxDialog(void);
-    wxDialog( wxWindow *parent, wxWindowID id, const wxString &title,
-      const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, 
-      long style = wxDEFAULT_DIALOG_STYLE, const wxString &name = wxDialogNameStr );
-    bool Create( wxWindow *parent, wxWindowID id, const wxString &title,
-      const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, 
-      long style = wxDEFAULT_DIALOG_STYLE, const wxString &name = wxDialogNameStr );
-    ~wxDialog(void);
-    void SetTitle(const wxString& title);
-    wxString GetTitle(void) const;
-    bool OnClose(void);
-    void OnApply( wxCommandEvent &event );
-    void OnCancel( wxCommandEvent &event );
-    void OnOK( wxCommandEvent &event );
-    void OnPaint(wxPaintEvent& event);
-    bool Destroy(void);
-    void OnCloseWindow(wxCloseEvent& event);
-/*
-    void OnCharHook(wxKeyEvent& event);
-*/
-    virtual bool Show( bool show );
-    virtual int ShowModal(void);
-    virtual void EndModal(int retCode);
-    virtual bool IsModal(void) const;
-    void SetModal( bool modal );
-    virtual void InitDialog(void);
-    virtual void Centre( int direction = wxHORIZONTAL );
-    
-    virtual void SetIcon( const wxIcon &icon );
-    virtual void Iconize( bool WXUNUSED(iconize)) { }
-    virtual bool IsIconized(void) const { return FALSE; }
-    bool Iconized(void) const { return IsIconized(); }
-    virtual void Maximize(void) { }
-    virtual void Restore(void) { }
-    
-  private:
-  
-    friend    wxWindow;
-    friend    wxDC;
-    friend    wxRadioBox;
-    
     bool       m_modalShowing;
-    wxString   m_title;
-    wxIcon     m_icon;
-    
-    virtual void ImplementSetPosition();
-  
-  DECLARE_EVENT_TABLE()
-    
+
+private:
+    // common part of all ctors
+    void Init();
+    wxGUIEventLoop *m_modalLoop;
+    DECLARE_DYNAMIC_CLASS(wxDialog)
 };
 
-#endif // __GTKDIALOGH__
+#endif // _WX_GTKDIALOG_H_