|
Project Documentation Manager BRIGADOON-0002
Project Documentation Manager
|
Project Document Control Class. More...
#include <projectdocmanager.h>
Public Slots | |
| void | LoadProjectList () |
| Load Select Project List from Database. | |
| void | ReceiveProjectId (PROJECT_INFORMATION ProjectId) |
| Receive the Project's Information for processing. | |
| void | SaveProject (void) |
| Save a new project to the database. | |
| int | CreateProjectId (void) |
| Create the next unused project number. | |
Signals | |
| void | SendClear (void) |
| Send a Project Clear Command. | |
| void | SendLogEntry (REMOTE_LOG_ENTRY LogEntry) |
| Send Log Entry via the Signal-Slot Method. | |
| void | SendDevelopmentFamily (DEVELOPMENT_FAMILY DevFamily) |
| Send Development Family Information Structure for Update. | |
| void | SendLicenceState (LICENCE_STATE ProjectLicences) |
| Send out the current Licence States. | |
| void | SendProjectId (PROJECT_INFORMATION *ProjectId) |
| Send out Project Information for Updates. | |
| void | SendVersion (REMOTE_VERSION_ENTRY VersionInfo) |
| Send out the Project Version Information. | |
| void | SendSubstituteState (bool State) |
| Send the Substitute Enable State. | |
| void | SaveLocalSubstitutes (void) |
| Send a Trigger to Load. | |
| void | LoadSubstituteTable () |
| Load System Substituitions. | |
Public Member Functions | |
| ProjectDocManager (Ui::MainWindow *UI_Window) | |
| ProjectManager Class Constructor. | |
| ~ProjectDocManager () | |
| ProjectManager Class Deconstructor. | |
| bool | CommitGitDirectory (QString SrcFilePath, QString VersionsString, QString Message) |
| Commit Project Files to Git. | |
Private Slots | |
| void | SetDocAccess (int State) |
| Enable/Disable Document Access Restrictions. | |
| void | SetDoxyOptions (int State) |
| Enable/Disable Custom Doxy Options. | |
| void | SetDonationsWelcome (int State) |
| Enable/Disable Donation Options. | |
| void | GetDoxyLogo (void) |
| Get the Doxygen Logo from known image files. | |
| void | GetDoxyHeader (void) |
| Get Custom Doxygen Header. | |
| void | GetDoxyFooter (void) |
| Get Custom Doxygen Footer. | |
| void | GetDoxyStylesheet (void) |
| Get Custom Doxygen Stylesheet. | |
| void | StartProject (void) |
| Enable the Project User Interface for editing. | |
| void | SetEditState (int State) |
| Enable/Disable editing. | |
| void | ReadActivated (int Item) |
| Load a Project & Enable editing. | |
| void | DoEditAbort (void) |
| Abort Editing without Saving. | |
| void | DoEditSave (void) |
| Abort Editing after Saving. | |
| void | EnableUserInterface (bool State) |
| Enable the Project User Interface. | |
Private Member Functions | |
| QString | GetFile (QString InitialName, GET_FILE_TYPE FileType) |
| Read a file into a String. | |
| void | LogAdd (LOGGING_SEVERITY Severity, LOGGING_MODE Mode, const QString Message) |
| Send Message to the Log. | |
| void | ShowMessage (QString Message) |
| Shows Message in popup window. | |
| void | LoadProjectFromDatabase (int Item) |
| Load Project Information from Database. | |
| void | SetEditButtons (bool State) |
| Enable/Disable Edit buttons. | |
| int | GetLicenceIndex (QString LicenceName) |
| Get the Licence Database Index from the Licence Name. | |
| bool | IsSaveAvailable (void) |
| Check if Project Save is Enabled. | |
| void | UpdateProjectToDatabase (void) |
| Updates an Existing Project. | |
| bool | InsertNewProjectInDatabase (void) |
| Inserts new project into the database. | |
| bool | CopyRecursively (const QString &SourceFilePath, const QString &TargetFilePath) |
| Recursively copy files from Source to Destination. | |
| bool | InitiasliseGitDirectory (QString SrcFilePath) |
| Initialise the Project's Git Directory. | |
| bool | LockProject (int ProjectIndex, bool LockState) |
| Lock/Unlock Project in the Database. | |
| void | LockSubsButtons (bool State) |
| Lock/unlock the Substitution Buttons. | |
Private Attributes | |
| Ui::MainWindow * | ui |
| Pointer to the Main Window. | |
| PROJECT_INFORMATION | project_info |
| Structure to hold Project Information. | |
Project Document Control Class.
Definition at line 34 of file projectdocmanager.h.
| ProjectDocManager::ProjectDocManager | ( | Ui::MainWindow * | UI_Window | ) |
ProjectManager Class Constructor.
| UI_Window | Pointer to the Main Window |
Definition at line 25 of file projectdocmanager.cpp.
References DoEditAbort(), GetDoxyFooter(), GetDoxyHeader(), GetDoxyLogo(), GetDoxyStylesheet(), ReadActivated(), SetDocAccess(), SetDonationsWelcome(), SetDoxyOptions(), SetEditState(), StartProject(), and ui.
| ProjectDocManager::~ProjectDocManager | ( | ) |
ProjectManager Class Deconstructor.
Definition at line 43 of file projectdocmanager.cpp.
References current_locked_project, and read_project_info.
| bool ProjectDocManager::CommitGitDirectory | ( | QString | SrcFilePath, |
| QString | VersionsString, | ||
| QString | Message ) |
Commit Project Files to Git.
| SrcFilePath | Path to the Source Directory |
| VersionString | Project's Version Number as String |
| Message | String identifying reason for the Version |
Definition at line 791 of file projectdocmanager.cpp.
References LOG_DEBUG, LOG_ERROR, LogAdd(), and MODE_THREAD.
|
private |
Recursively copy files from Source to Destination.
| SourceFilePath | Source Directory |
| TargetFilePath | Destination Directory |
Definition at line 691 of file projectdocmanager.cpp.
References CopyRecursively(), LOG_ERROR, LogAdd(), and MODE_FILE.
Referenced by CopyRecursively(), and InsertNewProjectInDatabase().
|
slot |
Create the next unused project number.
Definition at line 491 of file projectdocmanager.cpp.
References project_info, and ui.
Referenced by InsertNewProjectInDatabase().
|
privateslot |
Abort Editing without Saving.
Definition at line 285 of file projectdocmanager.cpp.
References EnableUserInterface(), LockProject(), project_info, SendClear(), SetEditButtons(), and ui.
Referenced by DoEditSave(), and ProjectDocManager().
|
privateslot |
Abort Editing after Saving.
Definition at line 302 of file projectdocmanager.cpp.
References DoEditAbort(), LOG_INFO, LogAdd(), and MODE_DATABASE.
Referenced by InsertNewProjectInDatabase(), and UpdateProjectToDatabase().
|
privateslot |
Enable the Project User Interface.
Definition at line 323 of file projectdocmanager.cpp.
References SendSubstituteState(), and ui.
Referenced by DoEditAbort(), ReadActivated(), and StartProject().
|
privateslot |
Get Custom Doxygen Footer.
This routine brings up a file selector for operator action
Definition at line 80 of file projectdocmanager.cpp.
References GET_HTML_FILE, GetFile(), and ui.
Referenced by ProjectDocManager().
|
privateslot |
Get Custom Doxygen Header.
This routine brings up a file selector for operator action
Definition at line 75 of file projectdocmanager.cpp.
References GET_HTML_FILE, GetFile(), and ui.
Referenced by ProjectDocManager().
|
privateslot |
Get the Doxygen Logo from known image files.
Definition at line 70 of file projectdocmanager.cpp.
References GET_IMAGE_FILE, GetFile(), and ui.
Referenced by ProjectDocManager().
|
privateslot |
Get Custom Doxygen Stylesheet.
This routine brings up a file selector for operator action
Definition at line 85 of file projectdocmanager.cpp.
References GET_CSS_FILE, GetFile(), and ui.
Referenced by ProjectDocManager().
|
private |
Read a file into a String.
| InitialName | Name of the File to read |
| Type | of File for which to filter |
This routine returns an empty string if the read failed.
Definition at line 90 of file projectdocmanager.cpp.
References GET_CSS_FILE, GET_HTML_FILE, and GET_IMAGE_FILE.
Referenced by GetDoxyFooter(), GetDoxyHeader(), GetDoxyLogo(), and GetDoxyStylesheet().
|
private |
Get the Licence Database Index from the Licence Name.
| LicenceName | Short Name of the Licence |
Definition at line 517 of file projectdocmanager.cpp.
Referenced by InsertNewProjectInDatabase(), and UpdateProjectToDatabase().
|
private |
Initialise the Project's Git Directory.
| SrcFilePath | Source Directory |
Definition at line 736 of file projectdocmanager.cpp.
References LOG_DEBUG, LOG_ERROR, LogAdd(), and MODE_THREAD.
Referenced by InsertNewProjectInDatabase().
|
private |
Inserts new project into the database.
Definition at line 533 of file projectdocmanager.cpp.
References CopyRecursively(), CreateProjectId(), DoEditSave(), GetLicenceIndex(), InitiasliseGitDirectory(), LOG_DEBUG, LOG_ERROR, LogAdd(), MODE_DATABASE, MODE_FILE, project_opts_manager, ShowMessage(), and ui.
Referenced by SaveProject().
|
private |
Check if Project Save is Enabled.
Definition at line 682 of file projectdocmanager.cpp.
References ui.
Referenced by SaveProject().
|
private |
Load Project Information from Database.
| Item | Project to be loaded from Database |
Definition at line 231 of file projectdocmanager.cpp.
References LOG_ERROR, LogAdd(), MODE_DATABASE, project_info, PT_ASSOC_GROUP, PT_BRIEF_DESCRIPTION, PT_COMPILER_FAMILY, PT_COMPILER_TYPE, PT_DEPARTURE_URL, PT_DEV_FAMILY, PT_DOC_LICENCE, PT_DOXY_EXTRA_STYLESHEET_FILENAME, PT_DOXY_HTML_FOOTER_FILENAME, PT_DOXY_HTML_HEADER_FILENAME, PT_DOXY_PROJECT_LOGO_FILENAME, PT_EXECUTABLE_DIRECTORY, PT_EXECUTABLE_NAME, PT_FULL_DESCRIPTION, PT_HARDWARE_LICENCE, PT_ICON_FILENAME, PT_MAJOR_VERSION, PT_MINOR_VERSION, PT_PROJECT_CONTACT, PT_PROJECT_DIRECTORY, PT_PROJECT_IDENT, PT_PROJECT_INDEX, PT_PROJECT_LOCK, PT_PROJECT_NAME, PT_PROJECT_OPTIONS, PT_PROJECT_QUEUED, PT_PROJECT_STATUS, PT_REVISION, PT_SOFTWARE_LICENCE, PT_STATUS_DATE, PT_TARGET_FAMILY, SendClear(), SendProjectId(), and ui.
Referenced by ReadActivated().
|
slot |
Load Select Project List from Database.
This routine will load the list of projects that can be edited. It will exclude all projects that are flagged as locked in the database to prevent editing and documentation generation conflicts.
Definition at line 118 of file projectdocmanager.cpp.
References LOG_DEBUG, LOG_INFO, LogAdd(), MODE_DATABASE, and ui.
Referenced by SetEditState().
|
signal |
Load System Substituitions.
Referenced by StartProject().
|
private |
Lock/Unlock Project in the Database.
| ProjectIndex | Project's Database Index |
| LockState | Lock (true) or Unlock (false) |
Definition at line 828 of file projectdocmanager.cpp.
References current_locked_project, LOG_DEBUG, LOG_ERROR, LogAdd(), and MODE_DATABASE.
Referenced by DoEditAbort().
|
private |
Lock/unlock the Substitution Buttons.
| State | On (true) or Off (false) |
Definition at line 676 of file projectdocmanager.cpp.
References ui.
Referenced by StartProject().
|
private |
Send Message to the Log.
| Severity | Severity of the Log Message |
| Mode | Which part of the program does the message relate to |
| Message | Text message to be added to the Log |
Definition at line 192 of file projectdocmanager.cpp.
References REMOTE_LOG_ENTRY::Message, REMOTE_LOG_ENTRY::Mode, SendLogEntry(), and REMOTE_LOG_ENTRY::Severity.
Referenced by CommitGitDirectory(), CopyRecursively(), DoEditSave(), InitiasliseGitDirectory(), InsertNewProjectInDatabase(), LoadProjectFromDatabase(), LoadProjectList(), LockProject(), ReadActivated(), and UpdateProjectToDatabase().
|
privateslot |
Load a Project & Enable editing.
| Item | Project Database Index |
Definition at line 201 of file projectdocmanager.cpp.
References EnableUserInterface(), LoadProjectFromDatabase(), LOG_DEBUG, LogAdd(), MODE_OPERATOR, read_project_info, SetEditButtons(), ShowMessage(), and ui.
Referenced by ProjectDocManager().
|
slot |
Receive the Project's Information for processing.
| ProjectId | The Project, Information Structure |
Definition at line 218 of file projectdocmanager.cpp.
References project_info.
|
signal |
Send a Trigger to Load.
Referenced by UpdateProjectToDatabase().
|
slot |
Save a new project to the database.
Definition at line 330 of file projectdocmanager.cpp.
References InsertNewProjectInDatabase(), IsSaveAvailable(), project_info, ui, and UpdateProjectToDatabase().
|
signal |
Send a Project Clear Command.
Referenced by DoEditAbort(), LoadProjectFromDatabase(), SetEditState(), and StartProject().
|
signal |
Send Development Family Information Structure for Update.
| DevFamily | Information about Development families |
|
signal |
Send out the current Licence States.
| ProjectLicences | Project Licences structure for update |
|
signal |
Send Log Entry via the Signal-Slot Method.
| LogEntry | Structure holding the Log Entry parameters |
Referenced by LogAdd().
|
signal |
Send out Project Information for Updates.
| ProjectId | Project Information Structure |
Referenced by LoadProjectFromDatabase().
|
signal |
Send the Substitute Enable State.
| State | Enabled (true) or Disabled (false) |
Referenced by EnableUserInterface().
|
signal |
Send out the Project Version Information.
| VersionInfo | Project Version Information |
|
privateslot |
Enable/Disable Document Access Restrictions.
| State | Enabled (true) or Disabled (false) |
Definition at line 48 of file projectdocmanager.cpp.
References ui.
Referenced by ProjectDocManager().
|
privateslot |
Enable/Disable Donation Options.
| State | Enabled (true) or Disabled (false) |
Definition at line 56 of file projectdocmanager.cpp.
References ui.
Referenced by ProjectDocManager().
|
privateslot |
Enable/Disable Custom Doxy Options.
| State | Enabled (true) or Disabled (false) |
Definition at line 63 of file projectdocmanager.cpp.
References ui.
Referenced by ProjectDocManager().
|
private |
Enable/Disable Edit buttons.
| State | Enable or Disable Flag |
Definition at line 308 of file projectdocmanager.cpp.
References ui.
Referenced by DoEditAbort(), ReadActivated(), and StartProject().
|
privateslot |
Enable/Disable editing.
| State | Enable (true) or Disable (false) |
Definition at line 156 of file projectdocmanager.cpp.
References current_locked_project, LoadProjectList(), read_project_info, SendClear(), and ui.
Referenced by ProjectDocManager().
|
private |
Shows Message in popup window.
| Message | Message to be displayed |
Definition at line 224 of file projectdocmanager.cpp.
Referenced by InsertNewProjectInDatabase(), ReadActivated(), and UpdateProjectToDatabase().
|
privateslot |
Enable the Project User Interface for editing.
Definition at line 178 of file projectdocmanager.cpp.
References EnableUserInterface(), LoadSubstituteTable(), LockSubsButtons(), project_info, SendClear(), SetEditButtons(), and ui.
Referenced by ProjectDocManager().
|
private |
Updates an Existing Project.
Definition at line 354 of file projectdocmanager.cpp.
References DoEditSave(), doxy_manager, GetLicenceIndex(), LOG_DEBUG, LOG_ERROR, LogAdd(), MODE_DATABASE, ONLY_UPDATE_SOURCE, project_info, project_opts_manager, project_subs_manager, PROJECT_INFORMATION::ProjectDesc, PROJECT_DESCRIPTION::ProjectSelections, read_project_info, SaveLocalSubstitutes(), ShowMessage(), and ui.
Referenced by SaveProject().
|
private |
Structure to hold Project Information.
Definition at line 106 of file projectdocmanager.h.
Referenced by CreateProjectId(), DoEditAbort(), LoadProjectFromDatabase(), ReceiveProjectId(), SaveProject(), StartProject(), and UpdateProjectToDatabase().
|
private |
Pointer to the Main Window.
Definition at line 100 of file projectdocmanager.h.
Referenced by CreateProjectId(), DoEditAbort(), EnableUserInterface(), GetDoxyFooter(), GetDoxyHeader(), GetDoxyLogo(), GetDoxyStylesheet(), InsertNewProjectInDatabase(), IsSaveAvailable(), LoadProjectFromDatabase(), LoadProjectList(), LockSubsButtons(), ProjectDocManager(), ReadActivated(), SaveProject(), SetDocAccess(), SetDonationsWelcome(), SetDoxyOptions(), SetEditButtons(), SetEditState(), StartProject(), and UpdateProjectToDatabase().