Esempio n. 1
0
        private UIElement initEmptyGraphVisualization()
        {
            _zoomControl = new ZoomControl();
            ZoomControl.SetViewFinderVisibility(_zoomControl, Visibility.Visible);
            var logic = new GXLogicCore <NodeV, EdgeV, BidirectionalGraph <NodeV, EdgeV> >();

            _graphAreaVisualizer = new GraphAreaVisualizer {
                LogicCore        = logic,
                EdgeLabelFactory = new DefaultEdgelabelFactory()
            };
            logic.DefaultLayoutAlgorithm       = LayoutAlgorithmTypeEnum.LinLog;
            logic.DefaultLayoutAlgorithmParams = logic.AlgorithmFactory.CreateLayoutParameters(LayoutAlgorithmTypeEnum.LinLog);
            //((LinLogLayoutParameters)logic.DefaultLayoutAlgorithmParams). = 100;
            logic.DefaultOverlapRemovalAlgorithm       = OverlapRemovalAlgorithmTypeEnum.FSA;
            logic.DefaultOverlapRemovalAlgorithmParams = logic.AlgorithmFactory.CreateOverlapRemovalParameters(OverlapRemovalAlgorithmTypeEnum.FSA);
            ((OverlapRemovalParameters)logic.DefaultOverlapRemovalAlgorithmParams).HorizontalGap = 50;
            ((OverlapRemovalParameters)logic.DefaultOverlapRemovalAlgorithmParams).VerticalGap   = 50;
            logic.DefaultEdgeRoutingAlgorithm = EdgeRoutingAlgorithmTypeEnum.None;
            logic.AsyncAlgorithmCompute       = false;
            _graphAreaVisualizer.ShowAllEdgesLabels(true);
            _zoomControl.Content = _graphAreaVisualizer;

            var myResourceDictionary = new ResourceDictionary {
                Source = new Uri("Templates\\template.xaml", UriKind.Relative)
            };

            _zoomControl.Resources.MergedDictionaries.Add(myResourceDictionary);

            return(_zoomControl);
        }
Esempio n. 2
0
 private void DendrogramLayout_OnIsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
 {
     if (DendrogramLayout.IsVisible)
     {
         ZoomControl.ZoomToFill();
     }
 }
        public async override Task OnNavigatedTo(object param)
        {
            IsInitialized = false;
            Time = string.Empty;
            ranges = new List<SlowMoRange>();
            Recording = false;
            video = null;

            //Init capture
            DeviceInformation device = await DeviceHelper.GetCameraDeviceInfoAsync(Panel.Back);

            MediaCaptureInitializationSettings captureInitialization = InitCaptureSettings(device);
            await InitMediaCapture(captureInitialization);

            Zoom = MediaCapture.VideoDeviceController.ZoomControl;
           
            RaisePropertyChanged(() => MediaCapture);

            //Start preview
            await SetHightestAvailableVideoResolutionPreview();
            await mediaCapture.StartPreviewAsync();
            (App.Current as App).IsPreviewing = true;

            IsHelpOn = settings.IsFirstLaunch;

            IsInitialized = true;
            settings.IsFirstLaunch = false;
        }
Esempio n. 4
0
        // TODO : Remove all hide/show extensions from here.
        void drag_Started(DragListener drag)
        {
            var designPanel = ExtendedItem.Services.DesignPanel as DesignPanel;

            if (designPanel != null)
            {
                var p = VisualTreeHelper.GetParent(designPanel);
                while (p != null && !(p is ZoomControl))
                {
                    p = VisualTreeHelper.GetParent(p);
                }
                zoom = p as ZoomControl;
            }

            /* Abort editing Text if it was editing, because it interferes with the undo stack. */
            foreach (var extension in this.ExtendedItem.Extensions)
            {
                if (extension is InPlaceEditorExtension)
                {
                    ((InPlaceEditorExtension)extension).AbortEdit();
                }
            }

            oldSize = new Size(ModelTools.GetWidth(ExtendedItem.View), ModelTools.GetHeight(ExtendedItem.View));
            if (resizeBehavior != null)
            {
                operation = PlacementOperation.Start(extendedItemArray, PlacementType.Resize);
            }
            else
            {
                changeGroup = this.ExtendedItem.Context.OpenGroup("Resize", extendedItemArray);
            }
            _isResizing = true;
            ShowSizeAndHideHandles();
        }
