///<inheritdoc/> protected override void SetupHandler() { CreateLayout(); ConstraintManager cm = new ConstraintManager(Handler); var topLevelGroup = Handler.AddGroup("TOP_LEVEL"); topLevelGroup.Attributes[TableEditorFactory.RenderingHintsAttribute] = TableEditorFactory.RenderingHints.Invisible; topLevelGroup.Attributes[DefaultEditorFactory.RenderingHintsAttribute] = DefaultEditorFactory.RenderingHints.Invisible; topLevelGroup.AddList(STYLE, styleEnum.Keys, STYLE_ROWS); topLevelGroup.AddBool(NO_OVERLAP, (componentLayout.Style & ComponentArrangementStyles.ModifierNoOverlap) != 0); topLevelGroup.AddBool(FROM_SKETCH, (componentLayout.Style & ComponentArrangementStyles.ModifierAsIs) != 0); YDimension size = componentLayout.PreferredSize; IOptionItem useScreenRationItem = topLevelGroup.AddBool(USE_SCREEN_RATIO, true); IOptionItem aspectRationItem = topLevelGroup.AddDouble(ASPECT_RATIO, size.Width / size.Height); cm.SetEnabledOnValueEquals(useScreenRationItem, false, aspectRationItem); topLevelGroup.AddDouble(COMPONENT_SPACING, componentLayout.ComponentSpacing, 0.0d, double.MaxValue); IOptionItem gridEnabledItem = topLevelGroup.AddBool(GRID_ENABLED, componentLayout.GridSpacing > 0); IOptionItem gridSpacingItem = topLevelGroup.AddDouble(GRID_SPACING, componentLayout.GridSpacing > 0 ? componentLayout.GridSpacing : 20.0d); cm.SetEnabledOnValueEquals(gridEnabledItem, true, gridSpacingItem); }
/// <summary> /// Setup default values for various configuration parameters. /// </summary> public ComponentLayoutConfig() { var layout = new ComponentLayout(); StyleItem = ComponentArrangementStyles.Rows; NoOverlapItem = (layout.Style & ComponentArrangementStyles.ModifierNoOverlap) != 0; FromSketchItem = (layout.Style & ComponentArrangementStyles.ModifierAsIs) != 0; YDimension size = layout.PreferredSize; UseScreenRatioItem = true; AspectRatioItem = size.Width / size.Height; ComponentSpacingItem = layout.ComponentSpacing; GridEnabledItem = layout.GridSpacing > 0; GridSpacingItem = layout.GridSpacing > 0 ? layout.GridSpacing : 20.0d; }