zephyr/lib/gui/lvgl/Kconfig.objects
Ulf Magnusson eddd98f811 kconfig: Replace some single-symbol 'if's with 'depends on'
I think people might be reading differences into 'if' and 'depends on'
that aren't there, like maybe 'if' being needed to "hide" a symbol,
while 'depends on' just adds a dependency.

There are no differences between 'if' and 'depends on'. 'if' is just a
shorthand for 'depends on'. They work the same when it comes to creating
implicit menus too.

The way symbols get "hidden" is through their dependencies not being
satisfied ('if'/'depends on' get copied up as a dependency on the
prompt).

Since 'if' and 'depends on' are the same, an 'if' with just a single
symbol in it can be replaced with a 'depends on'. IMO, it's best to
avoid 'if' there as a style choice too, because it confuses people into
thinking there's deep Kconfig magic going on that requires 'if'.

Going for 'depends on' can also remove some nested 'if's, which
generates nicer symbol information and docs, because nested 'if's really
are so simple/dumb that they just add the dependencies from both 'if's
to all symbols within.

Replace a bunch of single-symbol 'if's with 'depends on' to despam the
Kconfig files a bit and make it clearer how things work. Also do some
other minor related dependency refactoring.

The replacement isn't complete. Will fix up the rest later. Splitting it
a bit to make it more manageable.

(Everything above is true for choices, menus, and comments as well.)

Detected by tweaking the Kconfiglib parsing code. It's impossible to
detect after parsing, because 'if' turns into 'depends on'.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2020-02-08 08:32:42 -05:00

359 lines
7.1 KiB
Plaintext