Esempio n. 5
0
        private UIElement GenerateElementVisuals()
        {
            _zoomControl = new ZoomControl();
            ZoomControl.SetViewFinderVisibility(_zoomControl, Visibility.Visible);
            GXLogicCore <Node, BeltPlanGraphEdge, BeltPlanGraphCore> logicCore = new GXLogicCore <Node, BeltPlanGraphEdge, BeltPlanGraphCore>();

            _graph = new BeltPlanGraph
            {
                LogicCore        = logicCore,
                EdgeLabelFactory = new DefaultEdgelabelFactory(),
            };
            _graph.ShowAllEdgesLabels(false);
            logicCore.Graph = GenerateGraphCore();
            logicCore.DefaultLayoutAlgorithm               = _layoutAlgorithm;
            logicCore.DefaultLayoutAlgorithmParams         = logicCore.AlgorithmFactory.CreateLayoutParameters(_layoutAlgorithm);
            logicCore.DefaultOverlapRemovalAlgorithm       = _overlapAlgorithm;
            logicCore.DefaultOverlapRemovalAlgorithmParams = logicCore.AlgorithmFactory.CreateOverlapRemovalParameters(_overlapAlgorithm);
            logicCore.DefaultOverlapRemovalAlgorithmParams.HorizontalGap = 50;
            logicCore.DefaultOverlapRemovalAlgorithmParams.VerticalGap   = 50;
            logicCore.DefaultEdgeRoutingAlgorithm       = _edgeAlgorithm;
            logicCore.DefaultEdgeRoutingAlgorithmParams = logicCore.AlgorithmFactory.CreateEdgeRoutingParameters(_edgeAlgorithm);
            logicCore.AsyncAlgorithmCompute             = false;
            _zoomControl.Content = _graph;
            return(_zoomControl);
        }
Esempio n. 6
0
        public NNGraph()
        {
            InitializeComponent();
            _editorManager = new EditorObjectManager(graphArea, zoomCtrl);
            var dgLogic = new LogicCoreExample();

            graphArea.LogicCore       = dgLogic;
            graphArea.VertexSelected += graphArea_VertexSelected;
            graphArea.EdgeSelected   += graphArea_EdgeSelected;
            graphArea.SetVerticesMathShape(VertexShape.Circle);

            dgLogic.DefaultLayoutAlgorithm         = LayoutAlgorithmTypeEnum.Custom;
            dgLogic.DefaultOverlapRemovalAlgorithm = OverlapRemovalAlgorithmTypeEnum.None;
            dgLogic.DefaultEdgeRoutingAlgorithm    = EdgeRoutingAlgorithmTypeEnum.None;
            dgLogic.EdgeCurvingEnabled             = true;

            zoomCtrl.IsAnimationEnabled = false;
            ZoomControl.SetViewFinderVisibility(zoomCtrl, Visibility.Visible);
            zoomCtrl.Zoom            = 2;
            zoomCtrl.MinZoom         = .5;
            zoomCtrl.MaxZoom         = 50;
            zoomCtrl.ZoomSensitivity = 25;
            zoomCtrl.MouseDown      += zoomCtrl_MouseDown;

            butDelete.Checked += ToolbarButton_Checked;
            butSelect.Checked += ToolbarButton_Checked;
            butEdit.Checked   += ToolbarButton_Checked;

            butSelect.IsChecked = true;
        }
Esempio n. 7
0
        /// <summary>
        /// Gets the underlying <see cref="PointedTreeGraph"/> from the <paramref name="control"/>.
        /// </summary>
        /// <param name="control">The control to get the underlying <see cref="PointedTreeGraph"/>.</param>
        /// <returns>The found <see cref="PointedTreeGraph"/>.</returns>
        /// <exception cref="ArgumentNullException">Thrown when <paramref name="control"/> is <c>null</c>.</exception>
        public static PointedTreeGraph GetPointedTreeGraph(PointedTreeGraphControl control)
        {
            ZoomControl zoomControl = GetZoomControl(control);
            var         graphLayout = (PointedTreeGraphLayout)zoomControl.Content;

            return(graphLayout.Graph);
        }
Esempio n. 8
0
        UIElement RedrawGraph(ref BiGraphArea <string> _gArea)
        {
            _zoomctrl = new ZoomControl();
            ZoomControl.SetViewFinderVisibility(_zoomctrl, Visibility.Visible);
            var logic = new GXLogicCore <Node <string>, Base.Edge <string>, BidirectionalGraph <Node <string>, Base.Edge <string> > >();

            _gArea = new BiGraphArea <string>
            {
                // EnableWinFormsHostingMode = false,
                LogicCore        = logic,
                EdgeLabelFactory = new DefaultEdgelabelFactory()
            };
            _gArea.ShowAllEdgesLabels(true);
            logic.Graph = current_graph;
            logic.DefaultLayoutAlgorithm       = ((LayoutAlgorithmTypeEnum)(layoutcombo.SelectedItem as ComboBoxItem).Tag);
            logic.DefaultLayoutAlgorithmParams = logic.AlgorithmFactory.CreateLayoutParameters(((LayoutAlgorithmTypeEnum)(layoutcombo.SelectedItem as ComboBoxItem).Tag));
            //((LinLogLayoutParameters)logic.DefaultLayoutAlgorithmParams). = 100;
            logic.DefaultOverlapRemovalAlgorithm       = OverlapRemovalAlgorithmTypeEnum.FSA;
            logic.DefaultOverlapRemovalAlgorithmParams = logic.AlgorithmFactory.CreateOverlapRemovalParameters(OverlapRemovalAlgorithmTypeEnum.FSA);
            ((OverlapRemovalParameters)logic.DefaultOverlapRemovalAlgorithmParams).HorizontalGap = 50;
            ((OverlapRemovalParameters)logic.DefaultOverlapRemovalAlgorithmParams).VerticalGap   = 50;
            logic.DefaultEdgeRoutingAlgorithm = ((EdgeRoutingAlgorithmTypeEnum)(ercombo.SelectedItem as ComboBoxItem).Tag);
            logic.EnableParallelEdges         = paredge.Checked;
            logic.ParallelEdgeDistance        = edgedist.Value;
            logic.AsyncAlgorithmCompute       = false;
            _zoomctrl.Content        = _gArea;
            _gArea.RelayoutFinished += gArea_RelayoutFinished;

            var myResourceDictionary = new ResourceDictionary {
                Source = new Uri("WpfTemplate\\template.xaml", UriKind.Relative)
            };

            _zoomctrl.Resources.MergedDictionaries.Add(myResourceDictionary);
            return(_zoomctrl);
        }
