private FixedDocumentSequence CreateFixedDocumentSequence(IEnumerable <IEnumerable <string> > projects,
                                                                  Size areaExtent,
                                                                  Size areaOrigin,
                                                                  bool fixedStrokeThickness,
                                                                  DiagramTable table)
        {
            var fixedDocumentSeq = new FixedDocumentSequence()
            {
                Name = "diagrams"
            };

            foreach (var diagrams in projects)
            {
                var fixedDocument = CreateFixedDocument(diagrams,
                                                        areaExtent,
                                                        areaOrigin,
                                                        fixedStrokeThickness,
                                                        table);

                var documentRef = new DocumentReference();
                documentRef.BeginInit();
                documentRef.SetDocument(fixedDocument);
                documentRef.EndInit();

                (fixedDocumentSeq as IAddChild).AddChild(documentRef);
            }

            return(fixedDocumentSeq);
        }
Example #2
0
        private void DxfExportDlg(bool shortenStart, bool shortenEnd, DiagramTable table)
        {
            var dlg = new Microsoft.Win32.SaveFileDialog()
            {
                Filter      = "Dxf R12 (*.dxf)|*.dxf|Dxf AutoCAD 2000 (*.dxf)|*.dxf|All Files (*.*)|*.*",
                FilterIndex = 2,
                Title       = "Export Diagram to Dxf",
                FileName    = "diagram"
            };

            var res = dlg.ShowDialog();

            if (res == true)
            {
                var filter   = dlg.FilterIndex;
                var fileName = dlg.FileName;
                var canvas   = Editor.Context.CurrentCanvas;

                DxfExportDiagram(fileName,
                                 canvas,
                                 shortenStart, shortenEnd,
                                 FilterToAcadVer(filter),
                                 table);
            }
        }
 /// <summary>
 /// Initializes the model required
 /// </summary>
 public DiagramController()
 {
     validatepermissions    = new validatePermissions();
     DiagramModel           = new DiagramTable();
     ProcessModel           = new ProcessesTable();
     HardwareModel          = new HardwareTable();
     FlowModel              = new FlowTable();
     hardwareReferenceTable = new HardwareReferenceTable();
 }
        public FixedDocument CreateFixedDocument(IEnumerable <string> diagrams,
                                                 Size areaExtent,
                                                 Size areaOrigin,
                                                 bool fixedStrokeThickness,
                                                 DiagramTable table)
        {
            var origin = new Point(areaOrigin.Width, areaOrigin.Height);
            var area   = new Rect(origin, areaExtent);
            var scale  = Math.Min(areaExtent.Width / PageWidth, areaExtent.Height / PageHeight);

            var fixedDocument = new FixedDocument()
            {
                Name = "diagrams"
            };

            //fixedDocument.DocumentPaginator.PageSize = new Size(areaExtent.Width, areaExtent.Height);

            SetElementResources(fixedDocument.Resources, fixedStrokeThickness);

            foreach (var diagram in diagrams)
            {
                var pageContent = new PageContent();
                var fixedPage   = new FixedPage();

                //pageContent.Child = fixedPage;
                ((IAddChild)pageContent).AddChild(fixedPage);

                fixedDocument.Pages.Add(pageContent);

                fixedPage.Width  = areaExtent.Width;
                fixedPage.Height = areaExtent.Height;

                var element = CreateDiagramElement(diagram,
                                                   areaExtent,
                                                   origin,
                                                   area,
                                                   fixedStrokeThickness,
                                                   fixedDocument.Resources,
                                                   table);

                // transform and scale for print
                element.LayoutTransform = new ScaleTransform(scale, scale);

                // set element position
                FixedPage.SetLeft(element, areaOrigin.Width);
                FixedPage.SetTop(element, areaOrigin.Height);

                // add element to page
                fixedPage.Children.Add(element);

                // update fixed page layout
                //fixedPage.Measure(areaExtent);
                //fixedPage.Arrange(area);
            }

            return(fixedDocument);
        }
Example #5
0
        private void SetCurrentTable()
        {
            var table = new DiagramTable()
            {
                Id        = 0,
                Revision1 = new Revision()
                {
                    Version = "",
                    Date    = "",
                    Remarks = "",
                },
                Revision2 = new Revision()
                {
                    Version = "",
                    Date    = "",
                    Remarks = "",
                },
                Revision3 = new Revision()
                {
                    Version = "",
                    Date    = "",
                    Remarks = "",
                },
                PathLogo1 = "",
                PathLogo2 = "",
                Drawn     = new Person()
                {
                    Name = "user",
                    Date = DateTime.Today.ToString("yyyy-MM-dd")
                },
                Checked = new Person()
                {
                    Name = "user",
                    Date = DateTime.Today.ToString("yyyy-MM-dd")
                },
                Approved = new Person()
                {
                    Name = "user",
                    Date = DateTime.Today.ToString("yyyy-MM-dd")
                },
                Title      = "LOGIC DIAGRAM",
                SubTitle1  = "DIAGRAM",
                SubTitle2  = "",
                SubTitle3  = "",
                Rev        = "0",
                Status     = "-",
                Page       = "-",
                Pages      = "-",
                Project    = "Sample",
                OrderNo    = "",
                DocumentNo = "",
                ArchiveNo  = ""
            };

            TableGrid.SetData(this, table);
        }
Example #6
0
 public MonitorController()
 {
     locationTable = new LocationTable();
     // _fieldsTable = new CustomFieldsTable("LocationCustomFields");
     _processesTable = new ProcessesTable();
     _diagramTable   = new DiagramTable();
     _circuitTable   = new CircuitTable();
     _usertable      = new UserTable();
     _monitorTable   = new ObjectRealMonitorTable();
 }
Example #7
0
        private void DxfExportDiagram(string fileName,
                                      ICanvas canvas,
                                      bool shortenStart,
                                      bool shortenEnd,
                                      DxfAcadVer version,
                                      DiagramTable table)
        {
            string model = ModelEditor.GenerateDiagram(canvas, null, canvas.GetProperties());

            string dxf = DxfGenerate(model, shortenStart, shortenEnd, version, table);

            DxfSave(fileName, dxf);
        }
Example #8
0
        private string DxfGenerate(string model,
                                   bool shortenStart,
                                   bool shortenEnd,
                                   DxfAcadVer version,
                                   DiagramTable table)
        {
            var dxf = new DxfDiagramCreator()
            {
                ShortenStart      = shortenStart,
                ShortenEnd        = shortenEnd,
                DiagramProperties = Editor.Context.CurrentCanvas.GetProperties(),
                Tags = Editor.Context.Tags
            };

            return(dxf.GenerateDxf(model, version, table));
        }
        private void TableList_PreviewMouseMove(object sender, MouseEventArgs e)
        {
            Point  point = e.GetPosition(null);
            Vector diff  = DragStartPoint - point;

            if (e.LeftButton == MouseButtonState.Pressed &&
                (Math.Abs(diff.X) > SystemParameters.MinimumHorizontalDragDistance ||
                 Math.Abs(diff.Y) > SystemParameters.MinimumVerticalDragDistance))
            {
                var listView     = sender as ListView;
                var listViewItem = FindVisualParent <ListViewItem>((DependencyObject)e.OriginalSource);
                if (listViewItem != null)
                {
                    DiagramTable table    = (DiagramTable)listView.ItemContainerGenerator.ItemFromContainer(listViewItem);
                    DataObject   dragData = new DataObject("Table", table);
                    DragDrop.DoDragDrop(listViewItem, dragData, DragDropEffects.Move);
                }
            }
        }
        private FrameworkElement CreateDiagramElement(string diagram,
                                                      Size areaExtent,
                                                      Point origin,
                                                      Rect area,
                                                      bool fixedStrokeThickness,
                                                      ResourceDictionary resources,
                                                      DiagramTable table)
        {
            var grid = new Grid()
            {
                ClipToBounds = true,
                Resources    = resources
            };

            var template = new Control()
            {
                Template = grid.Resources[ResourceConstants.KeyLandscapePageTemplate] as ControlTemplate
            };

            var canvas = new DiagramCanvas()
            {
                Width  = PageWidth,
                Height = PageHeight
            };

            ModelEditor.Parse(diagram,
                              canvas, this.DiagramCreator,
                              0, 0,
                              false, false, false, true);

            grid.Children.Add(template);
            grid.Children.Add(canvas);

            LineEx.SetShortenStart(grid, ShortenStart);
            LineEx.SetShortenEnd(grid, ShortenEnd);

            TableGrid.SetData(grid, table);

            return(grid);
        }
        public void Print(IEnumerable <string> diagrams, string name, DiagramTable table)
        {
            if (diagrams == null)
            {
                throw new ArgumentNullException();
            }

            var dlg = new PrintDialog();

            ShowPrintDialog(dlg);

            var caps       = dlg.PrintQueue.GetPrintCapabilities(dlg.PrintTicket);
            var areaExtent = new Size(caps.PageImageableArea.ExtentWidth, caps.PageImageableArea.ExtentHeight);
            var areaOrigin = new Size(caps.PageImageableArea.OriginWidth, caps.PageImageableArea.OriginHeight);

            var fixedDocument = CreateFixedDocument(diagrams,
                                                    areaExtent,
                                                    areaOrigin,
                                                    false,
                                                    table);

            dlg.PrintDocument(fixedDocument.DocumentPaginator, name);
        }
Example #12
0
 private void UpdateCurrentTable(DiagramTable table)
 {
     TableGrid.SetData(this, null);
     TableGrid.SetData(this, table);
 }
        private void CreateNewTable()
        {
            int    id    = Tables.Count > 0 ? Tables.Cast <DiagramTable>().Max(x => x.Id) + 1 : 0;
            string strId = id.ToString();

            var table = new DiagramTable()
            {
                Id        = id,
                Revision1 = new Revision()
                {
                    Version = "",
                    Date    = "",
                    Remarks = "",
                },
                Revision2 = new Revision()
                {
                    Version = "",
                    Date    = "",
                    Remarks = "",
                },
                Revision3 = new Revision()
                {
                    Version = "",
                    Date    = "",
                    Remarks = "",
                },
                PathLogo1 = "",
                PathLogo2 = "",
                Drawn     = new Person()
                {
                    Name = "user",
                    Date = DateTime.Today.ToString("yyyy-MM-dd")
                },
                Checked = new Person()
                {
                    Name = "user",
                    Date = DateTime.Today.ToString("yyyy-MM-dd")
                },
                Approved = new Person()
                {
                    Name = "user",
                    Date = DateTime.Today.ToString("yyyy-MM-dd")
                },
                Title      = "LOGIC DIAGRAM",
                SubTitle1  = "DIAGRAM" + strId,
                SubTitle2  = "",
                SubTitle3  = "",
                Rev        = "0",
                Status     = "-",
                Page       = "-",
                Pages      = "-",
                Project    = "Sample",
                OrderNo    = "",
                DocumentNo = "",
                ArchiveNo  = ""
            };

            Tables.Add(table);

            int index = TableList.Items.Add(table);

            TableList.SelectedIndex = index;
            TableList.ScrollIntoView(TableList.SelectedItem);
        }