MyRP2_ui_core
Loading...
Searching...
No Matches
test_widget_on_serial_monitor.cpp
Go to the documentation of this file.
1
12#include <sstream>
13
14std::map<ControlledObjectStatus, std::string> status_to_string{
15 {ControlledObjectStatus::IS_WAITING, "IS_WAITING"},
16 {ControlledObjectStatus::HAS_FOCUS, "HAS_FOCUS"},
17 {ControlledObjectStatus::IS_ACTIVE, "IS_ACTIVE"}};
18
19TestCursorWidgetWithIncrementalValue::TestCursorWidgetWithIncrementalValue(TestIncrementalValue *_actual_displayed_object)
20 : UIWidget(nullptr, 128, 8, 0, 0, false)
21{
22 this->set_displayed_model(_actual_displayed_object);
23 this->actual_displayed_object = _actual_displayed_object;
24
25 char_position_slope = (max_line_width - 1.) / (actual_displayed_object->get_max_value() - actual_displayed_object->get_min_value());
26 char_position_offset = 1 - char_position_slope * actual_displayed_object->get_min_value();
27}
28
29TestCursorWidgetWithIncrementalValue::~TestCursorWidgetWithIncrementalValue()
30{
31}
32
34{
35 if (this->actual_displayed_object->has_changed())
36 {
37 draw();
38 this->actual_displayed_object->clear_change_flag();
39 }
40}
41
42int TestCursorWidgetWithIncrementalValue::value_to_char_position()
43{
44 return (char_position_slope * actual_displayed_object->get_value() + char_position_offset);
45}
46
47void TestCursorWidgetWithIncrementalValue::draw()
48{
49 switch (actual_displayed_object->get_status())
50 {
51 case ControlledObjectStatus::IS_WAITING:
52 printf("[%s] %s with value=%d\n",
53 actual_displayed_object->get_name().c_str(), status_to_string[actual_displayed_object->get_status()].c_str(), actual_displayed_object->get_value());
54 break;
55 case ControlledObjectStatus::HAS_FOCUS:
56 printf("[%s] %s with value=%d\n",
57 actual_displayed_object->get_name().c_str(), status_to_string[actual_displayed_object->get_status()].c_str(), actual_displayed_object->get_value());
58 break;
59 case ControlledObjectStatus::IS_ACTIVE:
60 printf("[%s] %s with value= %d %*c\n",
61 actual_displayed_object->get_name().c_str(), status_to_string[actual_displayed_object->get_status()].c_str(), actual_displayed_object->get_value(), value_to_char_position(), '|');
62 break;
63 default:
64 break;
65 }
66}
67
68void TestObjectManagerWidget::draw()
69{
70 std::string text = "manager " + status_to_string[actual_displayed_object->get_status()] + " with value=" + std::to_string(actual_displayed_object->get_value()) + "\n";
71 printf(text.c_str());
72}
73
74TestObjectManagerWidget::TestObjectManagerWidget(Test_Manager *_manager)
75 : UIWidget(nullptr, 128, 8, 0, 0, false)
76{
77 this->set_displayed_model(_manager);
78 this->actual_displayed_object = _manager;
79}
80
81TestObjectManagerWidget::~TestObjectManagerWidget()
82{
83}
84
86{
87 if (this->actual_displayed_object->has_changed())
88 {
89 draw();
90 this->actual_displayed_object->clear_change_flag();
91 }
92}
93
94void TestSetOfWidget::draw()
95{
96}
97
98TestSetOfWidget::TestSetOfWidget()
99 : UIWidget(nullptr, 128, 8, 0, 0, false)
100{
101}
102
103TestSetOfWidget::~TestSetOfWidget()
104{
105}
void refresh()
WARNING : this function can be redefined. When several widget display one Model, only le last one mus...
void refresh()
WARNING : this function can be redefined. When several widget display one Model, only le last one mus...
int get_min_value()
Get the min value object.
Definition ui_core.cpp:105
int get_value()
Get the value object.
Definition ui_core.cpp:100
ControlledObjectStatus get_status()
Get the status object.
Definition ui_core.cpp:48
bool has_changed()
Definition ui_core.cpp:20
virtual void set_displayed_model(UIModelObject *_new_displayed_model)
Set the displayed model object.
Definition ui_core.cpp:220