Esempio n. 9
0
        /// <summary>
        ///
        /// </summary>
        private void Register()
        {
            //
            graph_area_ = AssociatedObject;

            // Find the graph behavior
            graphBehavior = Interaction.GetBehaviors(graph_area_).OfType <NodeGraphBehavior>().FirstOrDefault();
            if (graphBehavior != null)
            {
                graphBehavior.VerticesCollectionChanged += GraphBehavior_VerticesCollectionChanged;
                graphBehavior.EdgesCollectionChanged    += GraphBehavior_EdgesCollectionChanged;
            }

            // Travel up the visual tree and get the zoom control
            // If the zoom control doesn't exist, then we can't use this behavior
            // TODO: Done on logical tree for now because visual tree is not valid during behavior OnAttachAndLoaded()
            zoom_control_ = graph_area_.FindLogicalParentOfType <ZoomControl>();
            if (zoom_control_ == null)
            {
                // TODO throw exception!
            }

            graph_area_.VertexSelected           += OnVertexSelected;
            graph_area_.VertexMouseUp            += OnVertexMouseLeftButtonUp;
            graph_area_.EdgeSelected             += OnEdgeSelected;
            zoom_control_.AreaSelected           += OnVertexAreaSelected;
            zoom_control_.MouseLeftButtonUp      += OnMouseLeftButtonUp;
            zoom_control_.MouseLeftButtonDown    += OnMouseLeftButtonDown;
            selected_vertices_.CollectionChanged += OnSelectedVerticesChanged;
            selected_edges_.CollectionChanged    += OnSelectedEdgesChanged;
        }
Esempio n. 10
0
        private UIElement GenerateWpfVisuals()
        {
            _zoomctrl = new ZoomControl();
            ZoomControl.SetViewFinderVisibility(_zoomctrl, Visibility.Visible);
            var logic = new GXLogicCore <DataVertex, DataEdge, BidirectionalGraph <DataVertex, DataEdge> >();

            _gArea = new GraphAreaExample
            {
                // EnableWinFormsHostingMode = false,
                LogicCore        = logic,
                EdgeLabelFactory = new DefaultEdgelabelFactory()
            };
            _gArea.ShowAllEdgesLabels(true);
            logic.Graph = GenerateGraph();
            logic.DefaultLayoutAlgorithm       = LayoutAlgorithmTypeEnum.LinLog;
            logic.DefaultLayoutAlgorithmParams = logic.AlgorithmFactory.CreateLayoutParameters(LayoutAlgorithmTypeEnum.LinLog);
            //((LinLogLayoutParameters)logic.DefaultLayoutAlgorithmParams). = 100;
            logic.DefaultOverlapRemovalAlgorithm       = OverlapRemovalAlgorithmTypeEnum.FSA;
            logic.DefaultOverlapRemovalAlgorithmParams = logic.AlgorithmFactory.CreateOverlapRemovalParameters(OverlapRemovalAlgorithmTypeEnum.FSA);
            ((OverlapRemovalParameters)logic.DefaultOverlapRemovalAlgorithmParams).HorizontalGap = 50;
            ((OverlapRemovalParameters)logic.DefaultOverlapRemovalAlgorithmParams).VerticalGap   = 50;
            logic.DefaultEdgeRoutingAlgorithm = EdgeRoutingAlgorithmTypeEnum.None;
            logic.AsyncAlgorithmCompute       = false;
            _zoomctrl.Content        = _gArea;
            _gArea.RelayoutFinished += gArea_RelayoutFinished;


            var myResourceDictionary = new ResourceDictionary {
                Source = new Uri("Templates\\template.xaml", UriKind.Relative)
            };

            _zoomctrl.Resources.MergedDictionaries.Add(myResourceDictionary);

            return(_zoomctrl);
        }
