| 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 
		 | 
	 
 
 | 
 
 |