Project Explorer is a plugin in DelftShell used to visualize Project in a hierarchical form. It uses tree view control interfaces and implementation described here: Tree view (XtraTreeList, Windows.Forms TreeView) control.
Current functionality:
- visualize items of the project in a tree view form:
- folders
- tasks
- data
- time series
- maps
- model schematizations
- ...
- drag drop of project items
- update of nodes based on a project status (model is running, data is invalid, item was changed, etc.)
- doubleclick, rightclick actions
- context menus, specific to project.
Refactoring notes
functionality that should have a new place:
Removing views when the data is removed from folders, scenario's, models
TreeView implementation
ProjectTreeView is a view for project, project treeview manages subscription to changes in the project. Project treeview also adds specific nodepresenters to the treeview that serve as presenter/controller to display nodes for specific dataobjects.
Role of specific items in the class diagram:
- Project: dataobject
- Presenters: controller/presenter
- TreeView, ProjectTreeView: View