GraphViewSettingDialog.cpp 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #include "pch.h"
  2. #include "GraphViewSettingDialog.h"
  3. #include <QListWidgetItem>
  4. #include <QPushButton>
  5. #include "GraphViewSettingItem.h"
  6. #include <QScrollArea>
  7. GraphViewSettingDialog::GraphViewSettingDialog(GraphPlott* view, QString title)
  8. : QDialog(view, Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowType::WindowCloseButtonHint), view(view)
  9. {
  10. ui.setupUi(this);
  11. setWindowTitle(title);
  12. QWidget* toScroll = new QWidget(this);
  13. layout = new QVBoxLayout(this);
  14. layout->setContentsMargins(3, 0, 3, 0);
  15. toScroll->setLayout(layout);
  16. QVBoxLayout* myLayout = new QVBoxLayout(this);
  17. myLayout->setContentsMargins(0, 0, 0, 0);
  18. QScrollArea* scrollArea = new QScrollArea;
  19. scrollArea->setWidgetResizable(true);
  20. scrollArea->setWidget(toScroll);
  21. myLayout->addWidget(scrollArea);
  22. this->setLayout(myLayout);
  23. }
  24. GraphViewSettingDialog::~GraphViewSettingDialog()
  25. {
  26. }
  27. void GraphViewSettingDialog::openDialog()
  28. {
  29. //Generate Buttons
  30. //qDebug() << "vecsize " << vecsize << " view->getSeriesVector().size() " << view->getSeriesVector().size();
  31. if (vecsize == view->getSeriesVector().size()) {
  32. this->activateWindow();
  33. this->setFocus();
  34. this->show();
  35. return;
  36. }
  37. else {
  38. vecsize = view->getSeriesVector().size();
  39. QLayoutItem* item;
  40. while ((item = layout->takeAt(0)))
  41. delete item;
  42. }
  43. for (auto iter = view->getSeriesVector().begin(); iter != view->getSeriesVector().end(); iter++) {
  44. GraphViewSettingItem* handle = new GraphViewSettingItem(view, &*iter, this);
  45. layout->addWidget(handle);
  46. }
  47. this->show();
  48. }