Blame view

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