Esempio n. 11
0
        public MyGraphArea() : base()
        {
            this.graph       = new MyGraph();
            this.zoomControl = null;
            this.model       = null;

            this.activeObjects = new Dictionary <Type, bool>()
            {
                { typeof(MyAsset), true },
                { typeof(MyConcept), true },
                { typeof(MyEnum), true },
                { typeof(MyEvent), true },
                { typeof(MyParticipant), true },
                { typeof(MyTransaction), true }
            };
            this.activeReferences   = true;
            this.activeAbstractions = true;

            this.LogicCore = new MyLogicCore(this);

            this.CommandAsset       = new DelegateCommand <bool?>(this.CommandObject <MyAsset>);
            this.CommandConcept     = new DelegateCommand <bool?>(this.CommandObject <MyConcept>);
            this.CommandEnum        = new DelegateCommand <bool?>(this.CommandObject <MyEnum>);
            this.CommandEvent       = new DelegateCommand <bool?>(this.CommandObject <MyEvent>);
            this.CommandParticipant = new DelegateCommand <bool?>(this.CommandObject <MyParticipant>);
            this.CommandTransaction = new DelegateCommand <bool?>(this.CommandObject <MyTransaction>);

            this.CommandReference   = new DelegateCommand <bool?>(this.CommandReferences);
            this.CommandAbstraction = new DelegateCommand <bool?>(this.CommandAbstractions);

            this.SetVerticesDrag(true, true);
        }
Esempio n. 12
0
        public MainWindow()
        {
            InitializeComponent();

            ZoomControl.SetViewFinderVisibility(zoomctrl, Visibility.Visible);
            zoomctrl.ZoomToFill();
        }
Esempio n. 13
0
        public virtual void GenerateButtonClick(object sender, System.EventArgs e)
        {
            this.NGramListBox.Enabled = true;

            var dataVertex = new DataVertex();

            if (this.serachTextBox.Text != string.Empty)
            {
                NGram <T> s = this.CreateNGRamFromSearchTextBox();
                if (s != NGram <T> .Empty)
                {
                    this.CurrentMarkovGraph = this.MarkovGraph.GetSubGraphFromNGram(s, this.Depth);
                    if (this.MarkovGraph.ValidNode(s))
                    {
                        this.wpfContainer.Child = this.GenerateWpfVisuals(GraphUIHelper.GenerateGraphUI(this.CurrentMarkovGraph));
                    }
                }
            }

            GraphArea.GenerateGraph(true);
            GraphArea.SetVerticesDrag(true, true);
            ZoomControl.ZoomToFill();

            this.UpdateListBox();
        }
Esempio n. 14
0
        public UIElement GenerateWpfVisuals(GraphExample example)
        {
            ZoomControl = new ZoomControl();
            ZoomControl.SetViewFinderVisibility(ZoomControl, System.Windows.Visibility.Visible);
            /* ENABLES WINFORMS HOSTING MODE --- >*/
            var logic = new GXLogicCore <DataVertex, DataEdge, BidirectionalGraph <DataVertex, DataEdge> >();

            GraphArea = new GraphAreaExample()
            {
                EnableWinFormsHostingMode = true, LogicCore = logic
            };
            logic.Graph = example;
            logic.DefaultLayoutAlgorithm       = GraphX.LayoutAlgorithmTypeEnum.KK;
            logic.DefaultLayoutAlgorithmParams = logic.AlgorithmFactory.CreateLayoutParameters(GraphX.LayoutAlgorithmTypeEnum.KK);
            ((KKLayoutParameters)logic.DefaultLayoutAlgorithmParams).MaxIterations = 100;
            logic.DefaultOverlapRemovalAlgorithm       = GraphX.OverlapRemovalAlgorithmTypeEnum.FSA;
            logic.DefaultOverlapRemovalAlgorithmParams = logic.AlgorithmFactory.CreateOverlapRemovalParameters(GraphX.OverlapRemovalAlgorithmTypeEnum.FSA);
            ((OverlapRemovalParameters)logic.DefaultOverlapRemovalAlgorithmParams).HorizontalGap = 50;
            ((OverlapRemovalParameters)logic.DefaultOverlapRemovalAlgorithmParams).VerticalGap   = 50;
            logic.DefaultEdgeRoutingAlgorithm = GraphX.EdgeRoutingAlgorithmTypeEnum.None;
            logic.AsyncAlgorithmCompute       = false;
            ZoomControl.Content         = GraphArea;
            GraphArea.RelayoutFinished += GAreaRelayoutFinished;



            var myResourceDictionary = new ResourceDictionary {
                Source = new Uri("Templates\\template.xaml", UriKind.Relative)
            };

            ZoomControl.Resources.MergedDictionaries.Add(myResourceDictionary);


            return(ZoomControl);
        }
