public GraphRenderBase(ConfigurationPlot config, GraphAxis gx, GraphAxis gy, GraphPlotStyle style)
 {
     m_config = config;
     m_gx     = gx;
     m_gy     = gy;
     m_style  = style;
 }
        public void CorrectData(string xAxisName, string yAxisName, string toString)
        {
            GraphAxis testObject = new GraphAxis(xAxisName, yAxisName);

            Assert.Equal(xAxisName, testObject.XAxisName);
            Assert.Equal(yAxisName, testObject.YAxisName);
            Assert.Equal(toString, testObject.ToString());
        }
Exemple #3
0
 public GraphRenderBB(ConfigurationPlot config, GraphAxis gx, GraphAxis gy, GraphPlotStyle style)
     : base(config, gx, gy, style)
 {
     m_rgpt[0] = new PointF();
     m_rgpt[1] = new PointF();
     m_rgpt[2] = new PointF();
     m_rgpt[3] = new PointF();
     m_rgpt[4] = new PointF();
 }
Exemple #4
0
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            string xAxisName = "";
            string yAxisName = "";

            DA.GetData(0, ref xAxisName);
            DA.GetData(1, ref yAxisName);

            GraphAxis graphAxis = new GraphAxis(xAxisName, yAxisName);

            DA.SetData(0, graphAxis);
        }
 public GraphRenderLineFill(ConfigurationPlot config, GraphAxis gx, GraphAxis gy, GraphPlotStyle style)
     : base(config, gx, gy, style)
 {
     m_rgpts5[0] = new PointF();
     m_rgpts5[1] = new PointF();
     m_rgpts5[2] = new PointF();
     m_rgpts5[3] = new PointF();
     m_rgpts5[4] = new PointF();
     m_rgpts4[0] = new PointF();
     m_rgpts4[1] = new PointF();
     m_rgpts4[2] = new PointF();
     m_rgpts4[3] = new PointF();
 }
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            string     graphTitle = string.Empty;
            GraphSizes graphSizes = null;
            Color      graphColor = Color.Empty;
            GraphAxis  graphAxis  = null;

            DA.GetData(0, ref graphTitle);
            DA.GetData(1, ref graphSizes);
            DA.GetData(2, ref graphColor);
            DA.GetData(3, ref graphAxis);

            GraphSettings graphSettings = new GraphSettings(graphTitle, graphSizes, graphColor, graphAxis);

            DA.SetData(0, graphSettings);
        }
Exemple #7
0
        private Path InitializeGrid(GraphAxis axis, DashData dashData, double actualHeight, double actualWidth)
        {
            GeometryGroup lineGroup = new GeometryGroup();

            if (axis == GraphAxis.X)
            {
                //x positive
                for (double x = dashData.AxisWidthHeight / 2; x < dashData.AxisWidthHeight - dashData.Step * 2; x += dashData.Step * 2)
                {
                    lineGroup.Children.Add(AddLine(x, dashData.Step, x, actualHeight - dashData.Step));
                }

                //x negative
                for (double x = dashData.AxisWidthHeight / 2; x > dashData.Step; x -= dashData.Step * 2)
                {
                    lineGroup.Children.Add(AddLine(x, dashData.Step, x, actualHeight - dashData.Step));
                }
            }
            else
            {
                //y negative
                for (double y = dashData.AxisWidthHeight / 2; y < dashData.AxisWidthHeight - dashData.Step; y += dashData.Step * 2)
                {
                    lineGroup.Children.Add(AddLine(dashData.Step, y, actualWidth - dashData.Step, y));
                }

                //y positive
                for (double y = dashData.AxisWidthHeight / 2; y > dashData.Step; y -= dashData.Step * 2)
                {
                    lineGroup.Children.Add(AddLine(dashData.Step, y, actualWidth - dashData.Step, y));
                }
            }

            Path path = new Path
            {
                Data            = lineGroup,
                StrokeThickness = 1,
                StrokeDashArray = new DoubleCollection()
                {
                    5, 3
                },
                Stroke = Brushes.LightGray,
                Fill   = Brushes.LightGray
            };

            return(path);
        }
Exemple #8
0
        public GraphRenderHighLow(ConfigurationPlot config, GraphAxis gx, GraphAxis gy, GraphPlotStyle style)
            : base(config, gx, gy, style)
        {
            if (config.ExtraSettings != null && config.ExtraSettings.ContainsKey("DrawLines"))
            {
                if (config.ExtraSettings["DrawLines"] != 0)
                {
                    m_bDrawLines = true;
                }
            }

            m_rgpt[0] = new PointF();
            m_rgpt[1] = new PointF();
            m_rgpt[2] = new PointF();
            m_rgpt[3] = new PointF();
            m_rgpt[4] = new PointF();
        }
Exemple #9
0
        public GraphRenderZones(ConfigurationPlot config, GraphAxis gx, GraphAxis gy, GraphPlotStyle style)
            : base(config, gx, gy, style)
        {
            if (config.ExtraSettings.ContainsKey("Resolution"))
            {
                m_nResolution = (int)config.ExtraSettings["Resolution"];
            }

            if (config.ExtraSettings.ContainsKey("EnableVolumeScale"))
            {
                m_bEnableVolumeScale = (config.ExtraSettings["EnableVolumeScale"] != 0) ? true : false;
            }

            if (config.ExtraSettings.ContainsKey("Width"))
            {
                m_nWidth = (int)config.ExtraSettings["Width"];
            }
        }
Exemple #10
0
    public GraphAxesController(NodeGraphView nodeGraphView, CustomContentDragger contentDragger, SecondarySelectionDragger secondarySelectionDragger)
    {
        this.name                   = "graph-axes-controller";
        m_nodeGraphView             = nodeGraphView;
        m_customContentDragger      = contentDragger;
        m_secondarySelectionDragger = secondarySelectionDragger;

        m_xAxis = new GraphAxis();
        m_yAxis = new GraphAxis();

        VisualElement graphViewContent = m_nodeGraphView.Q <VisualElement>("contentViewContainer");

        Add(m_xAxis);
        Add(m_yAxis);

        RefreshPositions();
        m_nodeGraphView.RegisterCallback <GeometryChangedEvent>(RefreshSizes);
        m_nodeGraphView.viewTransformChanged   += RefreshPositions;
        m_customContentDragger.PositionChanged += RefreshPositions;
        m_secondarySelectionDragger.OnDragging += RefreshPositions; // TODO: This is a hack to get the axes to update when moving nodes around. But it still doesn't work perfectly.
    }
Exemple #11
0
        public static uint CalculateScale(GraphAxis axis, double value, double xmax, double ymax)
        {
            uint   scale         = 1;
            var    axisMax       = axis == GraphAxis.X ? xmax : ymax;
            var    percentageVal = axisMax / 100;
            double percentageValue;

            if (value < 0 && -1 * axisMax > value)
            {
                percentageValue = (-1 * value) / percentageVal;
                scale           = Convert.ToUInt32((percentageValue) / 100) + 1;
                return(scale);
            }

            if (!(axisMax < value))
            {
                return(scale);
            }

            percentageValue = value / percentageVal;
            scale           = Convert.ToUInt32((percentageValue) / 100) + 1;
            return(scale);
        }
Exemple #12
0
    // Use this for initialization
    void Start()
    {
        buildrate = 1f / 10000f;

        GA = GraphAxis.me;

        GA.city = gameObject;

        pps = new ProjectParticleSet();

        string url = "http://127.0.0.1:8000/api/project/?format=json&limit=2000";        //&order_by=date_end";

        if (MasterSettings.me.offline)
        {
            //KSJSON.me.getOffline(gameObject, "ProcessResponse", "15k");
            //KSJSON.me.getOffline(gameObject, "ProcessResponse", "15k");
            if (GraphAxis.me.UItype == UIType.Rockband)
            {
                projFileLoaded = new bool[projFiles.Length];
                for (int i = 0; i < projFileLoaded.Length; i++)
                {
                    projFileLoaded[i] = false;
                }
            }
            else
            {
                KSCSV.me.loadCSV(gameObject, projFiles[0]);
                KSCSV.me.loadCSV(gameObject, projFiles[2]);
                KSCSV.me.loadCSV(gameObject, projFiles[1]);
            }
        }
        else
        {
            KSJSON.me.getURL(gameObject, "ProcessResponse", url);
        }
    }
Exemple #13
0
        private void AddDashesToLine(GeometryGroup geometryGroup, GraphAxis axis, DashData dashData, double dpi)
        {
            if (axis == GraphAxis.X)
            {
                int counter = 0;

                //x positive
                for (double x = dashData.AxisWidthHeight / 2; x < dashData.AxisWidthHeight - dashData.Step * 2; x += dashData.Step)
                {
                    ++counter;

                    if (counter % 2 > 0)
                    {
                        if (counter != 1)
                        {
                            var number = (counter - 1) * Scale;

                            AddTextGeometry(geometryGroup, number.ToString(), new Point(x - 2, dashData.DashSecondCoordLongStart + 10), dpi);
                        }

                        geometryGroup.Children.Add(AddLine(x, dashData.DashSecondCoordLongStart, x, dashData.DashSecondCoordLongEnd));
                    }
                    else
                    {
                        geometryGroup.Children.Add(AddLine(x, dashData.DashSecondCoordStart, x, dashData.DashSecondCoordEnd));
                    }
                }

                _xMaxCartesian = counter;

                counter = 0;

                for (double x = dashData.AxisWidthHeight / 2; x > dashData.Step; x -= dashData.Step)
                {
                    ++counter;

                    if (counter % 2 > 0)
                    {
                        if (counter != 1)
                        {
                            var number = -1 * (counter - 1) * Scale;
                            AddTextGeometry(geometryGroup, number.ToString(), new Point(x - 7, dashData.DashSecondCoordLongStart + 10), dpi);
                        }


                        geometryGroup.Children.Add(AddLine(x, dashData.DashSecondCoordLongStart, x, dashData.DashSecondCoordLongEnd));
                    }
                    else
                    {
                        geometryGroup.Children.Add(AddLine(x, dashData.DashSecondCoordStart, x, dashData.DashSecondCoordEnd));
                    }
                }
            }
            else
            {
                int counter = 0;

                for (double y = dashData.AxisWidthHeight / 2; y < dashData.AxisWidthHeight - dashData.Step; y += dashData.Step)
                {
                    ++counter;

                    if (counter % 2 > 0)
                    {
                        if (counter != 1)
                        {
                            var number = -1 * (counter - 1) * Scale;

                            AddTextGeometry(geometryGroup, number.ToString(), new Point(dashData.DashSecondCoordLongStart + 14, y - 7), dpi);
                        }

                        geometryGroup.Children.Add(AddLine(dashData.DashSecondCoordLongStart, y, dashData.DashSecondCoordLongEnd, y));
                    }
                    else
                    {
                        geometryGroup.Children.Add(AddLine(dashData.DashSecondCoordStart, y, dashData.DashSecondCoordEnd, y));
                    }
                }

                counter = 0;

                //y positive
                for (double y = dashData.AxisWidthHeight / 2; y > dashData.Step; y -= dashData.Step)
                {
                    ++counter;

                    if (counter % 2 > 0)
                    {
                        if (counter != 1)
                        {
                            var number = (counter - 1) * Scale;

                            AddTextGeometry(geometryGroup, number.ToString(), new Point(dashData.DashSecondCoordLongStart + 14, y - 7), dpi);
                        }

                        geometryGroup.Children.Add(AddLine(dashData.DashSecondCoordLongStart, y, dashData.DashSecondCoordLongEnd, y));
                    }
                    else
                    {
                        geometryGroup.Children.Add(AddLine(dashData.DashSecondCoordStart, y, dashData.DashSecondCoordEnd, y));
                    }
                }

                _yMaxCartesian = counter;
            }
        }
Exemple #14
0
 private void OnEnable()
 {
     _graphAxis = target as GraphAxis;
 }
        //private List<ColumnSizeLocation> GetColumnsSizeLocation()
        //{
        //    List<ColumnSizeLocation> result = new List<ColumnSizeLocation>();

        //    int widthUnits = 0;
        //    var columns = ChartReportReportDTO.EntityListView.EntityListViewAllColumns.Where(x => x.RelationshipTailID == 0);
        //    foreach (var column in columns)
        //    {
        //        widthUnits += (column.WidthUnit == 0 ? 1 : column.WidthUnit);
        //    }
        //    var width = reportWidth;
        //    var perUnitWidth = width.Divide(widthUnits);
        //    var consumedWidthUnits = 0;


        //    if (ReportGroups != null)
        //        foreach (var reportGroup in ReportGroups)
        //        {
        //            ColumnSizeLocation columnSizeLocation = new ColumnSizeLocation();
        //            columnSizeLocation.LictViewColumnID = reportGroup.ListViewColumnID;
        //            SetColumnSizePosition(columnSizeLocation, reportGroup.EntityListViewColumn.WidthUnit, ref consumedWidthUnits, perUnitWidth);
        //            result.Add(columnSizeLocation);

        //        }
        //    foreach (var column in columns)
        //    {
        //        if (!result.Any(x => x.LictViewColumnID == column.ID))
        //        {
        //            ColumnSizeLocation columnSizeLocation = new ColumnSizeLocation();
        //            columnSizeLocation.LictViewColumnID = column.ID;
        //            SetColumnSizePosition(columnSizeLocation, column.WidthUnit, ref consumedWidthUnits, perUnitWidth);
        //            result.Add(columnSizeLocation);
        //        }
        //    }
        //    return result;
        //}
        //private void SetColumnSizePosition(ColumnSizeLocation columnSizeLocation, int currentWidthUnits, ref int consumedWidthUnits, Unit perUnitWidth)
        //{
        //    if (currentWidthUnits == 0)
        //        currentWidthUnits = 1;

        //    var width = currentWidthUnits * perUnitWidth;
        //    columnSizeLocation.Width = width;

        //    var xlocation = (reportWidth - width) - consumedWidthUnits * perUnitWidth;
        //    columnSizeLocation.XLocation = xlocation;


        //    consumedWidthUnits += currentWidthUnits;

        //}
        private Tuple <Report, Graph> SetReportDetails(Report report)
        {
            var detail = new Telerik.Reporting.DetailSection();

            detail.Height = Telerik.Reporting.Drawing.Unit.Cm(0.5);
            detail.Name   = "detail";

            ReportStyles.SetReportDetailStyle(detail.Style);
            report.Items.Add(detail);


            var graph = new Graph();

            graph.Width  = reportWidth;
            graph.Height = report.PageSettings.PaperSize.Height / 2;
            //reportWidth = report.Width;
            detail.Items.Add(graph);

            graph.Legend.Width            = Unit.Cm(3);
            graph.Legend.Style.LineColor  = System.Drawing.Color.LightGray;
            graph.Legend.Style.LineWidth  = Telerik.Reporting.Drawing.Unit.Inch(0D);
            graph.PlotAreaStyle.LineColor = System.Drawing.Color.LightGray;
            graph.PlotAreaStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Inch(0D);
            //graph.Size = new Telerik.Reporting.Drawing.SizeU(Telerik.Reporting.Drawing.Unit.Inch(6D), Telerik.Reporting.Drawing.Unit.Inch(3D));

            GraphAxis categoryAxis = new GraphAxis();

            categoryAxis.MajorGridLineStyle.LineColor = System.Drawing.Color.LightGray;
            categoryAxis.MajorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D);
            categoryAxis.MinorGridLineStyle.LineColor = System.Drawing.Color.LightGray;
            categoryAxis.MinorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D);
            categoryAxis.MinorGridLineStyle.Visible   = false;
            categoryAxis.Scale = new CategoryScale();

            GraphAxis valueAxis = new GraphAxis();

            valueAxis.MajorGridLineStyle.LineColor = System.Drawing.Color.LightGray;
            valueAxis.MajorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D);
            valueAxis.MinorGridLineStyle.LineColor = System.Drawing.Color.LightGray;
            valueAxis.MinorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D);
            valueAxis.MinorGridLineStyle.Visible   = false;
            valueAxis.Scale = new NumericalScale();

            var cartesianCoordinateSystem1 = new CartesianCoordinateSystem();

            cartesianCoordinateSystem1.Name  = "cartesianCoordinateSystem1";
            cartesianCoordinateSystem1.XAxis = categoryAxis;
            cartesianCoordinateSystem1.YAxis = valueAxis;
            graph.CoordinateSystems.Add(cartesianCoordinateSystem1);

            var categoryColumn = ChartReportReportDTO.EntityChartReportCategories.First();
            var categoryGroup  = new GraphGroup();

            categoryGroup.Name = categoryColumn.EntityListViewColumn.RelativeColumnName;
            categoryGroup.Groupings.Add(new Grouping(string.Format("= Fields.{0}", categoryColumn.EntityListViewColumn.RelativeColumnName)));
            categoryGroup.Sortings.Add(new Telerik.Reporting.Sorting(string.Format("= Fields.{0}", categoryColumn.EntityListViewColumn.RelativeColumnName), Telerik.Reporting.SortDirection.Asc));
            graph.CategoryGroups.Add(categoryGroup);

            foreach (var column in ChartReportReportDTO.EntityChartReportSeries)
            {
                foreach (var valuecolumn in ChartReportReportDTO.EntityChartReportValues)
                {
                    var barSeries = new Telerik.Reporting.BarSeries();
                    //if (column.EntityListViewColumnID == categoryColumn.EntityListViewColumnID)
                    //    barSeries.ArrangeMode = GraphSeriesArrangeMode.Overlapped;
                    //else
                    //{
                    if (column.ArrangeType == ChartSerieArrangeType.Clustered)
                    {
                        barSeries.ArrangeMode = GraphSeriesArrangeMode.Clustered;
                    }
                    else if (column.ArrangeType == ChartSerieArrangeType.Overlapped)
                    {
                        barSeries.ArrangeMode = GraphSeriesArrangeMode.Overlapped;
                    }
                    else if (column.ArrangeType == ChartSerieArrangeType.Stacked)
                    {
                        barSeries.ArrangeMode = GraphSeriesArrangeMode.Stacked;
                    }
                    else if (column.ArrangeType == ChartSerieArrangeType.Stacked100)
                    {
                        barSeries.ArrangeMode = GraphSeriesArrangeMode.Stacked100;
                    }
                    //}

                    barSeries.ToolTip.Text  = string.Format("= {0}(Fields.{1})", valuecolumn.FunctionType.ToString(), valuecolumn.EntityListViewColumn.RelativeColumnName);
                    barSeries.ToolTip.Title = string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName);
                    barSeries.Y             = string.Format("= {0}(Fields.{1})", valuecolumn.FunctionType.ToString(), valuecolumn.EntityListViewColumn.RelativeColumnName);



                    //categoryGroup.Groupings.Add(new Telerik.Reporting.Grouping());
                    //ChartSeries

                    var serieGroup = new GraphGroup();
                    serieGroup.Name = column.EntityListViewColumn.RelativeColumnName;
                    serieGroup.Groupings.Add(new Telerik.Reporting.Grouping(string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName)));
                    serieGroup.Sortings.Add(new Telerik.Reporting.Sorting(string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName), Telerik.Reporting.SortDirection.Asc));
                    graph.SeriesGroups.Add(serieGroup);

                    barSeries.SeriesGroup   = serieGroup;
                    barSeries.CategoryGroup = categoryGroup;

                    barSeries.CoordinateSystem            = cartesianCoordinateSystem1;
                    barSeries.DataPointLabel              = string.Format("= {0}(Fields.{1})", valuecolumn.FunctionType.ToString(), valuecolumn.EntityListViewColumn.RelativeColumnName);
                    barSeries.DataPointLabelStyle.Visible = true;
                    barSeries.DataPointStyle.LineWidth    = Telerik.Reporting.Drawing.Unit.Cm(0);
                    barSeries.DataPointStyle.Visible      = true;
                    barSeries.LegendItem.Value            = string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName);

                    graph.Series.Add(barSeries);
                }
            }

            return(new Tuple <Report, Graph>(report, graph));
        }
Exemple #16
0
 public GraphRenderRSI(ConfigurationPlot config, GraphAxis gx, GraphAxis gy, GraphPlotStyle style)
     : base(config, gx, gy, style)
 {
 }
    // Use this for initialization
    void Start()
    {
        buildrate = 1f/10000f;

        GA = GraphAxis.me;

        GA.city = gameObject;

        pps = new ProjectParticleSet();

        string url = "http://127.0.0.1:8000/api/project/?format=json&limit=2000";//&order_by=date_end";
        if(MasterSettings.me.offline)
        {
            //KSJSON.me.getOffline(gameObject, "ProcessResponse", "15k");
            //KSJSON.me.getOffline(gameObject, "ProcessResponse", "15k");
            if(GraphAxis.me.UItype == UIType.Rockband)
            {
                projFileLoaded = new bool[projFiles.Length];
                for(int i = 0; i < projFileLoaded.Length; i++)
                    projFileLoaded[i] = false;
            }
            else
            {
                KSCSV.me.loadCSV(gameObject, projFiles[0]);
                KSCSV.me.loadCSV(gameObject, projFiles[2]);
                KSCSV.me.loadCSV(gameObject, projFiles[1]);
            }

        }
        else
            KSJSON.me.getURL(gameObject, "ProcessResponse", url);
    }
        public void CorrectData(string graphTitle, GraphSizes graphSizes, Color graphColor, GraphAxis graphAxis, string toString)
        {
            GraphSettings testObject = new GraphSettings(graphTitle, graphSizes, graphColor, graphAxis);

            Assert.Equal(graphTitle, testObject.Title);
            Assert.Equal(graphSizes, testObject.Sizes);
            Assert.Equal(graphColor, testObject.GraphColor);
            Assert.Equal(graphAxis, testObject.Axis);
            Assert.Equal(toString, testObject.ToString());
        }
Exemple #19
0
        private Tuple <Report, Graph> SetReportDetails(Report report)
        {
            var detail = new Telerik.Reporting.DetailSection();

            detail.Height = Telerik.Reporting.Drawing.Unit.Cm(0.5);
            detail.Name   = "detail";

            ReportStyles.SetReportDetailStyle(detail.Style);
            report.Items.Add(detail);


            var graph = new Graph();

            graph.Name   = "graph1";
            graph.Width  = reportWidth;
            graph.Height = report.PageSettings.PaperSize.Height / 2;
            //reportWidth = report.Width;
            detail.Items.Add(graph);

            graph.Legend.Width            = Unit.Cm(5);
            graph.Legend.Style.LineColor  = System.Drawing.Color.LightGray;
            graph.Legend.Style.LineWidth  = Telerik.Reporting.Drawing.Unit.Inch(0D);
            graph.PlotAreaStyle.LineColor = System.Drawing.Color.LightGray;
            graph.PlotAreaStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Inch(0D);
            //graph.Size = new Telerik.Reporting.Drawing.SizeU(Telerik.Reporting.Drawing.Unit.Inch(6D), Telerik.Reporting.Drawing.Unit.Inch(3D));


            CategoryScale categoryScale1 = new CategoryScale();

            categoryScale1.PositionMode     = Telerik.Reporting.AxisPositionMode.OnTicks;
            categoryScale1.SpacingSlotCount = 0D;

            GraphAxis categoryAxis = new GraphAxis();
            GraphAxis valueAxis    = new GraphAxis();

            var polarCoordinateSystem = new PolarCoordinateSystem();

            polarCoordinateSystem.AngularAxis = valueAxis;
            polarCoordinateSystem.RadialAxis  = categoryAxis;
            graph.CoordinateSystems.Add(polarCoordinateSystem);



            categoryAxis.MajorGridLineStyle.LineColor = System.Drawing.Color.LightGray;
            categoryAxis.MajorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D);
            categoryAxis.MajorGridLineStyle.Visible   = false;
            categoryAxis.MinorGridLineStyle.LineColor = System.Drawing.Color.LightGray;
            categoryAxis.MinorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D);
            categoryAxis.MinorGridLineStyle.Visible   = false;
            categoryAxis.Name               = "graphAxis2";
            categoryScale1.PositionMode     = Telerik.Reporting.AxisPositionMode.OnTicks;
            categoryScale1.SpacingSlotCount = 0D;
            categoryAxis.Scale              = categoryScale1;
            categoryAxis.Style.Visible      = false;


            valueAxis.MajorGridLineStyle.LineColor = System.Drawing.Color.LightGray;
            valueAxis.MajorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D);
            valueAxis.MajorGridLineStyle.Visible   = false;
            valueAxis.MinorGridLineStyle.LineColor = System.Drawing.Color.LightGray;
            valueAxis.MinorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D);
            valueAxis.MinorGridLineStyle.Visible   = false;
            valueAxis.Name          = "graphAxis1";
            valueAxis.Scale         = new NumericalScale();;
            valueAxis.Style.Visible = false;



            var valuecolumn = ChartReportReportDTO.EntityChartReportValues.First();


            var categoryGroup = new GraphGroup();

            //categoryGroup.Groupings.Add(new Grouping());
            graph.CategoryGroups.Add(categoryGroup);


            //if(ChartReportReportDTO.EntityChartReportSeries.Count>0)
            //{

            //}

            var column = ChartReportReportDTO.EntityChartReportSeries.First();



            var barSeries = new Telerik.Reporting.BarSeries();

            graph.Series.Add(barSeries);
            barSeries.Name          = column.EntityListViewColumn.RelativeColumnName;
            barSeries.CategoryGroup = categoryGroup;

            barSeries.ToolTip.Text = string.Format("= Format('{0}', {1}(Fields.{2}) / CDbl(Exec(\'graph1\', {1}(Fields.{2}))))", "{0:P}", valuecolumn.FunctionType.ToString(), valuecolumn.EntityListViewColumn.RelativeColumnName);

            barSeries.X = string.Format("= {0}(Fields.{1})", valuecolumn.FunctionType.ToString(), valuecolumn.EntityListViewColumn.RelativeColumnName);

            var serieGroup = new GraphGroup();

            barSeries.SeriesGroup = serieGroup;
            //اگر نام ست نشده باشد گزارش درست کار نمیکند!!!!؟
            serieGroup.Name = column.EntityListViewColumn.RelativeColumnName;
            serieGroup.Groupings.Add(new Telerik.Reporting.Grouping(string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName)));
            serieGroup.Sortings.Add(new Telerik.Reporting.Sorting(string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName), Telerik.Reporting.SortDirection.Asc));
            graph.SeriesGroups.Add(serieGroup);



            //رو بقیه انواع خطا میدهد!اشکال تلریک هست در ورژن جدیدتر چک شود
            //شاید هم چون اصلا کتگوری ندارد و فقط سری دارد قانونش همینه
            barSeries.ArrangeMode             = Telerik.Reporting.GraphSeriesArrangeMode.Stacked100;
            barSeries.CoordinateSystem        = polarCoordinateSystem;
            barSeries.DataPointLabel          = string.Format("= {0}(Fields.{1}) / CDbl(Exec(\'graph1\', {0}(Fields.{1})))", valuecolumn.FunctionType.ToString(), valuecolumn.EntityListViewColumn.RelativeColumnName);
            barSeries.DataPointLabelAlignment = Telerik.Reporting.BarDataPointLabelAlignment.OutsideColumn;
            barSeries.DataPointLabelConnectorStyle.Padding.Bottom = Telerik.Reporting.Drawing.Unit.Point(2D);
            barSeries.DataPointLabelConnectorStyle.Padding.Top    = Telerik.Reporting.Drawing.Unit.Point(2D);
            barSeries.DataPointLabelFormat        = "{0:P}";
            barSeries.DataPointLabelOffset        = Telerik.Reporting.Drawing.Unit.Mm(5D);
            barSeries.DataPointLabelStyle.Visible = true;
            barSeries.DataPointStyle.LineWidth    = Telerik.Reporting.Drawing.Unit.Inch(0D);
            barSeries.DataPointStyle.Visible      = true;
            barSeries.LegendItem.Value            = string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName);

            var legendValue = string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName);
            var parentGeoup = serieGroup;

            foreach (var cColumn in ChartReportReportDTO.EntityChartReportSeries.Where(x => x != column))
            {
                var newGroup = new GraphGroup();
                newGroup.Name = column.EntityListViewColumn.RelativeColumnName;
                newGroup.Groupings.Add(new Telerik.Reporting.Grouping(string.Format("= Fields.{0}", cColumn.EntityListViewColumn.RelativeColumnName)));
                newGroup.Sortings.Add(new Telerik.Reporting.Sorting(string.Format("= Fields.{0}", cColumn.EntityListViewColumn.RelativeColumnName), Telerik.Reporting.SortDirection.Asc));
                parentGeoup.ChildGroups.Add(newGroup);
                barSeries.SeriesGroup = newGroup;
                parentGeoup           = newGroup;
                legendValue          += "+ \'/\' +" + string.Format(" Fields.{0}", cColumn.EntityListViewColumn.RelativeColumnName);
            }

            barSeries.LegendItem.Value = legendValue;
            barSeries.ToolTip.Title    = legendValue;

            return(new Tuple <Report, Graph>(report, graph));
        }
