From b45a451fe18b3f55966ef8ab069876b9cc6d85be Mon Sep 17 00:00:00 2001 From: Marius Ungureanu Date: Tue, 16 Aug 2022 18:38:33 +0300 Subject: Optimize TreeViewBackend to not marshall a string redundantly --- Xwt.XamMac/Xwt.Mac/TreeViewBackend.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Xwt.XamMac/Xwt.Mac/TreeViewBackend.cs b/Xwt.XamMac/Xwt.Mac/TreeViewBackend.cs index 08f2bbfc..e0c96559 100644 --- a/Xwt.XamMac/Xwt.Mac/TreeViewBackend.cs +++ b/Xwt.XamMac/Xwt.Mac/TreeViewBackend.cs @@ -41,26 +41,28 @@ namespace Xwt.Mac class TreeDelegate: NSOutlineViewDelegate { + static readonly NSObject ObjectKey = new NSString("NSObject"); + public TreeViewBackend Backend; public override void ItemDidExpand (NSNotification notification) { - Backend.EventSink.OnRowExpanded (((TreeItem)notification.UserInfo["NSObject"]).Position); + Backend.EventSink.OnRowExpanded (((TreeItem)notification.UserInfo[ObjectKey]).Position); } public override void ItemWillExpand (NSNotification notification) { - Backend.EventSink.OnRowExpanding (((TreeItem)notification.UserInfo["NSObject"]).Position); + Backend.EventSink.OnRowExpanding (((TreeItem)notification.UserInfo[ObjectKey]).Position); } public override void ItemDidCollapse (NSNotification notification) { - Backend.EventSink.OnRowCollapsed (((TreeItem)notification.UserInfo["NSObject"]).Position); + Backend.EventSink.OnRowCollapsed (((TreeItem)notification.UserInfo[ObjectKey]).Position); } public override void ItemWillCollapse (NSNotification notification) { - Backend.EventSink.OnRowCollapsing (((TreeItem)notification.UserInfo["NSObject"]).Position); + Backend.EventSink.OnRowCollapsing (((TreeItem)notification.UserInfo[ObjectKey]).Position); } public override nfloat GetRowHeight (NSOutlineView outlineView, NSObject item) -- cgit v1.2.3