Esempio n. 15
0
        public GraphView()
        {
            InitializeComponent();

            mainWindow = App.Current.MainWindow as MainWindow;
            dataGraph  = new TestFeederGenerator.Models.GraphX();

            mainWindow.graphView = this;

            ZoomControl.SetViewFinderVisibility(zoomctrl, Visibility.Visible);
            zoomctrl.ZoomToFill();
            last_added_id = 1;

            //setup Area properties
            GraphAreaExample_Setup();

            //setup graph properties
            startGraphDrawing();


            undo.IsEnabled = false;
            redo.IsEnabled = false;

            (mainWindow.graphView.DataContext as GraphViewModel).undoRedoCommander = new UndoRedoCommander(this.DataContext);
        }
        void ApplySetting(ZoomControl zoom, GraphArea area, bool nav = false)
        {
            //Zoombox.SetViewFinderVisibility(zoom, System.Windows.Visibility.Visible);

            //This property sets vertex overlap removal algorithm.
            //Such algorithms help to arrange vertices in the layout so no one overlaps each other.
            area.DefaultOverlapRemovalAlgorithm       = GraphX.OverlapRemovalAlgorithmTypeEnum.FSA;
            area.DefaultOverlapRemovalAlgorithmParams = Area.AlgorithmFactory.CreateOverlapRemovalParameters
                                                            (GraphX.OverlapRemovalAlgorithmTypeEnum.FSA);

            if (nav)
            {
                ((OverlapRemovalParameters)area.DefaultOverlapRemovalAlgorithmParams).HorizontalGap = 150;
                ((OverlapRemovalParameters)area.DefaultOverlapRemovalAlgorithmParams).VerticalGap   = 100;
            }
            else
            {
                ((OverlapRemovalParameters)area.DefaultOverlapRemovalAlgorithmParams).HorizontalGap = 50;
                ((OverlapRemovalParameters)area.DefaultOverlapRemovalAlgorithmParams).VerticalGap   = 50;
            }
            //This property sets edge routing algorithm that is used to build route paths according to algorithm logic.
            //For ex., SimpleER algorithm will try to set edge paths around vertices so no edge will intersect any vertex.
            //Bundling algorithm will try to tie different edges that follows same direction to a single channel making complex graphs more appealing.
            area.DefaultEdgeRoutingAlgorithm = GraphX.EdgeRoutingAlgorithmTypeEnum.None;

            //This property sets async algorithms computation so methods like: Area.RelayoutGraph() and Area.GenerateGraph()
            //will run async with the UI thread. Completion of the specified methods can be catched by corresponding events:
            //Area.RelayoutFinished and Area.GenerateGraphFinished.
            area.AsyncAlgorithmCompute = true;

            //area.UseLayoutRounding = false;
            area.UseNativeObjectArrange = false;
        }
        private void MasterRefresh()
        {
            GetRandomizerData();

            if (graph != null)
            {
                graph.Dispose();
            }
            graph = Grapher.CreateTransitionGraph();

            if (zoom == null)
            {
                zoom = new ZoomControl();
                ZoomControl.SetViewFinderVisibility(zoom, Visibility.Visible);
                elementHost1.Child = zoom;
            }
            zoom.Content = graph;
            zoom.Zoom    = 0.01f;

            zoomToVertexSelect.Items.Clear();
            zoomToVertexSelect.Items.AddRange(roomRandomizer ? rooms.ToArray() : areas.ToArray());

            graph.GenerateGraph(true);
            Grapher.RecolorVertices(graph);
            edgeLabelsToggled = false;
            zoom.ZoomToFill();
        }
Esempio n. 18
0
        // Zoom control - Increase, Decrease, Reset
        private void Tsmi_ZoomControlManager_Click(object sender, EventArgs e)
        {
            ToolStripMenuItem clickedItem = (ToolStripMenuItem)sender;

            switch (clickedItem.Text)
            {
            case "Restore Default Zoom":
            {
                rt_CodeEditor.ZoomFactor = ZoomControl.SetZoom(ZoomState.Default, rt_CodeEditor.ZoomFactor,
                                                               ZoomControl.ZoomStep);
                break;
            }

            case "Zoom Increase":
            {
                rt_CodeEditor.ZoomFactor = ZoomControl.SetZoom(ZoomState.Increase, rt_CodeEditor.ZoomFactor,
                                                               ZoomControl.ZoomStep);
                break;
            }

            case "Zoom Decrease":
            {
                rt_CodeEditor.ZoomFactor = ZoomControl.SetZoom(ZoomState.Decrease, rt_CodeEditor.ZoomFactor,
                                                               ZoomControl.ZoomStep);
                break;
            }
            }

            Sddb_zoom.Text = ZoomControl.GetZoomString(rt_CodeEditor.ZoomFactor);
        }
