aboutsummaryrefslogtreecommitdiff
path: root/docs/widgets/win.rst
blob: 2ca8898290bb0a18636adf8d25c16f9b95337625 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
.. _lv_win:

===============
Window (lv_win)
===============

Overview
********

The Window is container-like object built from a header with title and
buttons and a content area.

.. _lv_win_parts_and_styles:

Parts and Styles
****************

The Window is built from other widgets so you can check their
documentation for details:

- Background: :ref:`lv_obj`
- Header on the background: :ref:`lv_obj`
- Title on the header: :ref:`lv_label`
- Buttons on the header: :ref:`lv_button`
- Content area on the background: :ref:`lv_obj`

.. _lv_win_usage:

Usage
*****

Create a Window
---------------

:cpp:expr:`lv_win_create(parent, header_height)` creates a Window with an empty
header.

Title and buttons
-----------------

Any number of texts (but typically only one) can be added to the header
with :cpp:expr:`lv_win_add_title(win, "The title")`.

Control buttons can be added to the window's header with
:cpp:expr:`lv_win_add_button(win, icon, button_width)`. ``icon`` can be any image
source, and ``button_width`` is the width of the button.

The title and the buttons will be added in the order the functions are
called. So adding a button, a text and two other buttons will result in
a button on the left, a title, and 2 buttons on the right. The width of
the title is set to take all the remaining space on the header. In other
words: it pushes to the right all the buttons that are added after the
title.

.. _lv_win_get_parts:

Get the parts
*************

:cpp:expr:`lv_win_get_header(win)` returns a pointer to the header,
:cpp:expr:`lv_win_get_content(win)` returns a pointer to the content container
to which the content of the window can be added.

.. _lv_win_events:

Events
******

No special events are sent by the windows, however events can be added
manually to the return value of :cpp:func:`lv_win_add_button`.

Learn more about :ref:`events`.

.. _lv_win_keys:

Keys
****

No *Keys* are handled by the window.

Learn more about :ref:`indev_keys`.

.. _lv_win_example:

Example
*******

.. include:: ../examples/widgets/win/index.rst

.. _lv_win_api:

API
***