Project Documentation Manager BRIGADOON-0002
Project Documentation Manager
Loading...
Searching...
No Matches
projectlistmanager.h
Go to the documentation of this file.
1
8#ifndef PROJECTLISTMANAGER_H
9#define PROJECTLISTMANAGER_H
10
11#include <QObject>
12#include <QSqlQuery>
13#include <QTableWidgetItem>
14#include <ui_mainwindow.h>
15#include "logger.h"
16#include "common_definitions.h"
17
30
35#define DEFAULT_PROJECTS 40
36
41#define PROJECT_IDENT_SIZE 140
42
47#define PROJECT_NAME_SIZE 225
48
53#define TARGET_FAMILY_SIZE 100
54
59#define PROJECT_CONTACT_SIZE 100
60
65#define PROJECT_STATUS_SIZE 80
66
71#define BRIEF_DESC_SIZE 400
72
77#define DEV_FAMILY_SIZE 115
78
83#define COMPILER_FAMILY_SIZE 100
84
89#define ASSOCIATION_SIZE 100
90
95#define SOFTWARE_LICENCE_SIZE 120
96
101#define HARDWARE_LICENCE_SIZE 120
102
107#define DOC_LICENCE_SIZE 120
108
113#define ARCHIVE_BUTTON_SIZE 40
114
119#define INSTALL_BUTTON_SIZE 40
120
125#define PUBLISH_BUTTON_SIZE 70
126
131class ProjectListManager : public QObject
132{
133 Q_OBJECT
134public:
135
141 ProjectListManager(Ui::MainWindow* UI_Window);
142
148
149 QString MakeHTMLProjectPage(QString HeaderTemplateFile, QString FooterTemplateFile, QString LineTemplateFile, bool TableOnly = true);
150 QString MakeOSProjectPage(void);
151
152private:
153
158 Ui::MainWindow* ui;
159
164 QButtonGroup* sort_group;
165
171
176 QList<PROJECT_INFORMATION*> ProjectList;
177
182 void InitaliseProjectTable(void);
183
188 void SetMaximumProjects(void);
189
196 QString ReadTableTemplate(QString TemplateFile);
197
205 bool WriteTextFile(QString FileName, QString Contents);
206
213 int FindSelections(int index);
214
221 void SetCheckState(int column, bool InstallState);
222
230 void LogAdd(LOGGING_SEVERITY Severity, LOGGING_MODE Mode, QString Message);
231
232public slots:
233
239 void ProjectTabChanged(int Index);
240
246 //void LoadProjectTable(QAbstractButton* SortButton);
247 void LoadProjectTable(void);
248
253 void ProcessFullList(void);
254
259 void ProcessSelection(void);
260
266 void PrStateChange(PROJECT_INFORMATION *Project);
267
268private slots:
269
274 void PressedInstallOff(void);
275
280 void PressedInstallOn(void);
281
286 void PressedArchiveOff(void);
287
292 void PressedArchiveOn(void);
293
294signals:
295
302
303};
304
305#endif // PROJECTLISTMANAGER_H
void SetMaximumProjects(void)
Set the Initial Line Count in the Project List table.
~ProjectListManager()
Project List Manager Class Destructor.
bool WriteTextFile(QString FileName, QString Contents)
Write a String to a File.
void PressedInstallOff(void)
Turn all Install Check boxes off in List table.
void SendLogEntry(REMOTE_LOG_ENTRY log_entry)
void LoadProjectTable(void)
Clear and Reload the Project table, Sort by Selected Button \SortButton Button pressed to sort the Ta...
void SetCheckState(int column, bool InstallState)
Set the State of all Project Selection in Table List.
QString MakeOSProjectPage(void)
QList< PROJECT_INFORMATION * > ProjectList
A list of Projects to be processed.
QString ReadTableTemplate(QString TemplateFile)
Read an HTML template from a File.
int FindSelections(int index)
Read and Encode selected options for a Project.
QString base_project_query
Basic SQL Query for listing Projects.
void LogAdd(LOGGING_SEVERITY Severity, LOGGING_MODE Mode, QString Message)
Send Message to the Log.
void ProcessFullList(void)
Add all Projects for Documentation Creation.
void InitaliseProjectTable(void)
Clear and Load the Project List Table.
QString MakeHTMLProjectPage(QString HeaderTemplateFile, QString FooterTemplateFile, QString LineTemplateFile, bool TableOnly=true)
ProjectListManager(Ui::MainWindow *UI_Window)
Project List Manager Class Constructor.
void PressedArchiveOn(void)
Turn all Archive Check boxes on in List table.
void PressedArchiveOff(void)
Turn all Archive Check boxes off in List table.
void PressedInstallOn(void)
Turn all Install Check boxes on in List table.
void ProjectTabChanged(int Index)
Process the Change in Window Tab.
QButtonGroup * sort_group
Pointer to Button Group for sorting Project List Table.
void ProcessSelection(void)
Add th Selected Project for Documentation Creation.
void PrStateChange(PROJECT_INFORMATION *Project)
Update the Lock/Queued Status of Project in the Project List Table.
Common Structure Defintitions.
LOGGING_SEVERITY
Log Severity allow the selection of logging events based on Severity.
Definition logger.h:48
LOGGING_MODE
Log Severity allow the selection of logging events based on the mode.
Definition logger.h:21
TAB_INDEX_LIST
A List of Tabs in the Main Window.
@ LICENCE_ACK_TAB
@ CREATE_UPDATE_TAB
@ UPDATE_PROJECTS_TAB
@ PROGRAM_SETUP_TAB
@ LOG_TAB
Project Information Passed Between Functions.
Definition logger.h:60