]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkWtBlackBox.cxx
#2696 BBTK Bug New Normal - BoxChange BoxExecute not responding at the second actio...
[bbtk.git] / kernel / src / bbtkWtBlackBox.cxx
index 581eecf0af12aae82d67fa82b6f521cbc7d204ba..a3cb0db75c09fec514311476812fcc3367d60e98 100644 (file)
@@ -1,3 +1,4 @@
+
 /*
  # ---------------------------------------------------------------------
  #
 //#include "bbtkData.h"
 //#include "bbtkFactory.h"
 
+
+
+
 namespace bbtk
 {
+
+/*     
+       class jScript
+       {
+               public:
+                       jScript();
+                       std::string jScriptLine;
+       };
+*/
   //=========================================================================
   // wtData structure
   //=========================================================================
+
+       // For the very first contruction of the application
+/*     struct wtServerData
+       {
+         std::string docRoot;
+         std::string port;
+         std::string address;
+       
+       };
+       */
        struct wtData
        {
                Wt::WContainerWidget *parent;
                WtBlackBox::Pointer b;
-               Wt::WString title;              
+               WtBlackBox *pbox;       
+               Wt::WString title;      
        };
 
+/*     jScript::jScript()
+       {
+               jScriptLine = "";
+       }
+*/
+//     static bbtk::jScript* js  = new bbtk::jScript();
        static wtData myWtData;
+//     static wtServerData loadedJS;
+       //static std::string* jss;
+       
+       
+
+  //=========================================================================
+  // javaScript Line
+  //=========================================================================
+       //Contains all the JS statements needed for the bbwt.
+               
   //=========================================================================
   // WxFrame
   //=========================================================================
        // Application WT deployed
   //==================================================================
  
-
  class WtWFrame : public Wt::WApplication
   {
   public:
-    WtWFrame(
-                       const Wt::WEnvironment& env                     
-           );
-    ~WtWFrame();
-
-       
+    WtWFrame( const Wt::WEnvironment& env );
+    ~WtWFrame();       
+    WtBlackBox::WeakPointer mBox; 
+  };   
        
-       WtBlackBox::WeakPointer mBox; 
 
+       WtWFrame::WtWFrame( const Wt::WEnvironment& env ):Wt::WApplication(env)
+       {  
+               //std::cout<<"Adding JavaScript --  DELETE ME -- bbtkWtBlackBox.cxx"<<std::endl;
+               //this->require("/home/gonzalez/Documents/CREATOOLS/wt_library/wt/bbtk_wt_PKG/src/js/xtk.js");
 
-  };   
+               //this->require("http://get.goXTK.com/xtk.js");
+               //this->useStyleSheet("css/demo.css");
 
+       //this->require("http://get.goXTK.com/xtk.js");
+       this->require( "resourcesXTK/xtk.js" );
+               
+       //      this->require("http://get.goXTK.com/xtk_edge.js");
+//     this->require("http://get.goXTK.com/xtk_xdat.gui.js");
+       this->require( "resourcesXTK/xtk_xdat.gui.js" );
 
-       WtWFrame::WtWFrame(
-                       const Wt::WEnvironment& env
-                  )
-    : 
-    Wt::WApplication(env)
-  {  
-       
+  this->useStyleSheet("resourcesXTK/styleWT.css"); 
+       //      std::cout<<"Cargado------------           "<<loadedJS<<std::endl;
                mBox = myWtData.b;
+
+//EED -->
                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;
-               myWtData.b->bbUserCreateWidget(myCont);
+               {
+                       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 *myContainer = new Wt::WContainerWidget(myWtData.parent);
+               myContainer->setMinimumSize(800,500);
+               std::cout<<"Creando WebWIDGET DELETE ME ---- bbtkWtBlackBox.cxx.......50%"<<std::endl;
+               myWtData.b->bbUserCreateWidget(myContainer);
+
                root()->addWidget(myWtData.parent);
                //bbmWindow = myCont;
-               std::cout<<"Creando WebWIDGET DELETE ME ---- bbtkWtBlackBox.cxx.................80%"<<std::endl;
+               this->refresh();
+               //jss = WtBlackBox::jScript;
+               std::cout<<"Creando WebWIDGET DELETE ME ---- bbtkWtBlackBox.cxx........80%"<<std::endl;
+               std::cout<<"Creando WebWIDGET DELETE ME SCRIPT : ---"<<bbtk::jScript<<"......80%"<<std::endl;
+               //this->doJavaScript(bbtk::jScript); 
+
+//EED
+       myWtData.pbox->bbwtUpdateInputs();
+//       myWtData.pbox->bbwtProcess();
 
 
   }
@@ -200,7 +253,7 @@ namespace bbtk
     Layout();
   }
   //==================================================================
