Exemple #1
0
        protected override void PerformPreLayout()
        {
            base.PerformPreLayout();
            OptionGroup layoutGroup = Handler.GetGroupByName(TOP_LEVEL);
            string      choice      = (string)layoutGroup[SCOPE].Value;

            if (choice == SCOPE_AT_SELECTED_NODES)
            {
                CurrentLayoutGraph.AddDataProvider(ParallelEdgeRouter.AffectedEdgesDpKey, new SelectedNodesDP(this));
            }
            else if (choice == SCOPE_SELECTED_EDGES)
            {
                CurrentLayoutGraph.AddDataProvider(ParallelEdgeRouter.AffectedEdgesDpKey, new SelectedEdgesDP(this));
            }
            else
            {
                CurrentLayoutGraph.AddDataProvider(ParallelEdgeRouter.AffectedEdgesDpKey, DataProviders.CreateConstantDataProvider(true));
            }

            if ((bool)layoutGroup[USE_SELECTED_EDGES_AS_MASTER].Value)
            {
                CurrentLayoutGraph.AddDataProvider(ParallelEdgeRouter.LeadingEdgeDpKey, new SelectedEdgesDP(this));
            }
        }
        ///<inheritdoc/>
        protected override void PerformPreLayout()
        {
            base.PerformPreLayout();
            string        layoutStyle   = (string)Handler.GetValue(GENERAL, LAYOUT_STYLE);
            IDataProvider customGroupDP = CurrentLayoutGraph.GetDataProvider(CircularLayout.CustomGroupsDpKey);

            if (layoutStyle.Equals(CUSTOM_GROUPS) && customGroupDP == null)
            {
                IDataProvider groupInfoDP = CurrentLayoutGraph.GetDataProvider(GroupingKeys.ParentNodeIdDpKey);
                if (groupInfoDP == null)
                {
                    //Set up dummy data provider for custom group layout style.
                    CurrentLayoutGraph.AddDataProvider(CircularLayout.CustomGroupsDpKey, DataProviders.CreateConstantDataProvider(null));
                }
                else
                {
                    // use existing group info
                    CurrentLayoutGraph.AddDataProvider(CircularLayout.CustomGroupsDpKey, groupInfoDP);
                }
            }
        }