Select one of the symbols to view example projects that use it.
 
Outline
#include <gui/home_automation_screen/TemperatureMenuItem.hpp>
#include <touchgfx/Color.hpp>
TemperatureMenuItem::TemperatureMenuItem()
TemperatureMenuItem::~TemperatureMenuItem()
TemperatureMenuItem::buttonPressedhandler(const AbstractButton &)
TemperatureMenuItem::setRoomTemperatureInfo(RoomTemperatureInfo &)
TemperatureMenuItem::setSelected(bool)
TemperatureMenuItem::setTextsAlpha(int16_t)
Files
loading...
CodeScopeSTM32 Libraries and SamplesTouchGFXGui/gui/src/home_automation_screen/TemperatureMenuItem.cpp
 
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
94
95
96
97
98
99
100
101
102
103
104
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/** ****************************************************************************** * This file is part of the TouchGFX 4.10.0 distribution. * * @attention * * Copyright (c) 2018 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** *//* ... */ #include <gui/home_automation_screen/TemperatureMenuItem.hpp> #include <touchgfx/Color.hpp> TemperatureMenuItem::TemperatureMenuItem() : onButtonPressed(this, &TemperatureMenuItem::buttonPressedhandler) { background.setXY(0, 0); background.setBitmap(Bitmap(BITMAP_TEMPERATURE_MENU_ITEM_ID)); primaryText.setPosition(10, 7, 160, 20); currentTemperature.setPosition(180, 5, 50, 24); currentTemperature.setTypedText(TypedText(T_TEMPERATURE_MENU)); currentTemperature.setWildcard(currentTemperatureTextBuffer); itemSelectArea.setPosition(0, 0, background.getWidth(), background.getHeight()); itemSelectArea.setAction(onButtonPressed); setSelected(false); add(background); add(primaryText); add(currentTemperature); add(itemSelectArea); setWidth(background.getWidth()); setHeight(background.getHeight()); }{ ... } TemperatureMenuItem::~TemperatureMenuItem() { }{ ... } void TemperatureMenuItem::buttonPressedhandler(const AbstractButton& button) { if (&button == &itemSelectArea) { if (menuItemSelectedCallback) { menuItemSelectedCallback->execute(*this); }if (menuItemSelectedCallback) { ... } }if (&button == &itemSelectArea) { ... } }{ ... } void TemperatureMenuItem::setRoomTemperatureInfo(RoomTemperatureInfo& info) { primaryText.setTypedText(TypedText(info.getRoomName())); primaryText.invalidate(); Unicode::snprintf(currentTemperatureTextBuffer, 5, "%d", info.getCurrentTemperature()); currentTemperature.invalidate(); }{ ... } void TemperatureMenuItem::setSelected(bool sel) { selected = sel; if (selected) { background.setBitmap(Bitmap(BITMAP_TEMPERATURE_MENU_ITEM_SELECTED_ID)); primaryText.setColor(Color::getColorFrom24BitRGB(0xFF, 0xFF, 0xFF)); currentTemperature.setColor(Color::getColorFrom24BitRGB(0xFF, 0xFF, 0xFF)); }if (selected) { ... } else { background.setBitmap(Bitmap(BITMAP_TEMPERATURE_MENU_ITEM_ID)); primaryText.setColor(Color::getColorFrom24BitRGB(0xA9, 0xAD, 0xB6)); currentTemperature.setColor(Color::getColorFrom24BitRGB(0xA9, 0xAD, 0xB6)); }else { ... } background.invalidate(); primaryText.invalidate(); currentTemperature.invalidate(); }{ ... } void TemperatureMenuItem::setTextsAlpha(int16_t alpha) { alpha = (alpha < 0) ? 0 : alpha; alpha = (alpha > 255) ? 255 : alpha; primaryText.setAlpha((uint8_t) alpha); currentTemperature.setAlpha((uint8_t) alpha); primaryText.invalidate(); currentTemperature.invalidate(); }{ ... }