Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
        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;
		}