/////////////////////////////////////////////////////////////////////////////
-// Name: motif/toplevel.cpp
+// Name: src/motif/toplevel.cpp
// Purpose: wxTopLevelWindow Motif implementation
// Author: Mattia Barbon
// Modified by:
// headers
// ----------------------------------------------------------------------------
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma implementation "toplevel.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#include "wx/toplevel.h"
+#include "wx/settings.h"
#include "wx/app.h"
+#ifndef WX_PRECOMP
+ #include "wx/app.h"
+#endif
+
#ifdef __VMS__
-#define XtDisplay XTDISPLAY
-#define XtParent XTPARENT
-#define XtScreen XTSCREEN
-#define XtWindow XTWINDOW
#pragma message disable nosimpint
#endif
void wxTopLevelWindowMotif::PreDestroy()
{
-#ifdef __VMS
-#pragma message disable codcauunr
-#endif
- if ( (GetWindowStyleFlag() & wxDIALOG_MODAL) != wxDIALOG_MODAL )
- wxModelessWindows.DeleteObject(this);
-#ifdef __VMS
-#pragma message enable codcauunr
-#endif
-
- m_icons.m_icons.Empty();
+ wxModelessWindows.DeleteObject(this);
DestroyChildren();
wxTopLevelWindows.Append(this);
m_windowId = ( id > -1 ) ? id : NewControlId();
+ // MBN: More backward compatible, but uglier
+ m_font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
+ m_inheritFont = true;
- bool retval = DoCreate( parent, id, title, pos, size, style, name );
+ bool retval = XmDoCreateTLW( parent, id, title, pos, size, style, name );
if( !retval ) return false;
if( m_windowStyle & wxSYSTEM_MENU )
decor |= MWM_DECOR_MENU;
if( ( m_windowStyle & wxCAPTION ) ||
- ( m_windowStyle & wxTINY_CAPTION_HORIZ ) ||
- ( m_windowStyle & wxTINY_CAPTION_VERT ) )
+ ( m_windowStyle & wxTINY_CAPTION) )
decor |= MWM_DECOR_TITLE;
- if( m_windowStyle & wxTHICK_FRAME )
+ if( m_windowStyle & wxRESIZE_BORDER )
decor |= MWM_DECOR_BORDER;
if( m_windowStyle & wxMINIMIZE_BOX )
decor |= MWM_DECOR_MINIMIZE;
return (WXWidget) GetShell( this );
}
-bool wxTopLevelWindowMotif::ShowFullScreen( bool show,
- long style )
+bool wxTopLevelWindowMotif::ShowFullScreen( bool WXUNUSED(show),
+ long WXUNUSED(style) )
{
// TODO, see wxGTK
return false;
XmNiconic, &iconic,
NULL );
- return iconic;
+ return (iconic == True);
}
void wxTopLevelWindowMotif::Maximize( bool maximize )
closeEvent.SetEventObject( tlw );
// May delete the dialog (with delayed deletion)
- tlw->GetEventHandler()->ProcessEvent(closeEvent);
+ tlw->HandleWindowEvent(closeEvent);
}
void wxTLWEventHandler( Widget wid,
{
wxevent.SetEventObject( tlw );
wxevent.SetId( tlw->GetId() );
- tlw->GetEventHandler()->ProcessEvent( wxevent );
+ tlw->HandleWindowEvent( wxevent );
}
else
{
keyEvent.SetEventObject( tlw );
keyEvent.SetId( tlw->GetId() );
keyEvent.SetEventType( wxEVT_CHAR_HOOK );
- if( tlw->GetEventHandler()->ProcessEvent( keyEvent ) )
+ if( tlw->HandleWindowEvent( keyEvent ) )
{
*continueToDispatch = False;
return;
keyEvent.SetEventType( wxEVT_KEY_DOWN );
// Only process OnChar if OnKeyDown didn't swallow it
- if( !tlw->GetEventHandler()->ProcessEvent( keyEvent ) )
+ if( !tlw->HandleWindowEvent( keyEvent ) )
{
keyEvent.SetEventType( wxEVT_CHAR );
- tlw->GetEventHandler()->ProcessEvent( keyEvent );
+ tlw->HandleWindowEvent( keyEvent );
}
}
}
*continueToDispatch = True;
}
-