/////////////////////////////////////////////////////////////////////////////
-// Name: topluniv.cpp
+// Name: src/univ/topluniv.cpp
// Author: Vaclav Slavik
// Id: $Id$
// Copyright: (c) 2001-2002 SciTech Software, Inc. (www.scitechsoft.com)
// headers
// ----------------------------------------------------------------------------
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma implementation "univtoplevel.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#pragma hdrstop
#endif
-#include "wx/defs.h"
-
#ifndef WX_PRECOMP
#include "wx/dcclient.h"
#include "wx/settings.h"
if ( ms_drawDecorations == -1 )
{
- ms_drawDecorations =
- !wxSystemSettings::HasFeature(wxSYS_CAN_DRAW_FRAME_DECORATIONS)
+ ms_drawDecorations =
+ !wxSystemSettings::HasFeature(wxSYS_CAN_DRAW_FRAME_DECORATIONS)
|| wxGetEnv(wxT("WXDECOR"), NULL);
// FIXME -- wxUniv should provide a way to force non-native decorations!
// $WXDECOR is just a hack in absence of better wxUniv solution
exstyleOrig = GetExtraStyle();
style &= ~(wxCAPTION | wxMINIMIZE_BOX | wxMAXIMIZE_BOX |
wxSYSTEM_MENU | wxRESIZE_BORDER | wxFRAME_TOOL_WINDOW |
- wxTHICK_FRAME);
+ wxRESIZE_BORDER);
style |= wxSIMPLE_BORDER;
SetExtraStyle(exstyleOrig &
~(wxFRAME_EX_CONTEXTHELP | wxDIALOG_EX_CONTEXTHELP));
}
if ( (m_windowStyle & (wxSIMPLE_BORDER | wxNO_BORDER)) == 0 )
style |= wxTOPLEVEL_BORDER;
- if ( m_windowStyle & (wxRESIZE_BORDER | wxTHICK_FRAME) )
+ if ( m_windowStyle & (wxRESIZE_BORDER | wxRESIZE_BORDER) )
style |= wxTOPLEVEL_RESIZEABLE;
if ( IsMaximized() )
break;
default:
return false;
- #if 0
- // not rachable due to earlier return
- break;
- #endif
}
return true;
}
-
+
return false;
}
{
public:
wxInteractiveMoveHandler(wxInteractiveMoveData& data) : m_data(data) {}
-
+
private:
DECLARE_EVENT_TABLE()
void OnMouseMove(wxMouseEvent& event);
END_EVENT_TABLE()
-static inline LINKAGEMODE
+static inline LINKAGEMODE
void wxApplyResize(wxInteractiveMoveData& data, const wxPoint& diff)
{
if ( data.m_flags & wxINTERACTIVE_RESIZE_W )
{
data.m_rect.height += diff.y;
}
-
+
if ( data.m_minSize.x != wxDefaultCoord && data.m_rect.width < data.m_minSize.x )
{
if ( data.m_flags & wxINTERACTIVE_RESIZE_W )
void wxInteractiveMoveHandler::OnKeyDown(wxKeyEvent& event)
{
wxPoint diff(wxDefaultCoord,wxDefaultCoord);
-
+
switch ( event.GetKeyCode() )
{
case WXK_UP: diff = wxPoint(0, -16); break;
m_data.m_evtLoop->Exit();
return;
}
-
+
if ( diff.x != wxDefaultCoord )
{
if ( m_data.m_flags & wxINTERACTIVE_WAIT_FOR_INPUT )
if ( m_data.m_flags & wxINTERACTIVE_MOVE )
{
- m_data.m_pos = m_data.m_window->GetPosition() +
+ m_data.m_pos = m_data.m_window->GetPosition() +
wxPoint(m_data.m_window->GetSize().x/2, 8);
}
}
wxPoint warp;
bool changeCur = false;
-
+
if ( m_data.m_flags & wxINTERACTIVE_MOVE )
{
m_data.m_rect.Offset(diff);
}
else /* wxINTERACTIVE_RESIZE */
{
- if ( !(m_data.m_flags &
+ if ( !(m_data.m_flags &
(wxINTERACTIVE_RESIZE_N | wxINTERACTIVE_RESIZE_S)) )
{
if ( diff.y < 0 )
changeCur = true;
}
}
- if ( !(m_data.m_flags &
+ if ( !(m_data.m_flags &
(wxINTERACTIVE_RESIZE_W | wxINTERACTIVE_RESIZE_E)) )
{
if ( diff.x < 0 )
wxASSERT_MSG( !((flags & wxINTERACTIVE_MOVE) && (flags & wxINTERACTIVE_RESIZE)),
wxT("can't move and resize window at the same time") );
- wxASSERT_MSG( !(flags & wxINTERACTIVE_RESIZE) ||
- (flags & wxINTERACTIVE_WAIT_FOR_INPUT) ||
+ wxASSERT_MSG( !(flags & wxINTERACTIVE_RESIZE) ||
+ (flags & wxINTERACTIVE_WAIT_FOR_INPUT) ||
(flags & wxINTERACTIVE_RESIZE_DIR),
wxT("direction of resizing not specified") );
wxInteractiveMoveData data;
wxEventLoop loop;
-
+
SetFocus();
-#ifndef __WXGTK__
+#ifndef __WXGTK__
if ( flags & wxINTERACTIVE_WAIT_FOR_INPUT )
{
wxCursor sizingCursor(wxCURSOR_SIZING);
void wxTopLevelWindow::OnSystemMenu(wxCommandEvent& event)
{
bool ret = true;
-
+
switch (event.GetId())
{
case wxID_CLOSE_FRAME:
default:
ret = false;
}
-
+
if ( !ret )
event.Skip();
}