]> Creatis software - bbtk.git/blobdiff - kernel/src/vtkKWBlackBoxDialog.cxx
KWWidgets support
[bbtk.git] / kernel / src / vtkKWBlackBoxDialog.cxx
diff --git a/kernel/src/vtkKWBlackBoxDialog.cxx b/kernel/src/vtkKWBlackBoxDialog.cxx
new file mode 100644 (file)
index 0000000..d7ca41b
--- /dev/null
@@ -0,0 +1,214 @@
+#ifdef USE_KWWIDGETS
+
+#include "vtkKWBlackBoxDialog.h"
+#include "bbtkKW.h"
+#include "vtkObjectFactory.h"
+
+  //=========================================================================
+  // vtkKWBlackBoxWindow
+  //=========================================================================
+
+
+/*
+  //=========================================================================
+  vtkKWBlackBoxWindow::vtkKWBlackBoxWindow()
+    : mShown(false)
+  {
+    bbtkDebugMessage("kw",9,"vtkKWBlackBoxWindow::vtkKWBlackBoxWindow()"
+                    <<std::endl);
+    bbtk::KW::IncNbWindowsAlive();
+  }
+  //=========================================================================
+
+
+
+  //=========================================================================
+  vtkKWBlackBoxWindow::~vtkKWBlackBoxWindow()
+  {
+    bbtkDebugMessage("kw",9,"vtkKWBlackBoxWindow::~vtkKWBlackBoxWindow() "
+                    <<this<<std::endl);
+    bbHide();
+    bbtk::KW::DecNbWindowsAlive();
+    if (!mBox.expired())
+      {
+       mBox.lock()->bbSetWindow(0);
+      }
+  }
+  //========================================================================= 
+
+
+  //=========================================================================
+  void vtkKWBlackBoxWindow::bbShow()
+  {
+    if (bbIsShown()) return;
+    bbtkDebugMessage("kw",9,"vtkKWBlackBoxWindow::bbShow()"<<std::endl);
+    bbtk::KW::IncNbWindowsShown();
+    mShown = true;
+  }
+  //=========================================================================
+
+  //=========================================================================
+  void vtkKWBlackBoxWindow::bbHide()
+  {
+    if (!bbIsShown()) return;
+    bbtkDebugMessage("kw",9,"vtkKWBlackBoxWindow::bbHide()"<<std::endl);
+    bbtk::KW::DecNbWindowsShown();
+    mShown = false;
+  }
+  //=========================================================================
+
+  //=========================================================================
+  void vtkKWBlackBoxWindow::bbClose()
+  {
+  }
+  //=========================================================================
+
+*/
+  //=========================================================================
+  // vtkKWBlackBoxDialog
+  //=========================================================================
+  
+  //-------------------------------------------------------------------------
+  vtkStandardNewMacro( vtkKWBlackBoxDialog );
+  vtkCxxRevisionMacro( vtkKWBlackBoxDialog, "$Revision: 1.1 $");
+  //-------------------------------------------------------------------------
+
+  //=========================================================================
+  vtkKWBlackBoxDialog::vtkKWBlackBoxDialog() 
+    : mShown(false)
+  {
+    bbtkDebugMessage("kw",9,"vtkKWBlackBoxDialog::vtkKWBlackBoxDialog()"
+                    <<std::endl);
+    bbtk::KW::IncNbWindowsAlive();
+  }
+  //=========================================================================
+  
+  //=========================================================================
+  void vtkKWBlackBoxDialog::bbShow()
+  { 
+    if (bbIsShown()) return;
+    bbtkDebugMessage("kw",5,"vtkKWBlackBoxDialog::bbShow() ["
+                    <<bbGetBlackBox()->bbGetFullName()<<"]"<<std::endl);
+    bbtk::KW::IncNbWindowsShown();
+    mShown = true;
+    //    vtkKWBlackBoxWindow::bbShow();
+    //SetReturnCode( kwDialog::ShowModal() ); 
+    this->Display();
+    this->Invoke();
+    //    bbClose();
+  }
+  //=========================================================================
+
+  //=========================================================================
+  void vtkKWBlackBoxDialog::bbHide()
+  {
+    bbtkDebugMessage("kw",9,"vtkKWBlackBoxDialog::bbHide()"<<std::endl);
+    // vtkKWBlackBoxWindow::bbHide();
+    bbtk::KW::DecNbWindowsShown();
+    mShown = false;
+    //    Hide();
+    this->Withdraw(); 
+  }
+  //=========================================================================
+
+  //=========================================================================
+  void vtkKWBlackBoxDialog::bbClose()
+  {
+    bbtkDebugMessage("kw",9,"vtkKWBlackBoxDialog::bbClose()"<<std::endl);
+    this->Done = vtkKWDialog::StatusCanceled;
+    // this->Withdraw();  //   this->Delete();
+  }
+  //=========================================================================
+
+  //=========================================================================
+  void vtkKWBlackBoxDialog::Cancel()
+  {
+    bbtkDebugMessage("kw",9,"vtkKWBlackBoxDialog::Cancel()"<<std::endl);
+    //    this->Delete();
+
+    //    this->Withdraw();
+    bbHide();
+    this->Done = vtkKWDialog::StatusCanceled;
+    //    std::cout << "REFS= "<<this->GetReferenceCount()<<std::endl;
+    //    std::cout << "WINS= "<<this->GetApplication()->GetNumberOfWindows ()<<std::endl;
+    //    this->Delete();
+    
+  }
+  //=========================================================================
+  
+  //=========================================================================
+  vtkKWBlackBoxDialog::~vtkKWBlackBoxDialog()
+  {
+    bbtkDebugMessage("kw",9,"~vtkKWBlackBoxDialog()"<<std::endl);
+    bbHide();
+    bbtk::KW::DecNbWindowsAlive();
+    if (!mBox.expired())
+      {
+       mBox.lock()->bbSetWindow(0);
+      }
+  }
+  //=========================================================================
+
+
+/*
+
+
+  //=========================================================================
+  // vtkKWBlackBoxFrame
+  //=========================================================================
+
+  //-------------------------------------------------------------------------
+  vtkStandardNewMacro( vtkKWBlackBoxFrame );
+  vtkCxxRevisionMacro(vtkKWBlackBoxFrame, "$Revision: 1.1 $");
+  //-------------------------------------------------------------------------
+  //=========================================================================
+  vtkKWBlackBoxFrame::vtkKWBlackBoxFrame()
+  {
+    bbtkDebugMessage("kw",9,"vtkKWBlackBoxFrame::vtkKWBlackBoxFrame()"<<std::endl);
+  }
+  //=========================================================================
+  
+  //=========================================================================
+  vtkKWBlackBoxFrame::~vtkKWBlackBoxFrame()
+  {
+  }
+  //=========================================================================
+
+  //=========================================================================
+  void vtkKWBlackBoxFrame::bbShow() 
+  { 
+    if (bbIsShown()) return;
+    bbtkDebugMessage("kw",5,"vtkKWBlackBoxFrame::bbShow("
+                    <<bbGetBlackBox()->bbGetFullName()<<")"<<std::endl);
+    vtkKWBlackBoxWindow::bbShow();
+    // vtkKWFrame::Show();
+    this->Display();
+    // This Update is ** MANDATORY ** 
+    // to synchronize kwvtkRenderWindowInteractor objects
+    // (force kw objects creation **NOW**)
+    if (bbGetBlackBox()) bbGetBlackBox()->bbUserOnShow();
+  }
+  //=========================================================================
+
+  //=========================================================================
+  void vtkKWBlackBoxFrame::bbHide()
+  {
+    bbtkDebugMessage("kw",9,"vtkKWBlackBoxFrame::bbHide()"<<std::endl);
+    vtkKWBlackBoxWindow::bbHide();
+    //  vtkKWFrame::Hide();
+    this->Withdraw();
+    if (bbGetBlackBox()) bbGetBlackBox()->bbUserOnHide();
+  }
+  //=========================================================================
+
+  //=========================================================================
+  void vtkKWBlackBoxFrame::bbClose()
+  {
+    bbtkDebugMessage("kw",9,"vtkKWBlackBoxFrame::bbClose()"<<std::endl);
+    //    vtkKWFrame::Close();
+    this->Delete();
+  }
+  //=========================================================================
+  */
+#endif