Esempio n. 19
0
        private UIElement GenerateWpfVisuals()
        {
            zoomctrl = new ZoomControl();
            ZoomControl.SetViewFinderVisibility(zoomctrl, System.Windows.Visibility.Visible);
            /* ENABLES WINFORMS HOSTING MODE --- >*/
            var logic = new GXLogicCore <DataVertex, DataEdge, BidirectionalGraph <DataVertex, DataEdge> >();

            gArea = new GraphAreaExample()
            {
                EnableWinFormsHostingMode = true, LogicCore = logic
            };
            logic.Graph = GenerateGraph();
            logic.DefaultLayoutAlgorithm       = GraphX.LayoutAlgorithmTypeEnum.KK;
            logic.DefaultLayoutAlgorithmParams = logic.AlgorithmFactory.CreateLayoutParameters(GraphX.LayoutAlgorithmTypeEnum.KK);
            ((KKLayoutParameters)logic.DefaultLayoutAlgorithmParams).MaxIterations = 100;
            logic.DefaultOverlapRemovalAlgorithm       = GraphX.OverlapRemovalAlgorithmTypeEnum.FSA;
            logic.DefaultOverlapRemovalAlgorithmParams = logic.AlgorithmFactory.CreateOverlapRemovalParameters(GraphX.OverlapRemovalAlgorithmTypeEnum.FSA);
            ((OverlapRemovalParameters)logic.DefaultOverlapRemovalAlgorithmParams).HorizontalGap = 50;
            ((OverlapRemovalParameters)logic.DefaultOverlapRemovalAlgorithmParams).VerticalGap   = 50;
            logic.DefaultEdgeRoutingAlgorithm = GraphX.EdgeRoutingAlgorithmTypeEnum.None;
            logic.AsyncAlgorithmCompute       = false;
            zoomctrl.Content        = gArea;
            gArea.RelayoutFinished += gArea_RelayoutFinished;
            return(zoomctrl);
        }
Esempio n. 20
0
        public void Constructor_ExpectedValues()
        {
            // Call
            using (var graphControl = new PointedTreeGraphControl())
            {
                // Assert
                Assert.IsInstanceOf <UserControl>(graphControl);
                Assert.IsInstanceOf <IPointedTreeGraphControl>(graphControl);

                Assert.IsNull(graphControl.Data);
                Assert.IsNull(graphControl.Selection);

                Assert.AreEqual(1, graphControl.Controls.Count);

                ZoomControl zoomControl = PointedTreeGraphControlHelper.GetZoomControl(graphControl);

                Assert.AreEqual(300, zoomControl.ZoomDeltaMultiplier);
                Assert.AreEqual(ZoomControlModes.Original, zoomControl.Mode);
                Assert.AreEqual(ZoomViewModifierMode.None, zoomControl.ModifierMode);
                Assert.AreEqual(new TimeSpan(0), zoomControl.AnimationLength);

                Assert.AreEqual(1, zoomControl.Resources.MergedDictionaries.Count);
                ResourceDictionary templateDictionary = zoomControl.Resources.MergedDictionaries.First();
                Assert.AreEqual("/Core.Components.GraphSharp.Forms;component/Templates/PointedTreeGraphTemplate.xaml", templateDictionary.Source.AbsolutePath);

                var graphLayout = (PointedTreeGraphLayout)zoomControl.Content;
                Assert.IsInstanceOf <PointedTreeGraph>(graphLayout.Graph);
            }
        }
Esempio n. 21
0
        // TODO : Remove all hide/show extensions from here.
        protected virtual void drag_Started(DragListener drag)
        {
            ArrowLine al = ExtendedItem.View as ArrowLine;

            CurrentX2   = al.X2;
            CurrentY2   = al.Y2;
            CurrentLeft = (double)al.GetValue(Canvas.LeftProperty);
            CurrentTop  = (double)al.GetValue(Canvas.TopProperty);

            var designPanel = ExtendedItem.Services.DesignPanel as DesignPanel;

            zoom = designPanel.TryFindParent <ZoomControl>();

            if (resizeBehavior != null)
            {
                operation = PlacementOperation.Start(extendedItemArray, PlacementType.Resize);
            }
            else
            {
                changeGroup = this.ExtendedItem.Context.OpenGroup("Resize", extendedItemArray);
            }
            _isResizing = true;

            (drag.Target as DesignerThumb).IsPrimarySelection = false;
        }
        private void GeneralGraph_Constructor()
        {
            var gg_Logic = new LogicCoreExample();

            gg_Area.LogicCore = gg_Logic;

            //gg_Area.DefaulOverlapRemovalAlgorithm
            gg_layalgo.ItemsSource               = Enum.GetValues(typeof(LayoutAlgorithmTypeEnum)).Cast <LayoutAlgorithmTypeEnum>();
            gg_layalgo.SelectedIndex             = 0;
            gg_oralgo.ItemsSource                = Enum.GetValues(typeof(OverlapRemovalAlgorithmTypeEnum)).Cast <OverlapRemovalAlgorithmTypeEnum>();
            gg_oralgo.SelectedIndex              = 0;
            gg_eralgo.ItemsSource                = Enum.GetValues(typeof(EdgeRoutingAlgorithmTypeEnum)).Cast <EdgeRoutingAlgorithmTypeEnum>();
            gg_eralgo.SelectedIndex              = 2;
            gg_but_randomgraph.Click            += gg_but_randomgraph_Click;
            gg_vertexCount.Text                  = "30";
            gg_async.Checked                    += gg_async_Checked;
            gg_async.Unchecked                  += gg_async_Checked;
            gg_Area.RelayoutFinished            += gg_Area_RelayoutFinished;
            gg_Area.GenerateGraphFinished       += gg_Area_GenerateGraphFinished;
            gg_Logic.DefaultEdgeRoutingAlgorithm = EdgeRoutingAlgorithmTypeEnum.None;

            ZoomControl.SetViewFinderVisibility(gg_zoomctrl, System.Windows.Visibility.Visible);

            gg_zoomctrl.IsAnimationDisabled = false;
            gg_zoomctrl.MaxZoomDelta        = 2;

            this.Loaded += GG_Loaded;
        }
