Dokument-Aufbau

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

  • Dokument-Aufbau

    Hallo zusammen,

    könntet ihr mir einen Tip geben wie man folgendes grundsätzlich in Cocoa aufbaut.

    Ich möchte eine QuickLook-Erweiterung für einen speziellen Filetype schreiben. Es sollte folgendes
    angezeigt werden:

    Ein Document: (ist ein NSScrollView)
    + einige Screenshots (ich dachte an NSImageView)
    + einen geparsten XML Baum der als Formatierter Text angezeigt werden soll. (dachte an NSTextView + Container)

    kann man das so machen? Gibt es bessere Wege?


    Jens
  • Original von omz
    Du kannst keine Cocoa Views o. ä. einfach in die QuickLook Vorschau einbetten, du musst stattdessen deine Daten in ein natives QuickLook-Format umwandeln oder in einen speziellen, von QuickLook bereitgestellten Grafikkontext zeichnen.
    Für deinen Fall böte es sich an, entweder in einen PDF-Kontext zu zeichnen (der mehrere Seiten haben kann) oder dynamisch HTML- oder RTF-Daten zu erzeugen.



    Das ist schon alles erledigt. Habe schon ein ScrollView das im QuickLook angezeigt wird....

    Es geht also nur noch um den Dokument-Aufbau...
  • Original von omz
    Original von neosun
    Das ist schon alles erledigt. Habe schon ein ScrollView das im QuickLook angezeigt wird....
    Es geht also nur noch um den Dokument-Aufbau...

    Darf ich mal nachfragen, wie du das gemacht hast?



    Schau dir das QuickLookSketch Example an. Das habe ich auf meine Bedürfnisse angepasst. Statt die einzelnen Grafikelemente zu zeichenen habe ich halt mein NSImageView als SubView in das ScrollView Element eingehangen. Das funzt auch schon ganz gut.

    Nun weiss ich nicht ganz wie man das mit den Texten in Cocoa macht.
    Meine Idee war halt ein NSTextView als Subview von meinem ScrollView unter den Screenshots anzulegen. Aber wie verknuepft man das ganze mit dem XML auslesen. Muss ich den XML-Baum in einen speziellen Container ablegen, so dass das NSTextView damit umgehen kann?
  • Schau dir das QuickLookSketch Example an. Das habe ich auf meine Bedürfnisse angepasst. Statt die einzelnen Grafikelemente zu zeichenen habe ich halt mein NSImageView als SubView in das ScrollView Element eingehangen. Das funzt auch schon ganz gut.

    Wo ist denn da ein ScrollView? Ich sehe da nur einen vektoriellen Grafikkontext, in den ein View gezeichnet wird... Kannst du denn in der QuickLook-Ansicht damit scrollen?

    Abgesehen davon ist das QuickLookSketch Example auch eher dazu gedacht, zu zeigen, wie man mit wenig Aufwand ein Plugin für eine bereits existierende App baut, die bereits ihre eigenen Views hat.

    Wenn ich dich jetzt richtig verstanden habe, willst du ein Plugin für den Dateityp einer App, die nicht von dir ist, schreiben. Wenn du da mit Views hantierst, erzeugst du ja völlig überflüssigen Overhead, da die einzige Fähigkeit, die du von Views in QuickLook nutzen kannst, m. E. die ist, sich in einen Kontext zu zeichnen. Das kannst du aber auch ohne Views.

    Oder aber (was ich empfehlen würde), du erzeugst RTF- oder HTML-Daten mit den Bildern als Attachment. Warum Text erst in ein Bild rendern, wenn er auch als Text behandelt werden kann?

    Muss ich den XML-Baum in einen speziellen Container ablegen, so dass das NSTextView damit umgehen kann?


    Naja, ein TextView stellt halt Text dar, wie der Name schon sagt (also im wesentlichen NSString oder NSAttributedString und deren Derivate). Wie du dein XML in solchen umwandelst, hängt ganz von der Art der Daten ab, du kannst in XML ja so ziemlich jede Art von Daten abbilden.