]> Creatis software - bbtk.git/commitdiff
2498 BBTK Feature New Normal wt-version kernel
authorFelipe Gonzalez <gonzalez@ei-ed-345.creatis.insa-lyon.fr>
Tue, 10 Mar 2015 10:32:02 +0000 (11:32 +0100)
committerFelipe Gonzalez <gonzalez@ei-ed-345.creatis.insa-lyon.fr>
Tue, 10 Mar 2015 10:32:02 +0000 (11:32 +0100)
kernel/src/bbtkWt.cxx
kernel/src/bbtkWt.h
kernel/src/bbtkWtBlackBox.cxx
kernel/src/bbtkWtBlackBox.h
kernel/src/bbtkWxBlackBox.cxx
packages/wx/src/bbwxCheckBox.cxx
packages/wx/src/bbwxCheckBox.h

index a0db910210255bb2cf320766e43ad62296fd64c4..67123894f3f16316982e03b788abf9f45934f62f 100644 (file)
@@ -80,7 +80,7 @@ namespace bbtk
        WtApp::WtApp(const Wt::WEnvironment& env):
                Wt::WApplication(env)
        {
-               Wt::WApplication::root()->addWidget(WWt::GetTopWindow());
+               //root()->addWidget(WWt::GetTopWindow());
                // There is not additional configuration. The new WtApp must have the same behavior that one Wt::WApplication.
                
        }
@@ -89,7 +89,7 @@ namespace bbtk
        {
 
        }
-
+/*
        int WtApp::WtWRun()
        {
                char  *argv[7] =  {"./WtTest","--docroot",".","--http-address","0.0.0.0","--http-port","8080"};
@@ -102,7 +102,7 @@ namespace bbtk
        {
                return new WtApp(env);
        }
-
+*/
 
 
 
@@ -119,7 +119,7 @@ namespace bbtk
                bbtkGlobalError("Wt::CreateWtAppIfNeeded() : INTERNAL ERROR ! (Wt::WApplication::instance()==0) && (mgWtApp != 0)");
                        }
                        bbtkDebugMessage("wt",1,"  --> Creating bbtk WtApp"<<std::endl);  
-                       WtApp::WtWRun();
+                       //WtApp::WtWRun();
                }               
                bbtkDebugMessage("process",2,"Create WtApp If needed debuging");
   }
index 5e3dd638e5d7b48847496d7e67db3cf00bea067f..299878eb13d0a3f4c2fb6c66e2c7a691420eb6a8 100644 (file)
 #include <Wt/WContainerWidget>
 #include <Wt/WWidget>
 #include <Wt/WCheckBox>
+#include <Wt/WServer>
+#include <Wt/WText>
+#include <Wt/WPushButton>
+#include <Wt/WSlider>
+#include <Wt/WHBoxLayout>
+#include <Wt/WVBoxLayout>
+#include <Wt/WBorderLayout>
+#include <Wt/WLineEdit>
+#include <Wt/WComboBox>
+#include <Wt/WSelectionBox>
+#include <Wt/WGroupBox>
+#include <Wt/WRadioButton>
+#include <Wt/WButtonGroup>
+#include <Wt/WLayout>
+#include <Wt/WHBoxLayout>
+#include <Wt/WVBoxLayout>
+#include <Wt/WRadioButton>
+#include <Wt/Ext/Splitter>
+#include <Wt/WTabWidget>
 //typedef boost::signals::trackable SignalObserver;
 // \BBTKWXSIG
 //===========================================================================
index cdb6b79a3d39f06cdbed86ea159780593424fef1..581eecf0af12aae82d67fa82b6f521cbc7d204ba 100644 (file)
@@ -44,8 +44,7 @@
  
 #include "bbtkWtBlackBox.h"
 #include "bbtkBlackBoxOutputConnector.h"
