Lua/Lightroom SDK:如何访问字段文本值

时间 2019-02-19
阅读 21
点赞 0
收藏 0
连接flux-capacitor

我在看使用他们的SDK的AdobeLightroom插件,这是Lua。我只是想了解他们的一个你好世界的例子。

local LrFunctionContext = import 'LrFunctionContext'
local LrBinding = import 'LrBinding'
local LrDialogs = import 'LrDialogs'
local LrView = import 'LrView'
local LrColor = import 'LrColor'

local LrLogger = import 'LrLogger'
local myLogger = LrLogger( 'libraryLogger' )

MyHWLibraryItem = {}

myLogger:enable( "print" ) -- or "logfile"

function MyHWLibraryItem.outputToLog( message )
    myLogger:trace( message )
end

function MyHWLibraryItem.showCustomDialog()
    -- body of show-dialog function
    LrFunctionContext.callWithContext( "showCustomDialog", function( context )
        -- body of called function
        local props = LrBinding.makePropertyTable( context ) -- create bound table
        props.isChecked = true -- add a property key and initial value
        -- create view hierarchy
        local f = LrView.osFactory()

        -- Create the contents for the dialog.
        local c = f:row {       
            bind_to_object = props,

            -- Add a checkbox and an edit_field.

            f:checkbox {
                title = "Enable",
                value = LrView.bind( "isChecked" ),
            },
            f:edit_field {
                value = "Some Text",
                enabled = LrView.bind( "isChecked" )
            }
        }

        local result = LrDialogs.presentModalDialog(
            {
            title = "Custom Dialog",
            contents = c, -- the view hierarchy we defined
            }
        )
        --this is where I am trying get the value of the text box
        MyHWLibraryItem.outputToLog(c.row.checkbox.title)

    end)
end

MyHWLibraryItem.showCustomDialog()

因此,我要做的是将“编辑域”对话框的值发送到控制台(即在Mac OSX中)。

问题: 1)如何访问对话框中的文本?

2)F:复选框和F:编辑_字段发生了什么情况,其中没有()括号,而是有括号?为什么这些函数不是像f:edit_field()那样编写的?

尚无答案