IView createView(Document doc, bool activateView) { TabPage tp = new TabPage(doc.Name); mainForm.TabControl.TabPages.Add(tp); GraphicsSignalView view = new GraphicsSignalView((SignalDocument)doc); tp.Controls.Add(view); tp.Tag = view; view.Dock = DockStyle.Fill; doc.AttachView(view); if (view.ViewNumber > 1) { tp.Text = tp.Text + ":" + view.ViewNumber; } if (activateView) { mainForm.TabControl.SelectTab(tp); activeView = view; } return(view); }
/// <summary> /// Létrehoz egy új nézetet dokumentumhoz, és ezt be is regisztrálja a /// dokumentumnál (hogy a jövőben étesüljön a változásairól). Egy új tabfület /// is létrehoz a nézetnek. /// </summary> IView createView(Document doc, bool activateView) { // Új tab felvétele: az első paraméter egy kulcs, a második a tab felirata //mainForm.TabControl.TabPages.Add(form.DocName, form.DocName); TabPage tp = new TabPage(doc.Name); mainForm.TabControl.TabPages.Add(tp); //explicit kasztolással GraphicsSignalView létrehozása GraphicsSignalView view = new GraphicsSignalView((SignalDocument)doc); //TabPage tp = mainForm.TabControl.TabPages[form.DocName]; tp.Controls.Add(view); tp.Tag = view; view.Dock = DockStyle.Fill; // A View beregisztrálása a dokumentumnál, hogy értesüljön majd a dokumentum változásairól. doc.AttachView(view); // Ha az új nézet nem a dokumentum első nézete, akkor a tabfülön a nézet sorszámát is // megjelenítjük. if (view.ViewNumber > 1) { tp.Text = tp.Text + ":" + view.ViewNumber; } // Az új tab legyen a kiválasztott. if (activateView) { mainForm.TabControl.SelectTab(tp); // Ennek hatására elsül a tab SelectedIndexChanged eseménykezelője, ami meg beállítja az activeView tagváltozót activeView = view; } return(view); }
/// <summary> /// Creates a new view and registeres it to the document (so that the doc can notify the view when /// the document has changes). It also creates a new tab page for the new view /// </summary> IView createView(Document doc, bool activateView) { // Create a new tab page //mainForm.TabControl.TabPages.Add(form.DocName, form.DocName); TabPage tp = new TabPage(doc.Name); mainForm.TabControl.TabPages.Add(tp); // DemoView view = new DemoView(doc); //TabPage tp = mainForm.TabControl.TabPages[form.DocName]; GraphicsSignalView view = new GraphicsSignalView((SignalDocument)doc); tp.Controls.Add(view); tp.Tag = view; view.Dock = DockStyle.Fill; // Register the view to the document to be notified when the document is changed. doc.AttachView(view); // If this is not the first view of the document also add an ordinal number if (view.ViewNumber > 1) { tp.Text = tp.Text + ":" + view.ViewNumber; } // Select the new tab page if (activateView) { mainForm.TabControl.SelectTab(tp); // It triggers the SelectedIndexChanged event. Its handler will set the activeView member. activeView = view; } return(view); }