# Copyright (c) 2018-2019 Jan Van Winkel <jan.van_winkel@dxplore.eu>
# SPDX-License-Identifier: Apache-2.0
menu "Objects"
config LVGL_OBJ_REALIGN
bool "Object realign support"
help
Enable object realign support
choice
prompt "Extend objects clickable area"
default LVGL_EXT_CLICK_AREA_OFF
config LVGL_EXT_CLICK_AREA_OFF
bool "Disabled"
config LVGL_EXT_CLICK_AREA_TINY
bool "Only horizontally and vertical"
config LVGL_EXT_CLICK_AREA_FULL
bool "Full flexibility"
endchoice
config LVGL_OBJ_LABEL
bool "Label Object"
help
Enable label support
if LVGL_OBJ_LABEL
config LVGL_OBJ_LABEL_SCROLL_SPEED
int "Label scroll speed"
default 25
help
Scroll speed in pixels per second if scroll mode is enabled for a label
config LVGL_OBJ_LABEL_TEXT_SEL
bool "Enable label text selection"
help
Enable label text selection
config LVGL_OBJ_LABEL_WAIT_CHAR_COUNT
int "Waiting period for label animation"
default 3
help
Waiting period at beginning/end of the label animation cycle
config LVGL_OBJ_LABEL_LONG_TXT_HINT
bool "Enable long text hint for labels"
help
Enable support for long text hints
endif # LVGL_OBJ_LABEL
config LVGL_OBJ_IMAGE
bool "Image Object"
depends on LVGL_OBJ_LABEL
help
Enable image object support
config LVGL_OBJ_LINE
bool "Line Object"
help
Enable line object support
config LVGL_OBJ_ARC
bool "Arc Object"
help
Enable arc object support
config LVGL_OBJ_CONTAINER
bool "Container Object"
help
Enable container object support
config LVGL_OBJ_PAGE
bool "Page object"
depends on LVGL_OBJ_CONTAINER
help
Enable page object support
config LVGL_OBJ_PAGE_DEF_ANIM_TIME
int "Default page focus animation time"
default 400
depends on LVGL_OBJ_PAGE
help
Default page focus animation time in milliseconds
config LVGL_OBJ_WINDOW
bool "Window object"
depends on LVGL_OBJ_CONTAINER && LVGL_OBJ_BUTTON && LVGL_OBJ_LABEL && LVGL_OBJ_IMAGE && LVGL_OBJ_PAGE
help
Enable window object support
config LVGL_OBJ_TAB_VIEW
bool "Tab view object"
depends on LVGL_OBJ_PAGE && LVGL_OBJ_BUTTON_MATRIX
help
Enable tab view object support
config LVGL_OBJ_TAB_VIEW_ANIMATION_TIME
int "Tab view animation time"
default 300
depends on LVGL_OBJ_TAB_VIEW
help
Tab view animation time in milliseconds
config LVGL_OBJ_TILE_VIEW
bool "Tile view object"
depends on LVGL_OBJ_PAGE
help
Enable tile view object support
config LVGL_OBJ_TILE_VIEW_ANIMATION_TIME
int "Tile view animation time"
default 300
depends on LVGL_OBJ_TILE_VIEW
help
Tile view animation time in milliseconds
config LVGL_OBJ_CALENDAR
bool "Calendar object"
help
Enable calendar object support
config LVGL_OBJ_PRELOAD
bool "Pre-load object"
depends on LVGL_OBJ_ARC
help
Enabled pre-load object support
if LVGL_OBJ_PRELOAD
config LVGL_OBJ_PRELOAD_DEF_ARC_LENGTH
int "Default arc length"
range 1 360
default 60
help
Default arc length for pre-load in degrees
config LVGL_OBJ_PRELOAD_DEF_SPIN_TIME
int "Default spin time"
default 1000
help
Default spin time for pre-load in ms
choice
prompt "Default pre-load animation type"
default LVGL_OBJ_PRELOAD_DEF_ANIMATION_SPIN_ARC
help
Default pre-load animation type
config LVGL_OBJ_PRELOAD_DEF_ANIMATION_SPIN_ARC
bool "Spinning Arc"
config LVGL_OBJ_PRELOAD_DEF_ANIMATION_FILL
bool "Fill"
endchoice
endif
config LVGL_OBJ_CANVAS
bool "Canvas object"
depends on LVGL_OBJ_IMAGE
help
Enabled canvas object support
config LVGL_OBJ_BAR
bool "Bar object"
help
Enable bar object support
config LVGL_OBJ_LINE_METER
bool "Line meter object"
help
Enable line meter object support
config LVGL_OBJ_GAUGE
bool "Gauge object"
depends on LVGL_OBJ_BAR && LVGL_OBJ_LINE_METER
help
Enable gauge object support
config LVGL_OBJ_CHART
bool "Chart object"
help
Enable chart object support
config LVGL_OBJ_CHART_AXIS_TICK_LABEL_MAX_LEN
int "Maximum length of axis label"
default 20
depends on LVGL_OBJ_CHART
help
Maximum length of axis label
config LVGL_OBJ_TABLE
bool "Table object"
depends on LVGL_OBJ_LABEL
help
Enable table object support
config LVGL_OBJ_TABLE_COLUMN_MAX
int "Maximum number of table columns"
default 12
depends on LVGL_OBJ_TABLE
help
Maximum number of columns to support in a table
config LVGL_OBJ_LED
bool "LED object"
help
Enable LED object support
config LVGL_OBJ_MSG_BOX
bool "Message box object"
depends on LVGL_OBJ_BUTTON_MATRIX && LVGL_OBJ_LABEL
help
Enable message box object support
config LVGL_OBJ_TEXT_AREA
bool "Text area object"
depends on LVGL_OBJ_LABEL && LVGL_OBJ_PAGE
help
Enable text area object support
if LVGL_OBJ_TEXT_AREA
config LVGL_OBJ_TEXT_AREA_CURSOR_BLINK_TIME
int "Cursor Blink Time"
default 400
help
Text area cursor blink time in milliseconds
config LVGL_OBJ_TEXT_AREA_PWD_SHOW_TIME
int "Label scroll speed"
default 1500
help
Password character show time in milliseconds
endif
config LVGL_OBJ_SPINBOX
bool "Spinbox object"
depends on LVGL_OBJ_TEXT_AREA
help
Enable spinbox object support
config LVGL_OBJ_BUTTON
bool "Button object"
depends on LVGL_OBJ_CONTAINER
help
Enable button object support
if LVGL_OBJ_BUTTON
config LVGL_OBJ_BUTTON_INK_EFFECT
bool "Enable ink effect"
help
Enable ink, press, effect for buttons
config LVGL_OBJ_IMG_BUTTON
bool "Image Button"
help
Enable image button object support
config LVGL_OBJ_IMG_BUTTON_TILED
bool "Image button tile support"
depends on LVGL_OBJ_IMG_BUTTON
help
Enable tile support for image button
endif
config LVGL_OBJ_BUTTON_MATRIX
bool "Button Matrix object"
help
Enable button matrix object support
config LVGL_OBJ_KEYBOARD
bool "Keyboard object"
depends on LVGL_OBJ_BUTTON_MATRIX
help
Enable keyboard object support
config LVGL_OBJ_CHECK_BOX
bool "Check box object"
depends on LVGL_OBJ_BUTTON && LVGL_OBJ_LABEL
help
Enable check box object support
config LVGL_OBJ_LIST
bool "List object"
depends on LVGL_OBJ_BUTTON && LVGL_OBJ_LABEL && LVGL_OBJ_PAGE
help
Enable list object support
config LVGL_OBJ_LIST_FOCUS_TIME
int "List focus time"
default 100
depends on LVGL_OBJ_LIST
help
List focus animation time in milliseconds
config LVGL_OBJ_COLOR_PICKER
bool "Color picker object"
help
Enable color picker object support
config LVGL_OBJ_DROP_DOWN_LIST
bool "Drop Down List object"
depends on LVGL_OBJ_LABEL && LVGL_OBJ_PAGE
help
Enable drop down list object support
config LVGL_OBJ_DROP_DOWN_LIST_ANIM_TIME
int "Drop Down list animation time"
default 200
depends on LVGL_OBJ_DROP_DOWN_LIST
help
Drop down list animation time in milliseconds
config LVGL_OBJ_ROLLER
bool "Roller object"
depends on LVGL_OBJ_DROP_DOWN_LIST
help
Enable roller object support
if LVGL_OBJ_ROLLER
config LVGL_OBJ_ROLLER_ANIM_TIME
int "Roller animation time"
default 200
help
Roller animation time in milliseconds
config LVGL_OBJ_ROLLER_INF_PAGES
int "Number of pages for infinite roller"
default 7
help
Number of extra pages in case the roller is infinite
endif
config LVGL_OBJ_SLIDER
bool "Slider object"
depends on LVGL_OBJ_BAR
help
Enable slider object support
config LVGL_OBJ_SWITCH
bool "Switch object"
depends on LVGL_OBJ_SLIDER
help
Enable switch object support
endmenu