|
3 | 3 | #include "gui_plots.h"
|
4 | 4 | #include "gui_spaceview.h"
|
5 | 5 | #include "gui_timeline.h"
|
| 6 | +#include "EditCropWidget.h" |
6 | 7 |
|
7 | 8 | #include "xml.h"
|
8 | 9 |
|
9 | 10 | #include <QGridLayout>
|
10 | 11 | #include <QToolBar>
|
11 | 12 |
|
12 |
| -QTabWidget* createTabsWidget(Dataset& data) |
| 13 | +QWidget* createTabsWidget(Dataset& data) |
13 | 14 | {
|
14 |
| - QTabWidget* widget = new QTabWidget; |
| 15 | + QTabWidget* tab_widget = new QTabWidget; |
15 | 16 |
|
16 | 17 | SpaceViewWindow* spacewidget = new SpaceViewWindow(data);
|
17 |
| - widget->addTab(spacewidget, QObject::tr("Space view")); |
| 18 | + tab_widget->addTab(spacewidget, QObject::tr("Space view")); |
18 | 19 |
|
19 | 20 | TimelineWindow* timewidget = new TimelineWindow(data);
|
20 |
| - widget->addTab(timewidget, QObject::tr("Time view")); |
| 21 | + tab_widget->addTab(timewidget, QObject::tr("Time view")); |
21 | 22 |
|
22 | 23 | PlantsWindow* plantswidget = new PlantsWindow(data.get_plants());
|
23 |
| - widget->addTab(plantswidget, QObject::tr("Plants")); |
24 |
| - |
25 | 24 | PlotsWindow* plotswidget = new PlotsWindow(data.get_plots());
|
26 |
| - widget->addTab(plotswidget, QObject::tr("Plots")); |
| 25 | + |
| 26 | + EditCropWidget* edit_crop_widget = new EditCropWidget(data); |
27 | 27 |
|
28 | 28 | QObject::connect(plantswidget, SIGNAL(timeline_need_update()), spacewidget, SLOT(update_draw()));
|
29 |
| - QObject::connect(plantswidget, SIGNAL(timeline_need_update()), timewidget, SLOT(update())); |
| 29 | + QObject::connect(plantswidget, SIGNAL(timeline_need_update()), timewidget, SLOT(update_draw())); |
30 | 30 |
|
31 | 31 | QObject::connect(plotswidget, SIGNAL(timeline_need_update()), spacewidget, SLOT(update_draw()));
|
32 |
| - QObject::connect(plotswidget, SIGNAL(timeline_need_update()), timewidget, SLOT(update())); |
| 32 | + QObject::connect(plotswidget, SIGNAL(timeline_need_update()), timewidget, SLOT(update_draw())); |
| 33 | + |
| 34 | + QObject::connect(edit_crop_widget, SIGNAL(dataset_changed()), timewidget, SLOT(update_draw())); |
| 35 | + QObject::connect(edit_crop_widget, SIGNAL(dataset_changed()), spacewidget, SLOT(update_draw())); |
33 | 36 |
|
34 |
| - //QObject::connect(timewidget->get_view()->get_scene()->get_ecd(), SIGNAL(dataset_changed()), timewidget, SLOT(update_draw())); |
35 |
| - //QObject::connect(timewidget->get_view()->get_scene()->get_ecd(), SIGNAL(dataset_changed()), spacewidget, SLOT(update_draw())); |
| 37 | + //Date of the spacewidget |
36 | 38 | QObject::connect(timewidget->get_view()->get_scene(), SIGNAL(current_date_changed(QDate)), spacewidget->get_view()->get_scene(), SLOT(set_date(QDate)));
|
37 | 39 |
|
| 40 | + //Crops selection synchronisation |
| 41 | + QObject::connect(timewidget->get_view()->get_scene(), SIGNAL(crop_selected(Crop*)), edit_crop_widget, SLOT(set_crop_values(Crop*))); |
| 42 | + QObject::connect(spacewidget->get_view()->get_scene(), SIGNAL(crop_selected(Crop*)), edit_crop_widget, SLOT(set_crop_values(Crop*))); |
| 43 | + QObject::connect(timewidget->get_view()->get_scene(), SIGNAL(crop_selected(Crop*)), |
| 44 | + spacewidget->get_view()->get_scene(), SLOT(selectCrop(Crop*))); |
| 45 | + QObject::connect(spacewidget->get_view()->get_scene(), SIGNAL(crop_selected(Crop*)), |
| 46 | + timewidget->get_view()->get_scene(), SLOT(selectCrop(Crop*))); |
| 47 | + |
| 48 | + QObject::connect(edit_crop_widget->ui->EditPlantsBtn, SIGNAL(clicked()), plantswidget, SLOT(show())); |
| 49 | + QObject::connect(edit_crop_widget->ui->EditPlotsBtn, SIGNAL(clicked()), plotswidget, SLOT(show())); |
| 50 | + |
| 51 | + QWidget* widget = new QWidget; |
| 52 | + QGridLayout* main_layout = new QGridLayout; |
| 53 | + main_layout->addWidget(tab_widget); |
| 54 | + main_layout->addWidget(edit_crop_widget); |
| 55 | + widget->setLayout(main_layout); |
| 56 | + |
38 | 57 | return widget;
|
39 | 58 | }
|
40 | 59 |
|
41 | 60 |
|
42 | 61 | GuiMainWin::GuiMainWin(Dataset& dataset) : dataset(dataset) {
|
43 | 62 | showMaximized();
|
44 | 63 |
|
45 |
| - /* |
46 |
| - QToolBar* toolbar = new QToolBar(); |
47 |
| - QAction* write_action = toolbar->addAction(tr("Write")); |
48 |
| - QObject::connect(write_action, SIGNAL(triggered()), this, SLOT(write_file())); |
49 |
| - addToolBar(toolbar); |
50 |
| - */ |
51 |
| - |
52 | 64 | setCentralWidget(new QWidget);
|
53 | 65 | centralWidget()->setLayout(new QGridLayout);
|
54 | 66 | centralWidget()->layout()->addWidget(createTabsWidget(dataset));
|
55 | 67 | }
|
56 | 68 |
|
57 |
| -void GuiMainWin::write_file() |
58 |
| -{ |
59 |
| - xml_write_data("../user_data/data_out.sfg", dataset); |
60 |
| -} |
61 |
| - |
62 |
| - |
63 | 69 | GuiMainWin::~GuiMainWin() {
|
64 | 70 | //TODO: delete tabwidget, timewidget, plantswidget, spacewidget
|
65 | 71 | }
|
|
0 commit comments