-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmainwindow.h
More file actions
166 lines (109 loc) · 4.15 KB
/
mainwindow.h
File metadata and controls
166 lines (109 loc) · 4.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QtCore>
#include "newprojectwin.h"
#include "project.h"
#include "version.h"
#include <QFileSystemModel>
#include <QTreeView>
#include <QTreeWidgetItem>
#include <QGraphicsAnchorLayout>
#include <QProcess>
#include "masterversionwin.h"
#include "newversionwin.h"
#include "versionfileparser.h"
#include "files_functions.cpp"
#include "logicclass.h"
#include "newclasswin.h"
#include "logicclassparser.h"
#include "logicobjectparser.h"
#include "logicviewpalette.h"
#include "theme_selector.cpp"
#include "notesedit.h"
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
/// Carica un progetto nell' ambiente (current_project)
void loadProject();
/// Mostra delle informazioni sulla console del programma
void showConsoleInfo(QString info);
// Mostra degli errori sulla console
void showConsoleError(QString error);
/// Mostra un warning sulla console
void showConsoleWarning(QString text);
private slots:
void on_actionNuovo_triggered();
void on_actionVersione_master_triggered();
void on_actionAggiungi_versione_triggered();
void on_openInExplorerBtn_clicked();
void on_actionStruttura_file_in_explorer_triggered();
void on_actionConsole_di_sistema_triggered();
void on_openInTerminalBtn_clicked();
void on_logicStrTree_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
void on_pushButton_clicked();
void on_openFileBtn_clicked();
void on_pushButton_3_clicked();
void on_actionRimuovi_versione_triggered();
void on_actionApri_versione_master_triggered();
void on_newVersionBtn_clicked();
void on_deleteObjectBtn_clicked();
void on_actionSalva_triggered();
void on_addClassBtn_clicked();
void on_pushButton_5_clicked();
void on_versionLogicView_customContextMenuRequested(const QPoint &pos);
void on_actionChiudi_tutto_triggered();
void on_actionChiudi_selezione_triggered();
void on_actionEspandi_tutto_triggered();
void on_actionEspandi_selezione_triggered();
void on_actionNuova_classe_triggered();
void on_logicStrTree_customContextMenuRequested(const QPoint &pos);
void on_actionFlag_stabile_triggered();
void on_actionFlag_instabile_triggered();
void on_actionApri_in_explorer_triggered();
void on_actionApri_in_terminale_triggered();
void on_actionApri_file_progetto_triggered();
void on_actionApri_progetto_triggered();
void on_actionModifica_note_versione_triggered();
private:
Ui::MainWindow *ui;
/// Aggiunge un nodo root alla treeview
QTreeWidgetItem* addRootItem(QString name, QString description, QTreeWidget *widget);
/// Aggiunge un nodo alla treeview
QTreeWidgetItem* addItem(QTreeWidgetItem *parent, QString name, QString description, bool stable, QTreeWidget *widget);
Project *current_project;
QFileSystemModel *model;
/// Apre il progetto corrente nell' explorer
void openProjectInExplorer();
/// Apre la versione master nell' explorer
void openMasterInExplorer();
/// Apre una versione nell' explorer
void openVersionInExplorer(unsigned int num);
/// Apre una nuova finestra del prompt cmd
void openCmdPrompt();
/// Apre il terminale in un percorso preciso
void openCmdPrompt(QString path);
/// Controlla se il progetto esiste e se non lo è manda una messagebox
bool existsProject(QString why);
/// Aggiorna le logiche di progetto
void updateLogics(QTreeWidgetItem *current);
/// Carica un progetto nell' ambiente
bool loadProjectFromDisk();
/// Restituisce la versione selezionata nel logicStrTree
Version* getCurrentVersion(bool exclude_master);
/// Etichetta nella status bar per il nome del progetto
QLabel *proj_name;
/// Etichetta per la data di creazione del progetto
QLabel *proj_creation_time;
/// Icona del progetto
QIcon program_icon;
/// Etichetta con il percorso di lavoro
QLabel *proj_home_path;
};
#endif // MAINWINDOW_H