Просмотр исходного кода

ctkWorkflowAbstractWidgetStepPrivate derives from ctkWorkflowStepPrivate

The method ctkWorkflowAbstractWidgetStep::ctkWorkflowAbstractWidgetStepQObject
has been removed.
Jean-Christophe Fillion-Robin лет назад: 14
Родитель
Сommit
05fa01d054

+ 33 - 0
Libs/Core/ctkWorkflowStep.cpp

@@ -115,6 +115,14 @@ void ctkWorkflowStepPrivate::invokeOnExitCommandInternal(const ctkWorkflowStep*
 // ctkWorkflowStep methods
 
 // --------------------------------------------------------------------------
+ctkWorkflowStep::ctkWorkflowStep(): d_ptr(new ctkWorkflowStepPrivate(*this))
+{
+  Q_D(ctkWorkflowStep);
+
+  d->Id = d->metaObject()->className();
+}
+
+// --------------------------------------------------------------------------
 ctkWorkflowStep::ctkWorkflowStep(ctkWorkflow* newWorkflow, const QString& newId)
   : d_ptr(new ctkWorkflowStepPrivate(*this))
 {
@@ -133,6 +141,31 @@ ctkWorkflowStep::ctkWorkflowStep(ctkWorkflow* newWorkflow, const QString& newId)
 }
 
 // --------------------------------------------------------------------------
+ctkWorkflowStep::ctkWorkflowStep(ctkWorkflowStepPrivate * pimpl):d_ptr(pimpl)
+{
+  Q_D(ctkWorkflowStep);
+  d->Id = d->metaObject()->className();
+}
+
+// --------------------------------------------------------------------------
+ctkWorkflowStep::ctkWorkflowStep(ctkWorkflowStepPrivate * pimpl,
+                                 ctkWorkflow* newWorkflow, const QString& newId):d_ptr(pimpl)
+{
+  Q_D(ctkWorkflowStep);
+
+  if (newId.isEmpty())
+    {
+     d->Id = d->metaObject()->className();
+    }
+  else
+    {
+    d->Id = newId;
+    }
+
+  d->Workflow = newWorkflow;
+}
+
+// --------------------------------------------------------------------------
 ctkWorkflowStep::~ctkWorkflowStep()
 {
 }

+ 5 - 0
Libs/Core/ctkWorkflowStep.h

@@ -45,6 +45,7 @@ class CTK_CORE_EXPORT ctkWorkflowStep
 {
 
 public:
+  explicit ctkWorkflowStep();
   explicit ctkWorkflowStep(ctkWorkflow* newWorkflow, const QString& newId);
   virtual ~ctkWorkflowStep();
 
@@ -89,6 +90,10 @@ public:
 
 protected:
 
+  explicit ctkWorkflowStep(ctkWorkflowStepPrivate * pimpl);
+  explicit ctkWorkflowStep(ctkWorkflowStepPrivate * pimpl,
+                           ctkWorkflow* newWorkflow, const QString& newId);
+
   /// Set step Id
   void setId(const QString& newStepId);
 

+ 4 - 1
Libs/Core/ctkWorkflowStep_p.h

@@ -23,6 +23,7 @@
 
 // Qt includes
 #include <QObject>
+
 class QString;
 class QState;
 
@@ -31,10 +32,12 @@ class QState;
 #include "ctkWorkflow.h"
 #include "ctkWorkflowStep.h"
 #include "ctkWorkflowTransitions.h"
+#include "ctkCoreExport.h"
+
 class ctkWorkflow;
 
 //-----------------------------------------------------------------------------
-class ctkWorkflowStepPrivate: public QObject
+class CTK_CORE_EXPORT ctkWorkflowStepPrivate: public QObject
 {
   Q_OBJECT
   Q_DECLARE_PUBLIC(ctkWorkflowStep);

+ 6 - 6
Libs/Widgets/Testing/Cpp/ctkExampleUseOfWorkflowWidgetUsingSignalsAndSlots.cpp

@@ -120,12 +120,12 @@ int ctkExampleUseOfWorkflowWidgetUsingSignalsAndSlots(int argc, char * argv [] )
   QObject::connect(testStep3->ctkWorkflowStepQObject(), SIGNAL(invokeOnExitCommand(const ctkWorkflowStep*, const ctkWorkflowInterstepTransition::InterstepTransitionType)), qObject3, SLOT(onExit(const ctkWorkflowStep*, const ctkWorkflowInterstepTransition::InterstepTransitionType)));
 
   // use the qObjects for populating the stepWidgetsList
-  QObject::connect(testStep1->ctkWorkflowAbstractWidgetStepQObject(), SIGNAL(invokeCreateUserInterfaceCommand()), qObject1, SLOT(createUserInterface()));
-  QObject::connect(qObject1, SIGNAL(createUserInterfaceComplete()), testStep1->ctkWorkflowAbstractWidgetStepQObject(), SIGNAL(showUserInterfaceComplete()));
-  QObject::connect(testStep2->ctkWorkflowAbstractWidgetStepQObject(), SIGNAL(invokeCreateUserInterfaceCommand()), qObject2, SLOT(createUserInterface()));
-  QObject::connect(qObject2, SIGNAL(createUserInterfaceComplete()), testStep2->ctkWorkflowAbstractWidgetStepQObject(), SIGNAL(showUserInterfaceComplete()));
-  QObject::connect(testStep3->ctkWorkflowAbstractWidgetStepQObject(), SIGNAL(invokeCreateUserInterfaceCommand()), qObject3, SLOT(createUserInterface()));
-  QObject::connect(qObject3, SIGNAL(createUserInterfaceComplete()), testStep3->ctkWorkflowAbstractWidgetStepQObject(), SIGNAL(showUserInterfaceComplete()));
+  QObject::connect(testStep1->ctkWorkflowStepQObject(), SIGNAL(invokeCreateUserInterfaceCommand()), qObject1, SLOT(createUserInterface()));
+  QObject::connect(qObject1, SIGNAL(createUserInterfaceComplete()), testStep1->ctkWorkflowStepQObject(), SIGNAL(showUserInterfaceComplete()));
+  QObject::connect(testStep2->ctkWorkflowStepQObject(), SIGNAL(invokeCreateUserInterfaceCommand()), qObject2, SLOT(createUserInterface()));
+  QObject::connect(qObject2, SIGNAL(createUserInterfaceComplete()), testStep2->ctkWorkflowStepQObject(), SIGNAL(showUserInterfaceComplete()));
+  QObject::connect(testStep3->ctkWorkflowStepQObject(), SIGNAL(invokeCreateUserInterfaceCommand()), qObject3, SLOT(createUserInterface()));
+  QObject::connect(qObject3, SIGNAL(createUserInterfaceComplete()), testStep3->ctkWorkflowStepQObject(), SIGNAL(showUserInterfaceComplete()));
 
   testStep1->setHasValidateCommand(1);
   testStep1->setHasOnEntryCommand(1);

+ 4 - 4
Libs/Widgets/Testing/Cpp/ctkWorkflowWidgetTest2.cpp

@@ -619,10 +619,10 @@ int ctkWorkflowWidgetTest2(int argc, char * argv [] )
                    qObject2, SLOT(onExit(const ctkWorkflowStep*, const ctkWorkflowInterstepTransition::InterstepTransitionType)));
 
   // use the qObjects for populating the stepWidgetsList
-  QObject::connect(step1->ctkWorkflowAbstractWidgetStepQObject(),
+  QObject::connect(step1->ctkWorkflowStepQObject(),
                    SIGNAL(invokeCreateUserInterfaceCommand()),
                    qObject1, SLOT(createUserInterface()));
-  QObject::connect(step2->ctkWorkflowAbstractWidgetStepQObject(),
+  QObject::connect(step2->ctkWorkflowStepQObject(),
                    SIGNAL(invokeCreateUserInterfaceCommand()),
                    qObject2, SLOT(createUserInterface()));
 
@@ -693,8 +693,8 @@ int ctkWorkflowWidgetTest2(int argc, char * argv [] )
                    qObject3, SLOT(onExit(const ctkWorkflowStep*, const ctkWorkflowInterstepTransition::InterstepTransitionType)));
 
   // use the qObjects for populating the stepWidgetsList
-  QObject::connect(step3->ctkWorkflowAbstractWidgetStepQObject(), SIGNAL(invokeCreateUserInterfaceCommand()), qObject3, SLOT(createUserInterface()));
-  QObject::connect(qObject3, SIGNAL(createUserInterfaceComplete()), step3->ctkWorkflowAbstractWidgetStepQObject(), SIGNAL(createUserInterfaceComplete()));
+  QObject::connect(step3->ctkWorkflowStepQObject(), SIGNAL(invokeCreateUserInterfaceCommand()), qObject3, SLOT(createUserInterface()));
+  QObject::connect(qObject3, SIGNAL(createUserInterfaceComplete()), step3->ctkWorkflowStepQObject(), SIGNAL(createUserInterfaceComplete()));
 
   step3->setHasValidateCommand(1);
   step3->setHasOnEntryCommand(1);

+ 3 - 10
Libs/Widgets/ctkWorkflowAbstractWidgetStep.cpp

@@ -45,7 +45,7 @@ static ctkLogger logger("org.commontk.libs.widgets.ctkWorkflowAbstractWidgetStep
 
 //-----------------------------------------------------------------------------
 ctkWorkflowAbstractWidgetStepPrivate::ctkWorkflowAbstractWidgetStepPrivate(ctkWorkflowAbstractWidgetStep& object)
-  :q_ptr(&object)
+  :Superclass(object), q_ptr(&object)
 {
 //  this->buttonBoxWidget = 0;
 //  this->hasButtonBoxWidget = false;
@@ -89,8 +89,8 @@ void ctkWorkflowAbstractWidgetStepPrivate::createUserInterfaceCompleteInternal()
 // ctkWorkflowAbstractWidgetStep methods
 
 //-----------------------------------------------------------------------------
-ctkWorkflowAbstractWidgetStep::ctkWorkflowAbstractWidgetStep(ctkWorkflow* newWorkflow, const QString& newId) : Superclass(newWorkflow, newId)
-  , d_ptr(new ctkWorkflowAbstractWidgetStepPrivate(*this))
+ctkWorkflowAbstractWidgetStep::ctkWorkflowAbstractWidgetStep(ctkWorkflow* newWorkflow, const QString& newId) :
+  Superclass(new ctkWorkflowAbstractWidgetStepPrivate(*this), newWorkflow, newId)
 {
   Q_D(ctkWorkflowAbstractWidgetStep);
   d->hasShowUserInterfaceCommand = false;
@@ -187,13 +187,6 @@ void ctkWorkflowAbstractWidgetStep::showUserInterface()
   emit showUserInterfaceComplete();
 }
 
-// --------------------------------------------------------------------------
-QObject* ctkWorkflowAbstractWidgetStep::ctkWorkflowAbstractWidgetStepQObject()
-{
-  Q_D(ctkWorkflowAbstractWidgetStep);
-  return d;
-}
-
 //-----------------------------------------------------------------------------
 void ctkWorkflowAbstractWidgetStep::invokeShowUserInterfaceCommand()const
 {

+ 1 - 7
Libs/Widgets/ctkWorkflowAbstractWidgetStep.h

@@ -33,7 +33,7 @@ class QIcon;
 #include "ctkWidgetsExport.h"
 #include "ctkWorkflowStep.h"
 #include "ctkWorkflowTransitions.h"
-//class ctkWorkflowButtonBoxWidget;
+
 class ctkWorkflowGroupBox;
 
 class ctkWorkflowAbstractWidgetStepPrivate;
@@ -94,9 +94,6 @@ public:
   QIcon icon()const;
   void setIcon(const QIcon& newIcon);
 
-  /// Get the QObject associated with this step, to connect signals/slots
-  QObject* ctkWorkflowAbstractWidgetStepQObject();
-
   /// Returns the QWidget onto which this step's user interface elements are placed.
   virtual QWidget* stepArea() = 0;
 
@@ -140,9 +137,6 @@ protected:
   /// \sa showUserInterface()
   void showUserInterfaceComplete()const;
 
-protected:
-  QScopedPointer<ctkWorkflowAbstractWidgetStepPrivate> d_ptr;
-
 private:
   Q_DECLARE_PRIVATE(ctkWorkflowAbstractWidgetStep);
   Q_DISABLE_COPY(ctkWorkflowAbstractWidgetStep);

+ 2 - 1
Libs/Widgets/ctkWorkflowAbstractWidgetStep_p.h

@@ -33,7 +33,7 @@ class QWidget;
 //class ctkWorkflowButtonBoxWidget;
 
 //-----------------------------------------------------------------------------
-class ctkWorkflowAbstractWidgetStepPrivate : public QObject
+class ctkWorkflowAbstractWidgetStepPrivate : public ctkWorkflowStepPrivate
 {
   Q_OBJECT
   Q_DECLARE_PUBLIC(ctkWorkflowAbstractWidgetStep);
@@ -43,6 +43,7 @@ protected:
 public:
   ctkWorkflowAbstractWidgetStepPrivate(ctkWorkflowAbstractWidgetStep& object);
   ~ctkWorkflowAbstractWidgetStepPrivate(){}
+  typedef ctkWorkflowStepPrivate Superclass;
 
 protected: