Blame view

app/gui/oven_control/cookpanelbutton.h 1.51 KB
b85726132   김태훈   부가 기능 UI 추가
1
2
3
4
  #ifndef COOKPANELBUTTON_H
  #define COOKPANELBUTTON_H
  
  #include <QWidget>
f588aa273   김태훈   부가 기능 로직 추가
5
6
  #include <QLabel>
  #include <QButtonGroup>
382b586e9   김태훈   프로그래밍 모드 임시 구현
7
  #include <QTimer>
98f4a2932   김태훈   엔코더 구현
8
  #include <QPushButton>
f588aa273   김태훈   부가 기능 로직 추가
9
10
  
  #include "cookhistory.h"
b85726132   김태훈   부가 기능 UI 추가
11
12
13
14
15
16
17
18
19
20
  
  namespace Ui {
  class CookPanelButton;
  }
  
  class CookPanelButton : public QWidget
  {
      Q_OBJECT
  
  signals:
f588aa273   김태훈   부가 기능 로직 추가
21
22
23
24
      void resized();
      void clicked(CookPanelButton *);
      void infoClicked(CookPanelButton *);
      void deleteClicked(CookPanelButton *);
382b586e9   김태훈   프로그래밍 모드 임시 구현
25
      void longPressed(CookPanelButton *);
b85726132   김태훈   부가 기능 UI 추가
26
27
  
  public:
f588aa273   김태훈   부가 기능 로직 추가
28
      explicit CookPanelButton(CookRecord record, QWidget *parent = 0);
b85726132   김태훈   부가 기능 UI 추가
29
30
31
      ~CookPanelButton();
  
      void setText(QString text);
f588aa273   김태훈   부가 기능 로직 추가
32
33
34
35
36
37
      void showInfo();
      void hideInfo();
  
      void focusBar();
      void focusInfoButton();
      void focusDeleteButton();
382b586e9   김태훈   프로그래밍 모드 임시 구현
38
      void setLongPressEnabled(bool enabled);
98f4a2932   김태훈   엔코더 구현
39
40
      QPushButton *bar();
      QPushButton *deleteButton();
f588aa273   김태훈   부가 기능 로직 추가
41
      CookRecord record;
964071391   김태훈   길게 눌러 팝업이 뜬 상태로 다...
42
43
  public slots:
      void setEnabled(bool enabled = true);
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
44
  protected:
98f4a2932   김태훈   엔코더 구현
45
46
  //    void keyPressEvent(QKeyEvent *event);
  //    void keyReleaseEvent(QKeyEvent *event);
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
47
f588aa273   김태훈   부가 기능 로직 추가
48
  private slots:
382b586e9   김태훈   프로그래밍 모드 임시 구현
49
      void emitLongPressed();
f588aa273   김태훈   부가 기능 로직 추가
50
382b586e9   김태훈   프로그래밍 모드 임시 구현
51
52
      void on_pushButton_pressed();
      void on_pushButton_released();
f588aa273   김태훈   부가 기능 로직 추가
53
      void on_pushButton_clicked();
382b586e9   김태훈   프로그래밍 모드 임시 구현
54
      void on_showInfoButton_clicked();
f588aa273   김태훈   부가 기능 로직 추가
55
      void on_deleteButton_clicked();
b85726132   김태훈   부가 기능 UI 추가
56
57
58
  
  private:
      Ui::CookPanelButton *ui;
f588aa273   김태훈   부가 기능 로직 추가
59
382b586e9   김태훈   프로그래밍 모드 임시 구현
60
      QTimer longPressedTimer;
f588aa273   김태훈   부가 기능 로직 추가
61
62
      bool rendered;
      QLabel *label;
382b586e9   김태훈   프로그래밍 모드 임시 구현
63
64
      bool emitted;
      bool longPressEnabled;
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
65
66
67
68
69
70
  
      QWidget *pushed = NULL;
  
      void onEncoderLeft();
      void onEncoderRight();
      void onEncoderClicked(QWidget *clicked);
b85726132   김태훈   부가 기능 UI 추가
71
72
73
  };
  
  #endif // COOKPANELBUTTON_H