Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/28/10 16:15:21 (14 years ago)
Author:
mkommend
Message:

first version of redesigned MainForm (ticket #857)

File:
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.MainForm/3.2/ActionUserInterfaceItem.cs

    r2687 r2696  
    2626
    2727namespace HeuristicLab.MainForm {
    28   public abstract class UserInterfaceItemBase : IUserInterfaceItem{
    29     protected UserInterfaceItemBase() {
     28  public abstract class ActionUserInterfaceItem : PositionableUserInterfaceItem, IActionUserInterfaceItem {
     29    protected ActionUserInterfaceItem() {
     30      MainFormManager.MainForm.ActiveViewChanged += this.OnActiveViewChanged;
     31      MainFormManager.MainForm.Changed += this.OnMainFormChanged;
     32      MainFormManager.MainForm.ViewShown += this.OnViewShown;
     33      MainFormManager.MainForm.ViewClosed += this.OnViewClosed;
    3034    }
    3135
    3236    public abstract string Name { get; }
    33     public abstract int Position { get; }
    3437
    3538    public virtual System.Drawing.Image Image {
     
    4346    public abstract void Execute();
    4447
    45     public virtual void ActiveViewChanged(object sender, EventArgs e) {
     48    protected virtual void OnActiveViewChanged(object sender, EventArgs e) {
    4649    }
    4750
    48     public virtual void ViewChanged(object sender, EventArgs e) {
     51    protected virtual void OnMainFormChanged(object sender, EventArgs e) {
    4952    }
    5053
    51     public virtual void MainFormChanged(object sender, EventArgs e) {
     54    protected virtual void OnViewChanged(object sender, EventArgs e) {
    5255    }
    5356
    54     public virtual void MainFormInitialized(object sender, EventArgs e) {
     57    private void OnViewShown(object sender, ViewShownEventArgs e) {
     58      if (e.FirstTimeShown)
     59        e.View.Changed += this.OnViewChanged;
     60    }
     61
     62    private void OnViewClosed(object sender, ViewEventArgs e) {
     63      e.View.Changed -= this.OnViewChanged;
    5564    }
    5665  }
Note: See TracChangeset for help on using the changeset viewer.