Administration

From TaskDepender
Jump to: navigation, search
(Implementation)
(Functionality)
 
Line 1: Line 1:
 
''This page describes the Administration layer of the TaskDepender™ program.''
 
''This page describes the Administration layer of the TaskDepender™ program.''
  
== Introduction ==
+
== Description ==
  
The Administration is an API to the database that in one direction shields the GUI from handling the database transactions and in the other direction shields the Administration from being dependent on the implementation of the GUI.
+
The Administration is an API to the [[Database|database]] that in one direction shields the GUI from handling the database transactions and in the other direction shields the Administration from being dependent on the implementation of the [[GUI]].
  
 
== Functionality ==
 
== Functionality ==
 
=== API ===
 
 
The Administration holds the API functionality that closely corresponds to that as implemented by the program. The functionality is split-up into the following groups:
 
* '''Project handling'''
 
** [[Open new project]]
 
** [[Save project]]
 
** [[Rename project]]
 
** [[Export project]]
 
** [[Export current view as image]]
 
 
* '''Data editing'''
 
** <todo> [[Add a task in the Administration|Add a task]]
 
** <todo> [[Change the properties of a task in the Administration|Change properties of a task]]
 
** <todo> [[Add a deliverable in the Administration|Add a deliverable]]
 
** <todo> [[Change properties of a deliverable in the Administration|Change properties of a deliverable]]
 
** <todo> [[Connect a deliverable to a task in the Administration|Connect a deliverable to a task]]
 
** <todo> [[Remove a connection in the Administration|Delete the connection between a deliverable and a task]]
 
** [[Delete selected elements in the Administration|Delete (all) selected element(s)]]
 
** [[Group selected elements in the Administration|Group selected elements]]
 
** [[Cut selected elements in the Administration|Cut selected element(s)]]
 
** [[Paste selected elements in the Administration|Paste element(s)]]
 
 
* '''GUI state change'''
 
** [[Select elements in Administration|Select elements(s)]]
 
** [[Change current container in Administration|Change current container]]
 
  
 
=== Consistency ===
 
=== Consistency ===
Line 37: Line 11:
 
Besides the API functions, the Administration API also requires some internal methods to ensure consistency and implement the restrictions. There are:
 
Besides the API functions, the Administration API also requires some internal methods to ensure consistency and implement the restrictions. There are:
 
* [[Checking cyclicity]]
 
* [[Checking cyclicity]]
 +
 +
=== Other methods ===
 +
 +
* [[Create tasks and deliverables lists]]
 +
* [[Find methods]]
  
 
== Design ==
 
== Design ==
Line 64: Line 43:
 
{
 
{
 
private:
 
private:
 +
  sqlite3 *DatabaseHandle;  // SQLite db handle.
 +
  char    *DatabaseFilename; 
 +
 +
  uint    EditsCounter;
 +
 +
  uint32 AllowedActions;
 +
 
   bool Cyclic( TaskC *beginTask, TaskC *endTask );
 
   bool Cyclic( TaskC *beginTask, TaskC *endTask );
 
   void DeleteDeliverable( uint32 id );
 
   void DeleteDeliverable( uint32 id );
 
   void DeleteTask( uint32 id );
 
   void DeleteTask( uint32 id );
 +
 +
  IntegerArrayC *SelectedTasksIds;
 +
  IntegerArrayC *SelectedDeliverablesIds;
 +
 
public:
 
public:
 
   AdminC(void);
 
   AdminC(void);
Line 74: Line 64:
 
   DeliverablesAdminC *DeliverablesAdmin;
 
   DeliverablesAdminC *DeliverablesAdmin;
  
   void DeleteTask( uint32 id );
+
   void DeleteSelectedElements(void);
  void DeleteDeliverable( uint32 id );
+
 
+
  void DeleteSelectedElements( uint32 containerId );
+
  
 
   void Disconnect( TaskC *task, DeliverableC *deliverable );
 
   void Disconnect( TaskC *task, DeliverableC *deliverable );
Line 90: Line 77:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== Classes and structures ==
+
== Used classes and structures ==
  
[[Administration classes]]
+
* [[Generic types]]
 +
* [[Task class]]
 +
* [[Tasks administration class]]
 +
* [[Deliverable class]]
 +
* [[Deliverables administration class]]

Latest revision as of 09:37, 23 October 2011

Personal tools