]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk1/dialog.h
Next try at avoiding too few or too many size events.
[wxWidgets.git] / include / wx / gtk1 / dialog.h
index db28c7772b6b255fa3ac139d8406126091ce28fb..c9968337278b45a7bcdbec7b5343910d4c7ebac3 100644 (file)
@@ -2,13 +2,12 @@
 // Name:        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 __GTKDIALOGH__
 #define __GTKDIALOGH__
 
 #endif
 
 #include "wx/defs.h"
-#include "wx/object.h"
-#include "wx/string.h"
-#include "wx/event.h"
-#include "wx/window.h"
-
-//-----------------------------------------------------------------------------
-// forward decls
-//-----------------------------------------------------------------------------
-
-class wxRadioBox;
+#include "wx/panel.h"
+#include "wx/icon.h"
 
 //-----------------------------------------------------------------------------
 // classes
@@ -38,54 +29,87 @@ class wxDialog;
 // global data
 //-----------------------------------------------------------------------------
 
-extern const char *wxDialogNameStr;
+extern const wxChar *wxDialogNameStr;
 
 //-----------------------------------------------------------------------------
 // wxDialog
 //-----------------------------------------------------------------------------
 
-class wxDialog: public wxWindow
+class wxDialog: public wxDialogBase
 {
-  DECLARE_DYNAMIC_CLASS(wxDialog)
-
-  public:
-
-    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);
+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 );
+    ~wxDialog();
+
     void SetTitle(const wxString& title);
-    wxString GetTitle(void) const;
-    bool OnClose(void);
+    wxString GetTitle() const;
+
     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);
-*/
+    void OnOK( wxCommandEvent &event );
+    void OnPaint( wxPaintEvent& event );
+    void OnSize( wxSizeEvent &event );
+    void OnCloseWindow( wxCloseEvent& event );
+    /*
+       void OnCharHook( wxKeyEvent& event );
+     */
+
+    bool Destroy();
+
     virtual bool Show( bool show );
-    virtual int ShowModal(void);
-    virtual void EndModal(int retCode);
-    virtual bool IsModal(void) const { return ((GetWindowStyleFlag() & wxDIALOG_MODAL) == wxDIALOG_MODAL); }
+    virtual int ShowModal();
+    virtual void EndModal( int retCode );
+    virtual bool IsModal() const;
+    void SetModal( bool modal );
+
     virtual void InitDialog(void);
+
+    virtual void SetIcon( const wxIcon &icon );
+    virtual void Iconize( bool WXUNUSED(iconize)) { }
+    virtual bool IsIconized() const { return FALSE; }
+    bool Iconized() const { return IsIconized(); }
+    virtual void Maximize() { }
+    virtual void Restore() { }
+
+    virtual bool IsTopLevel() const { return TRUE; }
     
-  private:
-  
-    friend    wxWindow;
-    friend    wxDC;
-    friend    wxRadioBox;
+    // implementation
+    // --------------
+
+    // move the window to the specified location and resize it: this is called
+    // from both DoSetSize() and DoSetClientSize()
+    virtual void DoMoveWindow(int x, int y, int width, int height);
+    
+    virtual void GtkOnSize( int x, int y, int width, int height );
+    virtual void OnInternalIdle();
+
     bool       m_modalShowing;
     wxString   m_title;
-    
-  DECLARE_EVENT_TABLE()
-    
+    wxIcon     m_icon;
+
+protected:
+    // common part of all ctors
+    void Init();
+
+    virtual void DoSetSize(int x, int y,
+                           int width, int height,
+                           int sizeFlags = wxSIZE_AUTO);
+
+private:
+    DECLARE_EVENT_TABLE()
+    DECLARE_DYNAMIC_CLASS(wxDialog)
 };
 
 #endif // __GTKDIALOGH__