]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkKWBlackBox.h
are now generated in user's .bbtk dir
[bbtk.git] / kernel / src / bbtkKWBlackBox.h
index dec705f1c0f887c832d1ff2f9e3739a792e410da..6a2eb35f1a5767f7f564c645449d2ebcff422398 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkKWBlackBox.h,v $
   Language:  C++
-  Date:      $Date: 2008/11/29 21:41:34 $
-  Version:   $Revision: 1.1 $
+  Date:      $Date: 2008/12/11 09:50:35 $
+  Version:   $Revision: 1.5 $
 ========================================================================*/
 
 
 
 
 #include "bbtkKW.h"
-#include "vtkKWWidget.h"
-#include "vtkKWWindowBase.h"
-#include "vtkKWFrame.h"
-#include "vtkKWDialog.h"
 
-namespace bbtk
-{
 
+//==================================================================
+// Forward declaration of the class of window associated to a KWBlackBox
+class vtkKWBlackBoxWindow;
+class vtkKWBlackBoxDialog;
+class vtkKWFrame;
+//==================================================================
 
 
+namespace bbtk
+{
+
 
-  //==================================================================
-  // Forward declaration of the class of window associated to a KWBlackBox
-  class vtkKWBlackBoxWindow;
-  //==================================================================
 
-  //==================================================================
-  // Forward declaration of the widget event handler class
-  //  class KWBlackBoxWidgetEventHandler;
-  //==================================================================
 
 
   //==================================================================
@@ -88,11 +83,8 @@ namespace bbtk
     BBTK_DECLARE_OUTPUT(Widget, vtkKWWidget*);
 
   public:
-    /// Main processing method of the box. Overloaded to handle windows inclusion : if the output Widget is connected then the execution is transfered to the box to which it is connected (as the container window must be created and displayed - this box will be executed by the normal pipeline recursion mechanism)
-    virtual void bbExecute(bool force = false);
-
-
-    typedef vtkKWBlackBoxWindow Window;
+    
+    typedef vtkKWBlackBoxDialog Window;
     
     /// Returns the **OWN** window associated to the box
     /// If 0 returned = no window
@@ -108,10 +100,6 @@ namespace bbtk
     /// Else returns 0;
     Window* bbGetContainingWindow();
 
-    /// Returns the parent wxWindow that must be used to create the widget 
-         //
-         // LG 24/11/08 : New widget pipeline
-         //    wxWindow* bbGetKWParent();
 
     /// Returns true iff the 'containing window' exists and is shown 
     /// (see bbGetContainingWindow).
@@ -127,8 +115,8 @@ namespace bbtk
     virtual void bbUserOnHide() {}
     //==================================================================    
 
-    // LG 24/11/08 : New widget pipeline
-    //    void bbCreateWidgetAndEventHandler(vtkKWWidget* parent); 
+    /// Sets the window
+    inline void bbSetWindow(Window* w) { bbmWindow=w; }
 
          
   protected:
@@ -147,24 +135,19 @@ namespace bbtk
     /// User callback for creating the widget associated to the box
     /// ** Must be defined **
     // LG 24/11/08 : New widget pipeline
-    virtual void bbUserCreateWidget(vtkKWWidget* parent) 
+    virtual void bbUserCreateWidget(vtkKWFrame* parent) 
     {
       bbtkError(bbGetTypeName()<<" is a KWBlackBox whose bbUserCreateWidget methods is not overloaded : is it a feature or a bug ?!?");
     }
     //==================================================================    
 
 
-    vtkKWWidget* bbCreateWidgetOfInput(const std::string& in, 
-                                      vtkKWWidget* parent);
-
-
     //==================================================================
-    /// Main processing method of the box.
-    virtual IOStatus bbBackwardUpdate( Connection::Pointer caller );
+    vtkKWWidget* bbCreateWidgetOfInput(const std::string& in, 
+                                      vtkKWFrame* parent);
     //==================================================================
 
 
-
     //==================================================================
     /// Overloaded processing method for KWBlackBoxes
     virtual void bbProcess();
@@ -188,39 +171,12 @@ namespace bbtk
     friend class vtkKWBlackBoxWindow;
     //    friend class KWBlackBoxWidgetEventHandler;
 
-    /// Sets the window
-    inline void bbSetWindow(Window* w) { bbmWindow=w; }
-
-    /*
-    /// Sets the Widget Event Handler
-    inline void bbSetWidgetEventHandler(KWBlackBoxWidgetEventHandler* w) 
-    { bbmWidgetEventHandler = w; }
-    /// Gets the Widget Event Handler
-    inline KWBlackBoxWidgetEventHandler* bbGetWidgetEventHandler()
-    { return bbmWidgetEventHandler; }
-    */
-
     /// The KWBlackBoxWindow associated to the box
     Window* bbmWindow;
-    /// The KWBlackBoxWidgetEventHandler associated to the box
-    //    KWBlackBoxWidgetEventHandler* bbmWidgetEventHandler;
 
 
     void bbInitAttributes();
 
-  protected :
-
-
-    /// For Forward update mechanism when execution is called 
-    /// on a contained window
-    /// Is set to true before transfering update to parent 
-    /// in order to not re-transfer a second time...
-    bool bbmUpdateTransferedToParent;
-
-    bool bbGetUpdateTransferedToParent() const { return bbmUpdateTransferedToParent; }
-    void bbSetUpdateTransferedToParent(bool b) 
-    { bbmUpdateTransferedToParent = b; }
-
   };
   //=================================================================
  
@@ -229,7 +185,7 @@ namespace bbtk
   /// Defines the bbUserCreateWidget method
 #define BBTK_CREATE_KWWIDGET(CALLBACK)                                 \
   public:                                                              \
-  inline void bbUserCreateWidget(vtkKWWidget* parent)                  \
+  inline void bbUserCreateWidget(vtkKWFrame* parent)                   \
   {                                                                    \
     bbtkDebugMessageInc("kw",1,"**> Creating widget for ["             \
                        <<bbGetFullName()<<"]"<<std::endl);             \
@@ -285,74 +241,6 @@ namespace bbtk
 
 
 
-
-  //==================================================================
-  // The base of the hierarchy of windows associated to a KWBlackBox
-  class BBTK_EXPORT vtkKWBlackBoxWindow 
-  {
-  public:
-    vtkKWBlackBoxWindow();
-    virtual ~vtkKWBlackBoxWindow();
-    virtual void bbShow();
-    virtual void bbHide();
-    virtual void bbClose();
-    bool bbIsShown() { return mShown; }
-    void bbSetBlackBox(KWBlackBox::Pointer box) 
-    { 
-      mBox = box; 
-      mBox.lock()->bbSetWindow(this);
-    }
-    virtual KWBlackBox::Pointer bbGetBlackBox() { return mBox.lock(); }
-  private:
-    KWBlackBox::WeakPointer mBox;
-    bool mShown;
-  };
-  //==================================================================
-
-
-  //==================================================================
-  // Dialog window which is modal
-  // Name of window must not begin with uppercase letter 
-  class BBTK_EXPORT  vtkKWBlackBoxDialog : public vtkKWDialog, 
-                                       public vtkKWBlackBoxWindow
-  {
-  public:
-    static vtkKWBlackBoxDialog* New();
-    vtkTypeRevisionMacro(vtkKWBlackBoxDialog,vtkKWDialog);
-    void bbShow();  
-    void bbHide();
-    void bbClose();
-    void Cancel();
-  protected:
-    vtkKWBlackBoxDialog();
-    ~vtkKWBlackBoxDialog();
-  private:
-    vtkKWBlackBoxDialog(const vtkKWBlackBoxDialog&);   // Not implemented.
-    void operator=(const vtkKWBlackBoxDialog&);  // Not implemented.
-  };
-  //==================================================================
-
-  //==================================================================
-  // Frame window which is not modal
-  class BBTK_EXPORT  vtkKWBlackBoxFrame : public vtkKWWindowBase,
-                                      public vtkKWBlackBoxWindow
-  {
-  public:
-    static vtkKWBlackBoxFrame* New();
-    vtkTypeRevisionMacro(vtkKWBlackBoxFrame,vtkKWWindowBase);
-    void bbShow();  
-    void bbHide();
-    void bbClose();
-  protected:
-    vtkKWBlackBoxFrame();
-    ~vtkKWBlackBoxFrame();
-  private:
-    vtkKWBlackBoxFrame(const vtkKWBlackBoxFrame&);   // Not implemented.
-    void operator=(const vtkKWBlackBoxFrame&);  // Not implemented.
-  };
-  //==================================================================
-
-
   /*
   //=================================================================
   // Handles the destroy events of a widget associated to a KWBlackBox