Blame view

app/gui/oven_control/cookpanelbutton.h 1.57 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
      QPushButton *bar();
51175dd1a   김태훈   엔코더 구현
40
      QPushButton *infoButton();
98f4a2932   김태훈   엔코더 구현
41
      QPushButton *deleteButton();
f588aa273   김태훈   부가 기능 로직 추가
42
      CookRecord record;
097e5e14a   김태훈   프로그래밍 모드 세부 사항 구현
43
      CookPanelButton *next = NULL;
f588aa273   김태훈   부가 기능 로직 추가
44
964071391   김태훈   길게 눌러 팝업이 뜬 상태로 다...
45
46
  public slots:
      void setEnabled(bool enabled = true);
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
47
  protected:
51175dd1a   김태훈   엔코더 구현
48
49
      void keyPressEvent(QKeyEvent *event);
      void keyReleaseEvent(QKeyEvent *event);
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
50
f588aa273   김태훈   부가 기능 로직 추가
51
  private slots:
382b586e9   김태훈   프로그래밍 모드 임시 구현
52
      void emitLongPressed();
f588aa273   김태훈   부가 기능 로직 추가
53
382b586e9   김태훈   프로그래밍 모드 임시 구현
54
55
      void on_pushButton_pressed();
      void on_pushButton_released();
f588aa273   김태훈   부가 기능 로직 추가
56
      void on_pushButton_clicked();
382b586e9   김태훈   프로그래밍 모드 임시 구현
57
      void on_showInfoButton_clicked();
f588aa273   김태훈   부가 기능 로직 추가
58
      void on_deleteButton_clicked();
b85726132   김태훈   부가 기능 UI 추가
59
60
61
  
  private:
      Ui::CookPanelButton *ui;
f588aa273   김태훈   부가 기능 로직 추가
62
382b586e9   김태훈   프로그래밍 모드 임시 구현
63
      QTimer longPressedTimer;
f588aa273   김태훈   부가 기능 로직 추가
64
65
      bool rendered;
      QLabel *label;
382b586e9   김태훈   프로그래밍 모드 임시 구현
66
67
      bool emitted;
      bool longPressEnabled;
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
68
69
70
71
72
73
  
      QWidget *pushed = NULL;
  
      void onEncoderLeft();
      void onEncoderRight();
      void onEncoderClicked(QWidget *clicked);
b85726132   김태훈   부가 기능 UI 추가
74
75
76
  };
  
  #endif // COOKPANELBUTTON_H