@@ -0,0 +1,41 | |||||
|
1 | /* | |||
|
2 | This file is part of SciQLop. | |||
|
3 | ||||
|
4 | SciQLop is free software: you can redistribute it and/or modify | |||
|
5 | it under the terms of the GNU General Public License as published by | |||
|
6 | the Free Software Foundation, either version 3 of the License, or | |||
|
7 | (at your option) any later version. | |||
|
8 | ||||
|
9 | SciQLop is distributed in the hope that it will be useful, | |||
|
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
|
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
|
12 | GNU General Public License for more details. | |||
|
13 | ||||
|
14 | You should have received a copy of the GNU General Public License | |||
|
15 | along with SciQLop. If not, see <https://www.gnu.org/licenses/>. | |||
|
16 | */ | |||
|
17 | #ifndef REPOSITORIESTREEVIEW_H | |||
|
18 | #define REPOSITORIESTREEVIEW_H | |||
|
19 | ||||
|
20 | #include <QObject> | |||
|
21 | #include <QTreeView> | |||
|
22 | #include <Catalogue2/repositoriesmodel.h> | |||
|
23 | ||||
|
24 | class RepositoriesTreeView : public QTreeView | |||
|
25 | { | |||
|
26 | Q_OBJECT | |||
|
27 | public: | |||
|
28 | RepositoriesTreeView(QWidget* parent = nullptr); | |||
|
29 | ||||
|
30 | public slots: | |||
|
31 | void refresh() | |||
|
32 | { | |||
|
33 | static_cast<RepositoriesModel*>(model())->refresh(); | |||
|
34 | } | |||
|
35 | ||||
|
36 | signals: | |||
|
37 | void repositorySelected(const QString& repository); | |||
|
38 | ||||
|
39 | }; | |||
|
40 | ||||
|
41 | #endif // REPOSITORIESTREEVIEW_H |
@@ -0,0 +1,27 | |||||
|
1 | /* | |||
|
2 | This file is part of SciQLop. | |||
|
3 | ||||
|
4 | SciQLop is free software: you can redistribute it and/or modify | |||
|
5 | it under the terms of the GNU General Public License as published by | |||
|
6 | the Free Software Foundation, either version 3 of the License, or | |||
|
7 | (at your option) any later version. | |||
|
8 | ||||
|
9 | SciQLop is distributed in the hope that it will be useful, | |||
|
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
|
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
|
12 | GNU General Public License for more details. | |||
|
13 | ||||
|
14 | You should have received a copy of the GNU General Public License | |||
|
15 | along with SciQLop. If not, see <https://www.gnu.org/licenses/>. | |||
|
16 | */ | |||
|
17 | #include <Catalogue2/repositoriesmodel.h> | |||
|
18 | #include <Catalogue2/repositoriestreeview.h> | |||
|
19 | ||||
|
20 | RepositoriesTreeView::RepositoriesTreeView(QWidget* parent) : QTreeView(parent) | |||
|
21 | { | |||
|
22 | auto m = model(); | |||
|
23 | this->setModel(new RepositoriesModel(this)); | |||
|
24 | delete m; | |||
|
25 | } | |||
|
26 | ||||
|
27 |
@@ -1,5 +1,11 | |||||
1 | macro(declare_test testname testexe sources libraries) |
|
1 | macro(declare_test testname testexe sources libraries) | |
2 | add_executable(${testexe} ${sources}) |
|
2 | add_executable(${testexe} ${sources}) | |
3 | target_link_libraries(${testexe} ${libraries}) |
|
3 | target_link_libraries(${testexe} ${libraries}) | |
4 | add_test(NAME ${testname} COMMAND ${testexe}) |
|
4 | add_test(NAME ${testname} COMMAND ${testexe}) | |
5 | endmacro(declare_test) |
|
5 | endmacro(declare_test) | |
|
6 | ||||
|
7 | ||||
|
8 | macro(declare_manual_test testname testexe sources libraries) | |||
|
9 | add_executable(${testexe} ${sources}) | |||
|
10 | target_link_libraries(${testexe} ${libraries}) | |||
|
11 | endmacro(declare_manual_test) |
@@ -1,186 +1,188 | |||||
1 | ο»ΏFILE (GLOB_RECURSE gui_SRCS |
|
1 | ο»ΏFILE (GLOB_RECURSE gui_SRCS | |
2 |
|
2 | |||
3 | include/DataSource/DataSourceWidget.h |
|
3 | include/DataSource/DataSourceWidget.h | |
4 | include/DataSource/DataSourceTreeWidget.h |
|
4 | include/DataSource/DataSourceTreeWidget.h | |
5 | include/DataSource/DataSourceTreeWidgetItem.h |
|
5 | include/DataSource/DataSourceTreeWidgetItem.h | |
6 | include/DataSource/DataSourceTreeWidgetHelper.h |
|
6 | include/DataSource/DataSourceTreeWidgetHelper.h | |
7 | include/SqpApplication.h |
|
7 | include/SqpApplication.h | |
8 | include/Common/ColorUtils.h |
|
8 | include/Common/ColorUtils.h | |
9 | include/Common/VisualizationDef.h |
|
9 | include/Common/VisualizationDef.h | |
10 | include/SidePane/SqpSidePane.h |
|
10 | include/SidePane/SqpSidePane.h | |
11 | include/Catalogue2/eventsmodel.h |
|
11 | include/Catalogue2/eventsmodel.h | |
12 | include/Catalogue2/eventstreeview.h |
|
12 | include/Catalogue2/eventstreeview.h | |
|
13 | include/Catalogue2/repositoriestreeview.h | |||
13 | include/Catalogue2/repositoriesmodel.h |
|
14 | include/Catalogue2/repositoriesmodel.h | |
14 | # include/Catalogue/CatalogueActionManager.h |
|
15 | # include/Catalogue/CatalogueActionManager.h | |
15 | # include/Catalogue/CatalogueTreeModel.h |
|
16 | # include/Catalogue/CatalogueTreeModel.h | |
16 | # include/Catalogue/CatalogueExplorer.h |
|
17 | # include/Catalogue/CatalogueExplorer.h | |
17 | # include/Catalogue/CatalogueSideBarWidget.h |
|
18 | # include/Catalogue/CatalogueSideBarWidget.h | |
18 | # include/Catalogue/CatalogueInspectorWidget.h |
|
19 | # include/Catalogue/CatalogueInspectorWidget.h | |
19 | # include/Catalogue/CatalogueTreeItems/CatalogueTextTreeItem.h |
|
20 | # include/Catalogue/CatalogueTreeItems/CatalogueTextTreeItem.h | |
20 | # include/Catalogue/CatalogueTreeItems/CatalogueTreeItem.h |
|
21 | # include/Catalogue/CatalogueTreeItems/CatalogueTreeItem.h | |
21 | # include/Catalogue/CatalogueTreeItems/CatalogueAbstractTreeItem.h |
|
22 | # include/Catalogue/CatalogueTreeItems/CatalogueAbstractTreeItem.h | |
22 | # include/Catalogue/CatalogueEventsModel.h |
|
23 | # include/Catalogue/CatalogueEventsModel.h | |
23 | # include/Catalogue/CatalogueEventsWidget.h |
|
24 | # include/Catalogue/CatalogueEventsWidget.h | |
24 | # include/Catalogue/CatalogueExplorerHelper.h |
|
25 | # include/Catalogue/CatalogueExplorerHelper.h | |
25 | include/Visualization/VisualizationGraphHelper.h |
|
26 | include/Visualization/VisualizationGraphHelper.h | |
26 | include/Visualization/VisualizationTabWidget.h |
|
27 | include/Visualization/VisualizationTabWidget.h | |
27 | include/Visualization/VisualizationDefs.h |
|
28 | include/Visualization/VisualizationDefs.h | |
28 | include/Visualization/QCustomPlotSynchronizer.h |
|
29 | include/Visualization/QCustomPlotSynchronizer.h | |
29 | include/Visualization/QCPColorMapIterator.h |
|
30 | include/Visualization/QCPColorMapIterator.h | |
30 | include/Visualization/operations/GenerateVariableMenuOperation.h |
|
31 | include/Visualization/operations/GenerateVariableMenuOperation.h | |
31 | include/Visualization/operations/RemoveVariableOperation.h |
|
32 | include/Visualization/operations/RemoveVariableOperation.h | |
32 | include/Visualization/operations/FindVariableOperation.h |
|
33 | include/Visualization/operations/FindVariableOperation.h | |
33 | include/Visualization/operations/MenuBuilder.h |
|
34 | include/Visualization/operations/MenuBuilder.h | |
34 | include/Visualization/operations/RescaleAxeOperation.h |
|
35 | include/Visualization/operations/RescaleAxeOperation.h | |
35 | include/Visualization/PlottablesRenderingUtils.h |
|
36 | include/Visualization/PlottablesRenderingUtils.h | |
36 | include/Visualization/IVisualizationWidgetVisitor.h |
|
37 | include/Visualization/IVisualizationWidgetVisitor.h | |
37 | include/Visualization/VisualizationGraphWidget.h |
|
38 | include/Visualization/VisualizationGraphWidget.h | |
38 | include/Visualization/IVisualizationWidget.h |
|
39 | include/Visualization/IVisualizationWidget.h | |
39 | include/Visualization/IVariableContainer.h |
|
40 | include/Visualization/IVariableContainer.h | |
40 | include/Visualization/SqpColorScale.h |
|
41 | include/Visualization/SqpColorScale.h | |
41 | include/Visualization/VisualizationWidget.h |
|
42 | include/Visualization/VisualizationWidget.h | |
42 | include/Visualization/VisualizationZoneWidget.h |
|
43 | include/Visualization/VisualizationZoneWidget.h | |
43 | include/Visualization/VisualizationMultiZoneSelectionDialog.h |
|
44 | include/Visualization/VisualizationMultiZoneSelectionDialog.h | |
44 | include/Visualization/VisualizationGraphRenderingDelegate.h |
|
45 | include/Visualization/VisualizationGraphRenderingDelegate.h | |
45 | include/Visualization/AxisRenderingUtils.h |
|
46 | include/Visualization/AxisRenderingUtils.h | |
46 | include/Visualization/VisualizationSelectionZoneItem.h |
|
47 | include/Visualization/VisualizationSelectionZoneItem.h | |
47 | include/Visualization/VisualizationDragWidget.h |
|
48 | include/Visualization/VisualizationDragWidget.h | |
48 | include/Visualization/VisualizationActionManager.h |
|
49 | include/Visualization/VisualizationActionManager.h | |
49 | include/Visualization/IGraphSynchronizer.h |
|
50 | include/Visualization/IGraphSynchronizer.h | |
50 | include/Visualization/ColorScaleEditor.h |
|
51 | include/Visualization/ColorScaleEditor.h | |
51 | include/Visualization/MacScrollBarStyle.h |
|
52 | include/Visualization/MacScrollBarStyle.h | |
52 | include/Visualization/VisualizationSelectionZoneManager.h |
|
53 | include/Visualization/VisualizationSelectionZoneManager.h | |
53 | include/Visualization/qcustomplot.h |
|
54 | include/Visualization/qcustomplot.h | |
54 | include/Visualization/VisualizationDragDropContainer.h |
|
55 | include/Visualization/VisualizationDragDropContainer.h | |
55 | include/Visualization/VisualizationCursorItem.h |
|
56 | include/Visualization/VisualizationCursorItem.h | |
56 | include/Settings/SqpSettingsDialog.h |
|
57 | include/Settings/SqpSettingsDialog.h | |
57 | include/Settings/SqpSettingsGeneralWidget.h |
|
58 | include/Settings/SqpSettingsGeneralWidget.h | |
58 | include/Variable/VariableMenuHeaderWidget.h |
|
59 | include/Variable/VariableMenuHeaderWidget.h | |
59 | include/Variable/VariableInspectorTableView.h |
|
60 | include/Variable/VariableInspectorTableView.h | |
60 | include/Variable/VariableInspectorWidget.h |
|
61 | include/Variable/VariableInspectorWidget.h | |
61 | include/Variable/RenameVariableDialog.h |
|
62 | include/Variable/RenameVariableDialog.h | |
62 | include/TimeWidget/TimeWidget.h |
|
63 | include/TimeWidget/TimeWidget.h | |
63 | include/DragAndDrop/DragDropScroller.h |
|
64 | include/DragAndDrop/DragDropScroller.h | |
64 | include/DragAndDrop/DragDropTabSwitcher.h |
|
65 | include/DragAndDrop/DragDropTabSwitcher.h | |
65 | include/DragAndDrop/DragDropGuiController.h |
|
66 | include/DragAndDrop/DragDropGuiController.h | |
66 | include/Actions/FilteringAction.h |
|
67 | include/Actions/FilteringAction.h | |
67 | include/Actions/ActionsGuiController.h |
|
68 | include/Actions/ActionsGuiController.h | |
68 | include/Actions/SelectionZoneAction.h |
|
69 | include/Actions/SelectionZoneAction.h | |
69 |
|
70 | |||
70 |
|
71 | |||
71 |
|
72 | |||
72 |
|
73 | |||
73 | src/DataSource/DataSourceTreeWidgetItem.cpp |
|
74 | src/DataSource/DataSourceTreeWidgetItem.cpp | |
74 | src/DataSource/DataSourceWidget.cpp |
|
75 | src/DataSource/DataSourceWidget.cpp | |
75 | src/DataSource/DataSourceTreeWidget.cpp |
|
76 | src/DataSource/DataSourceTreeWidget.cpp | |
76 | src/DataSource/DataSourceTreeWidgetHelper.cpp |
|
77 | src/DataSource/DataSourceTreeWidgetHelper.cpp | |
77 | src/Common/ColorUtils.cpp |
|
78 | src/Common/ColorUtils.cpp | |
78 | src/Common/VisualizationDef.cpp |
|
79 | src/Common/VisualizationDef.cpp | |
79 | src/SidePane/SqpSidePane.cpp |
|
80 | src/SidePane/SqpSidePane.cpp | |
80 | src/Catalogue2/eventsmodel.cpp |
|
81 | src/Catalogue2/eventsmodel.cpp | |
81 | src/Catalogue2/eventstreeview.cpp |
|
82 | src/Catalogue2/eventstreeview.cpp | |
|
83 | src/Catalogue2/repositoriestreeview.cpp | |||
82 | src/Catalogue2/repositoriesmodel.cpp |
|
84 | src/Catalogue2/repositoriesmodel.cpp | |
83 | #src/Catalogue/CatalogueEventsWidget.cpp |
|
85 | #src/Catalogue/CatalogueEventsWidget.cpp | |
84 | #src/Catalogue/CatalogueSideBarWidget.cpp |
|
86 | #src/Catalogue/CatalogueSideBarWidget.cpp | |
85 | #src/Catalogue/CatalogueTreeItems/CatalogueAbstractTreeItem.cpp |
|
87 | #src/Catalogue/CatalogueTreeItems/CatalogueAbstractTreeItem.cpp | |
86 | #src/Catalogue/CatalogueTreeItems/CatalogueTextTreeItem.cpp |
|
88 | #src/Catalogue/CatalogueTreeItems/CatalogueTextTreeItem.cpp | |
87 | #src/Catalogue/CatalogueTreeItems/CatalogueTreeItem.cpp |
|
89 | #src/Catalogue/CatalogueTreeItems/CatalogueTreeItem.cpp | |
88 | #src/Catalogue/CatalogueExplorerHelper.cpp |
|
90 | #src/Catalogue/CatalogueExplorerHelper.cpp | |
89 | #src/Catalogue/CatalogueExplorer.cpp |
|
91 | #src/Catalogue/CatalogueExplorer.cpp | |
90 | #src/Catalogue/CatalogueTreeModel.cpp |
|
92 | #src/Catalogue/CatalogueTreeModel.cpp | |
91 | #src/Catalogue/CatalogueInspectorWidget.cpp |
|
93 | #src/Catalogue/CatalogueInspectorWidget.cpp | |
92 | #src/Catalogue/CatalogueEventsModel.cpp |
|
94 | #src/Catalogue/CatalogueEventsModel.cpp | |
93 | #src/Catalogue/CatalogueActionManager.cpp |
|
95 | #src/Catalogue/CatalogueActionManager.cpp | |
94 | src/Visualization/VisualizationDragDropContainer.cpp |
|
96 | src/Visualization/VisualizationDragDropContainer.cpp | |
95 | src/Visualization/VisualizationTabWidget.cpp |
|
97 | src/Visualization/VisualizationTabWidget.cpp | |
96 | src/Visualization/VisualizationWidget.cpp |
|
98 | src/Visualization/VisualizationWidget.cpp | |
97 | src/Visualization/MacScrollBarStyle.cpp |
|
99 | src/Visualization/MacScrollBarStyle.cpp | |
98 | src/Visualization/VisualizationCursorItem.cpp |
|
100 | src/Visualization/VisualizationCursorItem.cpp | |
99 | src/Visualization/operations/MenuBuilder.cpp |
|
101 | src/Visualization/operations/MenuBuilder.cpp | |
100 | src/Visualization/operations/RemoveVariableOperation.cpp |
|
102 | src/Visualization/operations/RemoveVariableOperation.cpp | |
101 | src/Visualization/operations/FindVariableOperation.cpp |
|
103 | src/Visualization/operations/FindVariableOperation.cpp | |
102 | src/Visualization/operations/GenerateVariableMenuOperation.cpp |
|
104 | src/Visualization/operations/GenerateVariableMenuOperation.cpp | |
103 | src/Visualization/operations/RescaleAxeOperation.cpp |
|
105 | src/Visualization/operations/RescaleAxeOperation.cpp | |
104 | src/Visualization/AxisRenderingUtils.cpp |
|
106 | src/Visualization/AxisRenderingUtils.cpp | |
105 | src/Visualization/PlottablesRenderingUtils.cpp |
|
107 | src/Visualization/PlottablesRenderingUtils.cpp | |
106 | src/Visualization/VisualizationGraphRenderingDelegate.cpp |
|
108 | src/Visualization/VisualizationGraphRenderingDelegate.cpp | |
107 | src/Visualization/VisualizationSelectionZoneManager.cpp |
|
109 | src/Visualization/VisualizationSelectionZoneManager.cpp | |
108 | src/Visualization/QCPColorMapIterator.cpp |
|
110 | src/Visualization/QCPColorMapIterator.cpp | |
109 | src/Visualization/ColorScaleEditor.cpp |
|
111 | src/Visualization/ColorScaleEditor.cpp | |
110 | src/Visualization/VisualizationGraphHelper.cpp |
|
112 | src/Visualization/VisualizationGraphHelper.cpp | |
111 | src/Visualization/VisualizationGraphWidget.cpp |
|
113 | src/Visualization/VisualizationGraphWidget.cpp | |
112 | src/Visualization/VisualizationDragWidget.cpp |
|
114 | src/Visualization/VisualizationDragWidget.cpp | |
113 | src/Visualization/VisualizationZoneWidget.cpp |
|
115 | src/Visualization/VisualizationZoneWidget.cpp | |
114 | src/Visualization/VisualizationActionManager.cpp |
|
116 | src/Visualization/VisualizationActionManager.cpp | |
115 | src/Visualization/VisualizationSelectionZoneItem.cpp |
|
117 | src/Visualization/VisualizationSelectionZoneItem.cpp | |
116 | src/Visualization/QCustomPlotSynchronizer.cpp |
|
118 | src/Visualization/QCustomPlotSynchronizer.cpp | |
117 | src/Visualization/qcustomplot.cpp |
|
119 | src/Visualization/qcustomplot.cpp | |
118 | src/Visualization/VisualizationMultiZoneSelectionDialog.cpp |
|
120 | src/Visualization/VisualizationMultiZoneSelectionDialog.cpp | |
119 | src/Visualization/SqpColorScale.cpp |
|
121 | src/Visualization/SqpColorScale.cpp | |
120 | src/Settings/SqpSettingsGeneralWidget.cpp |
|
122 | src/Settings/SqpSettingsGeneralWidget.cpp | |
121 | src/Settings/SqpSettingsDialog.cpp |
|
123 | src/Settings/SqpSettingsDialog.cpp | |
122 | src/SqpApplication.cpp |
|
124 | src/SqpApplication.cpp | |
123 | src/Variable/VariableInspectorWidget.cpp |
|
125 | src/Variable/VariableInspectorWidget.cpp | |
124 | src/Variable/VariableMenuHeaderWidget.cpp |
|
126 | src/Variable/VariableMenuHeaderWidget.cpp | |
125 | src/Variable/RenameVariableDialog.cpp |
|
127 | src/Variable/RenameVariableDialog.cpp | |
126 | src/Variable/VariableInspectorTableView.cpp |
|
128 | src/Variable/VariableInspectorTableView.cpp | |
127 | src/TimeWidget/TimeWidget.cpp |
|
129 | src/TimeWidget/TimeWidget.cpp | |
128 | src/DragAndDrop/DragDropScroller.cpp |
|
130 | src/DragAndDrop/DragDropScroller.cpp | |
129 | src/DragAndDrop/DragDropTabSwitcher.cpp |
|
131 | src/DragAndDrop/DragDropTabSwitcher.cpp | |
130 | src/DragAndDrop/DragDropGuiController.cpp |
|
132 | src/DragAndDrop/DragDropGuiController.cpp | |
131 | src/Actions/ActionsGuiController.cpp |
|
133 | src/Actions/ActionsGuiController.cpp | |
132 | src/Actions/SelectionZoneAction.cpp |
|
134 | src/Actions/SelectionZoneAction.cpp | |
133 | src/Actions/FilteringAction.cpp |
|
135 | src/Actions/FilteringAction.cpp | |
134 |
|
136 | |||
135 | ./resources/sqpguiresources.qrc |
|
137 | ./resources/sqpguiresources.qrc | |
136 | ) |
|
138 | ) | |
137 |
|
139 | |||
138 |
|
140 | |||
139 | QT5_WRAP_UI( |
|
141 | QT5_WRAP_UI( | |
140 | UiGenerated_SRCS |
|
142 | UiGenerated_SRCS | |
141 | ui/DataSource/DataSourceWidget.ui |
|
143 | ui/DataSource/DataSourceWidget.ui | |
142 | ui/Settings/SqpSettingsDialog.ui |
|
144 | ui/Settings/SqpSettingsDialog.ui | |
143 | ui/Settings/SqpSettingsGeneralWidget.ui |
|
145 | ui/Settings/SqpSettingsGeneralWidget.ui | |
144 | ui/SidePane/SqpSidePane.ui |
|
146 | ui/SidePane/SqpSidePane.ui | |
145 | ui/TimeWidget/TimeWidget.ui |
|
147 | ui/TimeWidget/TimeWidget.ui | |
146 | ui/Variable/RenameVariableDialog.ui |
|
148 | ui/Variable/RenameVariableDialog.ui | |
147 | ui/Variable/VariableInspectorWidget.ui |
|
149 | ui/Variable/VariableInspectorWidget.ui | |
148 | ui/Variable/VariableMenuHeaderWidget.ui |
|
150 | ui/Variable/VariableMenuHeaderWidget.ui | |
149 | ui/Visualization/ColorScaleEditor.ui |
|
151 | ui/Visualization/ColorScaleEditor.ui | |
150 | ui/Visualization/VisualizationGraphWidget.ui |
|
152 | ui/Visualization/VisualizationGraphWidget.ui | |
151 | ui/Visualization/VisualizationTabWidget.ui |
|
153 | ui/Visualization/VisualizationTabWidget.ui | |
152 | ui/Visualization/VisualizationWidget.ui |
|
154 | ui/Visualization/VisualizationWidget.ui | |
153 | ui/Visualization/VisualizationZoneWidget.ui |
|
155 | ui/Visualization/VisualizationZoneWidget.ui | |
154 | ui/Visualization/VisualizationMultiZoneSelectionDialog.ui |
|
156 | ui/Visualization/VisualizationMultiZoneSelectionDialog.ui | |
155 | #ui/Catalogue/CatalogueEventsWidget.ui |
|
157 | #ui/Catalogue/CatalogueEventsWidget.ui | |
156 | #ui/Catalogue/CatalogueExplorer.ui |
|
158 | #ui/Catalogue/CatalogueExplorer.ui | |
157 | #ui/Catalogue/CatalogueInspectorWidget.ui |
|
159 | #ui/Catalogue/CatalogueInspectorWidget.ui | |
158 | #ui/Catalogue/CatalogueSideBarWidget.ui |
|
160 | #ui/Catalogue/CatalogueSideBarWidget.ui | |
159 | ) |
|
161 | ) | |
160 |
|
162 | |||
161 | add_library(sciqlopgui ${gui_SRCS} ${UiGenerated_SRCS}) |
|
163 | add_library(sciqlopgui ${gui_SRCS} ${UiGenerated_SRCS}) | |
162 | SET_TARGET_PROPERTIES(sciqlopgui PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE) |
|
164 | SET_TARGET_PROPERTIES(sciqlopgui PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE) | |
163 |
|
165 | |||
164 | target_include_directories(sciqlopgui PUBLIC |
|
166 | target_include_directories(sciqlopgui PUBLIC | |
165 | $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> |
|
167 | $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> | |
166 | $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include/Visualization> |
|
168 | $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include/Visualization> | |
167 | $<INSTALL_INTERFACE:include/SciQLOP> |
|
169 | $<INSTALL_INTERFACE:include/SciQLOP> | |
168 | ) |
|
170 | ) | |
169 |
|
171 | |||
170 | target_link_libraries(sciqlopgui PUBLIC |
|
172 | target_link_libraries(sciqlopgui PUBLIC | |
171 | Qt5::Widgets |
|
173 | Qt5::Widgets | |
172 | Qt5::PrintSupport |
|
174 | Qt5::PrintSupport | |
173 | Qt5::Svg |
|
175 | Qt5::Svg | |
174 | sciqlopcore |
|
176 | sciqlopcore | |
175 | ) |
|
177 | ) | |
176 |
|
178 | |||
177 | install(TARGETS sciqlopgui EXPORT SciQLOPGuiConfig |
|
179 | install(TARGETS sciqlopgui EXPORT SciQLOPGuiConfig | |
178 | ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} |
|
180 | ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} | |
179 | LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} |
|
181 | LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} | |
180 | RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) |
|
182 | RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) | |
181 |
|
183 | |||
182 | install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/SciQLOP) |
|
184 | install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/SciQLOP) | |
183 | install(EXPORT SciQLOPGuiConfig DESTINATION share/SciQLOPGui/cmake) |
|
185 | install(EXPORT SciQLOPGuiConfig DESTINATION share/SciQLOPGui/cmake) | |
184 | export(TARGETS sciqlopgui FILE SciQLOPGuiConfig.cmake) |
|
186 | export(TARGETS sciqlopgui FILE SciQLOPGuiConfig.cmake) | |
185 |
|
187 | |||
186 | subdirs(tests) |
|
188 | subdirs(tests) |
@@ -1,71 +1,87 | |||||
|
1 | /* | |||
|
2 | This file is part of SciQLop. | |||
|
3 | ||||
|
4 | SciQLop is free software: you can redistribute it and/or modify | |||
|
5 | it under the terms of the GNU General Public License as published by | |||
|
6 | the Free Software Foundation, either version 3 of the License, or | |||
|
7 | (at your option) any later version. | |||
|
8 | ||||
|
9 | SciQLop is distributed in the hope that it will be useful, | |||
|
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
|
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
|
12 | GNU General Public License for more details. | |||
|
13 | ||||
|
14 | You should have received a copy of the GNU General Public License | |||
|
15 | along with SciQLop. If not, see <https://www.gnu.org/licenses/>. | |||
|
16 | */ | |||
1 | #ifndef EVENTSMODEL_H |
|
17 | #ifndef EVENTSMODEL_H | |
2 | #define EVENTSMODEL_H |
|
18 | #define EVENTSMODEL_H | |
3 | #include <Catalogue/CatalogueController.h> |
|
19 | #include <Catalogue/CatalogueController.h> | |
4 | #include <QAbstractItemModel> |
|
20 | #include <QAbstractItemModel> | |
5 | #include <array> |
|
21 | #include <array> | |
6 |
|
22 | |||
7 | class EventsModel : public QAbstractItemModel |
|
23 | class EventsModel : public QAbstractItemModel | |
8 | { |
|
24 | { | |
9 | Q_OBJECT |
|
25 | Q_OBJECT | |
10 | std::vector<CatalogueController::Event_ptr> _events; |
|
26 | std::vector<CatalogueController::Event_ptr> _events; | |
11 |
|
27 | |||
12 | enum class ItemType |
|
28 | enum class ItemType | |
13 | { |
|
29 | { | |
14 | None, |
|
30 | None, | |
15 | Event, |
|
31 | Event, | |
16 | Product |
|
32 | Product | |
17 | }; |
|
33 | }; | |
18 |
|
34 | |||
19 | enum class Columns |
|
35 | enum class Columns | |
20 | { |
|
36 | { | |
21 | Name = 0, |
|
37 | Name = 0, | |
22 | TStart = 1, |
|
38 | TStart = 1, | |
23 | TEnd = 2, |
|
39 | TEnd = 2, | |
24 | Tags = 3, |
|
40 | Tags = 3, | |
25 | Product = 4, |
|
41 | Product = 4, | |
26 | Validation = 5, |
|
42 | Validation = 5, | |
27 | NbColumn = 6 |
|
43 | NbColumn = 6 | |
28 | }; |
|
44 | }; | |
29 |
|
45 | |||
30 | const std::array<QString, static_cast<int>(Columns::NbColumn)> ColumnsNames |
|
46 | const std::array<QString, static_cast<int>(Columns::NbColumn)> ColumnsNames | |
31 | = { "Name", "Start time", "Stop time", "Tags", "Product(s)", "" }; |
|
47 | = { "Name", "Start time", "Stop time", "Tags", "Product(s)", "" }; | |
32 |
|
48 | |||
33 |
|
49 | |||
34 | public: |
|
50 | public: | |
35 | EventsModel(QObject* parent = nullptr); |
|
51 | EventsModel(QObject* parent = nullptr); | |
36 |
|
52 | |||
37 |
|
53 | |||
38 | ItemType type(const QModelIndex& index) const; |
|
54 | ItemType type(const QModelIndex& index) const; | |
39 |
|
55 | |||
40 | Qt::ItemFlags flags(const QModelIndex& index) const override |
|
56 | Qt::ItemFlags flags(const QModelIndex& index) const override | |
41 | { |
|
57 | { | |
42 | return Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDragEnabled; |
|
58 | return Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDragEnabled; | |
43 | } |
|
59 | } | |
44 | QVariant data(int col, const CatalogueController::Event_ptr& event) const; |
|
60 | QVariant data(int col, const CatalogueController::Event_ptr& event) const; | |
45 | QVariant data(int col, const CatalogueController::Product_t& product) const; |
|
61 | QVariant data(int col, const CatalogueController::Product_t& product) const; | |
46 | QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; |
|
62 | QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; | |
47 |
|
63 | |||
48 | QModelIndex index( |
|
64 | QModelIndex index( | |
49 | int row, int column, const QModelIndex& parent = QModelIndex()) const override; |
|
65 | int row, int column, const QModelIndex& parent = QModelIndex()) const override; | |
50 |
|
66 | |||
51 | QModelIndex parent(const QModelIndex& index) const override; |
|
67 | QModelIndex parent(const QModelIndex& index) const override; | |
52 |
|
68 | |||
53 | int rowCount(const QModelIndex& parent = QModelIndex()) const override; |
|
69 | int rowCount(const QModelIndex& parent = QModelIndex()) const override; | |
54 |
|
70 | |||
55 | int columnCount(const QModelIndex& parent = QModelIndex()) const override; |
|
71 | int columnCount(const QModelIndex& parent = QModelIndex()) const override; | |
56 |
|
72 | |||
57 | QVariant headerData( |
|
73 | QVariant headerData( | |
58 | int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override; |
|
74 | int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override; | |
59 |
|
75 | |||
60 | void sort(int column, Qt::SortOrder order = Qt::AscendingOrder) override; |
|
76 | void sort(int column, Qt::SortOrder order = Qt::AscendingOrder) override; | |
61 |
|
77 | |||
62 | public slots: |
|
78 | public slots: | |
63 | void setEvents(std::vector<CatalogueController::Event_ptr> events) |
|
79 | void setEvents(std::vector<CatalogueController::Event_ptr> events) | |
64 | { |
|
80 | { | |
65 | beginResetModel(); |
|
81 | beginResetModel(); | |
66 | std::swap(_events, events); |
|
82 | std::swap(_events, events); | |
67 | endResetModel(); |
|
83 | endResetModel(); | |
68 | } |
|
84 | } | |
69 | }; |
|
85 | }; | |
70 |
|
86 | |||
71 | #endif // EVENTSMODEL_H |
|
87 | #endif // EVENTSMODEL_H |
@@ -1,18 +1,34 | |||||
|
1 | /* | |||
|
2 | This file is part of SciQLop. | |||
|
3 | ||||
|
4 | SciQLop is free software: you can redistribute it and/or modify | |||
|
5 | it under the terms of the GNU General Public License as published by | |||
|
6 | the Free Software Foundation, either version 3 of the License, or | |||
|
7 | (at your option) any later version. | |||
|
8 | ||||
|
9 | SciQLop is distributed in the hope that it will be useful, | |||
|
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
|
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
|
12 | GNU General Public License for more details. | |||
|
13 | ||||
|
14 | You should have received a copy of the GNU General Public License | |||
|
15 | along with SciQLop. If not, see <https://www.gnu.org/licenses/>. | |||
|
16 | */ | |||
1 | #ifndef EVENTSTREEVIEW_H |
|
17 | #ifndef EVENTSTREEVIEW_H | |
2 | #define EVENTSTREEVIEW_H |
|
18 | #define EVENTSTREEVIEW_H | |
3 |
|
19 | |||
4 | #include <Catalogue/CatalogueController.h> |
|
20 | #include <Catalogue/CatalogueController.h> | |
5 | #include <QObject> |
|
21 | #include <QObject> | |
6 | #include <QTreeView> |
|
22 | #include <QTreeView> | |
7 |
|
23 | |||
8 | class EventsTreeView : public QTreeView |
|
24 | class EventsTreeView : public QTreeView | |
9 | { |
|
25 | { | |
10 | Q_OBJECT |
|
26 | Q_OBJECT | |
11 | public: |
|
27 | public: | |
12 | EventsTreeView(QWidget* parent = nullptr); |
|
28 | EventsTreeView(QWidget* parent = nullptr); | |
13 |
|
29 | |||
14 | public slots: |
|
30 | public slots: | |
15 | void setEvents(std::vector<CatalogueController::Event_ptr> events); |
|
31 | void setEvents(std::vector<CatalogueController::Event_ptr> events); | |
16 | }; |
|
32 | }; | |
17 |
|
33 | |||
18 | #endif // EVENTSTREEVIEW_H |
|
34 | #endif // EVENTSTREEVIEW_H |
@@ -1,83 +1,99 | |||||
|
1 | /* | |||
|
2 | This file is part of SciQLop. | |||
|
3 | ||||
|
4 | SciQLop is free software: you can redistribute it and/or modify | |||
|
5 | it under the terms of the GNU General Public License as published by | |||
|
6 | the Free Software Foundation, either version 3 of the License, or | |||
|
7 | (at your option) any later version. | |||
|
8 | ||||
|
9 | SciQLop is distributed in the hope that it will be useful, | |||
|
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
|
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
|
12 | GNU General Public License for more details. | |||
|
13 | ||||
|
14 | You should have received a copy of the GNU General Public License | |||
|
15 | along with SciQLop. If not, see <https://www.gnu.org/licenses/>. | |||
|
16 | */ | |||
1 | #ifndef REPOSITORIESMODEL_H |
|
17 | #ifndef REPOSITORIESMODEL_H | |
2 | #define REPOSITORIESMODEL_H |
|
18 | #define REPOSITORIESMODEL_H | |
3 | #include <Catalogue/CatalogueController.h> |
|
19 | #include <Catalogue/CatalogueController.h> | |
4 | #include <QAbstractItemModel> |
|
20 | #include <QAbstractItemModel> | |
5 | #include <QIcon> |
|
21 | #include <QIcon> | |
6 | #include <QObject> |
|
22 | #include <QObject> | |
7 |
|
23 | |||
8 | class RepositoriesModel : public QAbstractItemModel |
|
24 | class RepositoriesModel : public QAbstractItemModel | |
9 | { |
|
25 | { | |
10 | Q_OBJECT |
|
26 | Q_OBJECT | |
11 |
|
27 | |||
12 |
|
28 | |||
13 | enum class ItemType |
|
29 | enum class ItemType | |
14 | { |
|
30 | { | |
15 | None, |
|
31 | None, | |
16 | Catalogue, |
|
32 | Catalogue, | |
17 | Repository |
|
33 | Repository | |
18 | }; |
|
34 | }; | |
19 |
|
35 | |||
20 | struct RepoModelItem |
|
36 | struct RepoModelItem | |
21 | { |
|
37 | { | |
22 | ItemType type; |
|
38 | ItemType type; | |
23 | std::variant<QString, CatalogueController::Catalogue_ptr> item; |
|
39 | std::variant<QString, CatalogueController::Catalogue_ptr> item; | |
24 | RepoModelItem() : type { ItemType::None } {} |
|
40 | RepoModelItem() : type { ItemType::None } {} | |
25 | RepoModelItem(const QString& repo); |
|
41 | RepoModelItem(const QString& repo); | |
26 | RepoModelItem(const CatalogueController::Catalogue_ptr& catalogue, RepoModelItem* parent) |
|
42 | RepoModelItem(const CatalogueController::Catalogue_ptr& catalogue, RepoModelItem* parent) | |
27 | : type { ItemType::Catalogue } |
|
43 | : type { ItemType::Catalogue } | |
28 | , item { catalogue } |
|
44 | , item { catalogue } | |
29 | , parent { parent } |
|
45 | , parent { parent } | |
30 | , icon { ":/icones/catalogue.png" } |
|
46 | , icon { ":/icones/catalogue.png" } | |
31 | { |
|
47 | { | |
32 | } |
|
48 | } | |
33 | QString repository() const { return std::get<QString>(item); } |
|
49 | QString repository() const { return std::get<QString>(item); } | |
34 | CatalogueController::Catalogue_ptr catalogue() const |
|
50 | CatalogueController::Catalogue_ptr catalogue() const | |
35 | { |
|
51 | { | |
36 | return std::get<CatalogueController::Catalogue_ptr>(item); |
|
52 | return std::get<CatalogueController::Catalogue_ptr>(item); | |
37 | } |
|
53 | } | |
38 | QVariant data(int role) const; |
|
54 | QVariant data(int role) const; | |
39 | QString text() const |
|
55 | QString text() const | |
40 | { |
|
56 | { | |
41 | if (type == ItemType::Catalogue) |
|
57 | if (type == ItemType::Catalogue) | |
42 | return QString::fromStdString(catalogue()->name); |
|
58 | return QString::fromStdString(catalogue()->name); | |
43 | if (type == ItemType::Repository) |
|
59 | if (type == ItemType::Repository) | |
44 | return repository(); |
|
60 | return repository(); | |
45 | return QString(); |
|
61 | return QString(); | |
46 | } |
|
62 | } | |
47 | std::vector<std::unique_ptr<RepoModelItem>> children; |
|
63 | std::vector<std::unique_ptr<RepoModelItem>> children; | |
48 | RepoModelItem* parent = nullptr; |
|
64 | RepoModelItem* parent = nullptr; | |
49 | QIcon icon; |
|
65 | QIcon icon; | |
50 | }; |
|
66 | }; | |
51 |
|
67 | |||
52 | std::vector<std::unique_ptr<RepoModelItem>> _items; |
|
68 | std::vector<std::unique_ptr<RepoModelItem>> _items; | |
53 |
|
69 | |||
54 | inline RepoModelItem* to_item(const QModelIndex& index) const |
|
70 | inline RepoModelItem* to_item(const QModelIndex& index) const | |
55 | { |
|
71 | { | |
56 | return static_cast<RepoModelItem*>(index.internalPointer()); |
|
72 | return static_cast<RepoModelItem*>(index.internalPointer()); | |
57 | } |
|
73 | } | |
58 |
|
74 | |||
59 | public: |
|
75 | public: | |
60 | RepositoriesModel(QObject* parent = nullptr); |
|
76 | RepositoriesModel(QObject* parent = nullptr); | |
61 |
|
77 | |||
62 | ItemType type(const QModelIndex& index) const; |
|
78 | ItemType type(const QModelIndex& index) const; | |
63 |
|
79 | |||
64 | Qt::ItemFlags flags(const QModelIndex& index) const override |
|
80 | Qt::ItemFlags flags(const QModelIndex& index) const override | |
65 | { |
|
81 | { | |
66 | return Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDragEnabled; |
|
82 | return Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDragEnabled; | |
67 | } |
|
83 | } | |
68 |
|
84 | |||
69 | QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; |
|
85 | QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; | |
70 |
|
86 | |||
71 | QModelIndex index( |
|
87 | QModelIndex index( | |
72 | int row, int column, const QModelIndex& parent = QModelIndex()) const override; |
|
88 | int row, int column, const QModelIndex& parent = QModelIndex()) const override; | |
73 |
|
89 | |||
74 | QModelIndex parent(const QModelIndex& index) const override; |
|
90 | QModelIndex parent(const QModelIndex& index) const override; | |
75 |
|
91 | |||
76 | int rowCount(const QModelIndex& parent = QModelIndex()) const override; |
|
92 | int rowCount(const QModelIndex& parent = QModelIndex()) const override; | |
77 |
|
93 | |||
78 | int columnCount(const QModelIndex& parent = QModelIndex()) const override { return 1; } |
|
94 | int columnCount(const QModelIndex& parent = QModelIndex()) const override { return 1; } | |
79 | public slots: |
|
95 | public slots: | |
80 | void refresh(); |
|
96 | void refresh(); | |
81 | }; |
|
97 | }; | |
82 |
|
98 | |||
83 | #endif // REPOSITORIESMODEL_H |
|
99 | #endif // REPOSITORIESMODEL_H |
@@ -1,185 +1,201 | |||||
|
1 | /* | |||
|
2 | This file is part of SciQLop. | |||
|
3 | ||||
|
4 | SciQLop is free software: you can redistribute it and/or modify | |||
|
5 | it under the terms of the GNU General Public License as published by | |||
|
6 | the Free Software Foundation, either version 3 of the License, or | |||
|
7 | (at your option) any later version. | |||
|
8 | ||||
|
9 | SciQLop is distributed in the hope that it will be useful, | |||
|
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
|
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
|
12 | GNU General Public License for more details. | |||
|
13 | ||||
|
14 | You should have received a copy of the GNU General Public License | |||
|
15 | along with SciQLop. If not, see <https://www.gnu.org/licenses/>. | |||
|
16 | */ | |||
1 | #include "Catalogue2/eventsmodel.h" |
|
17 | #include "Catalogue2/eventsmodel.h" | |
2 | #include <SqpApplication.h> |
|
18 | #include <SqpApplication.h> | |
3 |
|
19 | |||
4 | EventsModel::EventsModel(QObject* parent) : QAbstractItemModel(parent) {} |
|
20 | EventsModel::EventsModel(QObject* parent) : QAbstractItemModel(parent) {} | |
5 |
|
21 | |||
6 | EventsModel::ItemType EventsModel::type(const QModelIndex& index) const |
|
22 | EventsModel::ItemType EventsModel::type(const QModelIndex& index) const | |
7 | { |
|
23 | { | |
8 | if (!index.isValid()) |
|
24 | if (!index.isValid()) | |
9 | { |
|
25 | { | |
10 | return ItemType::None; |
|
26 | return ItemType::None; | |
11 | } |
|
27 | } | |
12 | else if (index.internalPointer() == nullptr) |
|
28 | else if (index.internalPointer() == nullptr) | |
13 | { |
|
29 | { | |
14 | return ItemType::Event; |
|
30 | return ItemType::Event; | |
15 | } |
|
31 | } | |
16 | else |
|
32 | else | |
17 | { |
|
33 | { | |
18 | return ItemType::Product; |
|
34 | return ItemType::Product; | |
19 | } |
|
35 | } | |
20 | } |
|
36 | } | |
21 |
|
37 | |||
22 | QVariant EventsModel::data(int col, const CatalogueController::Event_ptr& event) const |
|
38 | QVariant EventsModel::data(int col, const CatalogueController::Event_ptr& event) const | |
23 | { |
|
39 | { | |
24 | switch (static_cast<Columns>(col)) |
|
40 | switch (static_cast<Columns>(col)) | |
25 | { |
|
41 | { | |
26 | case EventsModel::Columns::Name: |
|
42 | case EventsModel::Columns::Name: | |
27 | return QString::fromStdString(event->name); |
|
43 | return QString::fromStdString(event->name); | |
28 | case EventsModel::Columns::TStart: |
|
44 | case EventsModel::Columns::TStart: | |
29 | if (auto start = event->startTime()) |
|
45 | if (auto start = event->startTime()) | |
30 | return DateUtils::dateTime(*start).toString(DATETIME_FORMAT_ONE_LINE); |
|
46 | return DateUtils::dateTime(*start).toString(DATETIME_FORMAT_ONE_LINE); | |
31 | else |
|
47 | else | |
32 | return QVariant {}; |
|
48 | return QVariant {}; | |
33 | case EventsModel::Columns::TEnd: |
|
49 | case EventsModel::Columns::TEnd: | |
34 | if (auto stop = event->stopTime()) |
|
50 | if (auto stop = event->stopTime()) | |
35 | return DateUtils::dateTime(*stop).toString(DATETIME_FORMAT_ONE_LINE); |
|
51 | return DateUtils::dateTime(*stop).toString(DATETIME_FORMAT_ONE_LINE); | |
36 | else |
|
52 | else | |
37 | return QVariant {}; |
|
53 | return QVariant {}; | |
38 | case EventsModel::Columns::Product: |
|
54 | case EventsModel::Columns::Product: | |
39 | { |
|
55 | { | |
40 | QStringList eventProductList; |
|
56 | QStringList eventProductList; | |
41 | for (const auto& evtProduct : event->products) |
|
57 | for (const auto& evtProduct : event->products) | |
42 | { |
|
58 | { | |
43 | eventProductList << QString::fromStdString(evtProduct.name); |
|
59 | eventProductList << QString::fromStdString(evtProduct.name); | |
44 | } |
|
60 | } | |
45 | return eventProductList.join(";"); |
|
61 | return eventProductList.join(";"); | |
46 | } |
|
62 | } | |
47 | case EventsModel::Columns::Tags: |
|
63 | case EventsModel::Columns::Tags: | |
48 | { |
|
64 | { | |
49 | QString tagList; |
|
65 | QString tagList; | |
50 | for (const auto& tag : event->tags) |
|
66 | for (const auto& tag : event->tags) | |
51 | { |
|
67 | { | |
52 | tagList += QString::fromStdString(tag); |
|
68 | tagList += QString::fromStdString(tag); | |
53 | tagList += ' '; |
|
69 | tagList += ' '; | |
54 | } |
|
70 | } | |
55 | return tagList; |
|
71 | return tagList; | |
56 | } |
|
72 | } | |
57 | default: |
|
73 | default: | |
58 | break; |
|
74 | break; | |
59 | } |
|
75 | } | |
60 | return QVariant {}; |
|
76 | return QVariant {}; | |
61 | } |
|
77 | } | |
62 |
|
78 | |||
63 | QVariant EventsModel::data(int col, const CatalogueController::Product_t& product) const |
|
79 | QVariant EventsModel::data(int col, const CatalogueController::Product_t& product) const | |
64 | { |
|
80 | { | |
65 | switch (static_cast<Columns>(col)) |
|
81 | switch (static_cast<Columns>(col)) | |
66 | { |
|
82 | { | |
67 | case EventsModel::Columns::Name: |
|
83 | case EventsModel::Columns::Name: | |
68 | return QString::fromStdString(product.name); |
|
84 | return QString::fromStdString(product.name); | |
69 | case EventsModel::Columns::TStart: |
|
85 | case EventsModel::Columns::TStart: | |
70 | return DateUtils::dateTime(product.startTime).toString(DATETIME_FORMAT_ONE_LINE); |
|
86 | return DateUtils::dateTime(product.startTime).toString(DATETIME_FORMAT_ONE_LINE); | |
71 | case EventsModel::Columns::TEnd: |
|
87 | case EventsModel::Columns::TEnd: | |
72 | return DateUtils::dateTime(product.stopTime).toString(DATETIME_FORMAT_ONE_LINE); |
|
88 | return DateUtils::dateTime(product.stopTime).toString(DATETIME_FORMAT_ONE_LINE); | |
73 | case EventsModel::Columns::Product: |
|
89 | case EventsModel::Columns::Product: | |
74 | return QString::fromStdString(product.name); |
|
90 | return QString::fromStdString(product.name); | |
75 | default: |
|
91 | default: | |
76 | break; |
|
92 | break; | |
77 | } |
|
93 | } | |
78 | return QVariant {}; |
|
94 | return QVariant {}; | |
79 | } |
|
95 | } | |
80 |
|
96 | |||
81 | QVariant EventsModel::data(const QModelIndex& index, int role) const |
|
97 | QVariant EventsModel::data(const QModelIndex& index, int role) const | |
82 | { |
|
98 | { | |
83 | if (_events.size() && index.isValid() && role == Qt::DisplayRole) |
|
99 | if (_events.size() && index.isValid() && role == Qt::DisplayRole) | |
84 | { |
|
100 | { | |
85 | switch (type(index)) |
|
101 | switch (type(index)) | |
86 | { |
|
102 | { | |
87 | case EventsModel::ItemType::Event: |
|
103 | case EventsModel::ItemType::Event: | |
88 | return data(index.column(), _events[index.row()]); |
|
104 | return data(index.column(), _events[index.row()]); | |
89 | case EventsModel::ItemType::Product: |
|
105 | case EventsModel::ItemType::Product: | |
90 | { |
|
106 | { | |
91 | auto event = static_cast<CatalogueController::Event_t*>(index.internalPointer()); |
|
107 | auto event = static_cast<CatalogueController::Event_t*>(index.internalPointer()); | |
92 | return data(index.column(), event->products[index.row()]); |
|
108 | return data(index.column(), event->products[index.row()]); | |
93 | } |
|
109 | } | |
94 | default: |
|
110 | default: | |
95 | break; |
|
111 | break; | |
96 | } |
|
112 | } | |
97 | } |
|
113 | } | |
98 | return QVariant {}; |
|
114 | return QVariant {}; | |
99 | } |
|
115 | } | |
100 |
|
116 | |||
101 | QModelIndex EventsModel::index(int row, int column, const QModelIndex& parent) const |
|
117 | QModelIndex EventsModel::index(int row, int column, const QModelIndex& parent) const | |
102 | { |
|
118 | { | |
103 | if (!hasIndex(row, column, parent)) |
|
119 | if (!hasIndex(row, column, parent)) | |
104 | { |
|
120 | { | |
105 | return QModelIndex(); |
|
121 | return QModelIndex(); | |
106 | } |
|
122 | } | |
107 |
|
123 | |||
108 | switch (type(parent)) |
|
124 | switch (type(parent)) | |
109 | { |
|
125 | { | |
110 | case EventsModel::ItemType::None: |
|
126 | case EventsModel::ItemType::None: | |
111 | return createIndex(row, column, nullptr); |
|
127 | return createIndex(row, column, nullptr); | |
112 | case EventsModel::ItemType::Event: |
|
128 | case EventsModel::ItemType::Event: | |
113 | { |
|
129 | { | |
114 | return createIndex(row, column, _events[parent.row()].get()); |
|
130 | return createIndex(row, column, _events[parent.row()].get()); | |
115 | } |
|
131 | } | |
116 | case EventsModel::ItemType::Product: |
|
132 | case EventsModel::ItemType::Product: | |
117 | break; |
|
133 | break; | |
118 | default: |
|
134 | default: | |
119 | break; |
|
135 | break; | |
120 | } |
|
136 | } | |
121 |
|
137 | |||
122 | return QModelIndex(); |
|
138 | return QModelIndex(); | |
123 | } |
|
139 | } | |
124 |
|
140 | |||
125 | QModelIndex EventsModel::parent(const QModelIndex& index) const |
|
141 | QModelIndex EventsModel::parent(const QModelIndex& index) const | |
126 | { |
|
142 | { | |
127 | switch (type(index)) |
|
143 | switch (type(index)) | |
128 | { |
|
144 | { | |
129 | case EventsModel::ItemType::None: |
|
145 | case EventsModel::ItemType::None: | |
130 | break; |
|
146 | break; | |
131 | case EventsModel::ItemType::Event: |
|
147 | case EventsModel::ItemType::Event: | |
132 | break; |
|
148 | break; | |
133 | case EventsModel::ItemType::Product: |
|
149 | case EventsModel::ItemType::Product: | |
134 | { |
|
150 | { | |
135 | auto parentEvent = static_cast<CatalogueController::Event_t*>(index.internalPointer()); |
|
151 | auto parentEvent = static_cast<CatalogueController::Event_t*>(index.internalPointer()); | |
136 | auto pos = std::distance(std::cbegin(_events), |
|
152 | auto pos = std::distance(std::cbegin(_events), | |
137 | std::find_if(std::cbegin(_events), std::cend(_events), |
|
153 | std::find_if(std::cbegin(_events), std::cend(_events), | |
138 | [parentEvent](auto event) { return event.get() == parentEvent; })); |
|
154 | [parentEvent](auto event) { return event.get() == parentEvent; })); | |
139 | if (pos >= 0 && pos < _events.size()) |
|
155 | if (pos >= 0 && pos < _events.size()) | |
140 | { |
|
156 | { | |
141 | return createIndex(pos, 0); |
|
157 | return createIndex(pos, 0); | |
142 | } |
|
158 | } | |
143 | } |
|
159 | } | |
144 | } |
|
160 | } | |
145 | return QModelIndex(); |
|
161 | return QModelIndex(); | |
146 | } |
|
162 | } | |
147 |
|
163 | |||
148 | int EventsModel::rowCount(const QModelIndex& parent) const |
|
164 | int EventsModel::rowCount(const QModelIndex& parent) const | |
149 | { |
|
165 | { | |
150 | if (parent.column() > 0) |
|
166 | if (parent.column() > 0) | |
151 | { |
|
167 | { | |
152 | return 0; |
|
168 | return 0; | |
153 | } |
|
169 | } | |
154 |
|
170 | |||
155 | switch (type(parent)) |
|
171 | switch (type(parent)) | |
156 | { |
|
172 | { | |
157 | case EventsModel::ItemType::None: |
|
173 | case EventsModel::ItemType::None: | |
158 | return _events.size(); |
|
174 | return _events.size(); | |
159 | case EventsModel::ItemType::Event: |
|
175 | case EventsModel::ItemType::Event: | |
160 | return _events[parent.row()]->products.size(); |
|
176 | return _events[parent.row()]->products.size(); | |
161 | break; |
|
177 | break; | |
162 | case EventsModel::ItemType::Product: |
|
178 | case EventsModel::ItemType::Product: | |
163 | break; |
|
179 | break; | |
164 | default: |
|
180 | default: | |
165 | break; |
|
181 | break; | |
166 | } |
|
182 | } | |
167 | return 0; |
|
183 | return 0; | |
168 | } |
|
184 | } | |
169 |
|
185 | |||
170 | int EventsModel::columnCount(const QModelIndex& parent) const |
|
186 | int EventsModel::columnCount(const QModelIndex& parent) const | |
171 | { |
|
187 | { | |
172 | return static_cast<int>(EventsModel::Columns::NbColumn); |
|
188 | return static_cast<int>(EventsModel::Columns::NbColumn); | |
173 | } |
|
189 | } | |
174 |
|
190 | |||
175 | QVariant EventsModel::headerData(int section, Qt::Orientation orientation, int role) const |
|
191 | QVariant EventsModel::headerData(int section, Qt::Orientation orientation, int role) const | |
176 | { |
|
192 | { | |
177 | if (orientation == Qt::Horizontal && role == Qt::DisplayRole && section < ColumnsNames.size()) |
|
193 | if (orientation == Qt::Horizontal && role == Qt::DisplayRole && section < ColumnsNames.size()) | |
178 | { |
|
194 | { | |
179 | return ColumnsNames[section]; |
|
195 | return ColumnsNames[section]; | |
180 | } |
|
196 | } | |
181 |
|
197 | |||
182 | return QVariant(); |
|
198 | return QVariant(); | |
183 | } |
|
199 | } | |
184 |
|
200 | |||
185 | void EventsModel::sort(int column, Qt::SortOrder order) {} |
|
201 | void EventsModel::sort(int column, Qt::SortOrder order) {} |
@@ -1,12 +1,28 | |||||
|
1 | /* | |||
|
2 | This file is part of SciQLop. | |||
|
3 | ||||
|
4 | SciQLop is free software: you can redistribute it and/or modify | |||
|
5 | it under the terms of the GNU General Public License as published by | |||
|
6 | the Free Software Foundation, either version 3 of the License, or | |||
|
7 | (at your option) any later version. | |||
|
8 | ||||
|
9 | SciQLop is distributed in the hope that it will be useful, | |||
|
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
|
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
|
12 | GNU General Public License for more details. | |||
|
13 | ||||
|
14 | You should have received a copy of the GNU General Public License | |||
|
15 | along with SciQLop. If not, see <https://www.gnu.org/licenses/>. | |||
|
16 | */ | |||
1 | #include <Catalogue2/eventsmodel.h> |
|
17 | #include <Catalogue2/eventsmodel.h> | |
2 | #include <Catalogue2/eventstreeview.h> |
|
18 | #include <Catalogue2/eventstreeview.h> | |
3 |
|
19 | |||
4 | EventsTreeView::EventsTreeView(QWidget* parent) : QTreeView(parent) |
|
20 | EventsTreeView::EventsTreeView(QWidget* parent) : QTreeView(parent) | |
5 | { |
|
21 | { | |
6 | this->setModel(new EventsModel()); |
|
22 | this->setModel(new EventsModel()); | |
7 | } |
|
23 | } | |
8 |
|
24 | |||
9 | void EventsTreeView::setEvents(std::vector<CatalogueController::Event_ptr> events) |
|
25 | void EventsTreeView::setEvents(std::vector<CatalogueController::Event_ptr> events) | |
10 | { |
|
26 | { | |
11 | static_cast<EventsModel*>(this->model())->setEvents(events); |
|
27 | static_cast<EventsModel*>(this->model())->setEvents(events); | |
12 | } |
|
28 | } |
@@ -1,107 +1,123 | |||||
|
1 | /* | |||
|
2 | This file is part of SciQLop. | |||
|
3 | ||||
|
4 | SciQLop is free software: you can redistribute it and/or modify | |||
|
5 | it under the terms of the GNU General Public License as published by | |||
|
6 | the Free Software Foundation, either version 3 of the License, or | |||
|
7 | (at your option) any later version. | |||
|
8 | ||||
|
9 | SciQLop is distributed in the hope that it will be useful, | |||
|
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
|
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
|
12 | GNU General Public License for more details. | |||
|
13 | ||||
|
14 | You should have received a copy of the GNU General Public License | |||
|
15 | along with SciQLop. If not, see <https://www.gnu.org/licenses/>. | |||
|
16 | */ | |||
1 | #include <Catalogue2/repositoriesmodel.h> |
|
17 | #include <Catalogue2/repositoriesmodel.h> | |
2 | #include <Common/containers.h> |
|
18 | #include <Common/containers.h> | |
3 | #include <SqpApplication.h> |
|
19 | #include <SqpApplication.h> | |
4 |
|
20 | |||
5 |
|
21 | |||
6 | RepositoriesModel::RepositoriesModel(QObject* parent) : QAbstractItemModel(parent) |
|
22 | RepositoriesModel::RepositoriesModel(QObject* parent) : QAbstractItemModel(parent) | |
7 | { |
|
23 | { | |
8 | refresh(); |
|
24 | refresh(); | |
9 | } |
|
25 | } | |
10 |
|
26 | |||
11 | RepositoriesModel::ItemType RepositoriesModel::type(const QModelIndex& index) const |
|
27 | RepositoriesModel::ItemType RepositoriesModel::type(const QModelIndex& index) const | |
12 | { |
|
28 | { | |
13 | if (RepoModelItem* item = to_item(index)) |
|
29 | if (RepoModelItem* item = to_item(index)) | |
14 | { |
|
30 | { | |
15 | return item->type; |
|
31 | return item->type; | |
16 | } |
|
32 | } | |
17 | return ItemType::None; |
|
33 | return ItemType::None; | |
18 | } |
|
34 | } | |
19 |
|
35 | |||
20 | void RepositoriesModel::refresh() |
|
36 | void RepositoriesModel::refresh() | |
21 | { |
|
37 | { | |
22 | beginResetModel(); |
|
38 | beginResetModel(); | |
23 | _items.clear(); |
|
39 | _items.clear(); | |
24 | _items.push_back(std::make_unique<RepoModelItem>("All")); |
|
40 | _items.push_back(std::make_unique<RepoModelItem>("All")); | |
25 | _items.push_back(std::make_unique<RepoModelItem>("Trash")); |
|
41 | _items.push_back(std::make_unique<RepoModelItem>("Trash")); | |
26 | auto repo_list = sqpApp->catalogueController().repositories(); |
|
42 | auto repo_list = sqpApp->catalogueController().repositories(); | |
27 | std::transform(std::begin(repo_list), std::end(repo_list), std::back_inserter(_items), |
|
43 | std::transform(std::begin(repo_list), std::end(repo_list), std::back_inserter(_items), | |
28 | [](const auto& repo_name) { return std::make_unique<RepoModelItem>(repo_name); }); |
|
44 | [](const auto& repo_name) { return std::make_unique<RepoModelItem>(repo_name); }); | |
29 | endResetModel(); |
|
45 | endResetModel(); | |
30 | } |
|
46 | } | |
31 |
|
47 | |||
32 | QVariant RepositoriesModel::data(const QModelIndex& index, int role) const |
|
48 | QVariant RepositoriesModel::data(const QModelIndex& index, int role) const | |
33 | { |
|
49 | { | |
34 | if (index.isValid() && index.column() == 0) |
|
50 | if (index.isValid() && index.column() == 0) | |
35 | { |
|
51 | { | |
36 | return to_item(index)->data(role); |
|
52 | return to_item(index)->data(role); | |
37 | } |
|
53 | } | |
38 | return QVariant {}; |
|
54 | return QVariant {}; | |
39 | } |
|
55 | } | |
40 |
|
56 | |||
41 | QModelIndex RepositoriesModel::index(int row, int column, const QModelIndex& parent) const |
|
57 | QModelIndex RepositoriesModel::index(int row, int column, const QModelIndex& parent) const | |
42 | { |
|
58 | { | |
43 | if (!hasIndex(row, column, parent)) |
|
59 | if (!hasIndex(row, column, parent)) | |
44 | { |
|
60 | { | |
45 | return QModelIndex(); |
|
61 | return QModelIndex(); | |
46 | } |
|
62 | } | |
47 |
|
63 | |||
48 | switch (type(parent)) |
|
64 | switch (type(parent)) | |
49 | { |
|
65 | { | |
50 | case RepositoriesModel::ItemType::None: // is a repo |
|
66 | case RepositoriesModel::ItemType::None: // is a repo | |
51 | return createIndex(row, column, _items[row].get()); |
|
67 | return createIndex(row, column, _items[row].get()); | |
52 | case RepositoriesModel::ItemType::Repository: // is a catalogue |
|
68 | case RepositoriesModel::ItemType::Repository: // is a catalogue | |
53 | return createIndex(row, column, to_item(parent)->children[row].get()); |
|
69 | return createIndex(row, column, to_item(parent)->children[row].get()); | |
54 | case RepositoriesModel::ItemType::Catalogue: |
|
70 | case RepositoriesModel::ItemType::Catalogue: | |
55 | return createIndex(row, column, new RepoModelItem()); |
|
71 | return createIndex(row, column, new RepoModelItem()); | |
56 | } |
|
72 | } | |
57 |
|
73 | |||
58 | return QModelIndex(); |
|
74 | return QModelIndex(); | |
59 | } |
|
75 | } | |
60 |
|
76 | |||
61 | QModelIndex RepositoriesModel::parent(const QModelIndex& index) const |
|
77 | QModelIndex RepositoriesModel::parent(const QModelIndex& index) const | |
62 | { |
|
78 | { | |
63 | auto item = to_item(index); |
|
79 | auto item = to_item(index); | |
64 | if (item->type == ItemType::Catalogue) |
|
80 | if (item->type == ItemType::Catalogue) | |
65 | { |
|
81 | { | |
66 | auto repoIndex = SciQLop::containers::index_of(_items, item->parent); |
|
82 | auto repoIndex = SciQLop::containers::index_of(_items, item->parent); | |
67 | return createIndex(repoIndex, 0, item->parent); |
|
83 | return createIndex(repoIndex, 0, item->parent); | |
68 | } |
|
84 | } | |
69 | return QModelIndex(); |
|
85 | return QModelIndex(); | |
70 | } |
|
86 | } | |
71 |
|
87 | |||
72 | int RepositoriesModel::rowCount(const QModelIndex& parent) const |
|
88 | int RepositoriesModel::rowCount(const QModelIndex& parent) const | |
73 | { |
|
89 | { | |
74 | switch (type(parent)) |
|
90 | switch (type(parent)) | |
75 | { |
|
91 | { | |
76 | case RepositoriesModel::ItemType::None: |
|
92 | case RepositoriesModel::ItemType::None: | |
77 | return _items.size(); |
|
93 | return _items.size(); | |
78 | case RepositoriesModel::ItemType::Repository: |
|
94 | case RepositoriesModel::ItemType::Repository: | |
79 | return to_item(parent)->children.size(); |
|
95 | return to_item(parent)->children.size(); | |
80 | case RepositoriesModel::ItemType::Catalogue: |
|
96 | case RepositoriesModel::ItemType::Catalogue: | |
81 | break; |
|
97 | break; | |
82 | } |
|
98 | } | |
83 | return 0; |
|
99 | return 0; | |
84 | } |
|
100 | } | |
85 |
|
101 | |||
86 | RepositoriesModel::RepoModelItem::RepoModelItem(const QString& repo) |
|
102 | RepositoriesModel::RepoModelItem::RepoModelItem(const QString& repo) | |
87 | : type { ItemType::Repository }, item { repo }, icon { ":/icones/database.png" } |
|
103 | : type { ItemType::Repository }, item { repo }, icon { ":/icones/database.png" } | |
88 | { |
|
104 | { | |
89 | auto catalogues = sqpApp->catalogueController().catalogues(repo); |
|
105 | auto catalogues = sqpApp->catalogueController().catalogues(repo); | |
90 | std::transform(std::begin(catalogues), std::end(catalogues), std::back_inserter(children), |
|
106 | std::transform(std::begin(catalogues), std::end(catalogues), std::back_inserter(children), | |
91 | [this](auto& catalogue) { return std::make_unique<RepoModelItem>(catalogue, this); }); |
|
107 | [this](auto& catalogue) { return std::make_unique<RepoModelItem>(catalogue, this); }); | |
92 | } |
|
108 | } | |
93 |
|
109 | |||
94 | QVariant RepositoriesModel::RepoModelItem::data(int role) const |
|
110 | QVariant RepositoriesModel::RepoModelItem::data(int role) const | |
95 | { |
|
111 | { | |
96 | switch (role) |
|
112 | switch (role) | |
97 | { |
|
113 | { | |
98 | case Qt::EditRole: |
|
114 | case Qt::EditRole: | |
99 | case Qt::DisplayRole: |
|
115 | case Qt::DisplayRole: | |
100 | return text(); |
|
116 | return text(); | |
101 | case Qt::DecorationRole: |
|
117 | case Qt::DecorationRole: | |
102 | return QVariant { icon }; |
|
118 | return QVariant { icon }; | |
103 | default: |
|
119 | default: | |
104 | break; |
|
120 | break; | |
105 | } |
|
121 | } | |
106 | return QVariant {}; |
|
122 | return QVariant {}; | |
107 | } |
|
123 | } |
@@ -1,6 +1,7 | |||||
|
1 | include(sciqlop_tests) | |||
1 | subdirs(GUITestUtils) |
|
2 | subdirs(GUITestUtils) | |
2 | declare_test(simple_graph simple_graph simple_graph/main.cpp "sciqlopgui;TestUtils;GUITestUtils;Qt5::Test") |
|
3 | declare_test(simple_graph simple_graph simple_graph/main.cpp "sciqlopgui;TestUtils;GUITestUtils;Qt5::Test") | |
3 | declare_test(multiple_sync_graph multiple_sync_graph multiple_sync_graph/main.cpp "sciqlopgui;TestUtils;GUITestUtils;Qt5::Test") |
|
4 | declare_test(multiple_sync_graph multiple_sync_graph multiple_sync_graph/main.cpp "sciqlopgui;TestUtils;GUITestUtils;Qt5::Test") | |
4 |
|
5 | |||
5 | declare_test(event_list event_list catalogue/event_list/main.cpp "sciqlopgui;TestUtils;GUITestUtils;Qt5::Test") |
|
6 | declare_manual_test(event_list event_list catalogue/event_list/main.cpp "sciqlopgui;TestUtils;GUITestUtils;Qt5::Test") | |
6 | declare_test(repository_list repository_list catalogue/repository_list/main.cpp "sciqlopgui;TestUtils;GUITestUtils;Qt5::Test") |
|
7 | declare_manual_test(repository_list repository_list catalogue/repository_list/main.cpp "sciqlopgui;TestUtils;GUITestUtils;Qt5::Test") |
@@ -1,65 +1,61 | |||||
1 | #include <QMainWindow> |
|
1 | #include <QMainWindow> | |
2 | #include <QObject> |
|
2 | #include <QObject> | |
3 | #include <QScreen> |
|
3 | #include <QScreen> | |
4 | #include <QString> |
|
4 | #include <QString> | |
5 | #include <QWheelEvent> |
|
5 | #include <QWheelEvent> | |
6 | #include <QtTest> |
|
6 | #include <QtTest> | |
7 |
|
7 | |||
8 | #include <QTreeView> |
|
8 | #include <QTreeView> | |
9 |
|
9 | |||
10 |
|
10 | |||
11 | #include <Common/cpp_utils.h> |
|
11 | #include <Common/cpp_utils.h> | |
12 | #include <SqpApplication.h> |
|
12 | #include <SqpApplication.h> | |
13 |
|
13 | |||
14 | #include <GUITestUtils.h> |
|
14 | #include <GUITestUtils.h> | |
15 | #include <TestProviders.h> |
|
15 | #include <TestProviders.h> | |
16 |
|
16 | |||
17 |
|
|
17 | #include <Catalogue2/repositoriestreeview.h> | |
18 |
|
||||
19 | #include <Catalogue2/eventstreeview.h> |
|
|||
20 | #include <Catalogue2/repositoriesmodel.h> |
|
|||
21 |
|
18 | |||
22 |
|
19 | |||
23 | class An_EventList : public QObject |
|
20 | class An_EventList : public QObject | |
24 | { |
|
21 | { | |
25 | Q_OBJECT |
|
22 | Q_OBJECT | |
26 | public: |
|
23 | public: | |
27 | explicit An_EventList(QObject* parent = Q_NULLPTR) : QObject(parent) {} |
|
24 | explicit An_EventList(QObject* parent = Q_NULLPTR) : QObject(parent) {} | |
28 |
|
25 | |||
29 | private slots: |
|
26 | private slots: | |
30 | }; |
|
27 | }; | |
31 |
|
28 | |||
32 | // QT_BEGIN_NAMESPACE |
|
29 | // QT_BEGIN_NAMESPACE | |
33 | // QTEST_ADD_GPU_BLACKLIST_SUPPORT_DEFS |
|
30 | // QTEST_ADD_GPU_BLACKLIST_SUPPORT_DEFS | |
34 | // QT_END_NAMESPACE |
|
31 | // QT_END_NAMESPACE | |
35 | // int main(int argc, char* argv[]) |
|
32 | // int main(int argc, char* argv[]) | |
36 | //{ |
|
33 | //{ | |
37 | // SqpApplication app { argc, argv }; |
|
34 | // SqpApplication app { argc, argv }; | |
38 | // app.setAttribute(Qt::AA_Use96Dpi, true); |
|
35 | // app.setAttribute(Qt::AA_Use96Dpi, true); | |
39 | // QTEST_DISABLE_KEYPAD_NAVIGATION; |
|
36 | // QTEST_DISABLE_KEYPAD_NAVIGATION; | |
40 | // QTEST_ADD_GPU_BLACKLIST_SUPPORT; |
|
37 | // QTEST_ADD_GPU_BLACKLIST_SUPPORT; | |
41 | // An_EventList tc; |
|
38 | // An_EventList tc; | |
42 | // QTEST_SET_MAIN_SOURCE_PATH; |
|
39 | // QTEST_SET_MAIN_SOURCE_PATH; | |
43 | // return QTest::qExec(&tc, argc, argv); |
|
40 | // return QTest::qExec(&tc, argc, argv); | |
44 | //} |
|
41 | //} | |
45 |
|
42 | |||
46 | #include "main.moc" |
|
43 | #include "main.moc" | |
47 |
|
44 | |||
48 |
|
45 | |||
49 | int main(int argc, char* argv[]) |
|
46 | int main(int argc, char* argv[]) | |
50 | { |
|
47 | { | |
51 | Q_INIT_RESOURCE(sqpguiresources); |
|
48 | Q_INIT_RESOURCE(sqpguiresources); | |
52 | QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling); |
|
49 | QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling); | |
53 |
|
50 | |||
54 | SqpApplication a { argc, argv }; |
|
51 | SqpApplication a { argc, argv }; | |
55 |
|
|
52 | RepositoriesTreeView w; | |
56 | sqpApp->catalogueController().add("test"); |
|
53 | sqpApp->catalogueController().add("test"); | |
57 | sqpApp->catalogueController().add("stuff"); |
|
54 | sqpApp->catalogueController().add("stuff"); | |
58 | sqpApp->catalogueController().add("default"); |
|
55 | sqpApp->catalogueController().add("default"); | |
59 | sqpApp->catalogueController().add("new catalogue", "default"); |
|
56 | sqpApp->catalogueController().add("new catalogue", "default"); | |
60 | sqpApp->catalogueController().add("new catalogue2", "default"); |
|
57 | sqpApp->catalogueController().add("new catalogue2", "default"); | |
61 | RepositoriesModel* model = new RepositoriesModel(); |
|
|||
62 | w.setModel(model); |
|
|||
63 | w.show(); |
|
58 | w.show(); | |
|
59 | w.refresh(); | |||
64 | return a.exec(); |
|
60 | return a.exec(); | |
65 | } |
|
61 | } |
General Comments 0
You need to be logged in to leave comments.
Login now