Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/22/15 00:31:03 (9 years ago)
Author:
bburlacu
Message:

#1772: Refactored genealogy graph views. Added an additional class specializing GenealogyGraphView<ISymbolicExpressionTree> for the sole purpose of making the SymbolicDataAnalysisGenealogyGraphView work with the designer. Added property to expose the SymbolicExpressionTreeChart in the GraphicalSymbolicExpressionTreeView in order to be able to wire mouse click events.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.EvolutionTracking/HeuristicLab.EvolutionTracking.Views/3.4/GenealogyGraphView.cs

    r11253 r11817  
    11using System.Windows.Forms;
    2 using HeuristicLab.Common;
     2using HeuristicLab.Core;
    33using HeuristicLab.Core.Views;
    44using HeuristicLab.MainForm;
     
    66namespace HeuristicLab.EvolutionTracking.Views {
    77  [View("GenealogyGraphView")]
    8   [Content(typeof(IGenealogyGraph), IsDefaultView = false)]
    9   public partial class GenealogyGraphView : ItemView {
    10     public new IGenealogyGraph Content {
    11       get { return (IGenealogyGraph)base.Content; }
     8  [Content(typeof(IGenealogyGraph<>), IsDefaultView = false)]
     9  public partial class GenealogyGraphView<T> : ItemView where T : class,IItem {
     10    public new IGenealogyGraph<T> Content {
     11      get { return (IGenealogyGraph<T>)base.Content; }
    1212      set { base.Content = value; }
    1313    }
     
    2020      // TODO: Deregister your event handlers here
    2121      genealogyGraphChart.GenealogyGraphNodeClicked -= graphChart_GenealogyGraphNodeClicked;
     22      genealogyGraphChart.GenealogyGraphNodeDoubleClicked -= graphChart_GenealogyGraphNodeDoubleClicked;
    2223      base.DeregisterContentEvents();
    2324    }
     
    2728      // TODO: Register your event handlers here
    2829      genealogyGraphChart.GenealogyGraphNodeClicked += graphChart_GenealogyGraphNodeClicked;
     30      genealogyGraphChart.GenealogyGraphNodeDoubleClicked += graphChart_GenealogyGraphNodeDoubleClicked;
    2931    }
    3032
     
    4547    // TODO: Put event handlers of child controls here.
    4648    public virtual void graphChart_GenealogyGraphNodeClicked(object sender, MouseEventArgs args) {
    47       var content = ((VisualGenealogyGraphNode)sender).Data.Data;
    48       if (content != null) {
    49         viewHost.Content = (IContent)content;
    50       }
     49      var visualNode = (VisualGenealogyGraphNode)sender;
     50      var graphNode = (IGenealogyGraphNode<T>)visualNode.Data;
     51      if (graphNode == null) return;
     52      var content = graphNode.Data;
     53      if (content == null) return;
     54      viewHost.Content = content;
     55    }
     56    public virtual void graphChart_GenealogyGraphNodeDoubleClicked(object sender, MouseEventArgs arcs) {
     57    }
     58    #endregion
     59
     60    #region events for configuring the behavior of the genealogy chart (trace/match, simple lineages, etc)
     61    private void trace_checkBox_CheckedChanged(object sender, System.EventArgs e) {
     62      genealogyGraphChart.TraceFragments = trace_checkBox.Checked;
     63    }
     64
     65    private void simpleLineages_checkBox_CheckedChanged(object sender, System.EventArgs e) {
     66      genealogyGraphChart.SimpleLineages = simpleLineages_checkBox.Checked;
     67    }
     68
     69    private void lockGraph_checkBox_CheckedChanged(object sender, System.EventArgs e) {
     70      genealogyGraphChart.LockGenealogy = lockGraph_checkBox.Checked;
    5171    }
    5272    #endregion
Note: See TracChangeset for help on using the changeset viewer.