From 61160f10b2eee8649568feef700e0a55ea2ae9ab Mon Sep 17 00:00:00 2001 From: oshmuely Date: Thu, 5 Oct 2023 12:05:22 +0300 Subject: [PATCH] model presets wizard: add flight count adjust for "Flights widget" --- .../widget_flights_count_adjust/main.lua | 77 +++++++++++++++++++ .../widget_flights_count_adjust/meta.ini | 6 ++ 2 files changed, 83 insertions(+) create mode 100644 sdcard/c480x272/SCRIPTS/PRESETS/scripts/widget_flights_count_adjust/main.lua create mode 100644 sdcard/c480x272/SCRIPTS/PRESETS/scripts/widget_flights_count_adjust/meta.ini diff --git a/sdcard/c480x272/SCRIPTS/PRESETS/scripts/widget_flights_count_adjust/main.lua b/sdcard/c480x272/SCRIPTS/PRESETS/scripts/widget_flights_count_adjust/main.lua new file mode 100644 index 00000000..b60bad7d --- /dev/null +++ b/sdcard/c480x272/SCRIPTS/PRESETS/scripts/widget_flights_count_adjust/main.lua @@ -0,0 +1,77 @@ +local m_log,m_utils,m_libgui = ... + +-- Author: Offer Shmuely (2023) +local ver = "0.1" +local app_name = "flight_widget_adj" + +local M = {} + +local ctx2 +local label_new_time +local label_org_time + +--------------------------------------------------------------------------------------------------- +local Fields = { + num_flights = { text = 'Num Flights', x = 210, y = 90 , w = 30, is_visible = 1, default_value = 6, min = 0, max = 1000 }, +} +--------------------------------------------------------------------------------------------------- + +function M.getVer() + return ver +end + +local function log(fmt, ...) + m_log.info(fmt, ...) + print(app_name .. string.format(fmt, ...)) +end +--------------------------------------------------------------------------------------------------- + +-- get flight count +local function getFlightCount() + -- get GV9 (index = 0) from Flight mode 0 (FM0) + local num_flights = model.getGlobalVariable(8, 0) + return num_flights +end + + +function M.init() + local menu_x = 50 + local menu_w = 60 + local menu_h = 26 + + ctx2 = m_libgui.newGUI() + local flights_count = getFlightCount() + + local p = Fields.num_flights + + ctx2.label(menu_x, 60, 0, menu_h, "original flights count:", m_utils.FONT_8) + label_org_time = ctx2.label(p.x, 60, 0, menu_h, flights_count, m_utils.FONT_8) + + ctx2.label(menu_x, p.y, 0, menu_h, "new flights count:", m_utils.FONT_8) + p.gui_obj = ctx2.number(p.x, p.y, p.w, menu_h, flights_count, nil, m_utils.FONT_8, p.min, p.max) + + ctx2.label(menu_x, 250, 0, menu_h, "Setting flight count to this model", m_utils.FONT_8) + return nil +end + + +function M.draw_page(event, touchState) + + local num_flights = Fields.num_flights.gui_obj.value + + ctx2.run(event, touchState) + return m_utils.PRESET_RC.OK_CONTINUE +end + +function M.do_update_model() + log("preset::num_flights()") + + local new_flight_count = Fields.num_flights.gui_obj.value + + model.setGlobalVariable(8, 0, new_flight_count) + log("num_flights updated: " .. new_flight_count) + + return m_utils.PRESET_RC.OK_CONTINUE +end + +return M diff --git a/sdcard/c480x272/SCRIPTS/PRESETS/scripts/widget_flights_count_adjust/meta.ini b/sdcard/c480x272/SCRIPTS/PRESETS/scripts/widget_flights_count_adjust/meta.ini new file mode 100644 index 00000000..59e5f6c6 --- /dev/null +++ b/sdcard/c480x272/SCRIPTS/PRESETS/scripts/widget_flights_count_adjust/meta.ini @@ -0,0 +1,6 @@ +category=widgets +name=widget: flights count adjustment +ver=1.0 +author=offer shmuely +keywords=flights,widget +about=allow adjustment the count of the flights widget