Blame view

app/gui/oven_control/slider.h 1.78 KB
0cbd3823e   김태훈   슬라이더 새로 구현
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
  #ifndef SLIDER_H
  #define SLIDER_H
  
  #include <QWidget>
  #include <QPixmap>
  
  class Slider : public QWidget
  {
      Q_OBJECT
  
      bool isSliderDown_;
      int sliderPosition_;
      int value_;
      int minimum_;
      int maximum_;
  
      QPixmap groove;
      QPixmap sub;
      QPixmap handle;
  
      int grooveMin;
      int grooveMax;
  
      QPoint groovePoint;
      QPoint subPoint;
a2de3cbfc   김태훈   수동 요리에 새 슬라이더 적용
26
      bool subVisible_;
271dda4ae   김태훈   엔코더 구현
27
28
      bool focused;
      bool isSliderMoved_;
a2de3cbfc   김태훈   수동 요리에 새 슬라이더 적용
29
0cbd3823e   김태훈   슬라이더 새로 구현
30
31
32
33
34
  public:
      explicit Slider(QWidget *parent = 0);
  
      void setSubPixmap(const QPixmap &pixmap);
      void setSubPixmap(const QString &fileName);
a2de3cbfc   김태훈   수동 요리에 새 슬라이더 적용
35
      void setSubVisible(bool visible);
0cbd3823e   김태훈   슬라이더 새로 구현
36
37
38
39
40
41
42
43
44
45
46
47
  
      void setRange(int min, int max);
      void setMinimum(int min);
      void setMaximum(int max);
  
      int value();
      int minimum();
      int maximum();
  
      bool isSliderDown();
      int sliderPosition();
      void setSliderPosition(int value);
271dda4ae   김태훈   엔코더 구현
48
      bool isSliderMoved();
0cbd3823e   김태훈   슬라이더 새로 구현
49
50
51
  
      QList<int> ticks;
      QList<int> bigTicks;
a2de3cbfc   김태훈   수동 요리에 새 슬라이더 적용
52
53
      int tickInterval;
      int bigTickInterval;
0cbd3823e   김태훈   슬라이더 새로 구현
54
  protected:
271dda4ae   김태훈   엔코더 구현
55
56
57
58
      virtual void focusInEvent(QFocusEvent *event);
      virtual void focusOutEvent(QFocusEvent *event);
      virtual void keyPressEvent(QKeyEvent *event);
      virtual void keyReleaseEvent(QKeyEvent *event);
0cbd3823e   김태훈   슬라이더 새로 구현
59
60
61
62
63
64
65
66
67
68
69
70
71
72
      virtual void mouseMoveEvent(QMouseEvent *event);
      virtual void mousePressEvent(QMouseEvent *event);
      virtual void mouseReleaseEvent(QMouseEvent *event);
      virtual void paintEvent(QPaintEvent *event);
      virtual void resizeEvent(QResizeEvent *event);
  
  private:
      int calcSliderPosition(int mouseX);
      int calcSubLength(int value);
      void updatePixmapPosition();
  
  signals:
      void sliderMoved(int value);
      void valueChanged(int value);
935b853a4   김태훈   새 슬라이더 적용
73
74
      void sliderPressed();
      void sliderReleased();
0cbd3823e   김태훈   슬라이더 새로 구현
75
76
77
  
  public slots:
      void setValue(int value);
271dda4ae   김태훈   엔코더 구현
78
79
      void increase();
      void decrease();
0cbd3823e   김태훈   슬라이더 새로 구현
80
81
82
  };
  
  #endif // SLIDER_H