Esempio n. 23
0
 private void Window_Loaded(object sender, RoutedEventArgs e)
 {
     ZoomControl.SetViewFinderVisibility(ZoomCtrl, Visibility.Visible);
     ZoomCtrl.ZoomToFill();
     LayoutAlgorithmComboBox.ItemsSource   = GetLayoutAlgorithmName();
     LayoutAlgorithmComboBox.SelectedIndex = 0;
 }
Esempio n. 24
0
        private void UpdateGraph()
        {
            this.wpfContainer.Child = GenerateWpfVisuals(GraphUIHelper.GenerateGraphUI <T>(this.CurrentMarkovGraph));

            GraphArea.GenerateGraph(true);
            GraphArea.SetVerticesDrag(true, true);
            ZoomControl.ZoomToFill();
        }
Esempio n. 25
0
        private void UpdateGraph(NGramGraphMarkovChain <T> chain)
        {
            this.wpfContainer.Child = GenerateWpfVisuals(GraphUIHelper.GenerateGraphUI <T>(chain));

            GraphArea.GenerateGraph(true);
            GraphArea.SetVerticesDrag(true, true);
            ZoomControl.ZoomToFill();
        }
        void Area_RelayoutFinished(object sender, EventArgs e, ZoomControl zoom)
        {
            ShowAllEdgesLabels(sender as GraphArea, true);

            FitToBounds(null, zoom);

            _viewmodel.SetVertexPropertiesBinding();
        }
Esempio n. 27
0
        public void Draw(AllianceScenario allianceScenario, Powers focus)
        {
            try
            {
                _executing = true;

                var logicCore             = new AllianceScenarioGXLogicCore();
                var drawnAllianceScenario = new DrawnAllianceScenario();
                drawnAllianceScenario.FocusPower = focus;
                drawnAllianceScenario.Populate(allianceScenario);
                logicCore.Graph = drawnAllianceScenario;

                /*
                 * logicCore.DefaultLayoutAlgorithm = LayoutAlgorithmTypeEnum.FR;
                 * logicCore.DefaultLayoutAlgorithmParams = logicCore.AlgorithmFactory.CreateLayoutParameters(LayoutAlgorithmTypeEnum.FR);
                 * ((FreeFRLayoutParameters)logicCore.DefaultLayoutAlgorithmParams).IdealEdgeLength = 100;
                 * ((FreeFRLayoutParameters)logicCore.DefaultLayoutAlgorithmParams).RepulsiveMultiplier = 1.5;
                 * ((FreeFRLayoutParameters)logicCore.DefaultLayoutAlgorithmParams).Seed = 23423423;
                 */


                logicCore.DefaultLayoutAlgorithm       = LayoutAlgorithmTypeEnum.KK;
                logicCore.DefaultLayoutAlgorithmParams = logicCore.AlgorithmFactory.CreateLayoutParameters(LayoutAlgorithmTypeEnum.KK);
                ((KKLayoutParameters)logicCore.DefaultLayoutAlgorithmParams).Width            = 1000;
                ((KKLayoutParameters)logicCore.DefaultLayoutAlgorithmParams).Height           = 1000;
                ((KKLayoutParameters)logicCore.DefaultLayoutAlgorithmParams).AdjustForGravity = true;


                ////Setup optional params
                logicCore.DefaultOverlapRemovalAlgorithmParams =
                    logicCore.AlgorithmFactory.CreateOverlapRemovalParameters(OverlapRemovalAlgorithmTypeEnum.FSA);
                ((OverlapRemovalParameters)logicCore.DefaultOverlapRemovalAlgorithmParams).HorizontalGap = 50;
                ((OverlapRemovalParameters)logicCore.DefaultOverlapRemovalAlgorithmParams).VerticalGap   = 50;

                //This property sets edge routing algorithm that is used to build route paths according to algorithm logic.
                //For ex., SimpleER algorithm will try to set edge paths around vertices so no edge will intersect any vertex.
                logicCore.DefaultEdgeRoutingAlgorithm = EdgeRoutingAlgorithmTypeEnum.SimpleER;
                //This property sets async algorithms computation so methods like: Area.RelayoutGraph() and Area.GenerateGraph()
                //will run async with the UI thread. Completion of the specified methods can be catched by corresponding events:
                //Area.RelayoutFinished and Area.GenerateGraphFinished.
                logicCore.AsyncAlgorithmCompute = false;

                logicCore.EdgeCurvingEnabled   = true;
                logicCore.EnableParallelEdges  = true;
                logicCore.ParallelEdgeDistance = 50;

                //Finally assign logic core to GraphArea object
                GraphArea.LogicCore = logicCore;
                GraphArea.SetVerticesDrag(true);
                GraphArea.GenerateGraph();

                ZoomControl.ZoomToFill();
            }
            finally
            {
                _executing = false;
            }
        }
