]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/dialog.h
1. slightly changed how wxControlContainer is used
[wxWidgets.git] / include / wx / gtk / dialog.h
index 25cfa99c37751f0ca1affd972d66ec0574352129..2d33f945d08186ab4560f5ce794af678cf07bc42 100644 (file)
@@ -5,7 +5,7 @@
 // Created:
 // Id:          $Id$
 // Copyright:   (c) 1998 Robert Roebling
 // Created:
 // Id:          $Id$
 // Copyright:   (c) 1998 Robert Roebling
-// Licence:    wxWindows licence
+// Licence:           wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef __GTKDIALOGH__
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef __GTKDIALOGH__
@@ -29,78 +29,90 @@ class wxDialog;
 // global data
 //-----------------------------------------------------------------------------
 
 // global data
 //-----------------------------------------------------------------------------
 
-extern const char *wxDialogNameStr;
+extern const wxChar *wxDialogNameStr;
 
 //-----------------------------------------------------------------------------
 // wxDialog
 //-----------------------------------------------------------------------------
 
 
 //-----------------------------------------------------------------------------
 // wxDialog
 //-----------------------------------------------------------------------------
 
-class wxDialog: public wxPanel
+class wxDialog: public wxDialogBase
 {
 {
-  DECLARE_DYNAMIC_CLASS(wxDialog)
-
 public:
 public:
-  wxDialog();
-  wxDialog( wxWindow *parent, wxWindowID id, 
+    wxDialog() { Init(); }
+    wxDialog( wxWindow *parent, wxWindowID id,
             const wxString &title,
             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() const;
-  
-  bool OnClose();
-  void OnApply( wxCommandEvent &event );
-  void OnCancel( wxCommandEvent &event );
-  void OnOK( wxCommandEvent &event );
-  void OnPaint( wxPaintEvent& event );
-  void OnSize( wxSizeEvent &event );
-/*
-  void OnCharHook( wxKeyEvent& event );
-*/
-  
-  bool Destroy();
-  void OnCloseWindow( wxCloseEvent& event );
-  
-  virtual void SetSize( int x, int y, int width, int height,
-      int sizeFlags = wxSIZE_AUTO );
-  virtual void SetSize( int width, int height );
-      
-  virtual bool Show( bool show );
-  virtual int ShowModal();
-  virtual void EndModal( int retCode );
-  virtual bool IsModal() 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() const { return FALSE; }
-  bool Iconized() const { return IsIconized(); }
-  virtual void Maximize() { }
-  virtual void Restore() { }
+            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() const;
+
+    void OnApply( wxCommandEvent &event );
+    void OnCancel( wxCommandEvent &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 = TRUE );
+    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; }
     
     
-// implementation
-  
-  virtual void GtkOnSize( int x, int y, int width, int height );
-  
-  bool       m_modalShowing;
-  wxString   m_title;
-  wxIcon     m_icon;
+    // 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);
     
     
-  DECLARE_EVENT_TABLE()
+    virtual void GtkOnSize( int x, int y, int width, int height );
+    virtual void OnInternalIdle();
+
+    bool       m_modalShowing;
+    wxString   m_title;
+    wxIcon     m_icon;
+
+protected:
+    // common part of all ctors
+    void Init();
+
+    // common part of Destroy() and ~wxDialog
+    void CleanUp();
+
+    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__
 };
 
 #endif // __GTKDIALOGH__