]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/window_osx.cpp
new file added
[wxWidgets.git] / src / osx / window_osx.cpp
index 012deb900dec323d56548b82c1100bb1d4ac076b..37de1b932f6e978bbfb3879f037ddd40f923f3ab 100644 (file)
@@ -655,10 +655,8 @@ void wxWindowMac::SetDropTarget(wxDropTarget *pDropTarget)
     delete m_dropTarget;
 
     m_dropTarget = pDropTarget;
-    if ( m_dropTarget != NULL )
-    {
-        // TODO:
-    }
+
+    GetPeer()->SetDropTarget(m_dropTarget) ;
 }
 
 #endif
@@ -1065,6 +1063,7 @@ void wxWindowMac::DoMoveWindow(int x, int y, int width, int height)
         if ( doResize )
         {
             MacRepositionScrollBars() ;
+            MacOnInternalSize();
             wxSize size(actualWidth, actualHeight);
             wxSizeEvent event(size, m_windowId);
             event.SetEventObject(this);
@@ -1148,6 +1147,7 @@ void wxWindowMac::DoSetSize(int x, int y, int width, int height, int sizeFlags)
 
         if (sizeFlags & wxSIZE_FORCE_EVENT)
         {
+            MacOnInternalSize();
             wxSizeEvent event( wxSize(width,height), GetId() );
             event.SetEventObject( this );
             HandleWindowEvent( event );
@@ -1252,12 +1252,18 @@ wxString wxWindowMac::GetLabel() const
 
 bool wxWindowMac::Show(bool show)
 {
+    if ( !show )
+        MacInvalidateBorders();
+    
     if ( !wxWindowBase::Show(show) )
         return false;
 
     if ( GetPeer() )
         GetPeer()->SetVisibility( show ) ;
 
+    if ( show )
+        MacInvalidateBorders();
+
 #ifdef __WXOSX_IPHONE__
     // only when there's no native event support
     if ( !IsTopLevel() )
@@ -1680,6 +1686,7 @@ void wxWindowMac::DoUpdateScrollbarVisibility()
     MacRepositionScrollBars() ;
     if ( triggerSizeEvent )
     {
+        MacOnInternalSize();
         wxSizeEvent event(GetSize(), m_windowId);
         event.SetEventObject(this);
         HandleWindowEvent(event);
@@ -2099,6 +2106,11 @@ bool wxWindowMac::MacDoRedraw( long time )
     }
 
     m_updateRegion = formerUpdateRgn;
+
+    wxNonOwnedWindow* top = MacGetTopLevelWindow();
+    if (top)
+        top->WindowWasPainted() ;
+    
     return handled;
 }
 
@@ -2517,7 +2529,7 @@ Rect wxMacGetBoundsForControl( wxWindowMac* window , const wxPoint& pos , const
     int x, y, w, h ;
 
     window->MacGetBoundsForControl( pos , size , x , y, w, h , adjustForOrigin ) ;
-    Rect bounds = { y, x, y + h, x + w };
+    Rect bounds = { static_cast<short>(y), static_cast<short>(x), static_cast<short>(y + h), static_cast<short>(x + w) };
 
     return bounds ;
 }
@@ -2699,7 +2711,7 @@ bool wxWindowMac::RegisterHotKey(int hotkeyId, int modifiers, int keycode)
 
 bool wxWindowMac::UnregisterHotKey(int hotkeyId)
 {
-    for ( unsigned i = s_hotkeys.size()-1; i>=0; -- i )
+    for ( int i = ((int)s_hotkeys.size())-1; i>=0; -- i )
     {
         if ( s_hotkeys[i].keyId == hotkeyId )
         {