Blame view

app/gui/oven_control/programmedcookpanelbutton.h 1.56 KB
097e5e14a   김태훈   프로그래밍 모드 세부 사항 구현
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
  #ifndef PROGRAMMEDCOOKPANELBUTTON_H
  #define PROGRAMMEDCOOKPANELBUTTON_H
  
  #include <QWidget>
  #include <QLabel>
  #include <QButtonGroup>
  #include <QTimer>
  #include <QPushButton>
  
  #include "cookhistory.h"
  
  namespace Ui {
  class ProgrammedCookPanelButton;
  }
  
  class ProgrammedCookPanelButton : public QWidget
  {
      Q_OBJECT
  
  public:
      explicit ProgrammedCookPanelButton(CookRecord record, QWidget *parent = 0);
      ~ProgrammedCookPanelButton();
  
      void setText(QString text);
      void showInfo();
      void hideInfo();
  
      void setLongPressEnabled(bool enabled);
  
      QPushButton *bar();
      QPushButton *infoButton();
      QPushButton *deleteButton();
  
      CookRecord record;
  
  public slots:
      void setEnabled(bool enabled = true);
  
  protected:
      void keyPressEvent(QKeyEvent *event);
      void keyReleaseEvent(QKeyEvent *event);
  
  private:
      Ui::ProgrammedCookPanelButton *ui;
  
      QTimer longPressedTimer;
      bool rendered;
      QLabel *label;
      bool emitted;
      bool longPressEnabled;
  
      QWidget *pushed = NULL;
  
      void onEncoderLeft();
      void onEncoderRight();
      void onEncoderClicked(QWidget *clicked);
  
  private slots:
      void emitLongPressed();
  
      void on_pushButton_pressed();
      void on_pushButton_released();
      void on_pushButton_clicked();
      void on_showInfoButton_clicked();
      void on_deleteButton_clicked();
  
  signals:
      void clicked(ProgrammedCookPanelButton *);
      void infoClicked(ProgrammedCookPanelButton *);
      void deleteClicked(ProgrammedCookPanelButton *);
      void longPressed(ProgrammedCookPanelButton *);
  };
  
  #endif // PROGRAMMEDCOOKPANELBUTTON_H