Implemented wxToplevelWindowMotif.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Mattia Barbon
2003-01-06 16:36:23 +00:00
parent f58d1d9978
commit 798a4529fe
9 changed files with 298 additions and 808 deletions

View File

@@ -21,6 +21,7 @@
#include "wx/hash.h"
#include "wx/string.h"
#include "wx/dialog.h"
#include "wx/panel.h"
class WXDLLEXPORT wxTabView;

View File

@@ -25,7 +25,8 @@ class WXDLLEXPORT wxDialog : public wxDialogBase
public:
wxDialog();
#if WXWIN_COMPATIBILITY_2
// Constructor with a modal flag, but no window id - the old convention
wxDialog(wxWindow *parent,
const wxString& title, bool modal,
@@ -36,7 +37,8 @@ public:
long modalStyle = modal ? wxDIALOG_MODAL : wxDIALOG_MODELESS ;
Create(parent, -1, title, wxPoint(x, y), wxSize(width, height), style|modalStyle, name);
}
#endif
// Constructor with no modal flag - the new convention.
wxDialog(wxWindow *parent, wxWindowID id,
const wxString& title,
@@ -58,18 +60,10 @@ public:
~wxDialog();
virtual bool Destroy();
bool Show(bool show);
void Iconize(bool iconize);
void Raise();
void Lower();
virtual bool IsIconized() const;
virtual bool IsTopLevel() const { return TRUE; }
virtual bool Show(bool show = TRUE);
void SetTitle(const wxString& title);
wxString GetTitle() const ;
void SetModal(bool flag);
@@ -91,8 +85,6 @@ public:
void OnApply(wxCommandEvent& event);
void OnCancel(wxCommandEvent& event);
void OnPaint(wxPaintEvent &event);
// Responds to colour changes
void OnSysColourChanged(wxSysColourChangedEvent& event);
@@ -100,14 +92,18 @@ public:
void OnCharHook(wxKeyEvent& event);
void OnCloseWindow(wxCloseEvent& event);
// Responds to size changes
void OnSize(wxSizeEvent& event);
public:
private:
virtual bool DoCreate( wxWindow* parent, wxWindowID id,
const wxString& title,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString& name );
virtual void DoDestroy();
//// Motif-specific
bool m_modalShowing;
wxString m_dialogTitle;
protected:
virtual void DoSetSize(int x, int y,
int width, int height,

View File

@@ -42,15 +42,14 @@ public:
const wxString& name = wxFrameNameStr);
virtual ~wxFrame();
virtual bool Show(bool show = TRUE);
// Set menu bar
void SetMenuBar(wxMenuBar *menu_bar);
// Set title
void SetTitle(const wxString& title);
wxString GetTitle() const { return m_title; }
// Set icon
virtual void SetIcon(const wxIcon& icon);
@@ -66,22 +65,6 @@ public:
virtual void PositionToolBar();
#endif // wxUSE_TOOLBAR
// Iconize
virtual void Iconize(bool iconize);
virtual bool IsIconized() const;
// Is the frame maximized? Returns FALSE under Motif (but TRUE for
// wxMDIChildFrame due to the tabbed implementation).
virtual bool IsMaximized() const;
virtual void Maximize(bool maximize);
virtual void Raise();
virtual void Lower();
virtual void Restore();
// Implementation only from now on
// -------------------------------
@@ -97,15 +80,18 @@ public:
WXWidget GetClientAreaWidget() const { return m_clientArea; }
WXWidget GetTopWidget() const { return m_frameShell; }
virtual WXWidget GetMainWidget() const { return m_frameWidget; }
virtual WXWidget GetMainWidget() const { return m_mainWidget; }
// The widget that can have children on it
WXWidget GetClientWidget() const;
bool GetVisibleStatus() const { return m_visibleStatus; }
void SetVisibleStatus( bool status ) { m_visibleStatus = status; }
bool PreResize();
protected:
// for generic/mdig.h
virtual void DoGetClientSize(int *width, int *height) const;
private:
// common part of all ctors
void Init();
@@ -114,14 +100,11 @@ protected:
//// Motif-specific
WXWidget m_frameShell;
WXWidget m_frameWidget;
WXWidget m_workArea;
WXWidget m_clientArea;
wxString m_title;
bool m_visibleStatus;
bool m_iconized;
virtual void DoGetClientSize(int *width, int *height) const;
virtual void DoGetSize(int *width, int *height) const;
virtual void DoGetPosition(int *x, int *y) const;
virtual void DoSetSize(int x, int y,
@@ -130,8 +113,16 @@ protected:
virtual void DoSetClientSize(int width, int height);
private:
virtual bool DoCreate( wxWindow* parent, wxWindowID id,
const wxString& title,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString& name );
virtual void DoDestroy();
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxFrame)
DECLARE_DYNAMIC_CLASS(wxFrame)
};
#endif

View File

@@ -173,6 +173,9 @@ protected:
#elif defined(__WXPM__)
#include "wx/os2/toplevel.h"
#define wxTopLevelWindowNative wxTopLevelWindowOS2
#elif defined(__WXMOTIF__)
#include "wx/motif/toplevel.h"
#define wxTopLevelWindowNative wxTopLevelWindowMotif
#endif
#ifdef __WXUNIVERSAL__