WebDoc Requirements
Module
- C++ parser
From the application, select a directory or file, and a mask for searching (*.h or *.cpp) then it takes the computer name and construct the network path to the folder/file (e.g. computernamec$ProjectCCC ).
After that it searches in these file/files for class/functions/definitions.
Possible problem: when you find a class derivates from another one, witch is not discovered yet, build a function to cover this situation (an idea is to build the ID and the name of the parent, then when you find the parent definition, make an update to this empty ID)
The parser store the data about definitions together with and project ID (we are using multiple projects, like CCC, TrustedMIME, SecuFile and Smarty).
- Physical tree
Using a tree, represent the discovered classes with parent/children structure. On object click, open the object description (definition, description).
At the top of the tree, a search engine. When you search something, it select on the tree the first occurrence, then provide prev/next feature for selecting the next occurrences.
At the bottom of the tree, a tree with definition (#define objects) grouped on types.
- Logical Doc
3.1 View mode
A table with lines between cells (you are free to design this), with editable number of layers to be showed
3.2 Edit mode
On left frame, the physical tree and the buttons for add (add as child to selected node on the right), remove (the selected node from the right) and replace (selected node from the right with selected node on the left)
On the left frame, the physical tree must be grouped by projects (the roots are CCC, TrustedMIME, SecuFile and Smarty, for example).
On the right, there is the tree, when clicking on one box, it selects it, clicking a selected box edit its description.
3.3 Explore mode
3.3.1 Graphical view
The tree view like above on the right frame, with selectable showable levels. Clicking on a box open properties page for object
3.3.2 Tree view
MSDN style on the left, on right properties for selected object
- Use-cases
4.1 Editor
Like in 3.2, on left the logical MSDN tree, on right something like this
In addition, you must add the Start, End object. If you add a conditional object, it automatically creates yes and no blank objects, which must be clicked and replaced with correct ones.
4.2 Viewer
Show only the graphic representation, on click open class description.
- Miscellaneaus
On property pages, it shows on definition types with hyperlinks.
User management (simple) a user must login, and on every added object in the logical view and use-cases it retain the user id.
Admin user can:
- create users
- view a report for every project with the difference of classes from physical and logical view (how many are in one and how many in the other)
- view a report with every user and added classes in logical and use-case views
For tree you could use the following:
For C++ coding standard study:
bond 2m beauty
|