Commit 46858100de6f31fbd111f82a883cad1b55f2bd0c
1 parent
505546bc
Exists in
master
and in
88 other branches
Tickplot: Add mission name and frame
Showing
2 changed files
with
52 additions
and
13 deletions
Show diff stats
src/ParamOutputImpl/Plot/TickPlot/TickMarkDecorator.cc
@@ -56,7 +56,6 @@ TickMarkDecorator& TickMarkDecorator::operator=(const TickMarkDecorator& ref_) { | @@ -56,7 +56,6 @@ TickMarkDecorator& TickMarkDecorator::operator=(const TickMarkDecorator& ref_) { | ||
56 | } else { | 56 | } else { |
57 | _pTimeInfo->_timeFormat = ref_._pTimeInfo->_timeFormat; | 57 | _pTimeInfo->_timeFormat = ref_._pTimeInfo->_timeFormat; |
58 | _pTimeInfo->_timeTitle = ref_._pTimeInfo->_timeTitle; | 58 | _pTimeInfo->_timeTitle = ref_._pTimeInfo->_timeTitle; |
59 | - _pTimeInfo->_isFirstLabel = ref_._pTimeInfo->_isFirstLabel; | ||
60 | _pTimeInfo->_maxLen = ref_._pTimeInfo->_maxLen; | 59 | _pTimeInfo->_maxLen = ref_._pTimeInfo->_maxLen; |
61 | } | 60 | } |
62 | _seriesInfoList = ref_._seriesInfoList; | 61 | _seriesInfoList = ref_._seriesInfoList; |
@@ -281,6 +280,12 @@ void TickMarkDecorator::draw(PanelPlotOutput* pplot_, Axis* axis_, | @@ -281,6 +280,12 @@ void TickMarkDecorator::draw(PanelPlotOutput* pplot_, Axis* axis_, | ||
281 | LOG4CXX_TRACE(_logger, " virtual axis ["<<i<<"]"); | 280 | LOG4CXX_TRACE(_logger, " virtual axis ["<<i<<"]"); |
282 | // install label generator specific for that virtual axis | 281 | // install label generator specific for that virtual axis |
283 | pls_->slabelfunc(generateYLabel, _seriesInfoList[i].get()); | 282 | pls_->slabelfunc(generateYLabel, _seriesInfoList[i].get()); |
283 | + if (!_seriesInfoList[i]->_description.empty()) { | ||
284 | + // draw additionnal description | ||
285 | + drawVirtualAxis(yDelta * dir, yInc, _seriesInfoList[i]->_description.c_str(), 0, 0, "", pls_); | ||
286 | + // increment offset | ||
287 | + yDelta = yDelta + yInc; | ||
288 | + } | ||
284 | // draw virtual axis | 289 | // draw virtual axis |
285 | drawVirtualAxis(yDelta * dir, yInc, _seriesInfoList[i]->_name.c_str(), xtick, nxsub, options.c_str(), pls_); | 290 | drawVirtualAxis(yDelta * dir, yInc, _seriesInfoList[i]->_name.c_str(), xtick, nxsub, options.c_str(), pls_); |
286 | // increment offset | 291 | // increment offset |
@@ -327,7 +332,6 @@ void TickMarkDecorator::installLabelGenerator(PanelPlotOutput* /*pplot_*/, TimeA | @@ -327,7 +332,6 @@ void TickMarkDecorator::installLabelGenerator(PanelPlotOutput* /*pplot_*/, TimeA | ||
327 | // install time format | 332 | // install time format |
328 | _pTimeInfo->_timeFormat = getPlFormat(); | 333 | _pTimeInfo->_timeFormat = getPlFormat(); |
329 | _pTimeInfo->_timeTitle = timeAxis_->_legend.getText(); | 334 | _pTimeInfo->_timeTitle = timeAxis_->_legend.getText(); |
330 | - _pTimeInfo->_isFirstLabel = true; | ||
331 | 335 | ||
332 | unsigned int maxNameLen = _pTimeInfo->_timeTitle.size(); | 336 | unsigned int maxNameLen = _pTimeInfo->_timeTitle.size(); |
333 | // init maximum value len with formatted time : | 337 | // init maximum value len with formatted time : |
@@ -348,19 +352,18 @@ void TickMarkDecorator::installLabelGenerator(PanelPlotOutput* /*pplot_*/, TimeA | @@ -348,19 +352,18 @@ void TickMarkDecorator::installLabelGenerator(PanelPlotOutput* /*pplot_*/, TimeA | ||
348 | const std::string name = p._originalParamId; | 352 | const std::string name = p._originalParamId; |
349 | LOG4CXX_DEBUG(_logger, " inspecting parameter : " << name); | 353 | LOG4CXX_DEBUG(_logger, " inspecting parameter : " << name); |
350 | for(auto lSeriesProperties : p.getYSeriePropertiesList()) { | 354 | for(auto lSeriesProperties : p.getYSeriePropertiesList()) { |
355 | + bool isFirstIndex = true; | ||
351 | for (auto index : lSeriesProperties.getIndexList(_pParameterValues)) { | 356 | for (auto index : lSeriesProperties.getIndexList(_pParameterValues)) { |
352 | boost::shared_ptr<SeriesInfo> pSerie = | 357 | boost::shared_ptr<SeriesInfo> pSerie = |
353 | boost::shared_ptr<SeriesInfo>(new SeriesInfo()); | 358 | boost::shared_ptr<SeriesInfo>(new SeriesInfo()); |
354 | 359 | ||
360 | + AMDA::Parameters::ParameterSPtr param = _decoratorPlot->_parameterManager.getParameter(lSeriesProperties.getParamId()); | ||
355 | AMDA::Info::ParamMgr* piMgr = AMDA::Info::ParamMgr::getInstance(); | 361 | AMDA::Info::ParamMgr* piMgr = AMDA::Info::ParamMgr::getInstance(); |
356 | - AMDA::Info::ParamInfoSPtr paramInfo = piMgr->getParamInfoFromId(lSeriesProperties.getParamId()); | 362 | + AMDA::Info::ParamInfoSPtr paramInfo = piMgr->getParamInfoFromId(param->getInfoId()); |
357 | 363 | ||
358 | std::ostringstream osstr; | 364 | std::ostringstream osstr; |
359 | bool skipIndex = false; | 365 | bool skipIndex = false; |
360 | - if (paramInfo == nullptr) { | ||
361 | - osstr << name; | ||
362 | - } | ||
363 | - else { | 366 | + if (paramInfo != nullptr) { |
364 | if (paramInfo->getComponents(index).empty() == false) { | 367 | if (paramInfo->getComponents(index).empty() == false) { |
365 | osstr << paramInfo->getComponents(index); | 368 | osstr << paramInfo->getComponents(index); |
366 | skipIndex = true; | 369 | skipIndex = true; |
@@ -370,6 +373,10 @@ void TickMarkDecorator::installLabelGenerator(PanelPlotOutput* /*pplot_*/, TimeA | @@ -370,6 +373,10 @@ void TickMarkDecorator::installLabelGenerator(PanelPlotOutput* /*pplot_*/, TimeA | ||
370 | } | 373 | } |
371 | } | 374 | } |
372 | 375 | ||
376 | + if (osstr.str().empty()) { | ||
377 | + osstr << name; | ||
378 | + } | ||
379 | + | ||
373 | if (!skipIndex) { | 380 | if (!skipIndex) { |
374 | if(index.getDim1Index() != -1){ | 381 | if(index.getDim1Index() != -1){ |
375 | osstr << "[" << index.getDim1Index() ; | 382 | osstr << "[" << index.getDim1Index() ; |
@@ -390,7 +397,37 @@ void TickMarkDecorator::installLabelGenerator(PanelPlotOutput* /*pplot_*/, TimeA | @@ -390,7 +397,37 @@ void TickMarkDecorator::installLabelGenerator(PanelPlotOutput* /*pplot_*/, TimeA | ||
390 | if (pSerie->_name.size() > maxNameLen) { | 397 | if (pSerie->_name.size() > maxNameLen) { |
391 | maxNameLen = pSerie->_name.size(); | 398 | maxNameLen = pSerie->_name.size(); |
392 | } | 399 | } |
393 | - pSerie->_isFirstLabel = true; | 400 | + |
401 | + if (isFirstIndex) { | ||
402 | + std::string description; | ||
403 | + if (paramInfo != nullptr) { | ||
404 | + description = paramInfo->getInstrumentId(); | ||
405 | + if (!description.empty()) { | ||
406 | + if (description.find('_') != std::string::npos) { | ||
407 | + description = description.substr(0, description.find('_')); | ||
408 | + } | ||
409 | + std::transform(description.begin(), description.end(), description.begin(), ::toupper); | ||
410 | + } | ||
411 | + else { | ||
412 | + description = paramInfo->getShortName(); | ||
413 | + } | ||
414 | + } | ||
415 | + | ||
416 | + if ((index.getDim1Index() != -1) || (index.getDim2Index() != -1)) { | ||
417 | + if (description.empty()) { | ||
418 | + description = name; | ||
419 | + } | ||
420 | + if ((paramInfo != nullptr) && (paramInfo->getCoordinatesSystem().empty() == false)) { | ||
421 | + description += ", "; | ||
422 | + description += paramInfo->getCoordinatesSystem(); | ||
423 | + } | ||
424 | + } | ||
425 | + pSerie->_description = description; | ||
426 | + if (pSerie->_description.size() > maxNameLen) { | ||
427 | + maxNameLen = pSerie->_description.size(); | ||
428 | + } | ||
429 | + } | ||
430 | + | ||
394 | pSerie->_valuesFormat = getValuesFormat(); | 431 | pSerie->_valuesFormat = getValuesFormat(); |
395 | 432 | ||
396 | //Compute max len | 433 | //Compute max len |
@@ -403,6 +440,7 @@ void TickMarkDecorator::installLabelGenerator(PanelPlotOutput* /*pplot_*/, TimeA | @@ -403,6 +440,7 @@ void TickMarkDecorator::installLabelGenerator(PanelPlotOutput* /*pplot_*/, TimeA | ||
403 | } | 440 | } |
404 | 441 | ||
405 | _seriesInfoList.push_back(pSerie); | 442 | _seriesInfoList.push_back(pSerie); |
443 | + isFirstIndex = false; | ||
406 | } | 444 | } |
407 | } | 445 | } |
408 | } | 446 | } |
src/ParamOutputImpl/Plot/TickPlot/TickMarkDecorator.hh
@@ -28,6 +28,12 @@ struct SeriesInfo{ | @@ -28,6 +28,12 @@ struct SeriesInfo{ | ||
28 | * @brief name of that series (i.e. name of parameter and index if not a scalar parameter). | 28 | * @brief name of that series (i.e. name of parameter and index if not a scalar parameter). |
29 | */ | 29 | */ |
30 | std::string _name; | 30 | std::string _name; |
31 | + | ||
32 | + /** | ||
33 | + * @brief description | ||
34 | + */ | ||
35 | + std::string _description; | ||
36 | + | ||
31 | /** | 37 | /** |
32 | * @brief maximum len for name. | 38 | * @brief maximum len for name. |
33 | */ | 39 | */ |
@@ -42,11 +48,6 @@ struct SeriesInfo{ | @@ -42,11 +48,6 @@ struct SeriesInfo{ | ||
42 | unsigned int _maxValueLen; | 48 | unsigned int _maxValueLen; |
43 | 49 | ||
44 | /** | 50 | /** |
45 | - * @brief to know if it's the first label to draw | ||
46 | - */ | ||
47 | - bool _isFirstLabel; | ||
48 | - | ||
49 | - /** | ||
50 | * @brief link to the parameter data | 51 | * @brief link to the parameter data |
51 | */ | 52 | */ |
52 | ParameterData* _parameterData; | 53 | ParameterData* _parameterData; |