1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

NSImage und ICNS-Dateien

Dieses Thema im Forum "AppleScript" wurde erstellt von Tekl, 05.09.09.

  1. Tekl

    Tekl Fairs Vortrefflicher

    Dabei seit:
    01.06.05
    Beiträge:
    4.622
    Hi,

    vorab, ich habe null Ahnung von Obj-C, C und Cocoa. Steinigt mich als nicht, wenn die Antwort auf der Hand liegt.

    Womit muss ich folgendes erweitern, dass es das 16x16-Icon aus der ICNS-Datei nimmt, statt dem 256x256-Icon?

    Code:
    statusImage = [[NSImage alloc] initWithContentsOfFile:[bundle pathForResource:@"colorpicker" ofType:@"icns"]];
    
    Es geht, darum das kleine Icon oben in die Menüleiste zu integrieren.
     
  2. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
    Hallo,

    Dazu sollte man aber in die Dou sehen, um NSImage zu verstehen ;)
    Mit Size kannst Du dann der jeweiligen NSImageRep prüfen.

    Des Weitere hast Du Dir ein Leak eingebaut.
    Bitte Doku zu Memory Management lesen.


    Viele Grüße
     
  3. Tekl

    Tekl Fairs Vortrefflicher

    Dabei seit:
    01.06.05
    Beiträge:
    4.622
    Danke, ein dealloc war mit im Beispiel dabei. Kann ich da mit deiner Methode darauf verzichten? Aber was bewirkt so ein Leak? Das Bild wird in den Speicher geladen und wenn ich das Programm beende wird der Speicher nicht mehr freigegeben? Wäre ja krass, wenn OS X sowas zulassen würde.

    Wie wähle ich jetzt das Bild mit Size:{16,16} aus? Die Doku ist für einen Unwissenden nutzlos, da es keine Beispiele gibt und Grundlangen findet man auch nicht. Wenn ich nach Arrays suche, find ich alles möglich, nur keine Erklärung wie man sie nutzt.

    Ich brauche ein NSImage, was ich auf NSStatusBar anwenden kann.

    Ansonsten mach ich einfach eine separate Bild-Datei. Ich dachte nur, da es eh schon im Icon ist, könnte man auch direkt zugreifen.

    Wie gesagt, ich habe Null Ahnung, ich bastle mir nur was anhand von Beispielcode, den ich im Netz finde, zusammen. Viel mehr möchte ich mich auch nicht damit beschäftigen. Das ganze Geklammere und das ständige Kompilieren zum testen geht mir ziemlich auf den Keks.

    Weißt du eigentlich wie man unter Snow Leopard nun mehrsprachige Anwendungen in eine andere Sprache startet? Unter Leopard konnte man ja im Info-Fenster vom Finder die Sprachen ausschalten. Muss man jetzt immer in’s Bundle rein? Bietet Xcode vielleicht eine versteckte Funktion für sowas? Die Doku ist da auch wiedermal nicht aussagekräftig.

    Sorry für den negativen Ton, aber irgendwie nervt mich gerade alles was mit Apple und Programmierung zu tun hat. AppleScript ist auch so eine seltsame Sprache wo ebenfalls die Doku ein Witz ist.
     
  4. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
    Einige Fragen sind zu elementar.
    Leider können diese nur durch Eingeninitiative beantwortet werden.
    Mir ist bewusst, dass mit Aufwand verbunden ist. Hier wird Dir das aber niemand umfangreich beantworten können.

    Eine mögliche Umsetzung für Dein Problem:

    (frei runter geschrieben)

    Generell finde ich die Doku sehr gut. Ebenfalls die Beispiele.

    Ich meine das nicht böse, aber die Doku empfindest Du deshalb als schlecht, da Du mit ihr noch nicht vertraut bist und Dich somit nicht zurecht findest.

    Du kannst mich auch mal anchatten. Auch wegen dem Testen noch, da ich Dich leider nie erreicht habe ;)

    Viele Grüße
     
  5. Tekl

    Tekl Fairs Vortrefflicher

    Dabei seit:
    01.06.05
    Beiträge:
    4.622
    Ja ich weiß, dass das alles so schnell nicht geht. Eigentlich sollte ich mich gar nicht damit beschäftigen, aber irgendwie hat mich das jetzt gepackt. ;)

    Danke für das Beispiel, das hilft schon mal weiter. Die Schreibweise bla.blah.bubb ist mir bislang nicht untergekommen, ich dachte je mehr [ ], desto besser ;)

    Meinst du die Doku zu Objective C? Meist sind da keine Beispiel, z. B. zu NSStatusBar. Für einen erfahrenen Programmierer ist sie sicher ganz gut zu nutzen, scheint ja wirklich alles dokumentiert zu sein. Bei AppleScript fehlt mir z. B. einfach mal eine Liste aller Befehle.

    Werde den Chat morgen bzw. heute mal anlassen.
     
  6. MacApple

    MacApple Lord Grosvenor

    Dabei seit:
    05.01.04
    Beiträge:
    3.470
    Erste Möglichkeit wäre, in den Systemeinstellungen vor dem Starten des Programms die gewünschte Sprache nach oben zu ziehen.

    Wähle in Deinem Projekt das „Executable“ aus und drücke „Apfel-i“. In dem Info-Fenster im Tab „Arguments“ gibst Du folgendes als Argument ein:
    Code:
    -AppleLanguages ("gewünschte Sprache")
    Wenn Du nun das Programm über Xcode startest, startet es in der „gewünschten Sprache“.
    Alternativ kannst Du auch das Programm über das Terminal starten. Folgendes startet zum Beispiel TextEdit auf Französisch:
    Code:
    open /Applications/TextEdit.app --args -AppleLanguages \("fr"\)
    MacApple
     
  7. Tekl

    Tekl Fairs Vortrefflicher

    Dabei seit:
    01.06.05
    Beiträge:
    4.622
    Danke, das mit den Arguments geht leider nicht, da steht irgendwas, dass exec das nicht mag. Über’s Terminal und die Systemeinstellung geht’s aber.
     
  8. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
    Im SkiptEditor einfach Apfel + Shift + L drücken.
    Dann den gewünschten Befehlssatz öffnen. Ist doch alles da ;)


    Meist ist zu allem ein Beispiel hinterlegt.
    Für Dein Vorhaben ebenfalls:

    http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/StatusBar/StatusBar.pdf

    Viele Grüße
     
  9. Tekl

    Tekl Fairs Vortrefflicher

    Dabei seit:
    01.06.05
    Beiträge:
    4.622
    Ich meine die Sprache an sich, nicht die Objekte der verschiedenen Programme. Den Wortschatz der Grundsprache, so wie "tell", "does", "on", "first", "last" etc. Das ist alles irgendwie zerstreut. Aber ich weiß, ja dass meine Herangehensweise nicht optimal ist. Ich schau mir halte fertige Dinge an und will dann nachschlagen, was die Wörter so alles bedeuten. Unter Windows gibt’s die Skriptsprache AutoHotkey, da gibt’s eine große Liste mit dem Wortschatz, wo zu allem auch ein Beispiel vorhanden ist.

    Ah, danke. Jetzt habe ich gerafft, dass sowas unter Companion guide zu finden ist.

    Kann man den Sourcecode eigentlich irgendwie auf Memory Leaks oder sonstige problematische Herangehensweisen untersuchen lassen, so dass z. B. auf ein fehlendes dealloc hingewiesen wird?
     
  10. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
    StandardAdditions usw. ?

    Warum? Es ist nicht immer erforderlich.
    Du verwechselst es auch gerade mit release.

    Ich würde Dir das Buch von Herrn Amin Negm-Awad anraten.

    Viele Grüße
     
  11. Tekl

    Tekl Fairs Vortrefflicher

    Dabei seit:
    01.06.05
    Beiträge:
    4.622
    In den StandardAdditions stehen auch nur die Objekte drin. Suche mal nach timeout. Aber egal, man muss ja damit zurechtkommen, was man hat.

    Danke noch mal für die Tipps. Das Ergebnis ist brauchbar und schon mal besser als die AppleScript-Lösungen: http://www.apfeltalk.de/forum/endlich-system-farbw-t253713.html
     
    #11 Tekl, 06.09.09
    Zuletzt bearbeitet: 06.09.09
  12. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
    Wenn ich auf den Link klicke, dann bekomme ich leider nur eine leere Seite.

    Viele Grüße
     
  13. Tekl

    Tekl Fairs Vortrefflicher

    Dabei seit:
    01.06.05
    Beiträge:
    4.622
  14. sedna

    sedna Pomme Etrangle

    Dabei seit:
    22.10.08
    Beiträge:
    911
    Ich war zwar nicht gemeint :p ...
    Aber wen es interessiert:
    Es gibt da ein kleines Programm Language Switcher . Nachträglich noch mit einem kleinen Shortcut für den Menüpunkt "Programme öffnen" ausgestattet, ist es auch vollständig und schnell über die Tastatur zu bedienen. Nebenbei zeigt es auch an, ob die gewünschte Sprache überhaupt vorhanden ist. Nett.
     
  15. Tekl

    Tekl Fairs Vortrefflicher

    Dabei seit:
    01.06.05
    Beiträge:
    4.622
    Cool, danke für den Tipp.
     

Diese Seite empfehlen