Druid-Extension/example/examples/druid_examples.lua
2024-10-17 01:24:15 +03:00

49 lines
1.9 KiB
Lua

local intro_examples = require("example.examples.intro.examples_list")
local basic_examples = require("example.examples.basic.examples_list")
local data_list_examples = require("example.examples.data_list.examples_list")
local layout_examples = require("example.examples.layout.examples_list")
local gamepad_examples = require("example.examples.gamepad.examples_list")
local window_examples = require("example.examples.windows.examples_list")
local panthera_examples = require("example.examples.panthera.examples_list")
local M = {}
---@class druid.examples
---@field example_name_id string
---@field examples_list druid.example.data[]
---@class druid.example.data
---@field name_id string
---@field root string
---@field template string|nil
---@field code_url string|nil @URL to the source code
---@field component_class druid.base_component
---@field on_create fun(instance: druid.base_component, output_list: output_list)|nil
---@field get_debug_info (fun(instance: druid.base_component):string)|nil
---@field properties_control (fun(instance: druid.base_component, properties_panel: properties_panel))|nil
---@field information_text_id string|nil
local function add_examples(examples, example_name_id, examples_list)
table.insert(examples, {
example_name_id = example_name_id,
examples_list = examples_list
})
end
---@return druid.examples[]
function M.get_examples()
local examples = {}
add_examples(examples, "ui_examples_intro", intro_examples.get_examples())
add_examples(examples, "ui_examples_basic", basic_examples.get_examples())
add_examples(examples, "ui_examples_data_list", data_list_examples.get_examples())
add_examples(examples, "ui_examples_layout", layout_examples.get_examples())
add_examples(examples, "ui_examples_gamepad", gamepad_examples.get_examples())
add_examples(examples, "ui_examples_window", window_examples.get_examples())
add_examples(examples, "ui_examples_panthera", panthera_examples.get_examples())
return examples
end
return M