Exemple #20
0
    void Awake()
    {
        me = GetComponent <GraphAxis>();

        xAxisClicked = yAxisClicked = zoomClicked = catsClicked = geosClicked = false;
    }
    void Awake()
    {
        me = GetComponent<GraphAxis>();

        xAxisClicked = yAxisClicked = zoomClicked = catsClicked = geosClicked = false;
    }
Exemple #22
0
    private List <Vector3> points           = new List <Vector3>();             //Stores vertex positions to generate mesh
    // Use this for initialization
    void Start()
    {
        float rotoAngle = 0;    //Angle of rotation for current Axis being added;

        angleNum = 360 / axisNum;

        //Function for acquiring data. Just pulls Random values, atm.
        getData();

        //Adds origin for center of Graph
        points.Add(transform.position);

        //Adds in and sets values of Axis
        for (int i = 0; i < axisNum; i++)
        {
            //Instantiates Axis
            Transform axis = Instantiate(axisBar, transform.position, Quaternion.identity, transform) as Transform;

            //Grabs current data Item
            var item = data.ElementAt(i);

            //Accesses Axis script and sets Marker's position locally in accordance to its value
            ////Its position is determined by where the data falls between the lowest and highest possible data points (as a percentage of 100).
            GraphAxis gAxis = axis.gameObject.GetComponent <GraphAxis>();
            Vector3   pos   = gAxis.marker.position;
            pos.y = gAxis.transform.position.y + (gAxis.top.position.y - gAxis.transform.position.y) * item.Value;
            gAxis.marker.position = pos;

            //Temp vector3 for multiple purposes
            Vector3 temp = axis.eulerAngles;

            //Assign Axis angle
            temp.z           = rotoAngle;
            axis.eulerAngles = temp;

            /* Straitens out Text Labels (3D GUI in this instance) if Axis have them (Optional)
             * temp = gAxis.text.transform.eulerAngles;
             * temp.z = 0;
             * gAxis.text.transform.eulerAngles = temp;
             *
             * //Adjusts Text position as to not obstruct data (Optional)
             * TextMesh text = gAxis.text;
             * temp = text.transform.position;
             * if (rotoAngle < 180  rotoAngle != 0)
             *  temp.x -= ((text.renderer.bounds.size.x / 2) + .01f);
             * else if (rotoAngle > 180)
             * temp.x += ((text.renderer.bounds.size.x / 2) + .01f);
             *
             * text.transform.position = temp;
             * text.text = item.Key;*/

            //Adds Marker's position to the list of data points to be used as a vertex
            points.Add(gAxis.marker.position);

            //Adjusts angle of rotation for next access and parents current Axis
            rotoAngle += angleNum;
        }

        //Displays graph
        showGraph();
    }
Exemple #23
0
        private Path DrawAxisLine(Point start, Point end, GraphAxis axis, DashData dashData, double dpi)
        {
            FormattedText text = new FormattedText(axis.ToString(),
                                                   CultureInfo.CurrentCulture,
                                                   FlowDirection.LeftToRight,
                                                   new Typeface("Arial"),
                                                   16,
                                                   Brushes.Black, dpi);

            Geometry textGeometry;

            if (axis == GraphAxis.X)
            {
                textGeometry = text.BuildGeometry(new Point(end.X - 10, end.Y + 15));
            }
            else
            {
                textGeometry = text.BuildGeometry(new Point(end.X - 20, end.Y));
            }

            GeometryGroup lineGroup = new GeometryGroup();
            double        theta     = Math.Atan2((end.Y - start.Y), (end.X - start.X)) * 180 / Math.PI;

            PathGeometry pathGeometry = new PathGeometry();
            PathFigure   pathFigure   = new PathFigure {
                StartPoint = end
            };

            Point       lpoint = new Point(end.X + 6, end.Y + 15);
            Point       rpoint = new Point(end.X - 6, end.Y + 15);
            LineSegment seg1   = new LineSegment {
                Point = lpoint
            };

            pathFigure.Segments.Add(seg1);

            LineSegment seg2 = new LineSegment {
                Point = rpoint
            };

            pathFigure.Segments.Add(seg2);

            LineSegment seg3 = new LineSegment {
                Point = end
            };

            pathFigure.Segments.Add(seg3);

            pathGeometry.Figures.Add(pathFigure);
            RotateTransform transform = new RotateTransform {
                Angle = theta + 90, CenterX = end.X, CenterY = end.Y
            };

            pathGeometry.Transform = transform;
            lineGroup.Children.Add(pathGeometry);

            AddDashesToLine(lineGroup, axis, dashData, dpi);

            LineGeometry connectorGeometry = new LineGeometry {
                StartPoint = start, EndPoint = end
            };

            lineGroup.Children.Add(connectorGeometry);
            lineGroup.Children.Add(textGeometry);
            Path path = new Path {
                Data = lineGroup, StrokeThickness = 1
            };

            path.Stroke = path.Fill = Brushes.Black;

            return(path);
        }
