From 0856858e73c164a8adcec93f42d69ce69b3ae420 Mon Sep 17 00:00:00 2001 From: Bill Ferguson Date: Fri, 8 May 2020 00:15:31 -0400 Subject: [PATCH] Updated comments to reflect current usage practices. Added/updated links to the online manual for each of the widgets. Added translation. Removed reference to api_major_version 6 --- examples/moduleExample.lua | 127 ++++++++++++++++--------------------- 1 file changed, 56 insertions(+), 71 deletions(-) diff --git a/examples/moduleExample.lua b/examples/moduleExample.lua index ecc2ac3..2c46a08 100644 --- a/examples/moduleExample.lua +++ b/examples/moduleExample.lua @@ -18,9 +18,9 @@ --[[ USAGE -* require this script from your main lua file +* require this script from your luarc file To do this add this line to the file .config/darktable/luarc: -require "moduleExample" +require "examples/moduleExample" * it creates a new example lighttable module @@ -35,35 +35,54 @@ local du = require "lib/dtutils" du.check_min_api_version("3.0.0", "moduleExample") --- add a new lib -local check_button = dt.new_widget("check_button"){label = "MyCheck_button", value = true} -local combobox = dt.new_widget("combobox"){label = "MyCombobox", value = 2, "8", "16", "32"} +-- translation ---https://www.darktable.org/lua-api/ar01s02s54.html.php +-- https://www.darktable.org/lua-api/index.html#darktable_gettext +local gettext = dt.gettext + +gettext.bindtextdomain("moduleExample", dt.configuration.config_dir .. "/lua/locale/") + +local function _(msgid) + return gettext.dgettext("moduleExample", msgid) +end + + +-- https://www.darktable.org/lua-api/types_lua_check_button.html +local check_button = dt.new_widget("check_button"){label = _("MyCheck_button"), value = true} + +-- https://www.darktable.org/lua-api/types_lua_combobox.html +local combobox = dt.new_widget("combobox"){label = _("MyCombobox"), value = 2, "8", "16", "32"} + +-- https://www.darktable.org/lua-api/types_lua_entry.html local entry = dt.new_widget("entry") { text = "test", - placeholder = "placeholder", + placeholder = _("placeholder"), is_password = false, editable = true, - tooltip = "Tooltip Text", + tooltip = _("Tooltip Text"), reset_callback = function(self) self.text = "text" end } +-- https://www.darktable.org/lua-api/types_lua_file_chooser_button.html local file_chooser_button = dt.new_widget("file_chooser_button") { - title = "MyFile_chooser_button", -- The title of the window when choosing a file + title = _("MyFile_chooser_button"), -- The title of the window when choosing a file value = "", -- The currently selected file is_directory = false -- True if the file chooser button only allows directories to be selecte } +-- https://www.darktable.org/lua-api/types_lua_label.html local label = dt.new_widget("label") -label.label = "MyLabel" -- This is an alternative way to the "{}" syntax to set a property +label.label = _("MyLabel") -- This is an alternative way to the "{}" syntax to set a property +-- https://www.darktable.org/lua-api/types_lua_separator.html local separator = dt.new_widget("separator"){} + +-- https://www.darktable.org/lua-api/types_lua_slider.html local slider = dt.new_widget("slider") { - label = "MySlider", + label = _("MySlider"), soft_min = 10, -- The soft minimum value for the slider, the slider can't go beyond this point soft_max = 100, -- The soft maximum value for the slider, the slider can't go beyond this point hard_min = 0, -- The hard minimum value for the slider, the user can't manually enter a value beyond this point @@ -71,69 +90,35 @@ local slider = dt.new_widget("slider") value = 52 -- The current value of the slider } -if (dt.configuration.api_version_major >= 6) then - local section_label = dt.new_widget("section_label") +-- https://www.darktable.org/lua-api/index.html#darktable_register_lib +dt.register_lib( + "exampleModule", -- Module name + "exampleModule", -- name + true, -- expandable + false, -- resetable + {[dt.gui.views.lighttable] = {"DT_UI_CONTAINER_PANEL_RIGHT_CENTER", 100}}, -- containers + -- https://www.darktable.org/lua-api/types_lua_box.html + dt.new_widget("box") -- widget { - label = "MySectionLabel" - } - - dt.register_lib( - "exampleModule", -- Module name - "exampleModule", -- name - true, -- expandable - false, -- resetable - {[dt.gui.views.lighttable] = {"DT_UI_CONTAINER_PANEL_RIGHT_CENTER", 100}}, -- containers - dt.new_widget("box") -- widget + orientation = "vertical", + dt.new_widget("button") { - orientation = "vertical", - dt.new_widget("button") - { - label = "MyButton", - clicked_callback = function (_) - dt.print("Button clicked") - end - }, - check_button, - combobox, - entry, - file_chooser_button, - label, - separator, - slider, - section_label + label = _("MyButton"), + clicked_callback = function (_) + dt.print(_("Button clicked")) + end }, - nil,-- view_enter - nil -- view_leave - ) -else - dt.register_lib( - "exampleModule", -- Module name - "exampleModule", -- name - true, -- expandable - false, -- resetable - {[dt.gui.views.lighttable] = {"DT_UI_CONTAINER_PANEL_RIGHT_CENTER", 100}}, -- containers - dt.new_widget("box") -- widget - { - orientation = "vertical", - dt.new_widget("button") - { - label = "MyButton", - clicked_callback = function (_) - dt.print("Button clicked") - end - }, - check_button, - combobox, - entry, - file_chooser_button, - label, - separator, - slider - }, - nil,-- view_enter - nil -- view_leave - ) -end + check_button, + combobox, + entry, + file_chooser_button, + label, + separator, + slider + }, + nil,-- view_enter + nil -- view_leave +) -- vim: shiftwidth=2 expandtab tabstop=2 cindent syntax=lua -- kate: hl Lua;