Wie wählt man Elemente in NSOutlineView ohne NSTreeController?

8

Ich verwende NSOutlineView ohne NSTreeController und habe meine eigene Datenquelle implementiert. Wie wähle ich einen Artikel am besten aus? NSOutlineView support bereits expandItem: und collapseItem: . Und mir fehlt eine handliche Methode wie 'selectItem:'. Wie kann ich das programmatisch machen?

Danke.

    
cocoafan 08.07.2009, 08:18
quelle

4 Antworten

15

Denk daran, in Superklassen zu suchen, wenn du etwas nicht finden kannst. In diesem Fall stammt eine der Methoden, die Sie benötigen, aus NSTableView, der unmittelbaren Oberklasse von NSOutlineView.

Die Lösung besteht darin, Ruft den Zeilenindex für das Element mit rowForItem: ab, und wenn es nicht -1 ist (Element nicht sichtbar / nicht gefunden), erstellen Sie einen Index damit mit [NSIndexSet indexSetWithIndex:] und übergeben Dieser Index wurde auf Die Methode selectRowIndexes:byExtendingSelection: .

    
Peter Hosey 08.07.2009, 11:18
quelle
18

Hier ist, wie ich endlich gelandet bin. Anregungen und Korrekturen sind immer willkommen.

%Vor%     
cocoafan 19.08.2009 13:11
quelle
1

Nein, es gibt keine Methode selectItem: , aber es gibt eine Methode rowForItem: . Wenn Sie dies mit Peters Ratschlag zur Verwendung von selectRowIndexes:byExtendingSelection: oben kombinieren, sollten Sie alle benötigten Informationen haben.

Wenn Sie wirklich eine Methode zur Auswahl eines Elements haben wollten, die ich aus Gründen der Konsistenz mit setSelectedItem: aufrufen würde, könnten Sie etwas in einer Kategorie in NSOutlineView

schreiben %Vor%

Ich habe keine Ahnung, ob dieser Code tatsächlich funktioniert; Ich habe es einfach abgeschafft, um das Konzept zu illustrieren.

    
Alex 08.07.2009 14:31
quelle
0

Hier ist ein Codefragment, das ich verwendet habe, um ein Element in einer PXSourceList programmgesteuert auszuwählen.

sourceList ist ein normales PXSouceList-Objekt und ich wollte das zweite Element in der ersten Gruppe des Umrisses auswählen.

%Vor%

Wenn Sie noch nicht wissen, PXSourceList ist ein ausgezeichneter Ersatz für ein NSOutlineView, wenn Sie nach itunes / Mail Style Konturen suchen. Hier abholen: PxSourceList

    
isaac 04.06.2011 19:55
quelle

Tags und Links