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

Committer:
MikamiUitOpen
Date:
Mon Mar 12 04:22:48 2018 +0000
Revision:
33:50b8f7654c36
34; Added: NumericUpDown

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 33:50b8f7654c36 1 //-----------------------------------------------------------
MikamiUitOpen 33:50b8f7654c36 2 // NumericUpDown class
MikamiUitOpen 33:50b8f7654c36 3 // 指定された桁を up/down する GUI 部品
MikamiUitOpen 33:50b8f7654c36 4 // 6 桁まで可能
MikamiUitOpen 33:50b8f7654c36 5 //
MikamiUitOpen 33:50b8f7654c36 6 // 2018/03/12, Copyright (c) 2018 MIKAMI, Naoki
MikamiUitOpen 33:50b8f7654c36 7 //-----------------------------------------------------------
MikamiUitOpen 33:50b8f7654c36 8
MikamiUitOpen 33:50b8f7654c36 9 #ifndef NUMERIC_UPDOWN_HPP
MikamiUitOpen 33:50b8f7654c36 10 #define NUMERIC_UPDOWN_HPP
MikamiUitOpen 33:50b8f7654c36 11
MikamiUitOpen 33:50b8f7654c36 12 #include "F746_GUI.hpp"
MikamiUitOpen 33:50b8f7654c36 13 #include "DelayedEnabler.hpp"
MikamiUitOpen 33:50b8f7654c36 14
MikamiUitOpen 33:50b8f7654c36 15 namespace Mikami
MikamiUitOpen 33:50b8f7654c36 16 {
MikamiUitOpen 33:50b8f7654c36 17 class NumericUpDown
MikamiUitOpen 33:50b8f7654c36 18 {
MikamiUitOpen 33:50b8f7654c36 19 public:
MikamiUitOpen 33:50b8f7654c36 20 // digit 表示する桁数
MikamiUitOpen 33:50b8f7654c36 21 // initVal 最初に表示する数値
MikamiUitOpen 33:50b8f7654c36 22 NumericUpDown(uint16_t digit, uint16_t x0, uint16_t y0,
MikamiUitOpen 33:50b8f7654c36 23 uint32_t initVal, uint32_t max, uint32_t min,
MikamiUitOpen 33:50b8f7654c36 24 string unit = "", float delay = 0.2f);
MikamiUitOpen 33:50b8f7654c36 25
MikamiUitOpen 33:50b8f7654c36 26 // Up, Down をタッチした場合は対応する数値を +1 または -1 する
MikamiUitOpen 33:50b8f7654c36 27 bool Touched();
MikamiUitOpen 33:50b8f7654c36 28
MikamiUitOpen 33:50b8f7654c36 29 // 引数の数値を Label に表示する
MikamiUitOpen 33:50b8f7654c36 30 void Set(uint32_t frq);
MikamiUitOpen 33:50b8f7654c36 31
MikamiUitOpen 33:50b8f7654c36 32 // Label に表示されている値を数値データとして取り出す
MikamiUitOpen 33:50b8f7654c36 33 uint32_t Get() { return value_; }
MikamiUitOpen 33:50b8f7654c36 34
MikamiUitOpen 33:50b8f7654c36 35 private:
MikamiUitOpen 33:50b8f7654c36 36 const int DIGIT_; // 桁数
MikamiUitOpen 33:50b8f7654c36 37 const int X0_, Y0_;
MikamiUitOpen 33:50b8f7654c36 38 const uint32_t MAX_; // 最大値
MikamiUitOpen 33:50b8f7654c36 39 const uint32_t MIN_; // 最小値
MikamiUitOpen 33:50b8f7654c36 40 const Array<uint32_t> POW10_;
MikamiUitOpen 33:50b8f7654c36 41 const static uint16_t XW_ = 45;
MikamiUitOpen 33:50b8f7654c36 42 const static int16_t SIZE_ = 6;
MikamiUitOpen 33:50b8f7654c36 43
MikamiUitOpen 33:50b8f7654c36 44 static Point ptU_[3], ptD_[3];
MikamiUitOpen 33:50b8f7654c36 45
MikamiUitOpen 33:50b8f7654c36 46 char fmt_[5];
MikamiUitOpen 33:50b8f7654c36 47 int numUd_; // 一つ前にタッチしたボタンの番号
MikamiUitOpen 33:50b8f7654c36 48 uint32_t value_;
MikamiUitOpen 33:50b8f7654c36 49
MikamiUitOpen 33:50b8f7654c36 50 DelayedEnabler delay_;
MikamiUitOpen 33:50b8f7654c36 51 Array<Label *> labels_;
MikamiUitOpen 33:50b8f7654c36 52 ButtonGroup *ud_;
MikamiUitOpen 33:50b8f7654c36 53 LCD_DISCO_F746NG &lcd_;
MikamiUitOpen 33:50b8f7654c36 54
MikamiUitOpen 33:50b8f7654c36 55 // 数値の up, down に使う三角形の描画
MikamiUitOpen 33:50b8f7654c36 56 void UpDownSymbol(uint16_t x, uint16_t y, int k);
MikamiUitOpen 33:50b8f7654c36 57
MikamiUitOpen 33:50b8f7654c36 58 // disallow copy constructor and assignment operator
MikamiUitOpen 33:50b8f7654c36 59 NumericUpDown(const NumericUpDown&);
MikamiUitOpen 33:50b8f7654c36 60 NumericUpDown& operator=(const NumericUpDown&);
MikamiUitOpen 33:50b8f7654c36 61 };
MikamiUitOpen 33:50b8f7654c36 62 }
MikamiUitOpen 33:50b8f7654c36 63 #endif // NUMERIC_UPDOWN_HPP