No real changes, just clean up wxCustomRendererObject in Cocoa wxDVC.
The variables tableColumn and item are unneeded in this class so remove them. Use static_cast<>s instead of C casts. Avoid repeating oneVeryLongVariableName->anotherEvenLongerVariableName-> somethingElse->andSoOn multiple times, temporary variables are allowed in C++. Also don't call wxDataViewCustomRenderer::GetSize() twice unnecessarily. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62389 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -37,18 +37,14 @@
|
|||||||
@interface wxCustomRendererObject : NSObject <NSCopying>
|
@interface wxCustomRendererObject : NSObject <NSCopying>
|
||||||
{
|
{
|
||||||
@public
|
@public
|
||||||
NSTableColumn* tableColumn; // not owned by the class
|
|
||||||
|
|
||||||
wxDataViewCustomRenderer* customRenderer; // not owned by the class
|
wxDataViewCustomRenderer* customRenderer; // not owned by the class
|
||||||
|
|
||||||
wxPointerObject* item; // not owned by the class
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// initialization
|
// initialization
|
||||||
//
|
//
|
||||||
-(id) init;
|
-(id) init;
|
||||||
-(id) initWithRenderer:(wxDataViewCustomRenderer*)initRenderer item:(wxPointerObject*)initItem column:(NSTableColumn*)initTableColumn;
|
-(id) initWithRenderer:(wxDataViewCustomRenderer*)renderer;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@@ -62,20 +58,16 @@
|
|||||||
if (self != nil)
|
if (self != nil)
|
||||||
{
|
{
|
||||||
customRenderer = NULL;
|
customRenderer = NULL;
|
||||||
item = NULL;
|
|
||||||
tableColumn = NULL;
|
|
||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
-(id) initWithRenderer:(wxDataViewCustomRenderer*)initRenderer item:(wxPointerObject*)initItem column:(NSTableColumn*)initTableColumn
|
-(id) initWithRenderer:(wxDataViewCustomRenderer*)renderer
|
||||||
{
|
{
|
||||||
self = [super init];
|
self = [super init];
|
||||||
if (self != nil)
|
if (self != nil)
|
||||||
{
|
{
|
||||||
customRenderer = initRenderer;
|
customRenderer = renderer;
|
||||||
item = initItem;
|
|
||||||
tableColumn = initTableColumn;
|
|
||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
@@ -84,11 +76,8 @@
|
|||||||
{
|
{
|
||||||
wxCustomRendererObject* copy;
|
wxCustomRendererObject* copy;
|
||||||
|
|
||||||
|
|
||||||
copy = [[[self class] allocWithZone:zone] init];
|
copy = [[[self class] allocWithZone:zone] init];
|
||||||
copy->customRenderer = customRenderer;
|
copy->customRenderer = customRenderer;
|
||||||
copy->item = item;
|
|
||||||
copy->tableColumn = tableColumn;
|
|
||||||
|
|
||||||
return copy;
|
return copy;
|
||||||
}
|
}
|
||||||
@@ -981,16 +970,17 @@ wxWidgetImplType* CreateDataView(wxWindowMac* wxpeer, wxWindowMac* WXUNUSED(pare
|
|||||||
// ============================================================================
|
// ============================================================================
|
||||||
// wxCustomCell
|
// wxCustomCell
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
|
|
||||||
@implementation wxCustomCell
|
@implementation wxCustomCell
|
||||||
//
|
|
||||||
// other methods
|
|
||||||
//
|
|
||||||
-(NSSize) cellSize
|
-(NSSize) cellSize
|
||||||
{
|
{
|
||||||
wxCustomRendererObject* customRendererObject(((wxCustomRendererObject*)[self objectValue]));
|
wxCustomRendererObject * const
|
||||||
|
obj = static_cast<wxCustomRendererObject *>([self objectValue]);
|
||||||
|
|
||||||
|
|
||||||
return NSMakeSize(customRendererObject->customRenderer->GetSize().GetWidth(),customRendererObject->customRenderer->GetSize().GetHeight());
|
const wxSize size = obj->customRenderer->GetSize();
|
||||||
|
return NSMakeSize(size.x, size.y);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -998,33 +988,19 @@ wxWidgetImplType* CreateDataView(wxWindowMac* wxpeer, wxWindowMac* WXUNUSED(pare
|
|||||||
//
|
//
|
||||||
-(void) drawWithFrame:(NSRect)cellFrame inView:(NSView*)controlView
|
-(void) drawWithFrame:(NSRect)cellFrame inView:(NSView*)controlView
|
||||||
{
|
{
|
||||||
wxCustomRendererObject* customRendererObject(((wxCustomRendererObject*)[self objectValue]));
|
wxCustomRendererObject * const
|
||||||
|
obj = static_cast<wxCustomRendererObject *>([self objectValue]);
|
||||||
|
wxDataViewCustomRenderer * const renderer = obj->customRenderer;
|
||||||
|
|
||||||
|
// draw its own background:
|
||||||
|
[[self backgroundColor] set];
|
||||||
|
NSRectFill(cellFrame);
|
||||||
|
|
||||||
// draw its own background:
|
// TODO: attributes support
|
||||||
[[self backgroundColor] set];
|
renderer->Render(wxFromNSRect(controlView, cellFrame), renderer->GetDC(), 0);
|
||||||
NSRectFill(cellFrame);
|
renderer->SetDC(NULL);
|
||||||
|
|
||||||
(void) (customRendererObject->customRenderer->Render(wxFromNSRect(controlView,cellFrame),customRendererObject->customRenderer->GetDC(),0));
|
|
||||||
customRendererObject->customRenderer->SetDC(NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0 //TODO FIXME: MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
|
|
||||||
-(NSUInteger) hitTestForEvent:(NSEvent*)event inRect:(NSRect)cellFrame ofView:(NSView*)controlView
|
|
||||||
{
|
|
||||||
NSPoint point = [controlView convertPoint:[event locationInWindow] fromView:nil];
|
|
||||||
|
|
||||||
wxCustomRendererObject* customRendererObject((wxCustomRendererObject*)[self objectValue]);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
customRendererObject->customRenderer->LeftClick(wxFromNSPoint(controlView,point),wxFromNSRect(controlView,cellFrame),
|
|
||||||
customRendererObject->GetOwner()->GetOwner(),wxDataViewItem([customRendererObject->item pointer]),
|
|
||||||
[m_OutlineView columnWithIdentifier:[customRendererObject->GetColumnPtr() identifier]]);
|
|
||||||
return NSCellHitContentArea;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-(NSRect) imageRectForBounds:(NSRect)cellFrame
|
-(NSRect) imageRectForBounds:(NSRect)cellFrame
|
||||||
{
|
{
|
||||||
return cellFrame;
|
return cellFrame;
|
||||||
@@ -2156,9 +2132,7 @@ wxDataViewCustomRenderer::wxDataViewCustomRenderer(wxString const& varianttype,
|
|||||||
|
|
||||||
bool wxDataViewCustomRenderer::MacRender()
|
bool wxDataViewCustomRenderer::MacRender()
|
||||||
{
|
{
|
||||||
[GetNativeData()->GetItemCell() setObjectValue:[[[wxCustomRendererObject alloc] initWithRenderer:this
|
[GetNativeData()->GetItemCell() setObjectValue:[[[wxCustomRendererObject alloc] initWithRenderer:this] autorelease]];
|
||||||
item:GetNativeData()->GetItem()
|
|
||||||
column:GetNativeData()->GetColumnPtr()] autorelease]];
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user