Unable to render {include} The included page could not be found.

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

Context menus in project explorer

How to implement menus in project explorer? For now we reused the existing context menus, but modified calls to projectguiservice, modelguiservice and taskguiservice (parameterless, so they can become commands).
Next step is to supply contextmenus/contextmenu items through configuration, because we want to enable plugins to provide their own contextmenu for specific data objects. For this reason we want to use the configuration mechanism that exists for menus

Remarks concerning the way in which menus and toolbars are created :

-delftshell reads app.config belonging to the plugin ?! too implicit!

AddPluginGuiCommands belongs to IMainWindow, maybe too specific interface

  • No labels