Esempio n. 28
0
 public EditorObjectManager(GraphArea graphArea, ZoomControl zc)
 {
     this.graphArea   = graphArea;
     this.zoomControl = zc;
     this.rd          = new ResourceDictionary
     {
         Source = new Uri("pack://application:,,,/View/Templates/EditorTemplate.xaml", UriKind.RelativeOrAbsolute),
     };
 }
Esempio n. 29
0
 private void ButtonRedrawOnClick(object sender, RoutedEventArgs e)
 {
     SetupGraphArea();
     Area.GenerateGraph(true, true);
     Area.SetEdgesDashStyle(EdgeDashStyle.Dash);
     Area.ShowAllEdgesArrows(false);
     Area.ShowAllEdgesLabels(true);
     ZoomControl.ZoomToFill();
 }
Esempio n. 30
0
        private void Tsmi_CustomZoom_Click(object sender, EventArgs e)
        {
            // Set's the custom zoom level of the code editor. The ToolStripMenuItem Tag contains the zoom value.
            ToolStripMenuItem clickedItem = (ToolStripMenuItem)sender;

            rt_CodeEditor.ZoomFactor = ZoomControl.SetZoom(ZoomState.Custom, rt_CodeEditor.ZoomFactor,
                                                           float.Parse(clickedItem.Tag.ToString()));
            Sddb_zoom.Text = ZoomControl.GetZoomString(rt_CodeEditor.ZoomFactor);
        }
Esempio n. 31
0
 /// <summary>
 /// The basic constructor
 /// </summary>
 /// <param name="graphArea"></param>
 /// <param name="zoomControl"></param>
 public EditorObjectManager(GraphArea graphArea, ZoomControl zoomControl)
 {
     this.graphArea         = graphArea;
     this.zoomControl       = zoomControl;
     zoomControl.MouseMove += ZoomControlMouseMove;
     resourceDictionary     = new ResourceDictionary
     {
         Source = new Uri("pack://application:,,,/ControlsLibrary;component/View/Templates/EditorTemplates.xaml", UriKind.RelativeOrAbsolute)
     };
 }
		protected virtual void drag_Started(DragListener drag)
		{
			Line al = ExtendedItem.View as Line;
			CurrentX2 = al.X2;
			CurrentY2 = al.Y2;
			CurrentLeft = (double)al.GetValue(Canvas.LeftProperty);
			CurrentTop = (double)al.GetValue(Canvas.TopProperty);

			var designPanel = ExtendedItem.Services.DesignPanel as DesignPanel;
			zoom = designPanel.TryFindParent<ZoomControl>();

			if (resizeBehavior != null)
				operation = PlacementOperation.Start(extendedItemArray, PlacementType.Resize);
			else
			{
				changeGroup = this.ExtendedItem.Context.OpenGroup("Resize", extendedItemArray);
			}
			_isResizing = true;

			(drag.Target as UserControlPointsObjectThumb).IsPrimarySelection = false;
		}
		void SetOperation()
		{
			var designPanel = ExtendedItem.Services.DesignPanel as DesignPanel;
			_zoom = designPanel.TryFindParent<ZoomControl>();
			
			if (resizeBehavior != null)
				operation = PlacementOperation.Start(extendedItemArray, PlacementType.Resize);
			else
			{
				changeGroup = ExtendedItem.Context.OpenGroup("Resize", extendedItemArray);
			}
			_isResizing = true;
		}
		void SetOperation()
		{
			var designPanel = ExtendedItem.Services.DesignPanel as DesignPanel;
			_zoom = designPanel.TryFindParent<ZoomControl>();
			
			CommitOrAbortKeyboardOperation();
			
			//Move a Virtual Design Item arround... (for Snaplines, raster, ...)
			//And Resfresh the Points after Positioning that Item!
			//if (resizeBehavior != null)
				operation = PlacementOperation.Start(extendedItemArray, PlacementType.MovePoint);
//			else
//			{
//				changeGroup = ExtendedItem.Context.OpenGroup("Resize", extendedItemArray);
//			}
			_isResizing = true;
		}
Esempio n. 35
0
	void Awake() {
		LookDirection = transform.forward;
		zoomControl = ZoomControl.Keys;
	}