///<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; }