GUI parts for DISCO-F746NG. GuiBase, Button, ButtonGroup, ResetButton, Label, BlinkLabel, NumericLabel, SeekBar, SeekbarGroup, NumericUpDown

Dependencies:   Array_Matrix BSP_DISCO_F746NG LCD_DISCO_F746NG TS_DISCO_F746NG

Dependents:   F746_AudioOutQSPI F746_AudioPlayerSD DISCO-F746NG_test001 F746_SD_WavPlayer ... more

Revision:
28:e2b7ea78b7a0
Parent:
26:a9cf68d24f40
--- 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;
     }
 }
+