From 3b8893f76b648600733751d6de295e4126addf29 Mon Sep 17 00:00:00 2001
From: niusiyuan <siyuan.niu@telecom-paristech.fr>
Date: Wed, 17 Apr 2019 13:14:35 +0200
Subject: [PATCH] commit to change branch

---
 simulators/c++2/src_simulator/definitions.h   |  6 ++++++
 .../c++2/src_simulator/sim/Simulator.cpp      | 20 +++++++++++++++++++
 2 files changed, 26 insertions(+)

diff --git a/simulators/c++2/src_simulator/definitions.h b/simulators/c++2/src_simulator/definitions.h
index 7abc2ce6c3..68e608b8ce 100644
--- a/simulators/c++2/src_simulator/definitions.h
+++ b/simulators/c++2/src_simulator/definitions.h
@@ -232,6 +232,7 @@ using std::max;
 #define EXT_TXT ".txt"
 #define EXT_HTML ".html"
 #define EXT_CSS ".css"
+#define EXT_JS ".js"
 
 // Issue #4 HTML Trace Constants
 #define MAX_COL_SPAN 1000
@@ -253,6 +254,9 @@ using std::max;
 #define SCHED_HTML_END_STYLE "</style>\n"
 #define SCHED_HTML_CSS_BEG_LINK "<link rel=\"stylesheet\" type=\"text/css\" href=\""
 #define SCHED_HTML_CSS_END_LINK "\" />\n"
+#define SCHED_HTML_JS_CANVAS_NAME "\n<canvas id=\"myCanvas\"> </canvas>\n"
+#define SCHED_HTML_JS_BEG_LINK "<script type=\"text/javascript\" src=\""
+#define SCHED_HTML_JS_END_LINK "\"></script>\n"
 #define NB_HTML_COLORS 15
 #define SCHED_HTML_CSS_CONTENT "table{\n \
 	border-collapse: collapse;\n \
@@ -498,6 +502,8 @@ h2 span {\n \
 	border-style: solid solid solid none;\n \
 }"
 
+
+
 class TMLTask;
 class TMLTransaction;
 class TMLCommand;
diff --git a/simulators/c++2/src_simulator/sim/Simulator.cpp b/simulators/c++2/src_simulator/sim/Simulator.cpp
index 5d7e763969..dbc3767d52 100644
--- a/simulators/c++2/src_simulator/sim/Simulator.cpp
+++ b/simulators/c++2/src_simulator/sim/Simulator.cpp
@@ -326,9 +326,13 @@ std::cout<<"schedule2HTML--------------------------------------*****************
 
     const std::string ext( EXT_HTML );
     const std::string cssFileName = iTraceFileName.substr( indexSlash + 1, iTraceFileName.length() - indexSlash - ext.length() - 1 ) + EXT_CSS; 
+    const std::string jsFileName = iTraceFileName.substr( indexSlash + 1, iTraceFileName.length() - indexSlash - ext.length() - 1 ) + EXT_JS;
     //myfile<<"length is "<< iTraceFileName.length() - indexSlash - ext.length() - 1<<std::endl;
     const std::string cssFullFileName = iTraceFileName.substr( 0, indexSlash + 1 ) + cssFileName;
+    const std::string jsFullFileName =  iTraceFileName.substr( 0, indexSlash + 1 ) + jsFileName;
     std::ofstream cssfile( cssFullFileName.c_str() );
+    std::ofstream jsfile( jsFullFileName.c_str() );
+    
     //myfile<<"full name is "<<cssFullFileName<<std::endl;
     if ( cssfile.is_open() ) {
       cssfile << SCHED_HTML_CSS_CONTENT;
@@ -358,10 +362,26 @@ std::cout<<"schedule2HTML--------------------------------------*****************
 	(*i)->schedule2HTML(myfile);
 	(*i)->setCycleTime((*i)->getCycleTime()+1);
 	std::cout<<"~~~~~~~~~~~~~~~~~~"<<std::endl;
+	if ( jsfile.is_open() ) {
+	  //jsfile << SCHED_HTML_JS_CONTENT;
+	
+	  
+	  myfile << SCHED_HTML_JS_CANVAS_NAME;
+	  myfile << SCHED_HTML_JS_BEG_LINK;
+	  myfile << jsFullFileName;     
+	  myfile << SCHED_HTML_JS_END_LINK;
+	}
+	else {
+	  myfile << SCHED_HTML_BEG_STYLE; // <style>\n";
+	  //myfile << SCHED_HTML_CSS_CONTENT;
+	  myfile << SCHED_HTML_END_STYLE; // <style>\n";
 	}
+	
+      }
         if((*i)->getAmoutOfCore() == 1)
 	   (*i)->setCycleTime(0);
     }
+    jsfile.close();
     //for(BusList::const_iterator j=_simComp->getBusIterator(false); j != _simComp->getBusIterator(true); ++j){
     for(BusList::const_iterator j=_simComp->getBusList().begin(); j != _simComp->getBusList().end(); ++j){
       (*j)->schedule2HTML(myfile);
-- 
GitLab