Xcode 4.6.3 CheckBox Status (AppDelegate.applescript)

Thank you and sorry for my mistake of posting
i did as you advise, but it dos not as i need :frowning:

how can i get the status if its ON or OFF ? Maybe thats the solution.

did try it also with:

if state of button “Checkbox1” of window “Main” is 1 then
theLabel2’s setStringValue_(“Your Option”)
end if

but this give me an error:
CheckBox/AppDelegate.applescript:13: error: Expected “then”, etc. but found “”". (-2741)

To bind the value properly do the following:

In Interface Builder select the first check box
Press ⌥⌘7 to show the Bindings Inspector

Click on the disclosure triangle next to Value
In the pop up menu next to Bind to select the App Delegate entry
Click the check box next to Bind to to enable it.
Leave Controller Key empty
type checkbox1 into the Model Key Path field and press return (in the parentheses to the right of Value must appear .checkbox1 at the end)

Do the same thing for the other check boxes (connect to checkbox2 and checkbox3)

then you can simply write

if checkbox1 is true then theLabel2's setStringValue_("Your Option")

PS:

In a AppleScriptObjC environment the syntax state of button “Checkbox1” of window “Main” is invalid

Maybe i am to stupid for this. this shortcut dont work by me.
you mean with the interface builder the graphic window where i design my window and checkbox ?

Yes, to show Interface Builder select MainMenu.xib in the side bar

Oh. Into the Binding Inspector i get a warning by the “Model Key Path” (exclamation mark “!”)

if the exclamation mark is grey you can ignore it

yes, its grey. so i can ignor it.

i write a message into the setStringValue_ when it is select.
when i deselect it, can i clear this ?

Then you need a IBAction (a handler connected to the selector of the check box), check the state and set/clear the string value

A lot to find about the IBAction, but nothing who can use it on my version of Xcode :frowning: all what i find in google is for older versions. the help menu of xcode are not useful.

in AppleScriptObjC just define a hander

on doSomething_(sender)

the name doSomething will appear in Interface Builder in the Connections Inspector (⌥⌘6) as a Received Action
after selecting the App Delegate blue cube. Connect the selector of the checkbox to the action

The handler gets called when the check box is clicked.
The parameter sender is a reference to the check box

Where did you get 4.6.3 from? The actual version is 4.6.2

when i click on the “Checkbox” in the builderi dont have it with the name “Checkbox” in the recieved action. Or should have it with a other name ?

there is:
performClick
print
takedoublevaluefrom

either select the check box and control-drag the selector (the Sent action) to the App Delegate blue cube,
or select the blue cube and drag from the circle of the handler name (the Received Action) to the check box

http://www.loeschl.com/download/Code.png
i think it looks right… but something is wrong…

script AppDelegate
	property parent : class "NSObject"
    property theLabel1 : missing value -- connect to the label text field
    property theLabel2 : missing value -- connect to the label text field
    property Checkbox1 : false
--    property Checkbox2 : false
--    property Checkbox3 : false
    property Main : false

   on Checkbox1_(sender)
       theLabel1's setStringValue_("Your Option")

   end Checkbox1_
    
    if Checkbox1 is true then theLabel2's setStringValue_("Your Option")
    if Checkbox1 is false then theLabel2's setStringValue_("           ")
    
   end script

i can download the script also on my web-server as zip-file.

http://www.loeschl.com/download/CheckBox.zip

I made a few changes, please consider the naming convention that the names of all methods/handlers and non-class variables begin always with a lowercase letter

CheckBox.zip

Thank you very much ! So i have the Source where i can work.
Really Thank You !

Wish you a nice weekend :slight_smile:

Thank you very much !! I could solve it all and it works as i wish. A Great tool for me and the Support.

Oe question ist left. sorry.
When i build the App it work well. But when i look inside the app, i can find the sourcecode of “AppDelegate.scpt” as clear text. can i decode it, so that nobody else may copy my source code ?

sorry for my stupid question.

In Xcode > Build Settings > section OSACompile - Build Options set Save as Execute-Only to Yes in the target column

WOW !! Really a big big thank you to you !!! A little thing with a big work :slight_smile: