Administration

From TaskDepender
Jump to: navigation, search
(Functionality)
(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|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 ==
 
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 project]]
 
** [[Start 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 94: Line 81:
 
* [[Generic types]]
 
* [[Generic types]]
 
* [[Task class]]
 
* [[Task class]]
 +
* [[Tasks administration class]]
 
* [[Deliverable class]]
 
* [[Deliverable class]]
 +
* [[Deliverables administration class]]

Latest revision as of 09:37, 23 October 2011

Personal tools