-//DELETE ME
-#include <Wt/WContainerWidget>
+
 
 //#include "bbtkWxContainerBlackBox.h"
 //#include <wx/dialog.h>
 namespace bbtk
 {
   //=========================================================================
+  // wtData structure
+  //=========================================================================
+       struct wtData
+       {
+               Wt::WContainerWidget *parent;
+               WtBlackBox::Pointer b;
+               Wt::WString title;              
+       };
+
+       static wtData myWtData;
+  //=========================================================================
   // WxFrame
   //=========================================================================
-
+       // Application WT deployed
   //==================================================================
- class WtWContainer : public Wt::WContainerWidget
+
+ class WtWFrame : public Wt::WApplication
   {
   public:
-    WtWContainer(WtBlackBox::Pointer b,
-           Wt::WContainerWidget *parent,
-           Wt::WString title/*,
-           wxSize size);*/
+    WtWFrame(
+                       const Wt::WEnvironment& env                     
            );
-    ~WtWContainer();
- //   void OnCloseWindow(wxCloseEvent& event);
+    ~WtWFrame();
+
+       
+       
+       WtBlackBox::WeakPointer mBox; 
 
 
-    WtBlackBox::WeakPointer mBox;      
-   // DECLARE_EVENT_TABLE();
-    
   };   
-  
-  // BEGIN_EVENT_TABLE(WxFrame, wxFrame)
-  //  EVT_CLOSE(WxFrame::OnCloseWindow)
-   //END_EVENT_TABLE();
-     //==================================================================
-  
-     //==================================================================
-       WtWContainer::WtWContainer(WtBlackBox::Pointer b,
-                  Wt::WContainerWidget *parent,
-                  Wt::WString title/*,
-                  wxSize size) */
+
+
+       WtWFrame::WtWFrame(
+                       const Wt::WEnvironment& env
                   )
     : 
-    Wt::WContainerWidget( parent),
-    mBox(b)
-  {   
-    bbtkDebugMessage("widget",9,"["<<b->bbGetName()<<"] Wt::Widget()"
-                    <<std::endl);
-               Wt::WObject::setObjectName(bbtk::wt2std(title));
-    WWt::IncNbWindowsAlive();
-    b->bbSetWindow(this);
-    // Insert the widget into the window
-    //wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
-               std::cout<<"Creando WebWIDGET DELETE ME ---- bbtkWtBlackBox.cxx.................30%"<<std::endl;
-               std::cout<<"NAME :  "<<bbtk::wt2std(title);
-               if(parent)
-                       std::cout<<"      CON PADRE   "<<parent->objectName()<<std::endl;
-               else
-                       std::cout<<"        SIN PADRE "<<std::endl;
+    Wt::WApplication(env)
+  {  
+       
+               mBox = myWtData.b;
+               if(!myWtData.parent)
+                       {
+                               std::cout<<"        SIN PADRE "<<std::endl;
+                               if(myWtData.parent == 0){std::cout<<"        PARENT 0 "<<std::endl;}
+                               if(myWtData.parent == NULL){std::cout<<"        PARENT NULL "<<std::endl;}
+                               myWtData.parent = new Wt::WContainerWidget();
+                               std::cout<<"Parent created --  DELETE ME -- bbtkWtBlackBox.cxx"<<std::endl;
+                       }
+
+               Wt::WContainerWidget *myCont = new Wt::WContainerWidget(myWtData.parent);
+               myCont->setMinimumSize(800,500);
                std::cout<<"Creando WebWIDGET DELETE ME ---- bbtkWtBlackBox.cxx.................50%"<<std::endl;
-       std::cout<<"Creando WebWIDGET DELETE ME ---- bbtkWtBlackBox.cxx.................55%"<<std::endl;
-       //this->addWidget(new Wt::WContainerWidget());
-       std::cout<<"Creando WebWIDGET DELETE ME ---- bbtkWtBlackBox.cxx.................58%"<<std::endl;
-    b->bbUserCreateWidget(this);
-               Wt::WContainerWidget* widget = b->bbGetOutputWidget();
-               this->addWidget(widget);
- /*   Wt::WWidget* widget = b->bbGetOutputWidget();
-    sizer->Add( widget, 1, wxALL|wxGROW, 2);
-    SetSizer(sizer);
-    Layout();
-*/
+               myWtData.b->bbUserCreateWidget(myCont);
+               root()->addWidget(myWtData.parent);
+               //bbmWindow = myCont;
+               std::cout<<"Creando WebWIDGET DELETE ME ---- bbtkWtBlackBox.cxx.................80%"<<std::endl;
+
+
   }
   //==================================================================
   //==================================================================
-  WtWContainer::~WtWContainer() 
+  WtWFrame::~WtWFrame() 
     { 
       if (mBox.lock())
        bbtkDebugMessage("widget",9,"["<<mBox.lock()->bbGetName()
@@ -129,17 +126,22 @@ namespace bbtk
                         <<std::endl);
       else 
        bbtkDebugMessage("widget",9,"[DEAD] $$$$$$$$$$$$$$$$$$$$$ ~WtContainer()"<<std::endl);
-      //bbtkDebugMessage("widget",9,"WxFrame::~WxFrame()"<<std::endl);
+      bbtkDebugMessage("widget",9,"WtWFrame::~WtWFrame()"<<std::endl);
       if (mBox.lock()) mBox.lock()->bbSetWindow(0); 
       WWt::DecNbWindowsAlive();
     }
 
 
+   
+       Wt::WApplication *createApplication(const Wt::WEnvironment& env)
+       {
+                       return new WtWFrame(env);                       
+       }
 
-   //==================================================================
 
   //=========================================================================
-  // WxDialog
+  // WxDialogWxBlackBox::Pointer box
   //=========================================================================
 
    //==================================================================
@@ -151,7 +153,7 @@ namespace bbtk
                     wxWindow *parent, 
                     wxString title, 
                     wxSize size);
-    ~WxDialog();
+    ~WxDialog();Wt::GetTopWindow()
     void OnCloseWindow(wxCloseEvent& event);
 
 
@@ -186,7 +188,7 @@ namespace bbtk
     mBox(b)
   {
     bbtkDebugMessage("widget",9,"WxDialog::WxDialog ["<<b->bbGetName()<<"]"
-                    <<std::endl);
+                    <<std::endl);WxBlackBox::Pointer box
     Wx::IncNbWindowsAlive();
     b->bbSetWindow(this);
     // Insert the widget into the window
@@ -227,8 +229,8 @@ namespace bbtk
   //=========================================================================
   //=========================================================================
   BBTK_BLACK_BOX_IMPLEMENTATION(WtBlackBox,WidgetBlackBox<Wt::WContainerWidget>);
+
   //=========================================================================
-  
   //=========================================================================
   void WtBlackBox::bbUserSetDefaultValues()
   {
@@ -240,10 +242,9 @@ namespace bbtk
   //=========================================================================
   void WtBlackBox::bbUserInitializeProcessing()
   {
-               //TODO delete this commment
-               std::cout<<"Initializing WT BlackBox --- DELETE  this message bbtkWtBlackBox.cxx"<<std::endl;
+
   }
-  //==================================================================    
+  //================================================================http://intranet-if.insa-lyon.fr/temps/5IF39.html==    
 
   //=========================================================================
   void WtBlackBox::bbUserFinalizeProcessing()
@@ -258,19 +259,10 @@ namespace bbtk
   /// Callback for creating a Dialog window (modal)
   void WtBlackBox::bbCreateDialogWindow()
   {
-  bbtkBlackBoxDebugMessage("widget",3,
+         bbtkBlackBoxDebugMessage("widget",3,
                     "==> WtBlackBox::bbCreateDialogWindow() - No Dialog must be created, it is a web app"
                     <<std::endl);
- /*   WxDialog* w = 0;  
-    w = new WxDialog( GetThisPointer<WxBlackBox>(),
-                     Wx::GetTopWindow(),
-                     std2wx( bbGetInputWinTitle()  
-                             + " - bbtk (c) CREATIS"),
-                     wxSize( bbGetInputWinWidth() , 
-                             bbGetInputWinHeight() ) );
-    w->Show(false);
-    //    w->ShowModal();
-*/
+
   } 
   //=========================================================================
 
@@ -278,36 +270,32 @@ namespace bbtk
 
   //==================================================================    
   /// Callback for creating a Frame window 
-  void WtBlackBox::bbCreateFrameWindow()
-  {
-
-    std::cout<<"Creating Container WT -- DELETE THIS MESSAGE bbtkWTBlackBox.cxx"<<std::endl;
-    bbtkBlackBoxDebugMessage("widget",3,
-                    "==> WtBlackBox::bbCreateFrameWindow() - parent = "
-                    <<WWt::GetTopWindow()
-                    <<std::endl);
-               WtWContainer* w = 0;
-//    WxFrame* w = 0;  
-               w = new WtWContainer( GetThisPointer<WtBlackBox>(),
-                                       WWt::GetTopWindow(),
-                                       std2wt( bbGetInputWinTitle()
-                                               + " - bbtk (c) CREATIS")
-                                               );
-               std::cout<<"Container created succesfully -- DELETE THIS MESSAGE bbtkWTBlackBox.cxx"<<std::endl;
-    bbmWindow = w;
-               
-/*
-    w = new WxFrame( GetThisPointer<WxBlackBox>(),
-                    Wx::GetTopWindow(),
-                    std2wx( bbGetInputWinTitle()  
-                            + " - bbtk (c) CREATIS"),
-                    wxSize( bbGetInputWinWidth() , 
-                            bbGetInputWinHeight() ) );
-               
-    w->Show();
-*/
-               WWt::CreateWtAppIfNeeded();
-   }
+       void WtBlackBox::bbCreateFrameWindow()
+       {
+
+               bbtkBlackBoxDebugMessage("widget",3,
+                       "==> WtBlackBox::bbCreateFrameWindow() - parent = "
+                       <<WWt::GetTopWindow()
+                       <<std::endl);
+
+               //Setting necessary data for Wt server deployment
+               myWtData.parent = WWt::GetTopWindow();
+               myWtData.b = GetThisPointer<WtBlackBox>();
+               myWtData.title = std2wt( bbGetInputWinTitle()  
+                            + " - bbtk (c) CREATIS");
+
+               std::cout<<"Creating Container WT -- Definition of server parameters by default  -DELETE THIS MESSAGE bbtkWTBlackBox.cxx"<<std::endl;
+               char  *argv[7] =  {"./WtTest","--docroot","/home/gonzalez/Documents/pruebaResources","--http-address","0.0.0.0","--http-port","8080"};
+               int argc = 7;
+       /*      if(Wt::WServer::instance()->isRunning())
+               {
+                       std::cout<<"Checking the existence of a Server deployed  -DELETE THIS MESSAGE bbtkWTBlackBox.cxx"<<std::endl;
+                       Wt::WServer::instance()->stop();
+               }
+       */
+               std::cout<<"Deploying Server -- Definition of server parameters by default  -DELETE THIS MESSAGE bbtkWTBlackBox.cxx"<<std::endl;
+               Wt::WRun(argc,argv,&createApplication); 
+       }
 
   //==================================================================    
 
@@ -321,9 +309,12 @@ namespace bbtk
       }
     bbmWindow = w;
   }
-  //==================================================================    
 
-  //==================================================================    
+       
+
+    //==================================================================    
+
+  //==================================================================
   void WtBlackBox::bbShowWindow()
   {
     if ((bbmWindow) && (!bbIsShown()))
@@ -338,7 +329,7 @@ namespace bbtk
          {
                // There is not such a thing like show becouse it is a webapp
           // bbGetWindow()->Show();
-           WWt::CreateWtAppIfNeeded();
+         //  WWt::CreateWtAppIfNeeded();
            bbSetShown(true);
          } 
       }
index 3d5f1436e5b581927d94565fa8bb3edd1c2754fb..ba56e29df81f8d3c6294d91f30e22234cd198bdb 100644 (file)
@@ -98,6 +98,7 @@ namespace bbtk
     Wt::WContainerWidget* bbGetWindow() { return bbmWindow; }
     void bbSetWindow(Wt::WContainerWidget*) ;
     bool bbWindowIsCreated() { return (bbGetWindow() != 0); }
+   // Wt::WApplication *createApplication(const Wt::WEnvironment& env);
     //==================================================================    
 
 
@@ -110,7 +111,8 @@ namespace bbtk
     //==================================================================    
 
   private:
-
+    
+    Wt::WApplication* bbApp;
     Wt::WContainerWidget* bbmWindow;
  
   };
index efdaa1946221dbe11fddab5d9de4cc4e4bc88565..a9b4f0b6215b75dae564b8362599d31626395add 100644 (file)
@@ -77,7 +77,7 @@ namespace bbtk
   BEGIN_EVENT_TABLE(WxFrame, wxFrame)
   //  EVT_CLOSE(WxFrame::OnCloseWindow)
     END_EVENT_TABLE();
-     //==================================================================
+     //==========================================Window  ========================
   
      //==================================================================
   WxFrame::WxFrame(WxBlackBox::Pointer b,
@@ -111,7 +111,9 @@ namespace bbtk
     b->bbSetWindow(this);
     // Insert the widget into the window
     wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
+       std::cout<<"------------------------------------USER CREATE WIDGET pre DELETE ME bbtkWxBlackBox.cxx--"<<std::endl;
     b->bbUserCreateWidget(this);
+       std::cout<<"------------------------------------USER CREATE WIDGET post DELETE ME bbtkWxBlackBox.cxx--"<<std::endl;
     wxWindow* widget = b->bbGetOutputWidget();
     sizer->Add( widget, 1, wxALL|wxGROW, 2);
     SetSizer(sizer);
@@ -150,7 +152,7 @@ namespace bbtk
     }
    //==================================================================
 
-  //=========================================================================
+  //====================================================SetWin=====================
   // WxDialog
   //=========================================================================
 
@@ -246,7 +248,7 @@ namespace bbtk
   void WxBlackBox::bbUserSetDefaultValues()
   {
     bbtkBlackBoxDebugMessage("widget",5,"WxBlackBox::bbUserSetDefaultValues()"<<std::endl);
-    bbmWindow = 0;
+    bbmWindow = 0;  
   }
   //=========================================================================
 
@@ -291,6 +293,7 @@ namespace bbtk
   /// Callback for creating a Frame window 
   void WxBlackBox::bbCreateFrameWindow()
   {
+    std::cout<<"--/////////////*****////////////////--JFGA Testing bbCreateFrameWindow Starting ....."<<bbGetInputWinTitle()<<"......!! D E L E T  M E !! bbtkWxBlackBox.cxx"<<std::endl;
     bbtkBlackBoxDebugMessage("widget",3,
                     "==> WxBlackBox::bbCreateFrameWindow() - parent = "
                     <<Wx::GetTopWindow()
@@ -302,7 +305,7 @@ namespace bbtk
                             + " - bbtk (c) CREATIS"),
                     wxSize( bbGetInputWinWidth() , 
                             bbGetInputWinHeight() ) );
-    std::cout<<"--!!--JFGA Testing bbCreateFrameWindow "<<bbGetInputWinTitle()<<"......!! D E L E T  M E !! bbtkWxBlackBox.cxx"<<std::endl;
+    std::cout<<"--/////////////*****////////////////!!--JFGA Testing bbCreateFrameWindow Done ........"<<bbGetInputWinTitle()<<"......!! D E L E T  M E !! bbtkWxBlackBox.cxx"<<std::endl;
     w->Show();
    }
 
index 28c0ec9883aafa2195fe498ef13606d24cd75580..e681ab8c01fa737e45f38c588c273ca6efff7c0e 100644 (file)
@@ -242,9 +242,7 @@ namespace bbwx
                                        bbGetInputReactiveOnKeystroke()
                                        );
     bbSetOutputWidget( w );
-//GetName 
-               std::cout<<"TESTING.... DELETE ME!!!!! bbwxCheckBox.cxx ---- PARENT  :  "<<bbtk::wx2std(parent->GetName())<<std::endl;
-               std::cout<<"TESTING.... DELETE ME!!!!! bbwxCheckBox.cxx"<<std::endl;
+
   }
   
 
index e66a06a432836e787a2b724a35d94186747d312e..e600f89ef99e174dfddc30d98250bab711a094fe 100644 (file)
@@ -99,7 +99,7 @@ namespace bbwx
     BBTK_BLACK_BOX_INTERFACE(CheckBox,bbtk::WxBlackBox);
     BBTK_DECLARE_INPUT(In,bool);
     BBTK_DECLARE_INPUT(Title,std::string);
-       BBTK_DECLARE_INPUT(ReactiveOnKeystroke,int);
+    BBTK_DECLARE_INPUT(ReactiveOnKeystroke,int);
     BBTK_DECLARE_OUTPUT(Out,bool);
     BBTK_PROCESS(Process);
     BBTK_CREATE_WIDGET(CreateWidget);