GUI parts for DISCO-F746NG. GuiBase, Button, ButtonGroup, ResetButton, Label, BlinkLabel, NumericLabel, SeekBar, SeekbarGroup, NumericUpDown
Dependencies: Array_Matrix TS_DISCO_F746NG LCD_DISCO_F746NG BSP_DISCO_F746NG
Diff: ButtonGroup.cpp
- Revision:
- 28:e2b7ea78b7a0
- Parent:
- 26:a9cf68d24f40
diff -r 115219bcd9f5 -r e2b7ea78b7a0 ButtonGroup.cpp --- a/ButtonGroup.cpp Mon Jan 16 00:23:53 2017 +0000 +++ b/ButtonGroup.cpp Wed Jan 25 13:56:02 2017 +0000 @@ -1,7 +1,7 @@ //----------------------------------------------------------- // ButtonGroup class // -// 2016/11/09, Copyright (c) 2016 MIKAMI, Naoki +// 2017/01/25, Copyright (c) 2017 MIKAMI, Naoki //----------------------------------------------------------- #include "ButtonGroup.hpp" @@ -19,12 +19,11 @@ uint32_t textColor, uint32_t backColor, uint32_t createdColor, uint32_t touchedColor, uint32_t inactiveColor, uint32_t inactiveTextColor) - : GuiBase(x0, y0, fonts, textColor, backColor, - createdColor, touchedColor, - inactiveColor, inactiveTextColor), - number_(number), prevNum_(touched) + : TEXT_COLOR_(textColor), CREATED_COLOR_(createdColor), + TOUCHED_COLOR_(touchedColor), + NUMBER_(number), prevNum_(touched) { - buttons_ = new Button *[number]; + buttons_.SetSize(number); for (int n=0; n<number; n++) { div_t u1 = div(n, column); @@ -32,21 +31,14 @@ uint16_t y = y0 + u1.quot*(height + spaceY); buttons_[n] = new Button(x, y, width, height, str[n], fonts, - TEXT_COLOR_, BACK_COLOR_, - CREATED_COLOR_, TOUCHED_COLOR_, - INACTIVE_COLOR_, INACTIVE_TEXT_COLOR_); + textColor, backColor, + createdColor, touchedColor, + inactiveColor, inactiveTextColor); } // On created, set touched color as needed if (touched >= 0) TouchedColor(touched); } - // Destructor - ButtonGroup::~ButtonGroup() - { - for (int n=0; n<number_; n++) delete buttons_[n]; - delete[] buttons_; - } - // Draw button bool ButtonGroup::Draw(int num, uint32_t color, uint32_t textColor) { @@ -85,9 +77,9 @@ bool ButtonGroup::GetTouchedNumber(int &num) { bool rtn = false; - if (PanelTouched()) + if (GuiBase::PanelTouched()) { - for (int n=0; n<number_; n++) + for (int n=0; n<NUMBER_; n++) if (buttons_[n]->IsOnButton() && buttons_[n]->IsActive()) { @@ -139,3 +131,4 @@ return true; } } +