import { ProjectType, registerClass } from "project-editor/core/object"; import { LVGLAnimationImageWidget, LVGLArcWidget, LVGLBarWidget, LVGLButtonMatrixWidget, LVGLButtonWidget, LVGLCalendarWidget, LVGLCanvasWidget, LVGLChartWidget, LVGLCheckboxWidget, LVGLColorwheelWidget, LVGLContainerWidget, LVGLDropdownWidget, LVGLImageWidget, LVGLImgbuttonWidget, LVGLKeyboardWidget, LVGLLabelWidget, LVGLLedWidget, LVGLLineWidget, LVGLListWidget, LVGLLottieWidget, LVGLMenuWidget, LVGLMessageBoxWidget, LVGLMeterWidget, LVGLPanelWidget, LVGLQRCodeWidget, LVGLRollerWidget, LVGLScaleWidget, LVGLScreenWidget, LVGLSliderWidget, LVGLSpanWidget, LVGLSpinboxWidget, LVGLSpinnerWidget, LVGLSwitchWidget, LVGLTableWidget, LVGLTabviewWidget, LVGLTabWidget, LVGLTextareaWidget, LVGLTileViewWidget, LVGLUserWidgetWidget, LVGLWindowWidget } from "./internal"; import { registerSystemEnum } from "project-editor/features/variable/value-type"; import { LV_DIR_ALL, LV_DIR_BOTTOM, LV_DIR_HOR, LV_DIR_LEFT, LV_DIR_NONE, LV_DIR_RIGHT, LV_DIR_TOP, LV_DIR_VER, LV_KEY_BACKSPACE, LV_KEY_DEL, LV_KEY_DOWN, LV_KEY_END, LV_KEY_ENTER, LV_KEY_ESC, LV_KEY_HOME, LV_KEY_LEFT, LV_KEY_NEXT, LV_KEY_PREV, LV_KEY_RIGHT, LV_KEY_UP, LV_SCR_LOAD_ANIM_FADE_IN, LV_SCR_LOAD_ANIM_FADE_OUT, LV_SCR_LOAD_ANIM_MOVE_BOTTOM, LV_SCR_LOAD_ANIM_MOVE_LEFT, LV_SCR_LOAD_ANIM_MOVE_RIGHT, LV_SCR_LOAD_ANIM_MOVE_TOP, LV_SCR_LOAD_ANIM_NONE, LV_SCR_LOAD_ANIM_OUT_BOTTOM, LV_SCR_LOAD_ANIM_OUT_LEFT, LV_SCR_LOAD_ANIM_OUT_RIGHT, LV_SCR_LOAD_ANIM_OUT_TOP, LV_SCR_LOAD_ANIM_OVER_BOTTOM, LV_SCR_LOAD_ANIM_OVER_LEFT, LV_SCR_LOAD_ANIM_OVER_RIGHT, LV_SCR_LOAD_ANIM_OVER_TOP, LVGL_DIR_ENUM_NAME, LVGL_FLAG_CODES, LVGL_FLAG_CODES_90, LVGL_KEY_ENUM_NAME, LV_OBJ_FLAG_ENUM_NAME, LV_SCR_LOAD_ANIM_ENUM_NAME, LV_STATE_ENUM_NAME, LV_BUTTONMATRIX_CTRL_ENUM_NAME, LV_BUTTONMATRIX_CTRL, LV_PART_ENUM_NAME, LVGL_PARTS_8, LVGL_PARTS_9, LVGL_STATE_CODES, LVGL_STATE_CODES_MORE, LVGL_STATE_CODES_V9_5_0, LVGL_STATE_CODES_MORE_V9_5_0, } from "../lvgl-constants"; import type { LVGLVersion } from "project-editor/project/project"; //////////////////////////////////////////////////////////////////////////////// export { LVGLArcWidget, LVGLBarWidget, LVGLButtonMatrixWidget, LVGLContainerWidget, LVGLDropdownWidget, LVGLImageWidget, LVGLLabelWidget, LVGLLedWidget, LVGLKeyboardWidget, LVGLPanelWidget, LVGLRollerWidget, LVGLScreenWidget, LVGLSliderWidget, LVGLTabviewWidget, LVGLTabWidget, LVGLTextareaWidget, LVGLUserWidgetWidget, LVGLWidget } from "./internal"; //////////////////////////////////////////////////////////////////////////////// registerClass("LVGLAnimationImageWidget", LVGLAnimationImageWidget); registerClass("LVGLArcWidget", LVGLArcWidget); registerClass("LVGLBarWidget", LVGLBarWidget); registerClass("LVGLButtonWidget", LVGLButtonWidget); registerClass("LVGLButtonMatrixWidget", LVGLButtonMatrixWidget); registerClass("LVGLCalendarWidget", LVGLCalendarWidget); registerClass("LVGLChartWidget", LVGLChartWidget); registerClass("LVGLCheckboxWidget", LVGLCheckboxWidget); registerClass("LVGLCanvasWidget", LVGLCanvasWidget); registerClass("LVGLColorwheelWidget", LVGLColorwheelWidget); registerClass("LVGLContainerWidget", LVGLContainerWidget); registerClass("LVGLDropdownWidget", LVGLDropdownWidget); registerClass("LVGLImageWidget", LVGLImageWidget); registerClass("LVGLImgbuttonWidget", LVGLImgbuttonWidget); registerClass("LVGLLabelWidget", LVGLLabelWidget); registerClass("LVGLLedWidget", LVGLLedWidget); registerClass("LVGLLineWidget", LVGLLineWidget); registerClass("LVGLListWidget", LVGLListWidget); registerClass("LVGLLottieWidget", LVGLLottieWidget); registerClass("LVGLKeyboardWidget", LVGLKeyboardWidget); registerClass("LVGLMenuWidget", LVGLMenuWidget); registerClass("LVGLMessageBoxWidget", LVGLMessageBoxWidget); registerClass("LVGLMeterWidget", LVGLMeterWidget); registerClass("LVGLQRCodeWidget", LVGLQRCodeWidget); registerClass("LVGLPanelWidget", LVGLPanelWidget); registerClass("LVGLRollerWidget", LVGLRollerWidget); registerClass("LVGLScaleWidget", LVGLScaleWidget); registerClass("LVGLScreenWidget", LVGLScreenWidget); registerClass("LVGLSpanWidget", LVGLSpanWidget); registerClass("LVGLSpinboxWidget", LVGLSpinboxWidget); registerClass("LVGLSliderWidget", LVGLSliderWidget); registerClass("LVGLSpinnerWidget", LVGLSpinnerWidget); registerClass("LVGLSwitchWidget", LVGLSwitchWidget); registerClass("LVGLTableWidget", LVGLTableWidget); registerClass("LVGLTabviewWidget", LVGLTabviewWidget); registerClass("LVGLTabWidget", LVGLTabWidget); registerClass("LVGLTextareaWidget", LVGLTextareaWidget); registerClass("LVGLTileViewWidget", LVGLTileViewWidget); registerClass("LVGLUserWidgetWidget", LVGLUserWidgetWidget); registerClass("LVGLWindowWidget", LVGLWindowWidget); //////////////////////////////////////////////////////////////////////////////// export function registerLvglEnum( enumName: string, members: { [key: string]: number }, lvglVersions?: LVGLVersion[] ) { registerSystemEnum({ name: enumName, members: Object.keys(members).map(key => ({ name: key, value: members[key] })), projectTypes: [ProjectType.LVGL], lvglVersions }); } registerLvglEnum(LVGL_DIR_ENUM_NAME, { None: LV_DIR_NONE, Left: LV_DIR_LEFT, Right: LV_DIR_RIGHT, Top: LV_DIR_TOP, Bottom: LV_DIR_BOTTOM, Hor: LV_DIR_HOR, Ver: LV_DIR_VER, All: LV_DIR_ALL }); registerLvglEnum(LVGL_KEY_ENUM_NAME, { Up: LV_KEY_UP, Down: LV_KEY_DOWN, Right: LV_KEY_RIGHT, Left: LV_KEY_LEFT, Esc: LV_KEY_ESC, Del: LV_KEY_DEL, Backspace: LV_KEY_BACKSPACE, Enter: LV_KEY_ENTER, Next: LV_KEY_NEXT, Prev: LV_KEY_PREV, Home: LV_KEY_HOME, End: LV_KEY_END }); registerLvglEnum(LV_SCR_LOAD_ANIM_ENUM_NAME, { NONE: LV_SCR_LOAD_ANIM_NONE, OVER_LEFT: LV_SCR_LOAD_ANIM_OVER_LEFT, OVER_RIGHT: LV_SCR_LOAD_ANIM_OVER_RIGHT, OVER_TOP: LV_SCR_LOAD_ANIM_OVER_TOP, OVER_BOTTOM: LV_SCR_LOAD_ANIM_OVER_BOTTOM, MOVE_LEFT: LV_SCR_LOAD_ANIM_MOVE_LEFT, MOVE_RIGHT: LV_SCR_LOAD_ANIM_MOVE_RIGHT, MOVE_TOP: LV_SCR_LOAD_ANIM_MOVE_TOP, MOVE_BOTTOM: LV_SCR_LOAD_ANIM_MOVE_BOTTOM, FADE_IN: LV_SCR_LOAD_ANIM_FADE_IN, FADE_OUT: LV_SCR_LOAD_ANIM_FADE_OUT, OUT_LEFT: LV_SCR_LOAD_ANIM_OUT_LEFT, OUT_RIGHT: LV_SCR_LOAD_ANIM_OUT_RIGHT, OUT_TOP: LV_SCR_LOAD_ANIM_OUT_TOP, OUT_BOTTOM: LV_SCR_LOAD_ANIM_OUT_BOTTOM }); registerLvglEnum( LV_OBJ_FLAG_ENUM_NAME, { HIDDEN: LVGL_FLAG_CODES.HIDDEN, CLICKABLE: LVGL_FLAG_CODES.CLICKABLE, CLICK_FOCUSABLE: LVGL_FLAG_CODES.CLICK_FOCUSABLE, CHECKABLE: LVGL_FLAG_CODES.CHECKABLE, SCROLLABLE: LVGL_FLAG_CODES.SCROLLABLE, SCROLL_ELASTIC: LVGL_FLAG_CODES.SCROLL_ELASTIC, SCROLL_MOMENTUM: LVGL_FLAG_CODES.SCROLL_MOMENTUM, SCROLL_ONE: LVGL_FLAG_CODES.SCROLL_ONE, SCROLL_CHAIN_HOR: LVGL_FLAG_CODES.SCROLL_CHAIN_HOR, SCROLL_CHAIN_VER: LVGL_FLAG_CODES.SCROLL_CHAIN_VER, SCROLL_ON_FOCUS: LVGL_FLAG_CODES.SCROLL_ON_FOCUS, SCROLL_WITH_ARROW: LVGL_FLAG_CODES.SCROLL_WITH_ARROW, SNAPPABLE: LVGL_FLAG_CODES.SNAPPABLE, PRESS_LOCK: LVGL_FLAG_CODES.PRESS_LOCK, EVENT_BUBBLE: LVGL_FLAG_CODES.EVENT_BUBBLE, GESTURE_BUBBLE: LVGL_FLAG_CODES.GESTURE_BUBBLE, ADV_HITTEST: LVGL_FLAG_CODES.ADV_HITTEST, IGNORE_LAYOUT: LVGL_FLAG_CODES.IGNORE_LAYOUT, FLOATING: LVGL_FLAG_CODES.FLOATING, OVERFLOW_VISIBLE: LVGL_FLAG_CODES.OVERFLOW_VISIBLE }, ["8.4.0"] ); registerLvglEnum( LV_OBJ_FLAG_ENUM_NAME, { HIDDEN: LVGL_FLAG_CODES_90.HIDDEN, CLICKABLE: LVGL_FLAG_CODES_90.CLICKABLE, CLICK_FOCUSABLE: LVGL_FLAG_CODES_90.CLICK_FOCUSABLE, CHECKABLE: LVGL_FLAG_CODES_90.CHECKABLE, SCROLLABLE: LVGL_FLAG_CODES_90.SCROLLABLE, SCROLL_ELASTIC: LVGL_FLAG_CODES_90.SCROLL_ELASTIC, SCROLL_MOMENTUM: LVGL_FLAG_CODES_90.SCROLL_MOMENTUM, SCROLL_ONE: LVGL_FLAG_CODES_90.SCROLL_ONE, SCROLL_CHAIN_HOR: LVGL_FLAG_CODES_90.SCROLL_CHAIN_HOR, SCROLL_CHAIN_VER: LVGL_FLAG_CODES_90.SCROLL_CHAIN_VER, SCROLL_ON_FOCUS: LVGL_FLAG_CODES_90.SCROLL_ON_FOCUS, SCROLL_WITH_ARROW: LVGL_FLAG_CODES_90.SCROLL_WITH_ARROW, SNAPPABLE: LVGL_FLAG_CODES_90.SNAPPABLE, PRESS_LOCK: LVGL_FLAG_CODES_90.PRESS_LOCK, EVENT_BUBBLE: LVGL_FLAG_CODES_90.EVENT_BUBBLE, GESTURE_BUBBLE: LVGL_FLAG_CODES_90.GESTURE_BUBBLE, ADV_HITTEST: LVGL_FLAG_CODES_90.ADV_HITTEST, IGNORE_LAYOUT: LVGL_FLAG_CODES_90.IGNORE_LAYOUT, FLOATING: LVGL_FLAG_CODES_90.FLOATING, OVERFLOW_VISIBLE: LVGL_FLAG_CODES_90.OVERFLOW_VISIBLE }, ["9.2.2", "9.3.0", "9.4.0", "9.5.0"] ); registerLvglEnum(LV_STATE_ENUM_NAME, { DEFAULT: LVGL_STATE_CODES_MORE.DEFAULT, CHECKED: LVGL_STATE_CODES.CHECKED, FOCUSED: LVGL_STATE_CODES.FOCUSED, FOCUS_KEY: LVGL_STATE_CODES.FOCUS_KEY, EDITED: LVGL_STATE_CODES_MORE.EDITED, HOVERED: LVGL_STATE_CODES.HOVERED, PRESSED: LVGL_STATE_CODES.PRESSED, SCROLLED: LVGL_STATE_CODES_MORE.SCROLLED, DISABLED: LVGL_STATE_CODES.DISABLED, USER1: LVGL_STATE_CODES_MORE.USER1, USER2: LVGL_STATE_CODES_MORE.USER2, USER3: LVGL_STATE_CODES_MORE.USER3, USER4: LVGL_STATE_CODES_MORE.USER4, ALL: LVGL_STATE_CODES_MORE.ALL, }, ["8.4.0", "9.2.2", "9.3.0", "9.4.0"] ); registerLvglEnum(LV_STATE_ENUM_NAME, { DEFAULT: LVGL_STATE_CODES_MORE_V9_5_0.DEFAULT, CHECKED: LVGL_STATE_CODES_V9_5_0.CHECKED, FOCUSED: LVGL_STATE_CODES_V9_5_0.FOCUSED, FOCUS_KEY: LVGL_STATE_CODES_V9_5_0.FOCUS_KEY, EDITED: LVGL_STATE_CODES_MORE_V9_5_0.EDITED, HOVERED: LVGL_STATE_CODES_V9_5_0.HOVERED, PRESSED: LVGL_STATE_CODES_V9_5_0.PRESSED, SCROLLED: LVGL_STATE_CODES_MORE_V9_5_0.SCROLLED, DISABLED: LVGL_STATE_CODES_V9_5_0.DISABLED, USER1: LVGL_STATE_CODES_MORE_V9_5_0.USER1, USER2: LVGL_STATE_CODES_MORE_V9_5_0.USER2, USER3: LVGL_STATE_CODES_MORE_V9_5_0.USER3, USER4: LVGL_STATE_CODES_MORE_V9_5_0.USER4, ALL: LVGL_STATE_CODES_MORE_V9_5_0.ALL, }, ["9.5.0"] ); registerLvglEnum(LV_BUTTONMATRIX_CTRL_ENUM_NAME, LV_BUTTONMATRIX_CTRL); registerLvglEnum(LV_PART_ENUM_NAME, { MAIN: LVGL_PARTS_8.MAIN, SCROLLBAR: LVGL_PARTS_8.SCROLLBAR, INDICATOR: LVGL_PARTS_8.INDICATOR, KNOB: LVGL_PARTS_8.KNOB, SELECTED: LVGL_PARTS_8.SELECTED, ITEMS: LVGL_PARTS_8.ITEMS, TICKS: LVGL_PARTS_8.TICKS, CURSOR: LVGL_PARTS_8.CURSOR, CUSTOM1: LVGL_PARTS_8.CUSTOM1, TEXTAREA_PLACEHOLDER: LVGL_PARTS_8.TEXTAREA_PLACEHOLDER, ANY: LVGL_PARTS_8.ANY }, ["8.4.0"]); registerLvglEnum(LV_PART_ENUM_NAME, { MAIN: LVGL_PARTS_9.MAIN, SCROLLBAR: LVGL_PARTS_9.SCROLLBAR, INDICATOR: LVGL_PARTS_9.INDICATOR, KNOB: LVGL_PARTS_9.KNOB, SELECTED: LVGL_PARTS_9.SELECTED, ITEMS: LVGL_PARTS_9.ITEMS, CURSOR: LVGL_PARTS_9.CURSOR, CUSTOM1: LVGL_PARTS_9.CUSTOM1, TEXTAREA_PLACEHOLDER: LVGL_PARTS_9.TEXTAREA_PLACEHOLDER, ANY: LVGL_PARTS_9.ANY }, ["9.2.2", "9.3.0", "9.4.0", "9.5.0"]);