MainWindow.cpp 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #include <QGuiApplication>
  2. #include <QScreen>
  3. #include <QWidget>
  4. #include <QMenuBar>
  5. #include <QFileDialog>
  6. #include <QHBoxLayout>
  7. #include <QPushButton>
  8. #include "MainWindow.hpp"
  9. MainWindow::MainWindow ()
  10. {
  11. createActions ();
  12. createMenus ();
  13. setWindowTitle (tr ("DSL - Draw Strength Line"));
  14. QScreen *screen = QGuiApplication::primaryScreen ();
  15. QRect screenGeometry = screen->geometry ();
  16. screenWidth = screenGeometry.width () - 200;
  17. screenHeight = screenGeometry.height () - 200;
  18. QWidget *central= new QWidget(this);
  19. waLeft = new WorkArea ((screenWidth/2)-25, screenHeight, this);
  20. waRight = new WorkArea ((screenWidth/2)-25, screenHeight, this);
  21. QHBoxLayout *layout = new QHBoxLayout(this);
  22. layout->addWidget(waLeft);
  23. QPushButton *button = new QPushButton("coucou", this);
  24. button->setFixedSize(QSize(50,20));
  25. layout->addWidget(button);
  26. layout->addWidget(waRight);
  27. central->setLayout(layout);
  28. setCentralWidget (central);
  29. setFixedSize (screenWidth, screenHeight);
  30. }
  31. void
  32. MainWindow::open ()
  33. {
  34. QString imageFilename = QFileDialog::getOpenFileName (this,
  35. QObject::
  36. tr ("Open image file"),
  37. QDir::currentPath (),
  38. QObject::
  39. tr
  40. ("Images files (*.jpg *.png);;All files (*.*)"));
  41. QString SLLeftFilename = QFileDialog::getOpenFileName (this,
  42. QObject::
  43. tr ("Open strength lines file"),
  44. QDir::currentPath (),
  45. QObject::
  46. tr
  47. ("Text files (*.txt);;All files (*.*)"));
  48. QString SLRightFilename = QFileDialog::getOpenFileName (this,
  49. QObject::
  50. tr ("Open strength lines file"),
  51. QDir::currentPath (),
  52. QObject::
  53. tr
  54. ("Text files (*.txt);;All files (*.*)"));
  55. openC(imageFilename, SLLeftFilename, SLRightFilename);
  56. }
  57. void
  58. MainWindow::openC (QString image, QString leftSL, QString rightSL){
  59. waLeft->loadImage (image.toStdString ());
  60. waRight->loadImage (image.toStdString ());
  61. waLeft->loadSL(leftSL.toStdString());
  62. waRight->loadSL(rightSL.toStdString());
  63. waLeft->setReadOnly(true);
  64. waRight->setReadOnly(true);
  65. setFixedSize (waLeft->geometry().width()*2+50, waLeft->geometry().height()+waLeft->geometry().y());
  66. }
  67. void
  68. MainWindow::createActions ()
  69. {
  70. openAct = new QAction (tr ("&Open image"), this);
  71. openAct->setShortcuts (QKeySequence::Open);
  72. connect (openAct, &QAction::triggered, this, &MainWindow::open);
  73. exitAct = new QAction (tr ("E&xit"), this);
  74. exitAct->setShortcuts (QKeySequence::Quit);
  75. connect (exitAct, &QAction::triggered, this, &QWidget::close);
  76. }
  77. void
  78. MainWindow::createMenus ()
  79. {
  80. fileMenu = menuBar ()->addMenu (tr ("&File"));
  81. fileMenu->addAction (openAct);
  82. fileMenu->addSeparator ();
  83. fileMenu->addAction (exitAct);
  84. }