AusweisApp2
GenericWorkflowGui.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "AppQtMainWidget.h"
11 #include "step/StepGui.h"
12 #include "WorkflowGui.h"
13 #include "WorkflowQtWidget.h"
14 
15 #include <QSharedPointer>
16 #include <QWidget>
17 
18 
19 namespace governikus
20 {
21 
22 template<typename CONTEXT>
24  : public WorkflowGui
25 {
26  protected:
29  QSharedPointer<StepGui> mStepGui;
30  QSharedPointer<CONTEXT> mContext;
31 
32  public:
33  GenericWorkflowGui(const QSharedPointer<WorkflowContext>& pContext, AppQtMainWidget* pParentWidget, WorkflowQtWidget* pWidget)
34  : WorkflowGui()
35  , mParentWidget(pParentWidget)
36  , mWidget(pWidget)
37  , mStepGui(nullptr)
38  , mContext(pContext.objectCast<CONTEXT>())
39  {
40  Q_ASSERT(mContext != nullptr);
42  }
43 
44 
45  virtual void deactivate() override
46  {
47  deactivateCurrentStepUi();
48  }
49 
50 
51  virtual void activateStepUi(const QSharedPointer<StepGui>& pStepUi)
52  {
53  Q_ASSERT(pStepUi);
54  if (mStepGui == pStepUi)
55  {
56  return;
57  }
58 
59  deactivateCurrentStepUi();
60 
61  mStepGui = pStepUi;
62  if (mWidget != nullptr)
63  {
66  QObject::connect(mStepGui.data(), &StepGui::fireDeactivated, this, [this](){
67  deactivateCurrentStepUi();
68  });
69  }
70  pStepUi->activate();
71  }
72 
73  private:
74  void deactivateCurrentStepUi()
75  {
76  if (mStepGui == nullptr)
77  {
78  return;
79  }
80 
81  mStepGui->deactivate();
82  if (mWidget != nullptr)
83  {
86  }
87  mStepGui.clear();
88  }
89 
90 
91 };
92 
93 } // namespace governikus
AppQtMainWidget.h
governikus::StepGuiDelegate::setForwardButtonState
void setForwardButtonState(ButtonState pState, const QString &pText)
Definition: moc_StepGui.cpp:144
governikus::GenericWorkflowGui::mWidget
WorkflowQtWidget * mWidget
Definition: GenericWorkflowGui.h:28
governikus::GenericWorkflowGui::mStepGui
QSharedPointer< StepGui > mStepGui
Definition: GenericWorkflowGui.h:29
StepGui.h
WorkflowContext.h
governikus::GenericWorkflowGui::GenericWorkflowGui
GenericWorkflowGui(const QSharedPointer< WorkflowContext > &pContext, AppQtMainWidget *pParentWidget, WorkflowQtWidget *pWidget)
Definition: GenericWorkflowGui.h:33
governikus::StepGuiDelegate::setCancelButtonState
void setCancelButtonState(ButtonState pState)
Definition: moc_StepGui.cpp:151
governikus::GenericWorkflowGui::deactivate
virtual void deactivate() override
Definition: GenericWorkflowGui.h:45
governikus::WorkflowGui
Definition: WorkflowGui.h:33
governikus::GenericWorkflowGui::activateStepUi
virtual void activateStepUi(const QSharedPointer< StepGui > &pStepUi)
Definition: GenericWorkflowGui.h:51
governikus::WorkflowGui::fireUserCancelled
void fireUserCancelled()
Definition: moc_WorkflowGui.cpp:231
governikus::WorkflowQtWidget
Definition: WorkflowQtWidget.h:21
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
WorkflowGui.h
governikus::GenericWorkflowGui
Definition: GenericWorkflowGui.h:25
governikus::GenericWorkflowGui::mParentWidget
AppQtMainWidget * mParentWidget
Definition: GenericWorkflowGui.h:27
governikus::WorkflowQtWidget::setCancelButtonState
void setCancelButtonState(ButtonState pState)
Definition: WorkflowQtWidget.cpp:70
governikus::AppQtMainWidget
Definition: AppQtMainWidget.h:32
governikus::WorkflowContext::fireCancelWorkflow
void fireCancelWorkflow()
Definition: moc_WorkflowContext.cpp:379
WorkflowQtWidget.h
governikus::GenericWorkflowGui::mContext
QSharedPointer< CONTEXT > mContext
Definition: GenericWorkflowGui.h:30
governikus::StepGui::fireDeactivated
void fireDeactivated()
Definition: moc_StepGui.cpp:296
governikus::WorkflowQtWidget::setForwardButtonState
void setForwardButtonState(ButtonState pState, const QString &pText=QString())
Definition: WorkflowQtWidget.cpp:64