User Tools

Site Tools


jwlua:customwindow

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
jwlua:customwindow [2015/11/30 11:51]
jariw created
jwlua:customwindow [2015/11/30 12:32] (current)
jariw
Line 1: Line 1:
-To create fully-feature dialog user interfaces in JW Lua, use the FCCustomWindow or FCCustomLuaWindow classes. (FCCustomLuaWindow is a subclass of FCCustomWindow that adds Lua callback functionality.)+To create fully-feature dialog user interfaces in JW Lua, use the [[http://​www.finaletips.nu/​frameworkref/​class_f_c_custom_window.html|FCCustomWindow]] or [[http://​www.finaletips.nu/​frameworkref/​class_f_c_custom_lua_window.html|FCCustomLuaWindow]] classes. (FCCustomLuaWindow is a subclass of FCCustomWindow that adds Lua callback functionality.) 
 + 
 +The dialogs are device independent and uses **points** as measurement (top-left as the origin). Dialog margins and Ok/Cancel button placement conform to the UI design guidelines for the platform the script runs on. 
 + 
 +The following script adds all available types of controls to a dialog. 
 + 
 +**Windows output:** 
 + 
 +{{:​wiki:​jwlua:​allcontrols-windows.jpg}} 
 + 
 +**Mac output:** 
 + 
 +{{:​wiki:​jwlua:​allcontrols-mac.png?​544|}} 
 + 
 +<code lua allcontrols.lua>​local str = finale.FCString() 
 + 
 +str.LuaString = "JW Lua Control Demo"​ 
 +local dialog = finale.FCCustomWindow() 
 +dialog:​SetTitle(str) 
 + 
 +str.LuaString = "​Text"​ 
 + 
 +-- Static text 
 +local static = dialog:​CreateStatic(0,​ 0) 
 +static:​SetText(str) 
 + 
 +-- Edit box 
 +dialog:​CreateEdit(0,​ 16) 
 + 
 +-- Up/Down control 
 +dialog:​CreateUpDown(70,​ 16) 
 + 
 +-- Push button 
 +local button = dialog:​CreateButton(0,​ 50) 
 +button:​SetText(str) 
 + 
 +-- List box 
 +local listbox = dialog:​CreateListBox(0,​ 80) 
 +listbox:​AddString(str) 
 +listbox:​AddString(str) 
 +listbox:​AddString(str) 
 +listbox:​AddString(str) 
 + 
 +-- Popup 
 +local popup = dialog:​CreatePopup(0,​ 260) 
 +popup:​AddString(str) 
 +popup:​AddString(str) 
 +popup:​AddString(str) 
 + 
 +-- Slider 
 +local slider = dialog:​CreateSlider(0,​ 290) 
 +slider:​SetMinValue(1) 
 +slider:​SetMaxValue(10) 
 + 
 +-- Checkbox 
 +local checkbox = dialog:​CreateCheckbox(0,​ 330) 
 +checkbox:​SetText(str) 
 + 
 +-- Vertical line 
 +dialog:​CreateVerticalLine(170,​ 0, 340) 
 + 
 +-- Tree 
 +local tree = dialog:​CreateTree(190,​ 0) 
 +local masternode = tree:​AddNode(nil,​ true, str) 
 +tree:​AddNode(masternode,​ false, str) 
 +tree:​AddNode(masternode,​ false, str) 
 +tree:​AddNode(masternode,​ false, str) 
 + 
 +-- Data list 
 +local datalist = dialog:​CreateDataList(190,​ 190) 
 +datalist.UseCheckboxes =  
 +datalist:​AddColumn(str,​ 90) 
 +datalist:​AddColumn(str,​ 90) 
 +local row = datalist:​CreateRow() 
 +row:​GetItemAt(0).LuaString = "Data 1" 
 +row:​GetItemAt(1).LuaString = "Data 2" 
 + 
 +-- Horizontal Line 
 +dialog:​CreateHorizontalLine(0,​ 350, 390) 
 + 
 +-- Ok button 
 +dialog:​CreateOkButton() 
 + 
 +-- Cancel button 
 +dialog:​CreateCancelButton() 
 + 
 +-- Display dialog box: 
 +if dialog:​ExecuteModal(nil) == 1 then 
 +   -- Ok button was pressed 
 +end</​code>​
  
  
jwlua/customwindow.1448884275.txt.gz · Last modified: 2015/11/30 11:51 (external edit)