• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Toolbar wie Buttons

schnydi

James Grieve
Registriert
08.01.06
Beiträge
137
Hallo miteinander

In meinem Programm habe ich statt Tab's eine Toolbar für die Auswahl der Kategorien kreiert. Inspiriert hat mich dazu die Toolbar's von anderen Programmen.
Leider kriege ich es nicht hin, dass die tabview items beim Click darauf markiert bleiben (on/off funktion von normalen buttons).

Beispiel von EyeTV Preferences Toolbar:
Bild 1.png

Beispiel von einer normalen Toolbar (von meinem Progi):
Bild 2.png

Der Hintergrund des ausgewählten toolbar item von EyeTV ist dunkelgrau, bei mir leider nicht :-(

Natürlich sollte auch der "Toolbar ausblenden" button verschwinden.

Leider wurde ich auch auf den Developer Pages nicht fündig. Aber vieleicht hat jemand von euch schon einmal das gleiche versucht. Danke im voraus.
 
Zuletzt bearbeitet:
Da gibt's in AppleScript eine toolbar-Eigenschaft namens "selected item identifier". Guckst Du hier.

Verrueckt, was man mit AppleScript inzwischen alles machen kann...
 
Mit der Eigenschaft "selected item identifier" kann man das ausgewählte "Toolbar item" ausgeben lassen, aber nur solange man darauf klickt.

Was ich möchte ist, dass nach dem klick auf ein "toolbar item" sich der Hintergrund desselben items dunkelgrau färbt, wie bei der ersten angehängten Grafik von EyeTV das "toolbar item" : "Allgemein".
Ausserdem sollte die Toolbar nicht mehr ausgeblendet werden können.
 
Mit der Eigenschaft "selected item identifier" kann man das ausgewählte "Toolbar item" ausgeben lassen, aber nur solange man darauf klickt.
Erstaunlich. Es klang halt so aehnlich wie die NSToolbar-Methoden [NSToolbar setSelectedItemIdentifier:] und [NSToolbar selectedItemIdentifier], die genau das machen, wonach Du gefragt hast.

Untypisch fuer Apple, solche Inkonsistenzen...
 
Erstaunlich. Es klang halt so aehnlich wie die NSToolbar-Methoden [NSToolbar setSelectedItemIdentifier:] und [NSToolbar selectedItemIdentifier], die genau das machen, wonach Du gefragt hast.

Werde zwar nicht ganz schlau daraus aber:
Code:
tell toolbar of window id 8 
      set selected item identifier to toolbar item id 55
end tell
hat die antwort : NSUnknownKeyScriptError

Oder bin ich schief gewickelt? :-p
 
@Peter Maurer:

Du hattest absolut recht. Nur meine daraus resultierende Lösung war falsch.
Es sollte lauten:
Code:
tell toolbar of window "preferences"
     set selectable identifiers to (identifier of toolbar items as list)
end tell
und schon funktioniert es! Keine Ahnung wieso ich nicht selbst darauf gekommen bin.
Vielen Dank!!!

Jetzt müsste ich nur noch den Button für das ausblenden der Toolbar wegkriegen und schon bin ich happy! Aber ich bin überzeugt auch dass lässt sich machen.
 
Freut mich sehr. Und als "falsch" wuerd' ich das gar nicht zwingend bezeichnen. Du brauchst halt eigentlich beides -- naemlich eine gewisse Menge an "selectable" Toolbar-Items, und dann noch einen, der tatsaechlich "selected" ist. Unter Objective-C/Cocoa ist es genauso; und ich hab' schlicht vergessen, das zu erwaehnen.

Letzteres ("selected") macht die AppleScript-Toolbar-Implementierung, die u.U. nichts weiter als eine getarnte Cocoa-Toolbar ist, wahrscheinlich alleine, wenn die Voraussetzungen stimmen.

Und den Ausblendknopf wuerd' ich schlicht stehenlassen. Warum den Nutzer bevormunden? Der will damit ja u.U. nicht nur ausblenden, sondern vielleicht auch nur die Anzeigevariante aendern.