From: Vadim Zeitlin Date: Wed, 14 Sep 2005 14:36:02 +0000 (+0000) Subject: renamed wxMotif::wxTLW::DoCreate() to XmDoCreateTLW() to avoid conflicts with X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/f58585c091f6ee8e29939ba463d82a5cd96d53a9 renamed wxMotif::wxTLW::DoCreate() to XmDoCreateTLW() to avoid conflicts with DoCreate()s in derived classes and removed DoDestroy() entirely because there was really no advantage in having it (it can't be called fom base class dtor) also made XmDoCreateTLW() pure virtual which required changing IMPLEMENT_DYNAMIC_CLASS into IMPLEMENT_ABSTRACT_CLASS for wxTopLevelWindow in common code but this made sense anyhow because wxTLW should be an ABC anyhow git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/motif/dialog.h b/include/wx/motif/dialog.h index 861062d819..65ebffbaba 100644 --- a/include/wx/motif/dialog.h +++ b/include/wx/motif/dialog.h @@ -79,13 +79,14 @@ public: void OnCloseWindow(wxCloseEvent& event); 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(); + virtual bool XmDoCreateTLW(wxWindow* parent, + wxWindowID id, + const wxString& title, + const wxPoint& pos, + const wxSize& size, + long style, + const wxString& name); + //// Motif-specific bool m_modalShowing; diff --git a/include/wx/motif/frame.h b/include/wx/motif/frame.h index ed717d2a69..9aa254904e 100644 --- a/include/wx/motif/frame.h +++ b/include/wx/motif/frame.h @@ -117,13 +117,14 @@ private: 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(); + virtual bool XmDoCreateTLW(wxWindow* parent, + wxWindowID id, + const wxString& title, + const wxPoint& pos, + const wxSize& size, + long style, + const wxString& name); + DECLARE_EVENT_TABLE() DECLARE_DYNAMIC_CLASS(wxFrame) diff --git a/include/wx/motif/toplevel.h b/include/wx/motif/toplevel.h index eaca8020f6..061d263dc4 100644 --- a/include/wx/motif/toplevel.h +++ b/include/wx/motif/toplevel.h @@ -70,19 +70,17 @@ protected: void PreDestroy(); virtual void DoGetPosition(int* x, int* y) const; + private: - // both these functions should be pure virtual - virtual bool DoCreate( wxWindow* parent, wxWindowID id, - const wxString& title, - const wxPoint& pos, - const wxSize& size, - long style, - const wxString& name ) - { - return false; - } + // really create the Motif widget for TLW + virtual bool XmDoCreateTLW(wxWindow* parent, + wxWindowID id, + const wxString& title, + const wxPoint& pos, + const wxSize& size, + long style, + const wxString& name) = 0; - virtual void DoDestroy() { } wxString m_title; }; diff --git a/src/common/toplvcmn.cpp b/src/common/toplvcmn.cpp index 0146f40ab4..5ce909c799 100644 --- a/src/common/toplvcmn.cpp +++ b/src/common/toplvcmn.cpp @@ -46,7 +46,7 @@ END_EVENT_TABLE() // implementation // ============================================================================ -IMPLEMENT_DYNAMIC_CLASS(wxTopLevelWindow, wxWindow) +IMPLEMENT_ABSTRACT_CLASS(wxTopLevelWindow, wxWindow) // ---------------------------------------------------------------------------- // construction/destruction diff --git a/src/motif/dialog.cpp b/src/motif/dialog.cpp index 84ca36e6db..a7e4fc8aa6 100644 --- a/src/motif/dialog.cpp +++ b/src/motif/dialog.cpp @@ -151,12 +151,13 @@ bool wxDialog::Create(wxWindow *parent, wxWindowID id, return true; } -bool wxDialog::DoCreate( wxWindow* parent, wxWindowID id, - const wxString& title, - const wxPoint& pos, - const wxSize& size, - long style, - const wxString& name ) +bool wxDialog::XmDoCreateTLW(wxWindow* parent, + wxWindowID id, + const wxString& title, + const wxPoint& pos, + const wxSize& size, + long style, + const wxString& name) { Widget parentWidget = (Widget) 0; if( parent ) @@ -233,12 +234,8 @@ wxDialog::~wxDialog() } PreDestroy(); - DoDestroy(); -} -void wxDialog::DoDestroy() -{ - if( m_mainWidget ) + if ( m_mainWidget ) { wxDeleteWindowFromTable( (Widget)m_mainWidget ); XtDestroyWidget( (Widget)m_mainWidget ); diff --git a/src/motif/frame.cpp b/src/motif/frame.cpp index bf63528fba..f17078a2d5 100644 --- a/src/motif/frame.cpp +++ b/src/motif/frame.cpp @@ -196,12 +196,13 @@ bool wxFrame::Create(wxWindow *parent, return true; } -bool wxFrame::DoCreate( wxWindow* parent, wxWindowID id, - const wxString& title, - const wxPoint& pos, - const wxSize& size, - long style, - const wxString& name ) +bool wxFrame::XmDoCreateTLW(wxWindow* parent, + wxWindowID id, + const wxString& title, + const wxPoint& pos, + const wxSize& size, + long style, + const wxString& name) { Widget frameShell; @@ -292,11 +293,7 @@ wxFrame::~wxFrame() } PreDestroy(); - DoDestroy(); -} -void wxFrame::DoDestroy() -{ Widget frameShell = (Widget)GetShellWidget(); if( frameShell ) diff --git a/src/motif/toplevel.cpp b/src/motif/toplevel.cpp index e5cd9e6717..59343183b5 100644 --- a/src/motif/toplevel.cpp +++ b/src/motif/toplevel.cpp @@ -116,12 +116,12 @@ bool wxTopLevelWindowMotif::Create( wxWindow *parent, wxWindowID id, if ( parent ) parent->AddChild(this); - + wxTopLevelWindows.Append(this); m_windowId = ( id > -1 ) ? id : NewControlId(); - bool retval = DoCreate( parent, id, title, pos, size, style, name ); + bool retval = XmDoCreateTLW( parent, id, title, pos, size, style, name ); if( !retval ) return false; @@ -140,7 +140,7 @@ bool wxTopLevelWindowMotif::Create( wxWindow *parent, wxWindowID id, // Modified Steve Hammes for Motif 2.0 #if (XmREVISION > 1 || XmVERSION > 1) XmAddWMProtocolCallback( shell, WM_DELETE_WINDOW, - (XtCallbackProc)wxCloseTLWCallback, + (XtCallbackProc)wxCloseTLWCallback, (XtPointer)this ); #elif XmREVISION == 1 XmAddWMProtocolCallback( shell, WM_DELETE_WINDOW, @@ -187,7 +187,7 @@ bool wxTopLevelWindowMotif::Create( wxWindow *parent, wxWindowID id, } XtAddEventHandler( (Widget)GetClientWidget(), - ButtonPressMask | ButtonReleaseMask | + ButtonPressMask | ButtonReleaseMask | PointerMotionMask | KeyPressMask, False, wxTLWEventHandler, @@ -354,7 +354,7 @@ void wxTopLevelWindowMotif::DoSetSizeHints( int minW, int minH, if( incW > -1 ) { XtSetArg( args[count], XmNwidthInc, incW ); ++count; } if( incH > -1 ) { XtSetArg( args[count], XmNheightInc, incH ); ++count; } - XtSetValues( (Widget)GetShellWidget(), args, count ); + XtSetValues( (Widget)GetShellWidget(), args, count ); } bool wxTopLevelWindowMotif::SetShape( const wxRegion& region )