if(need_debug) wxLogDebug("wxWindowCocoa=%p::SetNSView [cocoaNSView=%p retainCount]=%d",this,cocoaNSView,[cocoaNSView retainCount]);
}
+bool wxWindowCocoa::Cocoa_drawRect(const NSRect &rect)
+{
+ wxLogDebug("Cocoa_drawRect");
+ //FIXME: should probably turn that rect into the update region
+ wxPaintEvent event(m_windowId);
+ event.SetEventObject(this);
+ return GetEventHandler()->ProcessEvent(event);
+}
+
void wxWindowCocoa::Cocoa_FrameChanged(void)
{
wxLogDebug("Cocoa_FrameChanged");
// But since we also retained it ourselves
[m_dummyNSView release];
m_dummyNSView = nil;
- return true;
}
else
{
// NOTE: replaceSubView will cause m_cocaNSView to be released
[[m_cocoaNSView superview] replaceSubview:m_cocoaNSView with:m_dummyNSView];
// m_coocaNSView is now only retained by us
- return true;
}
+ m_isShown = show;
+ return true;
}
void wxWindowCocoa::DoSetSize(int x, int y, int width, int height, int sizeFlags)
{
- wxLogDebug("wxWindow=%p::DoSetSizeWindow(%d,%d,%d,%d,Auto: %s%s)",this,x,y,width,height,(sizeFlags&wxSIZE_AUTO_WIDTH)?"W":".",sizeFlags&wxSIZE_AUTO_HEIGHT?"H":".");
+// wxLogDebug("wxWindow=%p::DoSetSizeWindow(%d,%d,%d,%d,Auto: %s%s)",this,x,y,width,height,(sizeFlags&wxSIZE_AUTO_WIDTH)?"W":".",sizeFlags&wxSIZE_AUTO_HEIGHT?"H":".");
int currentX, currentY;
int currentW, currentH;
DoGetPosition(¤tX, ¤tY);
void wxWindowCocoa::DoMoveWindow(int x, int y, int width, int height)
{
- wxLogDebug("wxWindow=%p::DoMoveWindow(%d,%d,%d,%d)",this,x,y,width,height);
+// wxLogDebug("wxWindow=%p::DoMoveWindow(%d,%d,%d,%d)",this,x,y,width,height);
- NSView *superview = [m_cocoaNSView superview];
+ NSView *nsview = m_dummyNSView?m_dummyNSView:m_cocoaNSView;
+ NSView *superview = [nsview superview];
wxCHECK_RET(superview,"NSView does not have a superview");
NSRect parentRect = [superview frame];
*w=(int)cocoaRect.size.width;
if(h)
*h=(int)cocoaRect.size.height;
- wxLogDebug("wxWindow=%p::DoGetSize = (%d,%d)",this,(int)cocoaRect.size.width,(int)cocoaRect.size.height);
+// wxLogDebug("wxWindow=%p::DoGetSize = (%d,%d)",this,(int)cocoaRect.size.width,(int)cocoaRect.size.height);
}
void wxWindow::DoGetPosition(int *x, int *y) const
{
- NSView *superview = [m_cocoaNSView superview];
+ NSView *nsview = m_dummyNSView?m_dummyNSView:m_cocoaNSView;
+ NSView *superview = [nsview superview];
wxCHECK_RET(superview,"NSView does not have a superview");
NSRect parentRect = [superview frame];
- NSRect cocoaRect = [m_cocoaNSView frame];
+ NSRect cocoaRect = [nsview frame];
if(x)
*x=(int)cocoaRect.origin.x;
if(y)
*y=(int)(parentRect.size.height-(cocoaRect.origin.y+cocoaRect.size.height));
- wxLogDebug("wxWindow=%p::DoGetPosition = (%d,%d)",this,(int)cocoaRect.origin.x,(int)cocoaRect.origin.y);
+// wxLogDebug("wxWindow=%p::DoGetPosition = (%d,%d)",this,(int)cocoaRect.origin.x,(int)cocoaRect.origin.y);
}
WXWidget wxWindow::GetHandle() const
return m_cocoaNSView;
}
+void wxWindow::Refresh(bool eraseBack, const wxRect *rect)
+{
+ [m_cocoaNSView setNeedsDisplay:YES];
+}
+
void wxWindow::SetFocus()
{
// TODO
// TODO
}
-void wxWindow::Refresh(bool eraseBack, const wxRect *rect)
-{
- // TODO
-}
-
// Coordinates relative to the window
void wxWindow::WarpPointer (int x_pos, int y_pos)
{