Free cookie consent management tool by TermsFeed Policy Generator

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

first version of redesigned MainForm (ticket #857)

File:
1 copied

Legend:

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

    r2689 r2696  
    3030
    3131namespace HeuristicLab.MainForm.WindowsForms {
    32   public partial class ViewBase : UserControl, IView {
     32  public partial class View : UserControl, IView {
    3333    private bool initialized;
    34     public ViewBase() {
     34    public View() {
    3535      InitializeComponent();
    3636      this.initialized = false;
     
    5454    }
    5555
     56    public void Show() {
     57      MainForm mainform = MainFormManager.GetMainForm<MainForm>();
     58      bool firstTimeShown = mainform.GetForm(this) == null;
     59
     60      MainFormManager.GetMainForm<MainForm>().ShowView(this,firstTimeShown);
     61      if (firstTimeShown) {
     62        Form form = mainform.GetForm(this);
     63        form.FormClosed += new FormClosedEventHandler(OnClosedHelper);
     64        form.FormClosing += new FormClosingEventHandler(OnClosingHelper);
     65      }
     66      this.OnShown(new ViewShownEventArgs(this,firstTimeShown));
     67    }
     68
     69    public void Close() {
     70      MainForm mainform = MainFormManager.GetMainForm<MainForm>();
     71      Form form = mainform.GetForm(this);
     72      if (form != null)
     73        mainform.CloseView(this);
     74    }
     75
     76    public void Close(CloseReason closeReason) {
     77      MainForm mainform = MainFormManager.GetMainForm<MainForm>();
     78      Form form = mainform.GetForm(this);
     79      if (form != null)
     80        mainform.CloseView(this,closeReason);
     81    }
     82
     83    public void Hide() {
     84      MainFormManager.GetMainForm<MainForm>().HideView(this);
     85      this.OnHidden(new EventArgs());
     86    }
     87
    5688    public event EventHandler CaptionChanged;
    5789    protected virtual void OnCaptionChanged() {
     
    68100    }
    69101
    70     public virtual void OnClosing(object sender, CancelEventArgs e) {
     102    protected virtual void OnShown(ViewShownEventArgs e) {
     103    }
     104
     105    protected virtual void OnHidden(EventArgs e) {
    71106    }
    72107
     
    74109    internal void OnClosingHelper(object sender, FormClosingEventArgs e) {
    75110      if (this.closeReason != CloseReason.None)
    76         this.OnClosing(sender, new FormClosingEventArgs(this.closeReason, e.Cancel));
     111        this.OnClosing(new FormClosingEventArgs(this.closeReason, e.Cancel));
    77112      else
    78         this.OnClosing(sender, e);
     113        this.OnClosing(e);
    79114
    80115      this.closeReason = CloseReason.None;
    81116    }
    82117
    83     public virtual void OnClosing(object sender, FormClosingEventArgs e) {
     118    protected virtual void OnClosing(FormClosingEventArgs e) {
    84119    }
    85120
    86     public virtual void OnClosed(object sender, EventArgs e) {
     121    internal void OnClosedHelper(object sender, FormClosedEventArgs e) {
     122      if (this.closeReason != CloseReason.None)
     123        this.OnClosed(new FormClosedEventArgs(this.closeReason));
     124      else
     125        this.OnClosed(e);
     126
     127      Form form = (Form)sender;
     128      form.FormClosed -= new FormClosedEventHandler(OnClosedHelper);
     129      form.FormClosing -= new FormClosingEventHandler(OnClosingHelper);
     130      this.closeReason = CloseReason.None;
    87131    }
    88132
    89     public event EventHandler Initialized;
     133    protected virtual void OnClosed(FormClosedEventArgs e) {
     134    }
    90135
    91136    private void ViewBase_Load(object sender, EventArgs e) {
    92137      if (!this.initialized && !this.DesignMode) {
    93         if (this.Initialized != null)
    94           this.Initialized(this, new EventArgs());
     138        this.OnInitialized(e);
    95139        this.initialized = true;
    96140      }
    97141    }
     142
     143    protected virtual void OnInitialized(EventArgs e) {
     144    }
    98145  }
    99146}
Note: See TracChangeset for help on using the changeset viewer.