-  //==================================================================
+  //===========================organise=======================================
   WxDialog::~WxDialog() 
     { 
       bbtkDebugMessage("widget",9,"WxDialog::~WxDialog()"<<std::endl);
@@ -212,8 +265,8 @@ namespace bbtk
    //==================================================================
   void WxDialog::OnCloseWindow(wxCloseEvent& event)
     {
-      bbtkDebugMessage("widget",9,"WxDialog::OnCloseWindow()"<<std::endl);
-      if (mBox.lock()) mBox.lock()->bbSetWindow(0); 
+      bbtkDebugMessage("widget",9,"WxDialog::OnCloseWindow()"<<wxGUIEditorGraphicBBS:std::endl);
+      if (mBox.lock()) mBox.lock()->bbSetWindow(0); http://doodle.com/qx65tfxismf7d6ku5vxykghs/admin#table
       Wx::DecNbWindowsAlive();
       this->Destroy();
     }
@@ -229,6 +282,16 @@ namespace bbtk
   //=========================================================================
   //=========================================================================
   BBTK_BLACK_BOX_IMPLEMENTATION(WtBlackBox,WidgetBlackBox<Wt::WContainerWidget>);
+       
+       //std::string WtBlackBox::wtServerData::docRoot = "/home/gonzalez/Documents/pruebaResources";
+       //std::string WtBlackBox::wtServerData::docRoot = "/usr/local/share/wtResources";
+  //std::string WtBlackBox::wtServerData::port    = "8081";
+
+       std::string WtBlackBox::wtServerData::docRoot   = "<void>";
+       std::string WtBlackBox::wtServerData::port      = "<void>";
+       std::string WtBlackBox::wtServerData::address   = "0.0.0.0";
+       int WtBlackBox::wtServerData::argc                              = 0;
+       char **WtBlackBox::wtServerData::argv                   = NULL;
 
   //=========================================================================
   //=========================================================================
@@ -280,22 +343,48 @@ namespace bbtk
 
                //Setting necessary data for Wt server deployment
                myWtData.parent = WWt::GetTopWindow();
-               myWtData.b = GetThisPointer<WtBlackBox>();
-               myWtData.title = std2wt( bbGetInputWinTitle()  
-                            + " - bbtk (c) CREATIS");
+               myWtData.b      = GetThisPointer<WtBlackBox>();
+               myWtData.title  = std2wt( bbGetInputWinTitle() + " - bbtk (c) CREATIS");
+               myWtData.pbox   = this;
+               
+               //char  *argv[7] =  {"./WtTest","--docroot","/home/gonzalez/Documents/pruebaResources","--http-address","0.0.0.0","--http-port","8080"};
+               //int argc = 7;
+               
+/*             
+                       char  *argv[7] =  {"./WtTest"
+,"--docroot",(char*)WtBlackBox::wtServerData::docRoot.c_str()
+,"--http-address",(char*)WtBlackBox::wtServerData::address.c_str()
+,"--http-port",(char*)WtBlackBox::wtServerData::port.c_str()
+};
+               int argc = 3;
+               std::cout<<" ---  PUERTO  :"<<WtBlackBox::wtServerData::port<<std::endl;
+*/
+
+/*             
+char  *argv[2] =  {"./bbiWeb.wt","client"};
+int argc=2;
+*/
+
 
-               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); 
-       }
+
+
+               std::cout<<"EED WtBlackBox::bbCreateFrameWindow  Deploying Server -- Definition of server parameters by default  -DELETE THIS MESSAGE bbtkWTBlackBox.cxx"<<std::endl;
+
+
+//             Wt::WRun(argc,argv,&createApplication); 
+
+               Wt::WRun(WtBlackBox::wtServerData::argc,
+                         WtBlackBox::wtServerData::argv,
+                         &createApplication);  
+
+
+   }
 
   //==================================================================    
 
@@ -330,6 +419,13 @@ namespace bbtk
                // There is not such a thing like show becouse it is a webapp
           // bbGetWindow()->Show();
          //  WWt::CreateWtAppIfNeeded();
+
+
+               Wt::WRun(WtBlackBox::wtServerData::argc,
+                         WtBlackBox::wtServerData::argv,
+                         &createApplication);  
+
+
            bbSetShown(true);
          } 
       }
@@ -354,7 +450,21 @@ namespace bbtk
     bbtkBlackBoxDebugMessage("widget",3,"<== WtBlackBox::bbDestroyWindow("<<bbmWindow<<")"<<std::endl);
 
   }
-  //==================================================================    
+
+
+//==================================================================    
+       void WtBlackBox::bbwtUpdateInputs()
+       {
+               BlackBox::bbUpdateInputs();
+       }
+
+//==================================================================    
+       void WtBlackBox::bbwtProcess()
+       {
+               BlackBox::bbProcess();
+       }
+
+
 
 }//namespace bbtk