Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Heiner •-->

Anmeldedatum: 03.12.2005 Beiträge: 62 Wohnort: Moers
|
Verfasst am: 14.01.2007 - 21:19 Titel: Popup button - Steuerung |
|
|
Hallo allerseits,
ich hab mal wieder ein Problem (-chen?).
Ein popup button (pb) (die Abk. 'pub' ist mir zu windig) soll einen anderen pb 'steuern'.
Die Situation: Der erste pb heißt "BonusMalus" und hat die items "bonus" und "malus"; der zweite heißt "RelAbs" und hat die items "relativ" und "absolut".
Die Aufgabe: Wenn pb "BonusMalus" auf "malus" umschaltet, soll pb "RelAbs" auf das item ""absolut" umschalten und (und das ist mein Problem!) das item "relativ" abschalten (enabled?).
Wird wieder auf "bonus" gewechselt, sollen beide items von "RelAbs" wieder aktiv sein.
Ich hoffe, das ich das deutlich gemacht habe, hänge aber noch eine Script-Skizze an.
[on action theObject
if name of theObject is "BonusMalus" then
set popupChoice to content of theObject
if popupChoice is 0 then -- Bonus
tell box "box" of window "main"
set content of popup button "RelAbs" to 0 -- relativ; das funktioniert
set enabled of menu item "relativ" of menu of popup button "RelAbs" to true
end tell
else if popupChoice is 1 then -- Malus
tell box "box" of window "main"
set content of popup button "RelAbs" to 1 -- absolut; das funktioniert
set enabled of menu item "relativ" of menu of popup button "RelAbs" to false -- das funktioniert nicht
end tell
end if
end if
end action]
Grüße
Heiner[/code] |
|
Nach oben |
|
 |
ShooTerKo •--->


Anmeldedatum: 21.03.2006 Beiträge: 221 Wohnort: Hamburg
|
Verfasst am: 15.01.2007 - 12:58 Titel: |
|
|
Hi, Heiner!
Ich habe da mal geforscht: Bei popup buttons ist die Eigenschaft auto enables items automatisch true und lässt sich im Interface Builder auch nicht deaktivieren. Diese Eigenschaft enabled wie durch Zauberhand menu items, die eigentlich disabled sind genau zu dem Zeitpunkt, an dem das Menu "aufpoppt". Setzen wir diese Eigenschaft per Applescript auf false, z.B. so:
Code: | on action theObject
if name of theObject is "BonusMalus" then
set popupChoice to content of theObject
if popupChoice is 0 then -- Bonus
tell box "box" of window "main"
set auto enables items of popup button "RelAbs" to false
set content of popup button "RelAbs" to 0
set enabled of menu item "relativ" of menu of popup button "RelAbs" to true
end tell
else if popupChoice is 1 then -- Malus
tell box "box" of window "main"
set auto enables items of popup button "RelAbs" to false
set content of popup button "RelAbs" to 1
set enabled of menu item "relativ" of menu of popup button "RelAbs" to false
end tell
end if
end if
end action |
, so teilen wir dem Controller mit, dass wir uns selbst um das en- und disabeln kümmern.
Alternativ können wir das natürlich auch im awake from nib-Handler setzen statt im Reaktions-on action-Handler. Fände ich hübscher
CU
ShooTerKo _________________ "It is a mistake to think you can solve any major problems just with potatoes." - Douglas Adams |
|
Nach oben |
|
 |
Heiner •-->

Anmeldedatum: 03.12.2005 Beiträge: 62 Wohnort: Moers
|
Verfasst am: 15.01.2007 - 16:23 Titel: |
|
|
Hallo ShooTerKo,
das war wieder einmal eine Top-Idee von Dir. Es funktioniert so ausgezeichnet. Die property 'auto enables items' habe ich natürlich auch im awake from nib -Handler auf false und statt dessen im action-Handler einen Kommentar gesetzt.
Vielen Dank dafür.
Heiner |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2002 phpBB Group Deutsche Übersetzung von phpBB.de
|
|
|