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

Control is used by Project Explorer

Tree view control implementation

Use MVP pattern to clean up current source of project explorer.
Inject Node Builders to perform treebuilding logic.
Enable lazy loading of tree, only build visible items, build other items when tree is expanded.
possibly use structuremap to help refactor current sources

Populate on demand. Example in ASP.Net here. Another example here
a simple wpf explorer tree

Background

XtraTreeList is maintained and developed by DevXpress. A suite of components programmed in the c# language. Products can be ordered with or without full source code. Mono is not explicitly supported.
A developer license costs 299 US$ including the source code.
The XtraPivotGrid component by the same vendor has been used successfully in the Verkenner project. Cluttered with features, visually very attractive. Analysis with Moma indicated some compatibility problems with mono, but the list was not very extensive.
Current Treeview implementation was realized by customizing a treeview by G. Donchyts that he developed in the Ukraine. It still lacks the ability to edit labels of treenodes.

Mono compatibility

The following report was generated by Moma. It shows the XtraTreelist has several issues that limit cross platform application. Further tests are necessary, but can only be performed once we have the source.

Some other examples

VB.Net example of database linked treeview
C# example of database linked treeview

treeview required functionality

dragdrop
edit labels
update labels
update icons
expand, collapse
mouse interaction
menus
xml serialization, deserialization
keyed list with icons to used based on object type of treenode ??

TODO

  • F2 to rename node (tick)
  • scroll when dragging at the last / first node (tick)
  • No labels

1 Comment

  1. Unknown User (don)

    When adding attribute [ThreadSafeWindowsForms] - don't forget to declare methods virtual and also create TreeView using AOPFactory: blog post.