Mcalc  0.1
a machinist's calculator
slider.hpp
Go to the documentation of this file.
1 
12 #pragma once
13 #ifndef MCALC_SLIDER_HPP
14 #define MCALC_SLIDER_HPP
15 
16 #include <vector>
17 #include <gtkmm.h>
18 
19 #include "interface.hpp"
20 
21 namespace mc {
22 
23  class Interface;
24  class Event;
25 
31  class Slider : public mc::Interface, public Gtk::Scale {
32  private:
33  std::vector<std::string> columns;
34  bool blocked;
35  const Glib::RefPtr<Gtk::Builder>& glade_ref;
36  std::vector<mc::Interface*> start_ref;
37  std::vector<mc::Interface*> end_ref;
38  mc::Interface* scaler;
39  std::map<double,std::string> marks;
40 
41  public:
47  Slider(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& refGlade);
48 
50  ~Slider();
51 
57  void notify(Event* e);
58 
63  void on_value_changed();
64 
68  void populate();
69 
70 
74  void set_marks();
75 
81  void set_marks( std::map<double,std::string> m );
82 
89  void set_scaler( mc::Interface* i );
90 
100  void set_references( std::vector<mc::Interface*> s, std::vector<mc::Interface*> e );
101 
106  void set_columns( std::vector<std::string> c );
107 
112  void block( bool b );
113 
118  std::string get_value();
119 
123  void fix();
124 
128  void unfix();
129 
133  void set_value( double max, double min, double val );
134 
138  void set_value( std::string s );
139  };
140 
141 }
142 
143 #endif
Definition: broadcaster.cpp:4
void set_scaler(mc::Interface *i)
Definition: slider.cpp:64
void unfix()
Definition: slider.cpp:136
void populate()
Definition: slider.cpp:78
Definition: broadcaster.hpp:45
void on_value_changed()
Definition: slider.cpp:46
void notify(Event *e)
Definition: slider.cpp:32
std::string get_value()
Definition: slider.cpp:128
void set_marks()
Definition: slider.cpp:51
void set_references(std::vector< mc::Interface * > s, std::vector< mc::Interface * > e)
Definition: slider.cpp:68
Definition: interface.hpp:54
void set_columns(std::vector< std::string > c)
Definition: slider.cpp:74
Slider(BaseObjectType *cobject, const Glib::RefPtr< Gtk::Builder > &refGlade)
Definition: slider.cpp:19
~Slider()
Definition: slider.cpp:27
The class definition file for the interface abstract base class.
void set_value(double max, double min, double val)
Definition: slider.cpp:140
void fix()
Definition: slider.cpp:132
Definition: slider.hpp:31
void block(bool b)
Definition: slider.cpp:124