Exemple #24
0
        //private List<ColumnSizeLocation> GetColumnsSizeLocation()
        //{
        //    List<ColumnSizeLocation> result = new List<ColumnSizeLocation>();

        //    int widthUnits = 0;
        //    var columns = ChartReportReportDTO.EntityListView.EntityListViewAllColumns.Where(x => x.RelationshipTailID == 0);
        //    foreach (var column in columns)
        //    {
        //        widthUnits += (column.WidthUnit == 0 ? 1 : column.WidthUnit);
        //    }
        //    var width = reportWidth;
        //    var perUnitWidth = width.Divide(widthUnits);
        //    var consumedWidthUnits = 0;


        //    if (ReportGroups != null)
        //        foreach (var reportGroup in ReportGroups)
        //        {
        //            ColumnSizeLocation columnSizeLocation = new ColumnSizeLocation();
        //            columnSizeLocation.LictViewColumnID = reportGroup.ListViewColumnID;
        //            SetColumnSizePosition(columnSizeLocation, reportGroup.EntityListViewColumn.WidthUnit, ref consumedWidthUnits, perUnitWidth);
        //            result.Add(columnSizeLocation);

        //        }
        //    foreach (var column in columns)
        //    {
        //        if (!result.Any(x => x.LictViewColumnID == column.ID))
        //        {
        //            ColumnSizeLocation columnSizeLocation = new ColumnSizeLocation();
        //            columnSizeLocation.LictViewColumnID = column.ID;
        //            SetColumnSizePosition(columnSizeLocation, column.WidthUnit, ref consumedWidthUnits, perUnitWidth);
        //            result.Add(columnSizeLocation);
        //        }
        //    }
        //    return result;
        //}
        //private void SetColumnSizePosition(ColumnSizeLocation columnSizeLocation, int currentWidthUnits, ref int consumedWidthUnits, Unit perUnitWidth)
        //{
        //    if (currentWidthUnits == 0)
        //        currentWidthUnits = 1;

        //    var width = currentWidthUnits * perUnitWidth;
        //    columnSizeLocation.Width = width;

        //    var xlocation = (reportWidth - width) - consumedWidthUnits * perUnitWidth;
        //    columnSizeLocation.XLocation = xlocation;


        //    consumedWidthUnits += currentWidthUnits;

        //}

        //   private Telerik.Reporting.DetailSection detailSection1;
        // private Telerik.Reporting.Graph graph1;
        //private Telerik.Reporting.PolarCoordinateSystem polarCoordinateSystem1;
        //private Telerik.Reporting.GraphAxis graphAxis1;
        //private Telerik.Reporting.GraphAxis graphAxis2;

        //private Telerik.Reporting.BarSeries barSeries1;

        private Tuple <Report, Graph> SetReportDetails(Report report)
        {
            var detail = new Telerik.Reporting.DetailSection();

            //detail.Height = Telerik.Reporting.Drawing.Unit.Cm(0.5);
            detail.Name = "detail";

            ReportStyles.SetReportDetailStyle(detail.Style);
            report.Items.Add(detail);


            var graph = new Graph();

            graph.Name   = "graph1";
            graph.Width  = reportWidth;
            graph.Height = report.PageSettings.PaperSize.Height / 2;
            //reportWidth = report.Width;
            detail.Items.Add(graph);

            graph.Legend.Width            = Unit.Cm(4);
            graph.Legend.Style.LineColor  = System.Drawing.Color.LightGray;
            graph.Legend.Style.LineWidth  = Telerik.Reporting.Drawing.Unit.Inch(0D);
            graph.PlotAreaStyle.LineColor = System.Drawing.Color.LightGray;
            graph.PlotAreaStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Inch(0D);
            //graph.Size = new Telerik.Reporting.Drawing.SizeU(Telerik.Reporting.Drawing.Unit.Inch(6D), Telerik.Reporting.Drawing.Unit.Inch(3D));



            GraphAxis categoryAxis = new GraphAxis();
            GraphAxis valueAxis    = new GraphAxis();



            CategoryScale categoryScale1 = new CategoryScale();

            categoryAxis.LabelPlacement = Telerik.Reporting.GraphAxisLabelPlacement.AtMaximum;
            categoryAxis.MajorGridLineStyle.LineColor = System.Drawing.Color.LightGray;
            categoryAxis.MajorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D);
            categoryAxis.MajorGridLineStyle.Visible   = true;
            categoryAxis.MinorGridLineStyle.LineColor = System.Drawing.Color.LightGray;
            categoryAxis.MinorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D);
            categoryAxis.MinorGridLineStyle.Visible   = false;
            categoryAxis.Name = "categoryAxis";
            //categoryScale1.PositionMode = Telerik.Reporting.AxisPositionMode.OnTicks;
            categoryScale1.SpacingSlotCount = 0.1D;
            categoryAxis.Style.LineWidth    = Telerik.Reporting.Drawing.Unit.Inch(0D);
            categoryAxis.Scale         = categoryScale1;
            categoryAxis.Style.Visible = true;


            valueAxis.LabelAngle = 90;
            valueAxis.MajorGridLineStyle.LineColor = System.Drawing.Color.LightGray;
            valueAxis.MajorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D);
            valueAxis.MajorGridLineStyle.Visible   = true;
            valueAxis.MinorGridLineStyle.LineColor = System.Drawing.Color.LightGray;
            valueAxis.MinorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D);
            valueAxis.MinorGridLineStyle.Visible   = false;
            valueAxis.Name = "valueAxis";
            NumericalScaleCrossAxisPosition numericalScaleCrossAxisPosition1 = new NumericalScaleCrossAxisPosition();

            numericalScaleCrossAxisPosition1.Position = Telerik.Reporting.GraphScaleCrossAxisPosition.AtMinimum;
            numericalScaleCrossAxisPosition1.Value    = 0D;
            NumericalScale numericalScale1 = new NumericalScale();

            numericalScale1.CrossAxisPositions.Add(numericalScaleCrossAxisPosition1);
            valueAxis.Scale = numericalScale1;
            //valueAxis.Style.Visible = false;

            var polarCoordinateSystem = new PolarCoordinateSystem();

            polarCoordinateSystem.AngularAxis = categoryAxis;
            polarCoordinateSystem.Name        = "polarCoordinateSystem1";
            polarCoordinateSystem.RadialAxis  = valueAxis;
            graph.CoordinateSystems.Add(polarCoordinateSystem);


            var valuecolumn    = ChartReportReportDTO.EntityChartReportValues.First();
            var categoryColumn = ChartReportReportDTO.EntityChartReportCategories.First();

            var categoryGroup = new GraphGroup();

            categoryGroup.Name = categoryColumn.EntityListViewColumn.RelativeColumnName;
            categoryGroup.Groupings.Add(new Grouping(string.Format("= Fields.{0}", categoryColumn.EntityListViewColumn.RelativeColumnName)));
            categoryGroup.Sortings.Add(new Telerik.Reporting.Sorting(string.Format("= Fields.{0}", categoryColumn.EntityListViewColumn.RelativeColumnName), Telerik.Reporting.SortDirection.Asc));
            graph.CategoryGroups.Add(categoryGroup);


            //if(ChartReportReportDTO.EntityChartReportSeries.Count>0)
            //{

            //}

            var column = ChartReportReportDTO.EntityChartReportSeries.First();



            var barSeries = new Telerik.Reporting.BarSeries();

            barSeries.ArrangeMode = Telerik.Reporting.GraphSeriesArrangeMode.Stacked;
            graph.Series.Add(barSeries);
            barSeries.Name                        = column.EntityListViewColumn.RelativeColumnName;
            barSeries.CategoryGroup               = categoryGroup;
            barSeries.CoordinateSystem            = polarCoordinateSystem;
            barSeries.DataPointLabel              = string.Format("= {0}(Fields.{1})", valuecolumn.FunctionType.ToString(), valuecolumn.EntityListViewColumn.RelativeColumnName);
            barSeries.DataPointLabelStyle.Visible = false;
            barSeries.LegendItem.Value            = "= Fields.Name";
            barSeries.Y = string.Format("= {0}(Fields.{1})+0.1", valuecolumn.FunctionType.ToString(), valuecolumn.EntityListViewColumn.RelativeColumnName);
            barSeries.LegendItem.Value = string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName);


            var serieGroup = new GraphGroup();

            //اگر نام ست نشده باشد گزارش درست کار نمیکند!!!!؟
            serieGroup.Name = column.EntityListViewColumn.RelativeColumnName;
            serieGroup.Groupings.Add(new Telerik.Reporting.Grouping(string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName)));
            serieGroup.Sortings.Add(new Telerik.Reporting.Sorting(string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName), Telerik.Reporting.SortDirection.Asc));
            graph.SeriesGroups.Add(serieGroup);
            barSeries.SeriesGroup  = serieGroup;
            barSeries.ToolTip.Text = string.Format("= {0}(Fields.{1})", valuecolumn.FunctionType.ToString(), valuecolumn.EntityListViewColumn.RelativeColumnName);
            //    barSeries.ToolTip.Title = string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName);

            var legendValue = string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName);
            var parentGeoup = serieGroup;

            foreach (var cColumn in ChartReportReportDTO.EntityChartReportSeries.Where(x => x != column))
            {
                var newGroup = new GraphGroup();
                newGroup.Name = cColumn.EntityListViewColumn.RelativeColumnName;
                newGroup.Groupings.Add(new Telerik.Reporting.Grouping(string.Format("= Fields.{0}", cColumn.EntityListViewColumn.RelativeColumnName)));
                newGroup.Sortings.Add(new Telerik.Reporting.Sorting(string.Format("= Fields.{0}", cColumn.EntityListViewColumn.RelativeColumnName), Telerik.Reporting.SortDirection.Asc));
                parentGeoup.ChildGroups.Add(newGroup);
                barSeries.SeriesGroup = newGroup;
                parentGeoup           = newGroup;
                legendValue          += "+ \'/\' +" + string.Format(" Fields.{0}", cColumn.EntityListViewColumn.RelativeColumnName);
            }

            barSeries.LegendItem.Value = legendValue;
            barSeries.ToolTip.Title    = legendValue;

            return(new Tuple <Report, Graph>(report, graph));
        }