Changeset 411 in PSPA for Interface_Web/trunk
- Timestamp:
- Mar 29, 2013, 5:20:18 PM (12 years ago)
- Location:
- Interface_Web/trunk/pspaWT
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
Interface_Web/trunk/pspaWT/History
r410 r411 5 5 PSPA - Plateforme de simulation en physique des accélérateurs 6 6 ========================================================= 7 8 29 Mars : Laurent Garnier 9 - Alignement au milieu de la ligne entre les elements 10 - Ajout d'une marge autour des elements de la beamLine 11 - Ajout d'une bordure autour des icones de gauche 12 - GWt_console : Ajout d'une fonction de recherche 7 13 8 14 28 Mars : Laurent Garnier -
Interface_Web/trunk/pspaWT/htdocs/pspa.css
r404 r411 17 17 background-image : url("line.gif"); 18 18 background-repeat : repeat-x; 19 background-size : 100% 100%; 19 20 } 20 21 … … 64 65 box-shadow: 0 1px 3px rgba(34, 25, 25, 0.4); 65 66 padding: 8px 8px; 67 margin:4px 0px; 66 68 position: absolute; 67 69 border-radius: 5px; 70 text-align: center; 68 71 } 69 72 … … 199 202 } 200 203 201 . console {204 .scrollConsole { 202 205 background-color: #EEEEEE; 203 } 204 206 padding: 4px; 207 } 208 209 .draggableIcon { 210 border: 1px solid ; 211 border-radius: 0.3em 0.3em 0.3em 0.3em; 212 box-shadow: 0 1px rgba(255, 255, 255, 0.8), 0 1px rgba(255, 255, 255, 0.35) inset; 213 padding: 2px; 214 } 205 215 206 216 *|*:-moz-any-link:not(svg|a) { -
Interface_Web/trunk/pspaWT/sources/userInterface/include/GWt_console.h
r401 r411 19 19 void addConsoleMessage(WString msg); 20 20 private: 21 WText* output_; 21 WText* outputCurrent_; 22 WString outputOriginal_; 23 void searchFilter(); 24 WLineEdit* searchLineEdit_; 22 25 }; 23 26 -
Interface_Web/trunk/pspaWT/sources/userInterface/src/GWt_console.cc
r409 r411 5 5 #include <Wt/WBorder> 6 6 #include <Wt/WLayout> 7 #include <Wt/WVBoxLayout> 7 8 #include <Wt/WPanel> 9 #include <Wt/WLabel> 10 #include <Wt/WLineEdit> 8 11 #include <Wt/WScrollArea> 12 #include <Wt/Utils> 13 9 14 10 15 GWt_console::GWt_console() … … 13 18 setObjectName("console"); 14 19 20 21 // la ligne de search 22 Wt::WContainerWidget *searchContainer = new Wt::WContainerWidget(); 23 24 Wt::WLabel *label = new Wt::WLabel("Search ", searchContainer); 25 searchLineEdit_ = new Wt::WLineEdit("", searchContainer); 26 searchLineEdit_->setToolTip("clic here to search a string into the output"); 27 15 28 // le panel 16 29 WPanel *panelConsole = new WPanel(this); 17 WScrollArea* container = new WScrollArea(); 30 panelConsole->setTitle(" output"); 31 32 WScrollArea* scrollContainer = new WScrollArea(); 18 33 19 panelConsole->setTitle(" output");20 output_ = new WText(this);21 output_->setTextFormat(PlainText);22 output_->setInline(false);23 34 24 container->setWidget(output_); 35 outputCurrent_ = new WText(this); 36 outputCurrent_->setTextFormat(Wt::XHTMLText); 37 outputCurrent_->setInline(false); 38 outputCurrent_->setMaximumSize(750,400); 25 39 26 panelConsole->setCentralWidget(container); 27 output_->setMinimumSize(300,100); 28 output_->setMaximumSize(400,400); 40 scrollContainer->setWidget(outputCurrent_); 41 scrollContainer->setStyleClass("scrollConsole"); 29 42 30 container->setStyleClass("console"); 43 Wt::WContainerWidget *panelContainer = new Wt::WContainerWidget(); 44 Wt::WVBoxLayout* vContainerLayout = new Wt::WVBoxLayout(); 45 46 vContainerLayout->addWidget(searchContainer); 47 vContainerLayout->addWidget(scrollContainer); 48 49 50 panelContainer->setLayout(vContainerLayout); 51 panelConsole->setCentralWidget(panelContainer); 52 53 // signals 54 searchLineEdit_->keyWentUp ().connect(this, &GWt_console::searchFilter); 31 55 } 32 56 … … 37 61 38 62 63 void GWt_console::searchFilter() { 64 65 std::string br = "<br />"; 66 67 std::string txt = searchLineEdit_->text().toUTF8 (); 68 if (searchLineEdit_->text() == "") { 69 outputCurrent_->setText(outputOriginal_); 70 outputCurrent_->setTextFormat(Wt::XHTMLText); 71 return; 72 } 73 74 std::string outputStr = outputOriginal_.toUTF8(); 75 std::string outputFinal = ""; 76 77 // look for lines that contains the seacrh string 78 bool end = false; 79 int nextPos = 0; 80 int nextPosTxt = 0; 81 int lineNumber = 0; 82 std::string beginStr; 83 std::string endStr; 84 85 // loop on all lines 86 while (end == false) { 87 lineNumber++; 88 89 nextPos = outputStr.find(br); 90 91 // if this line contains the token 92 if (nextPos != std::string::npos) { 93 beginStr = outputStr.substr(0,nextPos); 94 endStr = outputStr.substr(nextPos+br.size()); 95 outputStr = endStr; 96 97 98 // colorize for all token 99 bool lineEnd = false; 100 std::string colorizeTxt = ""; 101 while (lineEnd == false) { 102 nextPosTxt = beginStr.find(txt); 103 104 if (nextPosTxt != std::string::npos) { 105 colorizeTxt += beginStr.substr(0,nextPosTxt)+ 106 std::string("<b><font style='background-color:yellow;'>")+ 107 txt+ 108 std::string("</font></b>"); 109 beginStr = beginStr.substr(nextPosTxt+txt.size()); 110 111 } else if (colorizeTxt != "") { 112 colorizeTxt += beginStr; 113 lineEnd = true; 114 } else { 115 lineEnd = true; 116 } 117 } 118 if (colorizeTxt != "") { 119 std::stringstream ss; 120 ss << lineNumber; 121 outputFinal += std::string("<font color='gray'>line ")+ss.str()+" : </font>"+colorizeTxt+br; 122 } 123 } else { 124 end = true; 125 } 126 } 127 128 outputCurrent_->setText(outputFinal); 129 outputCurrent_->setTextFormat(Wt::XHTMLText); 130 131 } 132 133 39 134 void GWt_console::addConsoleMessage(WString msg) { 40 135 41 output_->setText(output_->text()+msg); 42 136 // changes specials caracters 137 outputOriginal_ += Wt::Utils::htmlEncode (msg.toUTF8(), Wt::Utils::EncodeNewLines); 138 139 // apply filter, will modify outputCurrent 140 searchFilter(); 43 141 /* 44 142 * Little javascript trick to make sure we scroll along with new content 45 143 */ 46 wApp->doJavaScript(output _->jsRef() + ".scrollTop += "47 + output _->jsRef() + ".scrollHeight;");144 wApp->doJavaScript(outputCurrent_->jsRef() + ".scrollTop += " 145 + outputCurrent_->jsRef() + ".scrollHeight;"); 48 146 49 147 } -
Interface_Web/trunk/pspaWT/sources/userInterface/src/GWt_draggableImage.cc
r272 r411 37 37 mouseWentOut().connect(this, &GWt_draggableImage::mouseOut); 38 38 mouseDragged().connect(this, &GWt_draggableImage::mouseIsDragged); 39 setStyleClass("draggableIcon"); 40 39 41 } 40 42 -
Interface_Web/trunk/pspaWT/sources/userInterface/src/GWt_softwarePanel.cc
r407 r411 140 140 sections_.push_back(newSection); 141 141 142 /* Wt::WContainerWidget* container = new Wt::WContainerWidget();143 Wt::WGridLayout* containerLayout = new Wt::WGridLayout();144 containerLayout->setContentsMargins(0,0,0,0);145 146 // push back on User interface147 containerLayout->addWidget(newSection,0,0);148 149 // add buttons150 containerLayout->addWidget(createAddDeletePushButtons(sections_.size()-1),0,1);151 152 container->setLayout(containerLayout);153 */154 155 // add to sections156 // contenuSections_->addWidget(container);157 142 contenuSections_->addWidget(newSection); 143 144 updateSections(); 158 145 } 159 146
Note: See TracChangeset
for help on using the changeset viewer.