EVT_SYS_COLOUR_CHANGED(wxWindow::OnSysColourChanged)
EVT_INIT_DIALOG(wxWindow::OnInitDialog)
EVT_IDLE(wxWindow::OnIdle)
+// EVT_SCROLL(wxWindow::OnScroll)
END_EVENT_TABLE()
#endif
}
}
+wxSize wxWindow::DoGetBestSize()
+{
+ return wxSize( 0 , 0 ) ;
+}
+
+bool wxWindow::Reparent(wxWindow *parent)
+{
+ if ( !wxWindowBase::Reparent(parent) )
+ return FALSE;
+
+ return TRUE;
+}
+
+bool wxWindow::DoPopupMenu(wxMenu *menu, int x, int y)
+{
+ menu->SetInvokingWindow(this);
+ menu->UpdateUI();
+ ClientToScreen( &x , &y ) ;
+
+ ::InsertMenu( menu->GetHMenu() , -1 ) ;
+ long menuResult = ::PopUpMenuSelect(menu->GetHMenu() ,y,x, 0) ;
+ menu->MacMenuSelect( this , TickCount() , HiWord(menuResult) , LoWord(menuResult) ) ;
+ ::DeleteMenu( menu->MacGetMenuId() ) ;
+ menu->SetInvokingWindow(NULL);
+
+ return TRUE;
+}
+
void wxWindow::DoScreenToClient(int *x, int *y) const
{
WindowRef window = GetMacRootWindow() ;
(*y) -= MAC_SCROLLBAR_SIZE;
}
+
+// ----------------------------------------------------------------------------
+// tooltips
+// ----------------------------------------------------------------------------
+
+#if wxUSE_TOOLTIPS
+
+void wxWindow::DoSetToolTip(wxToolTip *tooltip)
+{
+ wxWindowBase::DoSetToolTip(tooltip);
+
+// if ( m_tooltip )
+// m_tooltip->SetWindow(this);
+}
+
+#endif // wxUSE_TOOLTIPS
+
+void wxWindow::DoMoveWindow(int x, int y, int width, int height)
+{
+ DoSetSize( x,y, width, height ) ;
+}
+
void wxWindow::DoSetSize(int x, int y, int width, int height, int sizeFlags)
{
int former_x = m_x ;
const wxFont *fontToUse = theFont;
if ( !fontToUse )
fontToUse = &m_font;
-/*
- if ( x )
- *x = sizeRect.cx;
- if ( y )
- *y = sizeRect.cy;
- if ( descent )
- *descent = tm.tmDescent;
- if ( externalLeading )
- *externalLeading = tm.tmExternalLeading;
-*/
-
+
+ wxClientDC dc( this ) ;
+ long lx,ly,ld,le ;
+ dc.GetTextExtent( string , &lx , &ly , &ld, &le, fontToUse ) ;
+ *externalLeading = le ;
+ *descent = ld ;
+ *x = lx ;
+ *y = ly ;
}
void wxWindow::MacEraseBackground( Rect *rect )
void wxWindow::OnEraseBackground(wxEraseEvent& event)
{
// TODO : probably we would adopt the EraseEvent structure
- Default();
}
int wxWindow::GetScrollPos(int orient) const
}
}
+void wxWindow::MacOnScroll(wxScrollEvent &event )
+{
+ if ( event.m_eventObject == m_vScrollBar || event.m_eventObject == m_hScrollBar )
+ {
+ wxScrollWinEvent wevent;
+ wevent.SetPosition(event.GetPosition());
+ wevent.SetOrientation(event.GetOrientation());
+ wevent.m_eventObject = this;
+
+ switch ( event.m_eventType )
+ {
+ case wxEVT_SCROLL_TOP:
+ wevent.m_eventType = wxEVT_SCROLLWIN_TOP;
+ break;
+
+ case wxEVT_SCROLL_BOTTOM:
+ wevent.m_eventType = wxEVT_SCROLLWIN_BOTTOM;
+ break;
+
+ case wxEVT_SCROLL_LINEUP:
+ wevent.m_eventType = wxEVT_SCROLLWIN_LINEUP;
+ break;
+
+ case wxEVT_SCROLL_LINEDOWN:
+ wevent.m_eventType = wxEVT_SCROLLWIN_LINEDOWN;
+ break;
+
+ case wxEVT_SCROLL_PAGEUP:
+ wevent.m_eventType = wxEVT_SCROLLWIN_PAGEUP;
+ break;
+
+ case wxEVT_SCROLL_PAGEDOWN:
+ wevent.m_eventType = wxEVT_SCROLLWIN_PAGEDOWN;
+ break;
+
+ case wxEVT_SCROLL_THUMBTRACK:
+ wevent.m_eventType = wxEVT_SCROLLWIN_THUMBTRACK;
+ break;
+
+ }
+
+ GetEventHandler()->ProcessEvent(wevent);
+ }
+}
+
bool wxWindow::SetFont(const wxFont& font)
{
if ( !wxWindowBase::SetFont(font) )
{
m_vScrollBar = new wxScrollBar(this, wxWINDOW_VSCROLL, wxPoint(m_width-MAC_SCROLLBAR_SIZE, 0),
wxSize(MAC_SCROLLBAR_SIZE, m_height - adjust), wxVERTICAL);
+// m_vScrollBar->PushEventHandler( this ) ;
}
if ( style & wxHSCROLL )
{
m_hScrollBar = new wxScrollBar(this, wxWINDOW_HSCROLL, wxPoint(0 , m_height-MAC_SCROLLBAR_SIZE ),
wxSize( m_width - adjust, MAC_SCROLLBAR_SIZE), wxHORIZONTAL);
+// m_hScrollBar->PushEventHandler( this ) ;
}
+
// because the create does not take into account the client area origin
MacRepositionScrollBars() ; // we might have a real position shift
}
if ( m_formerPort != m_currentPort )
SetPort( m_formerPort ) ;
}
-
-// ----------------------------------------------------------------------------
-// list classes implementation
-// ----------------------------------------------------------------------------
-
-void wxWindowListNode::DeleteData()
-{
- delete (wxWindow *)GetData();
-}
-