Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  • Delta Shell Developer Guide (wiki)
    • Create conceptual diagram showing all important components of the Delta Shell / SOBEK
    • List and short description of all existing components
  • Extend CollectionChange to multiple items
  • Remove dependency on IProjectItem in IModel and IDataItem, IActivity: make it a composition and two separate contexts: (Project + Folder + ProjectItem) - (IActivity - Model - ...)
  • Extend DataItems to exchange values *only* when it is asked, this is a minimal requirement for parallel (asynchroneous) model runs.
  • Bubbling of CollectionChange and PropertyChange must happen automatically in ModelBase, derived models, Functions
  • MemberwiseClone results in broken objects since it copies ~InstanceCreadentials, find out what to do.
  • Geospatial
    • Review map editing functionality including topology, interaction, rendering
    • Create new map layers using ILayerFactory (introduce it!)
    • Eliminate need for custom map tools such as HydroNetworkEditorMapTool
    • Move common controls (such as Map Contents, Layer Properties Dialog, Attribute Editor) to SharpMap.UI
  • Remove dependencies on IGui from all views
  • Clone / CopyFrom, ICloneable / IDeepCloneable / ICopyFrom - clean-up all this mess ... maybe solve it at framework level (clone all properties based on Composition / Aggregation).
    • Decide what to copy during copy/paste or other action, use one consistent way for *all* schematization items (e.g. skip / generate Name, Id, HydroId)
  • Solve problem with multiple inheritance mapping (NHibernate). Option 1: prevent multiple inheritance at all (use composition). Option 2: implement custom NH type MultipleInhericanceType<TSource, TTarget> and use it during mapping.
  • Replace all occurances of ((INotifyPropertyChange)value).PropertyChanged += OnSomethingPropertyChanged; by some nicer code. Think about Aspect on property, Observable<...> or other handy utility applied globally.
  • Automatycally set all inverse properties on property set / collection add (e.g. BranchFeature.Branch, Branch.Network ...)
  • Merget most of the feature property classes into feature classes, use configured EditActions where necessary for business logic.
  • Improve Drag & Drop API

...