{
if ( child )
{
+#ifdef __WXPM__
+ AlterChildPos();
+#endif
return; // it's our second subwindow - nothing to do
}
#endif
child->SetSize(ofs, ofs, clientW - 2*ofs, clientH - 2*ofs);
+#ifdef __WXPM__
+ child->MoveChildren(m_vSwpClient.cy - clientH);
+ ::WinQueryWindowPos(GetHwnd(), &m_vSwpClient);
+#endif
}
}
}
{
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 != -1 && data.m_rect.width < data.m_minSize.x )
{
if ( data.m_flags & wxINTERACTIVE_RESIZE_W )
m_data.m_flags &= ~wxINTERACTIVE_WAIT_FOR_INPUT;
m_data.m_pos = wxGetMousePosition();
}
-
+
wxPoint diff(-1,-1);
-
+
switch ( event.GetKeyCode() )
{
case WXK_UP: diff = wxPoint(0, -16); break;
m_data.m_evtLoop->Exit();
return;
}
-
+
if ( diff.x != -1 )
{
if ( m_data.m_flags & wxINTERACTIVE_MOVE )
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;
wxWindow *focus = FindFocus();
-
+
// FIXME - display resize cursor if waiting for initial input
data.m_window = this;