Custom View in NSToolbar als Drag Source möglich?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Custom View in NSToolbar als Drag Source möglich?

    Hallo Foristen,

    ich habe in meiner macOS App eine "stinknormale" NSToolbar mit einem "Custom View" als NSToolbarItem. In diesem View wird per OpenGL irgendwas reingerendert. Ich möchte nun, dass man den Inhalt als NSImage per Drag&Drop da herausziehen kann.
    Geht das überhaupt? Momentan ist das so, dass beim draggen ich zwar mouseDragged Events bekomme, sich aber auch das Fenster mit verschiebt.

    Auch habe ich wohl noch Probleme mit diesem Draggen im Allgemeinen. Ich kenne noch das alte Zeugs, aber das "neue" Protokoll ab 10.7 verstehe ich nicht ganz.
    Alle Beispiele sind zudem in Swift, ich bräuchte aber mal was in Objective-C.

    Kann da jemand aushelfen?
    --
    Wer ist dieser Root und warum gehören ihm alle meine Dateien??

    SIDplay5 for macOS on GitHub
  • Alexco schrieb:

    Auch habe ich wohl noch Probleme mit diesem Draggen im Allgemeinen. Ich kenne noch das alte Zeugs, aber das "neue" Protokoll ab 10.7 verstehe ich nicht ganz.

    Alle Beispiele sind zudem in Swift, ich bräuchte aber mal was in Objective-C.
    Ich mache recht rudimentäres Zeugs mit den Protokollen NSDraggingSource bzw. NSDraggingDestination: Erstellen einer Datei z. B. im Finder als "promised URL" aus meiner App heraus oder akzeptieren einer Datei von aussen zwecks Import.

    Letztlich definiere ich als Quelle nur ein einen Drag Item auf Basis eines Pasteboard Items und packe den in eine Dragging Sesssion. In den Protokoll-Methoden definierte ich nur Details zur Session (erlaubte Operation, Key-Handling) und liefere Daten des Pasteboard-Typen.

    Als Drag-Empfänger sind es auch nur zwei Protokoll-Methoden zum Erkennen des Drags und Ausführen der Operation.

    Sag' Bescheid, wenn Dir hier Beispiele der entsprechenden Methoden weiterhelfen könnten...

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.