Free cookie consent management tool by TermsFeed Policy Generator

Opened 14 years ago

Last modified 6 years ago

#1265 reviewing feature request

Create HeuristicLab.Visualization — at Version 42

Reported by: abeham Owned by: jkarder
Priority: medium Milestone: HeuristicLab 4.0
Component: Visualization Version: branch
Keywords: Cc:

Description (last modified by jkarder)

The drawing plugin from the prerelease version should be refactored and included in HeuristicLab 3.3 as a generic possibility for creating custom interactive controls.

This ticket has to be merged into stable before #2205

Change History (42)

comment:1 Changed 14 years ago by abeham

  • Status changed from new to accepted

comment:2 Changed 14 years ago by abeham

r4773

  • Created branch for HeuristicLab.Drawing
  • Updated license headers, namespaces and versions

comment:3 Changed 14 years ago by swagner

I would suggest to name this plugin HeuristicLab.Visualization instead of HeuristicLab.Drawing.

comment:4 Changed 14 years ago by abeham

r4776

  • Renamed HeuristicLab.Drawing to HeuristicLab.Visualization

comment:5 Changed 14 years ago by mkommend

  • Component changed from ### Undefined ### to Visualization
  • Summary changed from Create HeuristicLab.Drawing to Create HeuristicLab.Visualization

comment:6 Changed 14 years ago by abeham

r4831

  • Added a simple batch file that builds the project (without launching VS)

comment:7 Changed 14 years ago by abeham

r4874

  • Updated build script with recent version in trunk (see #1285)

comment:8 Changed 14 years ago by abeham

r5170

  • Set project to compile against .NET 40

comment:9 Changed 14 years ago by abeham

  • Priority changed from highest to medium

comment:10 Changed 13 years ago by bburlacu

r7617: ChartControl.cs: fixed memory leak in GenerateImage() method.

comment:11 Changed 13 years ago by bburlacu

r7780: Fixed zoom and small issue with selection. Added tool tips.

comment:12 Changed 12 years ago by bburlacu

r8215: Introduced a hash for primitives in order to improve lookup performance (Contains method).

comment:13 Changed 12 years ago by bburlacu

r8219: Group.cs: Replaced primitive list with a linked list as it better fits the requirements (random insertion of primitives in the beginning or middle of the list) and gives better performance.

comment:14 Changed 12 years ago by bburlacu

r9415: Added save file functionality in emf and bitmap formats.

comment:15 Changed 12 years ago by bburlacu

r9491: Added mouse wheel support to the picture box.

comment:16 Changed 11 years ago by bburlacu

  • Owner changed from abeham to bburlacu
  • Status changed from accepted to assigned

comment:17 Changed 11 years ago by bburlacu

  • Status changed from assigned to accepted

comment:18 Changed 11 years ago by bburlacu

r10513: Added TextPrimitive and LabeledPrimitive. Fixed group drawing order.

comment:19 Changed 11 years ago by bburlacu

r10515: Removed bitmap private member and converted to auto-property (Bitmap property was never used).

comment:20 Changed 11 years ago by bburlacu

r10516: Replaced LabeledPrimitive with LabeledEllipse and LabeledRectangle, removed TextPrimitive (no need having another primitive type just for text). Removed project .user file.

comment:21 Changed 11 years ago by abeham

Instead of deriving a new type wouldn't it make more sense to just add a Text property to the existing Rectangle and draw the string if it is !string.IsNullOrEmpty ?

comment:22 Changed 11 years ago by bburlacu

I think that's a good idea. Thanks.

r10518: Removed labeled primitives and added text property to the RectangularPrimitiveBase. If the string is not null or empty it is drawn centered inside the rectangular primitive.

comment:23 Changed 11 years ago by bburlacu

r10831: Added MaximumFontSize property to RectangularPrimitiveBase.

comment:24 Changed 11 years ago by bburlacu

r10836: Improved scaling of font size when zooming so that it takes into account vertical dimensions as well.

comment:25 Changed 10 years ago by bburlacu

r11654: Updated target to .net 4.5

comment:26 Changed 10 years ago by gkronber

  • Owner changed from bburlacu to architects
  • Status changed from accepted to assigned

comment:27 Changed 10 years ago by ascheibe

  • Owner changed from architects to bburlacu

comment:28 Changed 9 years ago by gkronber

r12535: updated copyright to 2015

comment:29 Changed 9 years ago by gkronber

  • Milestone changed from HeuristicLab 3.3.x Backlog to HeuristicLab 3.3.12
  • Owner changed from bburlacu to gkronber
  • Status changed from assigned to accepted

comment:30 Changed 9 years ago by gkronber

r12536: copied tree layout engines and tree primitives from trunk to visualization branch

comment:31 Changed 9 years ago by gkronber

r12537: fixed namespace

comment:32 Changed 9 years ago by gkronber

  • Milestone changed from HeuristicLab 3.3.12 to HeuristicLab 3.3.13

comment:33 Changed 9 years ago by gkronber

  • Milestone changed from HeuristicLab 3.3.13 to HeuristicLab 4.0.x Backlog

comment:34 Changed 9 years ago by jkarder

  • Owner changed from gkronber to jkarder
  • Status changed from accepted to assigned

comment:35 Changed 9 years ago by jkarder

  • Status changed from assigned to accepted

comment:36 Changed 9 years ago by jkarder

r13045: merged changes from abeham

comment:37 Changed 9 years ago by jkarder

  • Owner changed from jkarder to abeham
  • Status changed from accepted to reviewing

comment:38 Changed 9 years ago by abeham

In my opinion the handling of modes should be improved. I have discussed this with jkarder already, but want to give a summary here: The enum that has been used to store the current "mode" of the chart has not been suitable for extension, I changed this in that I'm using static readonly instances of a class ChartMode (which is still clumsy). The default chart supports "Select", "Move", "ZoomIn" and "ZoomOut". In derived charts there are modes for creating certain objects, connecting objects, etc. These are usually implemented in that a new mode is created. In the current implementation this functionality creates big if-then cascades inside the mouse event handlers of the ChartControl. However it would be nice if the chart control would not care about this and just forward these events to a mode class which makes the appropriate actions. It would be nice if we wouldn't need a new ChartControl class for every new Chart class. The different mode instances that a chart would support could be supplied by the chart class. The chart control could then create buttons on its toolbar for every mode.

comment:39 Changed 9 years ago by jkarder

  • Owner changed from abeham to jkarder
  • Status changed from reviewing to assigned

comment:40 Changed 9 years ago by jkarder

  • Status changed from assigned to accepted

comment:41 Changed 9 years ago by jkarder

r13076: implemented new chart mode concept

comment:42 Changed 9 years ago by jkarder

  • Description modified (diff)
Note: See TracTickets for help on using tickets.