Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/07/09 11:27:34 (15 years ago)
Author:
mkommend
Message:

added ability for toolstripitems to listen for specific events (ticket #716)

File:
1 edited

Legend:

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

    r2250 r2254  
    3737      InitializeComponent();
    3838      openViews = new List<IView>();
     39      viewStateChangeToolStripItems = new List<IToolStripItem>();
    3940      this.userInterfaceItemType = userInterfaceItemType;
    4041      CreateGUI();
     42      OnActiveViewChanged();
    4143    }
    4244
     
    5759    }
    5860
    59     protected IView activeView;
     61    private IView activeView;
    6062    public IView ActiveView {
    6163      get { return this.activeView; }
     64      protected set {
     65        if (this.activeView != value) {
     66          this.activeView = value;
     67          OnActiveViewChanged();
     68        }
     69      }
     70    }
     71
     72    protected List<IToolStripItem> viewStateChangeToolStripItems;
     73
     74    public event EventHandler ActiveViewChanged;
     75    protected virtual void OnActiveViewChanged() {
     76      if(ActiveViewChanged != null)
     77        ActiveViewChanged(this,new EventArgs());
    6278    }
    6379
     
    6884
    6985    public virtual void ShowView(IView view) {
    70       view.MainForm = this;
    71       activeView = view;
     86      view.MainForm = this;     
    7287      openViews.Add(view);
     88      ActiveView = view;
    7389    }
    7490
    75     public void Close() {
    76       ((Form)this).Close();
     91    public void CloseForm() {
     92      this.Close();
    7793    }
    7894    #endregion
     
    94110      foreach (IToolStripButtonItem toolStripButtonItem in toolStripItems) {
    95111        AddToolStripButtonItem(toolStripButtonItem);
    96       }     
     112      }
    97113    }
    98114
     
    117133
    118134      SetToolStripItemProperties(item, buttonItem);
    119       ToolStripDropDownItem parent = FindParent(buttonItem,toolStrip.Items);
     135      ToolStripDropDownItem parent = FindParent(buttonItem, toolStrip.Items);
    120136      if (parent == null)
    121137        toolStrip.Items.Add(item);
     
    142158      toolStripItem.Image = iToolStripItem.Image;
    143159      toolStripItem.DisplayStyle = iToolStripItem.DisplayStyle;
     160      if (iToolStripItem.ListenActiveViewChanged)
     161        this.ActiveViewChanged += new EventHandler(iToolStripItem.ActiveViewChanged);
     162      if (iToolStripItem.ListenViewStateChanged)
     163        this.viewStateChangeToolStripItems.Add(iToolStripItem);
    144164      toolStripItem.Click += new EventHandler(ToolStripItemClicked);
    145165      iToolStripItem.ToolStripItem = toolStripItem;
Note: See TracChangeset for help on using the changeset viewer.