示例#1
0
        ///<inheritdoc/>
        protected override void SetupHandler()
        {
            OptionGroup scopeGroup = Handler.AddGroup(SCOPE);

            scopeGroup.AddBool(PLACE_NODE_LABELS, true);
            scopeGroup.AddBool(PLACE_EDGE_LABELS, true);
            scopeGroup.AddBool(CONSIDER_SELECTED_FEATURES_ONLY, false);

            OptionGroup qualityGroup = Handler.AddGroup(QUALITY);

            qualityGroup.AddBool(USE_OPTIMIZATION, false);
            qualityGroup.AddOptionItem(new OptionItem(OPTIMIZATION_STRATEGY)
            {
                Value = OptimizationStrategy.Balanced, Type = typeof(OptimizationStrategy)
            });
            qualityGroup.AddBool(ALLOW_NODE_OVERLAPS, false);
            qualityGroup.AddBool(ALLOW_EDGE_OVERLAPS, true);
            qualityGroup.AddBool(USE_POSTPROCESSING, false);

            var edgeLabelGroup   = Handler.AddGroup(MODEL);
            var labelModelItem   = edgeLabelGroup.AddList(EDGE_LABEL_MODEL, edgeLabelModel, BEST);
            var autoRotationItem = edgeLabelGroup.AddBool(AUTO_ROTATE, true);
            ConstraintManager cm = new ConstraintManager(Handler);

            cm.SetEnabledOnCondition(cm.CreateValueIsOneOfCondition(labelModelItem, CENTER_SLIDER, SIDE_SLIDER), autoRotationItem);
        }
        private void SetupHandler()
        {
            handler = new OptionHandler(SnappingConfiguration);
            OptionGroup currentGroup = handler.AddGroup(CollectSnapLinesGroup);

            currentGroup.AddBool(CollectNodePairSnapLines, true).PropertyChanged       += OnSnappingChanged;
            currentGroup.AddBool(CollectNodePairCenterSnapLines, true).PropertyChanged += OnSnappingChanged;
            currentGroup.AddBool(CollectSameSizeSnapLines, true).PropertyChanged       += OnSnappingChanged;
            currentGroup.AddBool(CollectNodeSnapLines, true).PropertyChanged           += OnSnappingChanged;
            currentGroup.AddBool(CollectEdgeSnapLines, true).PropertyChanged           += OnSnappingChanged;
            currentGroup.AddBool(CollectPortSnapLines, true).PropertyChanged           += OnSnappingChanged;
            currentGroup.AddBool(OrthogonalMovement, false).PropertyChanged            += OnSnappingChanged;

            OptionGroup innerGroup = currentGroup.AddGroup(SnappingDistancesGroup);

            innerGroup.AddDouble(NodeToNode, 50).PropertyChanged += OnSnappingChanged;
            innerGroup.AddDouble(NodeToEdge, 30).PropertyChanged += OnSnappingChanged;
            innerGroup.AddDouble(EdgeToEdge, 40).PropertyChanged += OnSnappingChanged;

            currentGroup = handler.AddGroup(OrthogonalSnappingGroup);
            currentGroup.AddBool(OrthogonalPorts, true).PropertyChanged        += OnSnappingChanged;
            currentGroup.AddBool(OrthogonalBends, true).PropertyChanged        += OnSnappingChanged;
            currentGroup.AddBool(OrthogonalEdgeCreation, true).PropertyChanged += OnSnappingChanged;
            currentGroup.AddBool(OrthogonalEdgeEditing, false).PropertyChanged += OnSnappingChanged;

            currentGroup = handler.AddGroup(SnappingElementsGroup);
            currentGroup.AddBool(SnapNodes, true).PropertyChanged         += OnSnappingChanged;
            currentGroup.AddBool(SnapBends, true).PropertyChanged         += OnSnappingChanged;
            currentGroup.AddBool(SnapAdjacentBends, true).PropertyChanged += OnSnappingChanged;
            currentGroup.AddBool(SnapSegments, true).PropertyChanged      += OnSnappingChanged;

            currentGroup = handler.AddGroup(GridGroup);
            currentGroup.AddOptionItem(
                new CollectionOptionItem <GridSnapTypes>(GridSnapping,
                                                         new List <GridSnapTypes> {
                GridSnapTypes.All, GridSnapTypes.GridPoints, GridSnapTypes.Lines, GridSnapTypes.VerticalLines, GridSnapTypes.HorizontalLines, GridSnapTypes.None
            },
                                                         GridSnapTypes.None
                                                         )).PropertyChanged += OnSnappingChanged;
            currentGroup.AddInt(GridHorizontalWidth, 50).PropertyChanged    += OnGridHorizontalWidthChanged;
            currentGroup.AddInt(GridVerticalWidth, 50).PropertyChanged      += OnGridVerticalWidthChanged;
            currentGroup.AddInt(GridSnapDistance, 10).PropertyChanged       += OnGridSnapDistanceChanged;
        }