projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make default keyboard handling available in wxVarScrollHelperEvtHandler too.
[wxWidgets.git]
/
src
/
motif
/
toplevel.cpp
diff --git
a/src/motif/toplevel.cpp
b/src/motif/toplevel.cpp
index e5cd9e67170bf9548ccbcf7b8f982d70599d69e4..248b5465c16aae2ffba8dac186c49109bf490d0e 100644
(file)
--- a/
src/motif/toplevel.cpp
+++ b/
src/motif/toplevel.cpp
@@
-1,10
+1,9
@@
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
-// Name: motif/toplevel.cpp
+// Name:
src/
motif/toplevel.cpp
// Purpose: wxTopLevelWindow Motif implementation
// Author: Mattia Barbon
// Modified by:
// Created: 12/10/2002
// Purpose: wxTopLevelWindow Motif implementation
// Author: Mattia Barbon
// Modified by:
// Created: 12/10/2002
-// RCS-ID: $Id$
// Copyright: (c) Mattia Barbon
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// Copyright: (c) Mattia Barbon
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@
-17,21
+16,18
@@
// headers
// ----------------------------------------------------------------------------
// 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"
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#include "wx/toplevel.h"
+#include "wx/settings.h"
#include "wx/app.h"
#include "wx/app.h"
+#ifndef WX_PRECOMP
+ #include "wx/app.h"
+#endif
+
#ifdef __VMS__
#ifdef __VMS__
-#define XtDisplay XTDISPLAY
-#define XtParent XTPARENT
-#define XtScreen XTSCREEN
-#define XtWindow XTWINDOW
#pragma message disable nosimpint
#endif
#pragma message disable nosimpint
#endif
@@
-69,16
+65,7
@@
static void wxTLWEventHandler( Widget wid,
void wxTopLevelWindowMotif::PreDestroy()
{
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();
DestroyChildren();
@@
-116,12
+103,15
@@
bool wxTopLevelWindowMotif::Create( wxWindow *parent, wxWindowID id,
if ( parent )
parent->AddChild(this);
if ( parent )
parent->AddChild(this);
-
+
wxTopLevelWindows.Append(this);
m_windowId = ( id > -1 ) ? id : NewControlId();
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( !retval ) return false;
@@
-140,7
+130,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,
// 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,
(XtPointer)this );
#elif XmREVISION == 1
XmAddWMProtocolCallback( shell, WM_DELETE_WINDOW,
@@
-162,10
+152,9
@@
bool wxTopLevelWindowMotif::Create( wxWindow *parent, wxWindowID id,
if( m_windowStyle & wxSYSTEM_MENU )
decor |= MWM_DECOR_MENU;
if( ( m_windowStyle & wxCAPTION ) ||
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;
decor |= MWM_DECOR_TITLE;
- if( m_windowStyle & wx
THICK_FRAME
)
+ if( m_windowStyle & wx
RESIZE_BORDER
)
decor |= MWM_DECOR_BORDER;
if( m_windowStyle & wxMINIMIZE_BOX )
decor |= MWM_DECOR_MINIMIZE;
decor |= MWM_DECOR_BORDER;
if( m_windowStyle & wxMINIMIZE_BOX )
decor |= MWM_DECOR_MINIMIZE;
@@
-187,7
+176,7
@@
bool wxTopLevelWindowMotif::Create( wxWindow *parent, wxWindowID id,
}
XtAddEventHandler( (Widget)GetClientWidget(),
}
XtAddEventHandler( (Widget)GetClientWidget(),
- ButtonPressMask | ButtonReleaseMask |
+ ButtonPressMask | ButtonReleaseMask |
PointerMotionMask | KeyPressMask,
False,
wxTLWEventHandler,
PointerMotionMask | KeyPressMask,
False,
wxTLWEventHandler,
@@
-274,8
+263,8
@@
WXWidget wxTopLevelWindowMotif::GetShellWidget() const
return (WXWidget) GetShell( this );
}
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;
{
// TODO, see wxGTK
return false;
@@
-322,7
+311,7
@@
bool wxTopLevelWindowMotif::IsIconized() const
XmNiconic, &iconic,
NULL );
XmNiconic, &iconic,
NULL );
- return
iconic
;
+ return
(iconic == True)
;
}
void wxTopLevelWindowMotif::Maximize( bool maximize )
}
void wxTopLevelWindowMotif::Maximize( bool maximize )
@@
-354,7
+343,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; }
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 )
}
bool wxTopLevelWindowMotif::SetShape( const wxRegion& region )
@@
-377,7
+366,7
@@
static void wxCloseTLWCallback( Widget WXUNUSED(widget), XtPointer client_data,
closeEvent.SetEventObject( tlw );
// May delete the dialog (with delayed deletion)
closeEvent.SetEventObject( tlw );
// May delete the dialog (with delayed deletion)
- tlw->
GetEventHandler()->Process
Event(closeEvent);
+ tlw->
HandleWindow
Event(closeEvent);
}
void wxTLWEventHandler( Widget wid,
}
void wxTLWEventHandler( Widget wid,
@@
-396,7
+385,7
@@
void wxTLWEventHandler( Widget wid,
{
wxevent.SetEventObject( tlw );
wxevent.SetId( tlw->GetId() );
{
wxevent.SetEventObject( tlw );
wxevent.SetId( tlw->GetId() );
- tlw->
GetEventHandler()->Process
Event( wxevent );
+ tlw->
HandleWindow
Event( wxevent );
}
else
{
}
else
{
@@
-410,7
+399,7
@@
void wxTLWEventHandler( Widget wid,
keyEvent.SetEventObject( tlw );
keyEvent.SetId( tlw->GetId() );
keyEvent.SetEventType( wxEVT_CHAR_HOOK );
keyEvent.SetEventObject( tlw );
keyEvent.SetId( tlw->GetId() );
keyEvent.SetEventType( wxEVT_CHAR_HOOK );
- if( tlw->
GetEventHandler()->Process
Event( keyEvent ) )
+ if( tlw->
HandleWindow
Event( keyEvent ) )
{
*continueToDispatch = False;
return;
{
*continueToDispatch = False;
return;
@@
-422,10
+411,10
@@
void wxTLWEventHandler( Widget wid,
keyEvent.SetEventType( wxEVT_KEY_DOWN );
// Only process OnChar if OnKeyDown didn't swallow it
keyEvent.SetEventType( wxEVT_KEY_DOWN );
// Only process OnChar if OnKeyDown didn't swallow it
- if( !tlw->
GetEventHandler()->Process
Event( keyEvent ) )
+ if( !tlw->
HandleWindow
Event( keyEvent ) )
{
keyEvent.SetEventType( wxEVT_CHAR );
{
keyEvent.SetEventType( wxEVT_CHAR );
- tlw->
GetEventHandler()->Process
Event( keyEvent );
+ tlw->
HandleWindow
Event( keyEvent );
}
}
}
}
}
}
@@
-434,4
+423,3
@@
void wxTLWEventHandler( Widget wid,
*continueToDispatch = True;
}
*continueToDispatch = True;
}
-