Adobe 65007312 Programming Guide - Page 174
containing the key and a transform function, Define the transform function as follows
UPC - 883919154398
View all Adobe 65007312 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 174 highlights
CHAPTER 9: Getting Started: A Tutorial Example Transforming data 174 f:radio_button { title = "Button two", checked_value = "two", -- add value binding in next step }, }, }, f:row { -- second row shows a static text box f:static_text { text_color = LrColor( 1, 0, 0 ), -- add title with binding later }, }, }, 5. For both buttons, add the following to bind the current value of both to the same key: -- add value binding in next step value = LrView.bind( "selectedButton" ), Now this key will reflect the user's choice of buttons; selecting a button will set the key value to "one" or "two". 6. Add the title for the static text box. Instead of binding it directly to the key value, we will transform that value into a display string. To do this, we make the argument of the bind() function a table, containing the key and a transform function: -- add title with binding later title = LrView.bind { key = "selectedButton", transform = function( value, fromTable ) -- body of function end, } 7. Define the transform function as follows: -- body of function if value == "one" then -- first button is selected return "Button one selected" else return "Button two selected" end 8. Use LrDialogs.presentModalDialog() to display the new custom dialog. The argument is a table with entries for the dialog title and the view hierarchy that defines the contents: local result = LrDialogs.presentModalDialog { title = "Custom Dialog Transform", contents = c, -- the view hierarchy we defined } 9. To call the function when the script runs, replace the call to showCustomDialog() at the bottom of the script with a call to the new function: MyHWLibraryItem.showCustomDialogWithTransform() 10. Save your changes to the file.