cvs co -D :PROTOCOL:USERNAME@cvs.creatis.insa-lyon.fr:/cvs/creatis creaImageIO
The abstract 'Model' : TreeHandler = manages a data source (read-only; read/write)
Concrete models : now SQLiteTreeHandler; future IRodsTreeHandler, FavoritesTreeHandler?
The controller 'Gimmick' : controls different TreeHandlers:
Abstract GimmickView : Dialog
Concrete GimmickView : now WxGimmickView; future QGimmickView ?
Do we need to have abstract classes for GimmickView components ?
TreeView : is associated with a TreeHandler to visualize its Tree
AttributeView : visualizes a set of attributes (only one for a GimmickView)
ImageView : preview of images
in namespace creaImageIO::tree
holds a vector of root TreeNode
holds a vector of LevelDescriptor
holds a vector of TreeAttributeDescriptor
Comparison is done by operator()(Node* const &, Node* const &)
Concrete comparison is done by method compare(Node* const &, Node* const &)
IntComparator : Compares the values of a given Attribute of the Nodes which is decoded as an int value
FloatComparator : Compares the values of a given Attribute of the Nodes which is decoded as a float value
StringComparator : Compares the values of a given Attribute of the Nodes which is decoded as a string value
TreeHandler : Abstract class which 'handles' a Tree structure.
SQLiteTreeHandler : Concrete TreeHandler which manages a tree stored in a sqlite database
...
ImageFinder : Parses (recursively) a part of a filesystem to look for known images and load their attributes in order to add the images to a Tree (submission via a TreeHandler::AddBranch)
GimmickView : Abstract