guit  0.1
 All Classes Functions Variables Typedefs Enumerations Friends
gspinitem.hpp
1 //
2 // Spin Item
3 // Guit GUI Toolkit
4 // Copyright © 2020 Eric Lecolinet. All rights reserved.
5 // http://www.telecom-paris.fr/~elc
6 //
7 
8 #ifndef Guit_SpinItem_hpp
9 #define Guit_SpinItem_hpp
10 #include <gtextitem.hpp>
11 namespace guit {
12 
13 struct GSpinItem : public GTextItem {
14 protected:
15  GSpinItem(GadgetType&, GString const& css_and_value);
16 
17 public:
18  ~GSpinItem();
19  GSpinItem(GString const& css_and_value = "");
20  GSpinItem& clone(GClone const&) override;
21 
22  using GTextItem::operator=;
23  GTextItem& operator=(float) override;
24 
29  int intValue() const override;
30  float floatValue() const override;
32 
37  GSpinItem& setRange(float min, float max);
38  float min() const;
39  float max() const;
41 
50  GNumber& numProp();
52 
53  using GType = GadgetType_<GSpinItem,GTextItem>;
54  static GType& Type();
55  GType& type() const override {return Type();}
56 
59  void addProp(GProp& prop, bool add_to_list) override;
60  void mouseCB(GMouseEvent&);
61  gptr<GNumber> numvalue_;
62  float incr_{1.f};
63  gptr<class GIcon> icon_;
65 };
66 
67 GSpinItem& SpinItem(GString const& css_and_value = "");
68 
69 }
70 #endif