private void OnProductsTabControlMouseDown(object sender, MouseEventArgs e) { var tabControl = (XtraTabControl)sender; var hitInfo = tabControl.CalcHitInfo(new Point(e.X, e.Y)); if (hitInfo.HitTest != XtraTabHitTest.PageHeader || e.Button != MouseButtons.Right) { return; } var productControl = (DigitalProductControl)hitInfo.Page; using (var form = new FormCloneProduct()) { if (form.ShowDialog() != DialogResult.Yes) { return; } var selectedPage = (DigitalProductControl)xtraTabControlProducts.SelectedTabPage; var newPrintProduct = productControl.Product.Clone <DigitalProduct, DigitalProduct>(); xtraTabControlProducts.SelectedPageChanged -= OnProductsTabControlSelectedPageChanged; xtraTabControlProducts.TabPages.Clear(); var newPublicationTab = new DigitalProductControl(this); newPublicationTab.Product = newPrintProduct; newPublicationTab.Text = newPrintProduct.Name; newPublicationTab.LoadValues(); _tabPages.Add(newPublicationTab); _tabPages.Sort((x, y) => x.Product.Index.CompareTo(y.Product.Index)); xtraTabControlProducts.TabPages.AddRange(_tabPages.ToArray()); xtraTabControlProducts.SelectedPageChanged += OnProductsTabControlSelectedPageChanged; xtraTabControlProducts.SelectedTabPage = selectedPage; RaiseDataChanged(); } }
public void LoadData() { if (!_needToReload) { return; } _allowApplyValues = false; checkEditShowFlightDates.Text = String.Format("{0}", _container.EditedContent.ScheduleSettings.FlightDates); xtraTabControlProducts.SuspendLayout(); Application.DoEvents(); xtraTabControlProducts.SelectedPageChanged -= OnProductsTabControlSelectedPageChanged; xtraTabControlProducts.TabPages.OfType <IDigitalProductControl>().ToList().ForEach(c => c.Release()); xtraTabControlProducts.TabPages.Clear(); _tabPages.Clear(); foreach (var product in _container.EditedContent.DigitalProducts.Where(p => !String.IsNullOrEmpty(p.Name))) { var productTab = new DigitalProductControl(this); _tabPages.Add(productTab); Application.DoEvents(); productTab.Product = product; productTab.LoadValues(); Application.DoEvents(); } _tabPages.Sort((x, y) => x.Product.Index.CompareTo(y.Product.Index)); xtraTabControlProducts.TabPages.AddRange(_tabPages.ToArray()); Application.DoEvents(); xtraTabControlProducts.ResumeLayout(); xtraTabControlProducts.SelectedPageChanged += OnProductsTabControlSelectedPageChanged; _allowApplyValues = true; LoadProduct(_tabPages.FirstOrDefault()); Application.DoEvents(); _needToReload = false; }
public void LoadSchedule(bool quickLoad) { LocalSchedule = BusinessObjects.Instance.ScheduleManager.GetLocalSchedule(); InitThemeSelector(); if (!quickLoad) { checkEditShowFlightDates.Text = String.Format("{0}", LocalSchedule.FlightDates); bool temp = AllowApplyValues; AllowApplyValues = false; AllowApplyValues = temp; Application.DoEvents(); xtraTabControlProducts.SuspendLayout(); Application.DoEvents(); xtraTabControlProducts.SelectedPageChanged -= xtraTabControlProducts_SelectedPageChanged; xtraTabControlProducts.TabPages.Clear(); _tabPages.RemoveAll(x => !LocalSchedule.DigitalProducts.Select(y => y.UniqueID).Contains(x.Product.UniqueID)); foreach (var product in LocalSchedule.DigitalProducts) { if (string.IsNullOrEmpty(product.Name)) { continue; } var productTab = _tabPages.FirstOrDefault(x => x.Product.UniqueID.Equals(product.UniqueID)); if (productTab == null) { productTab = new DigitalProductControl(this); AssignCloseActiveEditorsonOutSideClick(productTab); _tabPages.Add(productTab); Application.DoEvents(); } productTab.Product = product; productTab.LoadValues(); Application.DoEvents(); } _tabPages.Sort((x, y) => x.Product.Index.CompareTo(y.Product.Index)); xtraTabControlProducts.TabPages.AddRange(_tabPages.ToArray()); var summaryControl = new DigitalSummaryControl(this); summaryControl.UpdateControls(_tabPages.Select(tp => tp.SummaryControl)); xtraTabControlProducts.TabPages.Add(summaryControl); AssignCloseActiveEditorsonOutSideClick(summaryControl); Application.DoEvents(); xtraTabControlProducts.ResumeLayout(); LoadProduct(_tabPages.FirstOrDefault()); Application.DoEvents(); xtraTabControlProducts.SelectedPageChanged += xtraTabControlProducts_SelectedPageChanged; AllowApplyValues = true; } else { foreach (var product in LocalSchedule.DigitalProducts) { if (!string.IsNullOrEmpty(product.Name)) { var productTab = _tabPages.FirstOrDefault(x => x.Product.UniqueID.Equals(product.UniqueID)); if (productTab != null) { productTab.Product = product; } Application.DoEvents(); } } } SettingsNotSaved = false; }
public void LoadSchedule(bool quickLoad) { LocalSchedule = BusinessObjects.Instance.ScheduleManager.GetLocalSchedule(); InitThemeSelector(); if (!quickLoad) { checkEditShowFlightDates.Text = String.Format("{0}", LocalSchedule.FlightDates); bool temp = AllowApplyValues; AllowApplyValues = false; AllowApplyValues = temp; Application.DoEvents(); xtraTabControlProducts.SuspendLayout(); Application.DoEvents(); xtraTabControlProducts.SelectedPageChanged -= xtraTabControlProducts_SelectedPageChanged; xtraTabControlProducts.TabPages.Clear(); _tabPages.RemoveAll(x => !LocalSchedule.DigitalProducts.Select(y => y.UniqueID).Contains(x.Product.UniqueID)); foreach (var product in LocalSchedule.DigitalProducts) { if (string.IsNullOrEmpty(product.Name)) continue; var productTab = _tabPages.FirstOrDefault(x => x.Product.UniqueID.Equals(product.UniqueID)); if (productTab == null) { productTab = new DigitalProductControl(this); AssignCloseActiveEditorsonOutSideClick(productTab); _tabPages.Add(productTab); Application.DoEvents(); } productTab.Product = product; productTab.LoadValues(); Application.DoEvents(); } _tabPages.Sort((x, y) => x.Product.Index.CompareTo(y.Product.Index)); xtraTabControlProducts.TabPages.AddRange(_tabPages.ToArray()); var summaryControl = new DigitalSummaryControl(this); summaryControl.UpdateControls(_tabPages.Select(tp => tp.SummaryControl)); xtraTabControlProducts.TabPages.Add(summaryControl); AssignCloseActiveEditorsonOutSideClick(summaryControl); Application.DoEvents(); xtraTabControlProducts.ResumeLayout(); LoadProduct(_tabPages.FirstOrDefault()); Application.DoEvents(); xtraTabControlProducts.SelectedPageChanged += xtraTabControlProducts_SelectedPageChanged; AllowApplyValues = true; } else { foreach (var product in LocalSchedule.DigitalProducts) { if (!string.IsNullOrEmpty(product.Name)) { var productTab = _tabPages.FirstOrDefault(x => x.Product.UniqueID.Equals(product.UniqueID)); if (productTab != null) { productTab.Product = product; } Application.DoEvents(); } } } SettingsNotSaved = false; }