public void BuildLayout() { if (_reflectionX) { Factory.ProcessVisitor(new PicVisitorTransform(Transform2D.ReflectionX)); } if (_reflectionY) { Factory.ProcessVisitor(new PicVisitorTransform(Transform2D.ReflectionY)); } var form = new FormImposition() { FormatLoader = CardBoardFormatLoader, Factory = Factory }; if (DialogResult.OK == form.ShowDialog()) { } }
public void BuildLayout() { FormImpositionSettings formSettings = new FormImpositionSettings(); if (null != _cardboardFormatLoader) { formSettings.FormatLoader = _cardboardFormatLoader; } if (DialogResult.OK == formSettings.ShowDialog()) { // build factory entities if (_reflectionX) { _factory.ProcessVisitor(new PicVisitorTransform(Transform2D.ReflectionX)); } if (_reflectionY) { _factory.ProcessVisitor(new PicVisitorTransform(Transform2D.ReflectionY)); } try { // build imposition solutions if (formSettings.Mode == 0) { _impositionTool = new ImpositionToolCardboardFormat(_factory, formSettings.CardboardFormat); } else { _impositionTool = new ImpositionToolXY(_factory, formSettings.NumberDirX, formSettings.NumberDirY); } // -> margins _impositionTool.HorizontalAlignment = formSettings.HorizontalAlignment; _impositionTool.VerticalAlignment = formSettings.VerticalAlignment; _impositionTool.SpaceBetween = new Vector2D(formSettings.ImpSpaceX, formSettings.ImpSpaceY); _impositionTool.Margin = new Vector2D(formSettings.ImpMarginLeftRight, formSettings.ImpMarginBottomTop); _impositionTool.MinMargin = new Vector2D(formSettings.ImpRemainingMarginLeftRight, formSettings.ImpRemainingMarginBottomTop); // -> allowed patterns _impositionTool.AllowRotationInColumnDirection = formSettings.AllowColumnRotation; _impositionTool.AllowRotationInRowDirection = formSettings.AllowRowRotation; // -> offsets _impositionTool.ImpositionOffset = new Vector2D(formSettings.OffsetX, formSettings.OffsetY); _solutions = new List <ImpositionSolution>(); // instantiate ProgressWindow and launch process ProgressWindow progress = new ProgressWindow(); System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(GenerateImpositionSolutions), progress); progress.ShowDialog(); if (null != _solutions && _solutions.Count > 0) { FormImposition form = new FormImposition(); // set solutions form.Solutions = _solutions; form.Format = formSettings.CardboardFormat; // show imposition dlg if (DialogResult.OK == form.ShowDialog(this)) { } } } catch (PicToolTooLongException /*ex*/) { MessageBox.Show( string.Format(Properties.Resources.ID_ABANDONPROCESSING , Pic.Factory2D.Properties.Settings.Default.AreaMaxNoSegments) , Application.ProductName , MessageBoxButtons.OK , MessageBoxIcon.Stop); } catch (Exception ex) { _log.Error(ex.ToString()); } } }
public void BuildLayout() { FormImpositionSettings formSettings = new FormImpositionSettings(); if (null != _cardboardFormatLoader) formSettings.FormatLoader = _cardboardFormatLoader; if (DialogResult.OK == formSettings.ShowDialog()) { // build factory entities if (_reflectionX) _factory.ProcessVisitor(new PicVisitorTransform(Transform2D.ReflectionX)); if (_reflectionY) _factory.ProcessVisitor(new PicVisitorTransform(Transform2D.ReflectionY)); // build imposition solutions if (formSettings.Mode == 0) { _impositionTool = new ImpositionToolCardboardFormat(_factory, formSettings.CardboardFormat); } else { _impositionTool = new ImpositionToolXY(_factory, formSettings.NumberDirX, formSettings.NumberDirY); } // -> margins _impositionTool.SpaceBetween = new Vector2D(formSettings.ImpSpaceX, formSettings.ImpSpaceX); _impositionTool.Margin = new Vector2D(formSettings.ImpMarginLeftRight, formSettings.ImpMarginBottomTop); _impositionTool.MinMargin = new Vector2D(formSettings.ImpRemainingMarginLeftRight, formSettings.ImpRemainingMarginBottomTop); _impositionTool.HorizontalAlignment = formSettings.HorizontalAlignment; _impositionTool.VerticalAlignment = formSettings.VerticalAlignment; // -> patterns _impositionTool.AllowRotationInColumnDirection = formSettings.AllowColumnRotation; _impositionTool.AllowRotationInRowDirection = formSettings.AllowRowRotation; // -> offset _impositionTool.ImpositionOffset = Vector2D.Zero; try { // instantiate ProgressWindow and launch process ProgressWindow progress = new ProgressWindow(); System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(GenerateImpositionSolutions), progress); progress.ShowDialog(); if (null != _solutions && _solutions.Count > 0) { FormImposition form = new FormImposition(); form.Solutions = _solutions; form.Format = formSettings.CardboardFormat; if (DialogResult.OK == form.ShowDialog(this)) { } } } catch (PicToolTooLongException /*ex*/) { MessageBox.Show( string.Format(Properties.Resources.ID_ABANDONPROCESSING , Pic.Factory2D.Properties.Settings.Default.AreaMaxNoSegments) , Application.ProductName , MessageBoxButtons.OK); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } }