Exemple #1
0
        public override Path draw()
        {
            Path                 path       = new Path();
            PathFigure           figure     = new PathFigure();
            PathGeometry         geometry   = new PathGeometry();
            PathFigureCollection collection = new PathFigureCollection();

            figure.StartPoint = ViewerHelper.mapToWPF(vertices[0].vertex, parent);

            foreach (PolylineVertex vertex in vertices)
            {
                if (vertex.bulge == 0)
                {
                    figure.Segments.Add(new LineSegment(ViewerHelper.mapToWPF(vertex.vertex, parent), true));
                }
                else
                {
                    double radius = calculateRadius(vertex.bulge, vertex.lastVertex, vertex.vertex);
                    Size   size   = new Size(radius, radius);
                    figure.Segments.Add(new ArcSegment(ViewerHelper.mapToWPF(vertex.vertex, parent), size, 0,
                                                       Math.Abs(vertex.bulge) >= 1, vertex.bulge > 0 ? SweepDirection.Counterclockwise : SweepDirection.Clockwise, true));
                }
            }


            figure.IsClosed = closed;
            collection.Add(figure);
            geometry.Figures = collection;
            path.Data        = geometry;

            path.StrokeThickness = thickness;
            path.Stroke          = new SolidColorBrush(ViewerHelper.getColor(layer.lineColor));
            return(path);
        }
Exemple #2
0
        public override Path draw()
        {
            Path           path         = new Path();
            TransformGroup transforms   = new TransformGroup();
            Point          shiftedStart = ViewerHelper.mapToWPF(this.start, this.parent);

            this.text            = ViewerHelper.swtichDXFSymbols(this.text);
            path.Stroke          = new SolidColorBrush(ViewerHelper.getColor(layer.lineColor));
            path.Fill            = new SolidColorBrush(ViewerHelper.getColor(layer.lineColor));
            path.StrokeThickness = Math.Abs(this.parent.header.yMin) > 400 ? 0.2 : 0.01;

            FormattedText text = new FormattedText(this.text, CultureInfo.CurrentCulture, FlowDirection.LeftToRight, new Typeface(style.getFontFamily()), .05 + this.size * (96 / 72), Brushes.White);

            //Adjust for difference in WPF text origin (top left) and DXF origin (bottom left)
            start.Y += text.Baseline;
            Geometry geometry = text.BuildGeometry(ViewerHelper.mapToWPF(this.start, this.parent));

            transforms.Children.Add(style.getMirrorTransform(shiftedStart));

            if (!this.text.Equals(""))
            {
                transforms.Children.Add(new RotateTransform(-angle, shiftedStart.X, shiftedStart.Y));
            }
            path.Data            = geometry;
            path.RenderTransform = transforms;
            return(path);
        }
Exemple #3
0
        public override Path draw()
        {
            //init wpf object stack
            Path          path     = new Path();
            LineGeometry  geometry = new LineGeometry();
            GeometryGroup group    = new GeometryGroup();

            //translate dxf coords to wpf
            geometry.StartPoint = ViewerHelper.mapToWPF(start, parent);
            geometry.EndPoint   = ViewerHelper.mapToWPF(end, parent);

            //set up brush
            path.Stroke          = new SolidColorBrush(ViewerHelper.getColor(layer.lineColor));
            path.StrokeDashArray = ViewerHelper.setLineType(layer.lineType);

            //package wpf elements
            group.Children.Add(geometry);
            path.Data           = group;
            path.StrokeLineJoin = PenLineJoin.Bevel;

            //set up line thickness binding
            Binding bind = new Binding();

            bind.Source = viewer;
            bind.Path   = new PropertyPath("LineThickness");
            path.SetBinding(Path.StrokeThicknessProperty, bind);

            return(path);
        }
Exemple #4
0
        public override Path draw()
        {
            Path                 path       = new Path();
            PathFigure           figure     = new PathFigure();
            PathGeometry         geometry   = new PathGeometry();
            PathFigureCollection collection = new PathFigureCollection();

            figure.StartPoint = ViewerHelper.mapToWPF(vertices[0], parent);
            foreach (Point vertex in vertices)
            {
                figure.Segments.Add(new LineSegment(ViewerHelper.mapToWPF(vertex, parent), true));
            }

            figure.IsClosed = false;
            collection.Add(figure);
            geometry.Figures = collection;
            path.Data        = geometry;

            Binding bind = new Binding();

            bind.Source = viewer;
            bind.Path   = new PropertyPath("LineThickness");
            path.SetBinding(Path.StrokeThicknessProperty, bind);
            Brush brush = new SolidColorBrush(ViewerHelper.getColor(layer.lineColor));

            path.Stroke = brush;

            if (arrow)
            {
                viewer.mainCanvas.Children.Add(getArrowPath(brush, bind));
            }

            return(path);
        }
        public Control GetControl()
        {
            var viewer = ViewerHelper.CreateTextBox();

            viewer.Text = _data.ToString();
            return(viewer);
        }
Exemple #6
0
        public override Path draw()
        {
            //init wpf object stack
            Path            path     = new Path();
            EllipseGeometry geometry = new EllipseGeometry();
            GeometryGroup   group    = new GeometryGroup();

            //translate DXF coords to wpf
            geometry.Center  = ViewerHelper.mapToWPF(this.center, this.parent);
            geometry.RadiusX = radius;
            geometry.RadiusY = radius;

            //set up brush
            path.Stroke          = new SolidColorBrush(ViewerHelper.getColor(layer.lineColor));
            path.StrokeDashArray = ViewerHelper.setLineType(layer.lineType);

            //package wpf elements
            group.Children.Add(geometry);
            path.Data = group;

            //set up line thickness binding
            Binding bind = new Binding();

            bind.Source = viewer;
            bind.Path   = new PropertyPath("LineThickness");
            path.SetBinding(Path.StrokeThicknessProperty, bind);

            return(path);
        }
Exemple #7
0
        /// <summary>
        /// Loads the document.
        /// </summary>
        /// <param name="file">The file.</param>
        public void LoadDocument(FileInfo file)
        {
            try
            {
                _reportType = ViewerHelper.DetermineReportType(file);
                bool isRdf           = ViewerHelper.IsRdf((file));
                var  reportServerUri = !isRdf?ViewerHelper.GetReportServerUri(file) : string.Empty;

                if (!string.IsNullOrEmpty(reportServerUri))
                {
                    throw new NotSupportedException("Server report is not supported");
                }
                else
                {
                    viewer.LoadDocument(file.FullName);
                }

                _openFileName = file.FullName;
                exportToolStripMenuItem.Enabled    = true;
                saveAsRDFToolStripMenuItem.Enabled = true;
                SetReportName(openFileDialog.FileName);
            }
            catch (Exception ex)
            {
                viewer.HandleError(ex);
            }
        }
Exemple #8
0
        public override Path draw()
        {
            Path                  path     = new Path();
            PathGeometry          geometry = new PathGeometry();
            PathFigure            figure   = new PathFigure();
            PathSegmentCollection group    = new PathSegmentCollection();

            //reverse 3, 2 because ordering of vertices is different in WPF
            group.Add(new LineSegment(ViewerHelper.mapToWPF(vertices[1], parent), true));
            group.Add(new LineSegment(ViewerHelper.mapToWPF(vertices[3], parent), true));
            group.Add(new LineSegment(ViewerHelper.mapToWPF(vertices[2], parent), true));
            group.Add(new LineSegment(ViewerHelper.mapToWPF(vertices[0], parent), true));

            figure.IsFilled   = true;
            figure.StartPoint = ViewerHelper.mapToWPF(vertices[0], parent);
            figure.Segments   = group;

            geometry.Figures.Add(figure);

            path.Data            = geometry;
            path.Stroke          = new SolidColorBrush(ViewerHelper.getColor(layer.lineColor));
            path.Fill            = new SolidColorBrush(ViewerHelper.getColor(layer.lineColor));
            path.StrokeThickness = 0;

            return(path);
        }
Exemple #9
0
        public override Path draw()
        {
            //init wpf object stack
            Path            path     = new Path();
            EllipseGeometry geometry = new EllipseGeometry();
            GeometryGroup   group    = new GeometryGroup();

            //translate dxf coords to wpf
            geometry.Center  = ViewerHelper.mapToWPF(center, parent);
            geometry.RadiusX = ViewerHelper.calculateAxisLength(center, end);
            geometry.RadiusY = geometry.RadiusX * axisRatio;
            //set up brush
            path.Stroke                = new SolidColorBrush(ViewerHelper.getColor(layer.lineColor));
            path.StrokeDashArray       = ViewerHelper.setLineType(layer.lineType);
            path.RenderTransformOrigin = geometry.Center;
            path.RenderTransform       = new RotateTransform(ViewerHelper.calculateRotationAngle(end, center));
            //package wpf elements
            group.Children.Add(geometry);
            path.Data = group;
            //set up line thickness binding
            Binding bind = new Binding();

            bind.Source = this.viewer;
            bind.Path   = new PropertyPath("LineThickness");
            path.SetBinding(Path.StrokeThicknessProperty, bind);

            return(path);
        }
Exemple #10
0
        public Control GetControl()
        {
            var control = ViewerHelper.CreateTextBox();

            control.Text = _file.ToString();
            return(control);
        }
Exemple #11
0
        public void LoadDocument(FileInfo file)
        {
            try
            {
                //Icon ico = new Icon(GetType().Module.Assembly.GetManifestResourceStream("myLib.Resources.Export16x16.ico"));
                //viewer1.Toolbar.ToolStrip.ImageList
                //    = new ImageList();
                //viewer1.Toolbar.ToolStrip.ImageList.Images.Add("exporticon", ico);
                //ToolStrip ts = viewer1.Toolbar.ToolStrip;
                //ToolStripButton tsbExport = new ToolStripButton("Export Excel");
                //tsbExport.Image = viewer1.Toolbar.ToolStrip.ImageList.Images["exporticon"];
                //tsbExport.Click += new EventHandler(tsbExport_Click);
                //ts.Items.Add(new ToolStripSeparator());
                //ts.Items.Add(tsbExport);

                this._reportType = new ExportForm.ReportType?(ViewerHelper.DetermineReportType(file));
                //string str = (!ViewerHelper.isRdf(file) ? ViewerHelper.GetReportServerUri(file) : string.Empty);
                //if (string.IsNullOrEmpty(str))
                //{
                //    this.viewer1.LoadDocument(file.FullName);
                //}


                //this.SetReportName(this.openFileDialog.FileName);
            }
            catch (Exception exception)
            {
                this.viewer1.HandleError(exception);
            }
        }
Exemple #12
0
        public TransformGroup getTransforms(Transform existingTransforms)
        {
            TransformGroup transforms = new TransformGroup();

            transforms.Children.Add(existingTransforms);
            transforms.Children.Add(new ScaleTransform(xScale, yScale, ViewerHelper.mapToWPF(anchor, parent).X, ViewerHelper.mapToWPF(anchor, parent).Y));
            transforms.Children.Add(new RotateTransform(-angle, ViewerHelper.mapToWPF(anchor, parent).X, ViewerHelper.mapToWPF(anchor, parent).Y));
            return(transforms);
        }
        public Control GetControl()
        {
            var control     = ViewerHelper.CreateTextBox();
            var bytes       = _goldBoxFile.GetBytes();
            var textEncoder = new UTF8Encoding();

            control.Text = textEncoder.GetString(bytes.ToArray());
            return(control);
        }
        public Control GetControl()
        {
            tab = new TabControl {
                Dock = DockStyle.Fill
            };

            Control bookmarkedRow = null;     // the row we want to start at

            foreach (var ecl in _file.eclDumps)
            {
                var page = new TabPage(ecl._blockName);
                page.AutoScroll = true;

                foreach (var eclAddr in ecl.decodedEcl.Keys.Reverse())
                {
                    var eclText = ViewerHelper.CreateTextBox();
                    eclText.Text = ecl.decodedEcl[eclAddr];
                    eclText.Dock = DockStyle.Fill;
                    var eclAnnotation = ViewerHelper.CreateTextBox();
                    if (ecl.annotations.ContainsKey(eclAddr))
                    {
                        eclAnnotation.Text      = ecl.annotations[eclAddr];
                        eclText.BackColor       = System.Drawing.Color.LightBlue;
                        eclAnnotation.BackColor = System.Drawing.Color.LightBlue;
                    }
                    eclAnnotation.Width = 300;
                    eclAnnotation.Dock  = DockStyle.Right;
                    //eclText.Dock = DockStyle.Top;
                    var row = ViewerHelper.CreateRow();
                    page.Controls.Add(row);
                    row.Controls.Add(eclText);

                    row.Controls.Add(eclAnnotation);
                    if (ChangeFileEventArgs.targetPlace != "" && eclAnnotation.Text.Contains(ChangeFileEventArgs.targetPlace) && page.Text == ChangeFileEventArgs.currentDaxId.ToString())
                    {
                        bookmarkedRow = row;
                    }
                }
                tab.TabPages.Add(page);
                if (page.Text == ChangeFileEventArgs.currentDaxId.ToString())
                {
                    tab.SelectedTab = page;
                    page.ScrollControlIntoView(bookmarkedRow);
                }
            }
            var stringPage = new TabPage("ECL Text");

            stringPage.AutoScroll = true;
            var control = ViewerHelper.CreateTextBoxMultiline();

            control.Text = _file.ToString();
            stringPage.Controls.Add(control);
            tab.TabPages.Add(stringPage);
            return(tab);
        }
Exemple #15
0
        public IActionResult LoginPost(string username, string password)
        {
            var viewerDaoManager = new ViewerDaoManager(_context);

            (Viewer viewer, Exception error) = viewerDaoManager.Login(username, password);
            if (error != null)
            {
                ErrorHelper.SetFormError(HttpContext, error);
                return(ControllerRedirect("login"));
            }

            ViewerHelper.SetCurrent(HttpContext, viewer);
            return(Redirect("/"));
        }
Exemple #16
0
        public IActionResult LoginPage()
        {
            Viewer viewer = ViewerHelper.GetCurrent(HttpContext);

            if (viewer != null)
            {
                return(Redirect("/"));
            }

            var vm = new AuthViewModel();

            vm.FormPostUrl = $"/{ControllerName}/{LoginPostActionName}";
            FindErrorMessage(vm);
            return(View("~/Views/Auth/Login.cshtml", vm));
        }
        public IActionResult AddMovie(Movie movie)
        {
            var       movieDaoManager = new MovieDaoManager(_context);
            Exception error           = movieDaoManager.AddMovie(movie, ViewerHelper.GetCurrent(HttpContext));

            if (error != null)
            {
                ErrorHelper.SetFormError(HttpContext, error);
            }
            else
            {
                FormMessageHelper.SetSuccessMessage(HttpContext, "Фильм добавлен успешно!");
            }

            return(ControllerRedirect("add"));
        }
        private static Control FillECLCodePanel(TabPage page)
        {
            // this can take a while, so make sure the cursor is set to wait
            Application.UseWaitCursor = true;
            Application.DoEvents();

            Control bookmarkedRow = null;
            Panel   codePanel     = (Panel)page.Controls.Find("codepanel", false)[0];

            EclDump.EclDump ecl = (EclDump.EclDump)codePanel.Tag;
            // decode ecl files, and put each line in its own textbox
            foreach (var eclAddr in ecl.decodedEcl.Keys.Reverse())
            {
                var eclText = ViewerHelper.CreateTextBox();
                eclText.Text = ecl.decodedEcl[eclAddr];
                eclText.Dock = DockStyle.Fill;
                var eclAnnotation = ViewerHelper.CreateTextBox();
                if (ecl.annotations.ContainsKey(eclAddr))
                {
                    eclAnnotation.Text      = ecl.annotations[eclAddr];
                    eclText.BackColor       = System.Drawing.Color.LightBlue;
                    eclAnnotation.BackColor = System.Drawing.Color.LightBlue;
                }
                eclAnnotation.Width = 300;
                eclAnnotation.Dock  = DockStyle.Right;
                var row = ViewerHelper.CreateRow();
                codePanel.Controls.Add(row);
                row.Controls.Add(eclText);

                row.Controls.Add(eclAnnotation);
                if (ChangeFileEventArgs.targetPlace != "" && eclAnnotation.Text.Contains(ChangeFileEventArgs.targetPlace) && page.Text == ChangeFileEventArgs.currentDaxId.ToString())
                {
                    bookmarkedRow = row;
                }
            }
            Application.UseWaitCursor = false;
            Application.DoEvents();

            return(bookmarkedRow);
        }
Exemple #19
0
        override public Path draw()
        {
            //map dxf coords to wpf coords
            Point dxfCenter = this.center;

            this.center = ViewerHelper.mapToWPF(center, parent);
            //Set up wpf geometry elements
            Path         path     = new Path();
            PathGeometry geometry = new PathGeometry();
            PathFigure   figure   = new PathFigure();
            ArcSegment   arc      = new ArcSegment();
            Point        start    = calcStartPoint(this);
            Point        end      = calcEndPoint(this);

            //set up brush and color
            path.Stroke          = new SolidColorBrush(ViewerHelper.getColor(layer.lineColor));
            path.StrokeDashArray = ViewerHelper.setLineType(layer.lineType);
            arc.SweepDirection   = SweepDirection.Counterclockwise;
            //set arc parameters
            figure.StartPoint = start;
            arc.Point         = end;
            arc.RotationAngle = Math.Abs(endAngle - startAngle);
            arc.Size          = new Size(radius, radius);
            arc.IsLargeArc    = checkArcSize(this);
            //compose the path
            figure.Segments.Add(arc);
            geometry.Figures.Add(figure);
            path.Data = geometry;

            //Set up Line Thickness Binding
            Binding bind = new Binding();

            bind.Source = this.viewer;
            bind.Path   = new PropertyPath("LineThickness");
            path.SetBinding(Path.StrokeThicknessProperty, bind);

            //restore dxf coordinates
            center = dxfCenter;
            return(path);
        }
Exemple #20
0
        public Path getArrowPath(Brush brush, Binding bind)
        {
            Path                 path           = new Path();
            PathFigure           figure         = new PathFigure();
            PathGeometry         headGeo        = new PathGeometry();
            PathFigureCollection headCollection = new PathFigureCollection();

            figure.StartPoint = ViewerHelper.mapToWPF(vertices[0], parent);

            double arrowHeight = parent.header.vars["$DIMASZ"].groupCode[" 40"].ConvertToDoubleWithCulture();

            Point b1 = new Point();
            Point b2 = new Point();

            b1.Y = vertices[0].Y + (arrowHeight / 6);
            b2.Y = vertices[0].Y - (arrowHeight / 6);
            b1.X = vertices[0].X + arrowHeight;
            b2.X = vertices[0].X + arrowHeight;

            figure.Segments.Add(new LineSegment(ViewerHelper.mapToWPF(b1, parent), true));
            figure.Segments.Add(new LineSegment(ViewerHelper.mapToWPF(b2, parent), true));

            figure.IsClosed = true;
            figure.IsFilled = true;

            headCollection.Add(figure);
            headGeo.Figures = headCollection;
            double rotation = getArrowRotation() * (180 / Math.PI);

            headGeo.Transform = (new RotateTransform(-rotation,
                                                     ViewerHelper.mapToWPF(vertices[0], parent).X,
                                                     ViewerHelper.mapToWPF(vertices[0], parent).Y));

            path.Data   = headGeo;
            path.Stroke = brush;
            path.Fill   = brush;
            path.SetBinding(Path.StrokeThicknessProperty, bind);

            return(path);
        }
Exemple #21
0
        public override Path draw()
        {
            Path path = new Path();

            path.Stroke          = new SolidColorBrush(ViewerHelper.getColor(layer.lineColor));
            path.Fill            = new SolidColorBrush(ViewerHelper.getColor(layer.lineColor));
            path.StrokeThickness = Math.Abs(this.parent.header.yMin) > 400 ? 0.2 : 0.01;

            FormattedText text = new FormattedText(ViewerHelper.swtichDXFSymbols(this.text),
                                                   CultureInfo.CurrentCulture,
                                                   FlowDirection.LeftToRight,
                                                   new Typeface(style.getFontFamily()),
                                                   size,
                                                   new SolidColorBrush(ViewerHelper.getColor(layer.lineColor)));

            text.MaxTextWidth = rectangleWidth;
            Geometry geometry = text.BuildGeometry(ViewerHelper.mapToWPF(anchor, parent));

            path.Data = geometry;

            return(path);
        }
        public Control GetControl()
        {
            var tab = new TabControl
            {
                Dock = DockStyle.Fill
            };

            /*     var summary = new TextBox
             *   {
             *       Dock = DockStyle.Fill,
             *       Multiline = true,
             *       ReadOnly = true,
             *       BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D,
             *       Font = new System.Drawing.Font("Courier New", 9.75F, FontStyle.Regular, GraphicsUnit.Point, 0),
             *   };*/
            var summary = ViewerHelper.CreateTextBoxMultiline();

            summary.Text = _file.GetSummary();
            var summaryPage = new TabPage("Summary");

            summaryPage.Controls.Add(summary);
            tab.TabPages.Add(summaryPage);

            var mapPage    = new TabPage("Map");
            var mapSummary = ViewerHelper.CreateTextBoxMultiline();/*                = new TextBox
                                                                    * {
                                                                    * Dock = DockStyle.Fill,
                                                                    * Multiline = true,
                                                                    * ReadOnly = true,
                                                                    * BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D,
                                                                    * Font = new System.Drawing.Font("Courier New", 9.75F, FontStyle.Regular, GraphicsUnit.Point, 0),
                                                                    * };*/

            mapSummary.Text = _file.GetMap();
            mapPage.Controls.Add(mapSummary);
            tab.TabPages.Add(mapPage);

            return(tab);
        }
        private Control addAnnotationPage(TabPage tabPage)
        {
            var annotationData = (AnnotationData)tabPage.Tag;
            var data           = annotationData.data;
            var pageNumber     = annotationData.pageNumber;
            var outerPanel     = ViewerHelper.CreatePanel();
            var buttonPanel    = ViewerHelper.CreatePanel();

            buttonPanel.Dock   = DockStyle.Top;
            buttonPanel.Height = 30;
            var innerPanel     = ViewerHelper.CreatePanel();
            var saveCharButton = ViewerHelper.CreateButton();

            saveCharButton.Dock = DockStyle.Left;
            var saveAnnotationButton = ViewerHelper.CreateButton();

            saveAnnotationButton.Dock    = DockStyle.Right;
            saveCharButton.Text          = "save to file";
            saveCharButton.Enabled       = false;
            saveAnnotationButton.Text    = "record annotation";
            saveAnnotationButton.Enabled = false;
            //saveAnnotationButton.Dock = DockStyle.Top | DockStyle.Right;

            //    buttonPanel.Controls.Add(saveCharButton);
            //    buttonPanel.Controls.Add(saveAnnotationButton);
            outerPanel.Controls.Add(innerPanel);
            outerPanel.Controls.Add(buttonPanel);

            // TODO merge these two calls for more efficiency

            var annotations = _file.LoadCharacter().getAnnotations();

            if (annotations != null)
            {
                annotations.Sort((x, y) => y.addr.CompareTo(x.addr));
                foreach (var a in annotations)
                {
                    var row   = ViewerHelper.CreateRow();
                    var label = ViewerHelper.CreateTextBox(true);
                    label.Width = 400;
                    label.Text  = a.description;
                    if (a.firstInRecord)
                    {
                        label.BackColor = System.Drawing.Color.Azure;
                    }
                    var control = ViewerHelper.CreateTextBox(false);
                    control.Text  = a.interpret(data);
                    control.Width = 200;
                    row.Controls.Add(control);
                    row.Controls.Add(label);

                    innerPanel.Controls.Add(row);
                }
            }
            if (displayItemTypeName)
            {
                var nameRow   = ViewerHelper.CreateRow();
                var nameLabel = ViewerHelper.CreateTextBox(true);
                nameLabel.Width = 400;
                nameLabel.Text  = Annotation.GetItemTemplateName(pageNumber);
                nameRow.Controls.Add(nameLabel);
                innerPanel.Controls.Add(nameRow);
            }
            return(outerPanel);
        }
Exemple #24
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            ViewBag.Viewer = ViewerHelper.GetCurrent(HttpContext);

            base.OnActionExecuting(filterContext);
        }
        public Control GetControl()
        {
            var maps = _goldBoxFile.GetMaps();

            tab = new TabControl {
                Dock = DockStyle.Fill
            };
            tab.Invalidated += InvalidateMap;

            foreach (var geoMapRecord in maps)
            {
                var newFPViewPos = new FpViewPos();

                selected_dax_id = geoMapRecord.DaxId;
                var page = new TabPage(geoMapRecord.Name)
                {
                    Size = new Size(FullMapWidth + FPViewWidth, Math.Max(FPViewHeight, FullMapHeight))
                };
                page.Tag = newFPViewPos;
                var panel = ViewerHelper.CreatePanel();
                panel.Name = "mapPanel";
                var exportButton = ViewerHelper.CreateButton();
                exportButton.Text        = "export map to image";
                exportButton.MouseClick += geoImageExportForm;

                var movementButtonPanel = ViewerHelper.CreatePanel();
                movementButtonPanel.Width = 50;
                movementButtonPanel.Name  = "Movement Button Panel";
                movementButtonPanel.Dock  = DockStyle.Bottom;
                var forwardButton = ViewerHelper.CreateButton();
                forwardButton.Text        = "Forward";
                forwardButton.Width       = 40;
                forwardButton.MouseClick += moveCursorForwards;
                forwardButton.Dock        = DockStyle.Top;
                var movementRow3 = ViewerHelper.CreateRow();
                movementRow3.Controls.Add(forwardButton);

                var backwardButton = ViewerHelper.CreateButton();
                backwardButton.Text        = "Back";
                backwardButton.Width       = 40;
                backwardButton.MouseClick += moveCursorBackwards;
                backwardButton.Dock        = DockStyle.Bottom;
                var movementRow1 = ViewerHelper.CreateRow();
                movementRow1.Controls.Add(backwardButton);

                var leftButton = ViewerHelper.CreateButton();
                leftButton.Text        = "Left";
                backwardButton.Width   = 40;
                leftButton.MouseClick += rotateCursorLeft;
                leftButton.Dock        = DockStyle.Left;


                var rightButton = ViewerHelper.CreateButton();
                rightButton.Text        = "Right";
                rightButton.Width       = 40;
                rightButton.MouseClick += rotateCursorRight;
                rightButton.Dock        = DockStyle.Fill;

                var movementRow2 = ViewerHelper.CreateRow();
                movementRow2.Controls.Add(rightButton);
                movementRow2.Controls.Add(leftButton);

                var fpViewPanel = ViewerHelper.CreatePanel();
                fpViewPanel.Dock   = DockStyle.Left;
                fpViewPanel.Width  = FPViewWidth;
                fpViewPanel.Height = FPViewHeight;
                fpViewPanel.Name   = "FPViewPanel";
                //     var mapPanel = ViewerHelper.CreatePanel();
                var fpViewBox = new PictureBox();
                fpViewBox.Dock        = DockStyle.Fill;
                fpViewBox.BorderStyle = BorderStyle.Fixed3D;

                var pictureBox = new PictureBox();
                pictureBox.Dock        = DockStyle.Left;
                pictureBox.MouseClick += mouseClickOnMap;

                movementButtonPanel.Controls.Add(movementRow1);
                movementButtonPanel.Controls.Add(movementRow2);
                movementButtonPanel.Controls.Add(movementRow3);


                var bitmap = new Bitmap(FullMapWidth, FullMapHeight);
                DrawMap(bitmap, geoMapRecord.Walls, newFPViewPos);

                pictureBox.Name     = "map";
                pictureBox.Image    = bitmap;
                pictureBox.SizeMode = PictureBoxSizeMode.Zoom;

                pictureBox.Size = new Size(FullMapWidth, FullMapHeight);

                var fpvbitmap = new Bitmap(FPViewWidth, FPViewHeight);
                Drawfpview(fpvbitmap, geoMapRecord.Walls, newFPViewPos);

                fpViewBox.Name     = "3d view";
                fpViewBox.Image    = fpvbitmap;
                fpViewBox.SizeMode = PictureBoxSizeMode.Zoom;

                fpViewBox.Size = new Size(FPViewWidth, FPViewHeight + 60);


                fpViewPanel.Controls.Add(fpViewBox);
                fpViewPanel.Controls.Add(movementButtonPanel);
                panel.Controls.Add(fpViewPanel);
                panel.Controls.Add(pictureBox);
                panel.Controls.Add(exportButton);

                page.AutoScroll = true;
                page.Controls.Add(panel);

                tab.TabPages.Add(page);
            }

            return(tab);
        }
        public Control GetControl()
        {
            tab = new TabControl {
                Dock = DockStyle.Fill
            };

            foreach (var ecl in _file.eclDumps)
            {
                var   page      = new TabPage(ecl._blockName);
                Panel codePanel = (Panel)ViewerHelper.CreatePanel();
                codePanel.Name = "codepanel";
                codePanel.Tag  = ecl;
                //page.AutoScroll = true;
                page.Controls.Add(codePanel);

                // fill the code panel with the decoded ecl code
                int bookMarkIndex = FillECLCodePanel(page);
                // add a search bar and 'select all' button to the top of the ecl listing
                var selectAll = ViewerHelper.CreateButton();
                selectAll.Text        = "Copy to clipboard";
                selectAll.MouseClick += selectAllRows;
                selectAll.Dock        = DockStyle.Right;

                var findNext = ViewerHelper.CreateButton();
                findNext.Text        = "find next";
                findNext.MouseClick += searchEclNext;
                findNext.Dock        = DockStyle.Right;

                TextBox headerText = (TextBox)ViewerHelper.CreateTextBox();
                headerText.ReadOnly     = false;
                headerText.Text         = "Type text to find";
                headerText.TextChanged += searchEcl;
                headerText.KeyDown     += searchEclKeyPressed;
                headerText.Dock         = DockStyle.Fill;
                var row1 = ViewerHelper.CreateRow();
                page.Controls.Add(row1);
                row1.Controls.Add(headerText);
                row1.Controls.Add(findNext);
                row1.Controls.Add(selectAll);

                tab.TabPages.Add(page);
                if (page.Text == ChangeFileEventArgs.currentDaxId.ToString())
                {
                    tab.SelectedTab = page;
                    ListView lv  = (ListView)codePanel.Controls.Find("eclView", false)[0];
                    var      lvi = lv.Items[bookMarkIndex];
                    lvi.Selected = true;
                    lv.Select();
                    lv.TopItem = lvi;
                }
            }
            var stringPage = new TabPage("ECL Text");

            stringPage.AutoScroll = true;
            var control = ViewerHelper.CreateTextBoxMultiline();

            control.Text = _file.ToString();
            stringPage.Controls.Add(control);
            tab.TabPages.Add(stringPage);
            tab.Selected   += ECLTabControlLoadSelected;
            tab.Deselected += ECLTabControlUnloadDeselected;
            return(tab);
        }
Exemple #27
0
 public IActionResult Logout()
 {
     ViewerHelper.RemoveCurrent(HttpContext);
     return(Redirect("/"));
 }
Exemple #28
0
 public ScaleTransform getMirrorTransform(Point origin)
 {
     return(ViewerHelper.getMirrorTransform(mirrorX, mirrorY, origin));
 }