private void LoadSettings() { IsDesignerEnabled = _settings.IsDesignerEnabled; DocumentView = _settings.DocumentView; SplitOrientation = _settings.SplitOrientation; IsReversed = _settings.IsReversed; }
public float CalculateMinimumSize(SplitOrientation orientation) { var minimumSize = 0f; foreach (var panelContainer in _panelContainers) { if (panelContainer.Panel is OSCSplitPanel splitPanel) { if (splitPanel.Orientation == orientation) { minimumSize += splitPanel.CalculateMinimumSize(orientation); } } if (orientation == Orientation) { minimumSize += panelContainer.MinimumSizePixel; } if (SplitterSize > 0) { minimumSize += _splitterMargin * 2f + SplitterSize; } } if (SplitterSize > 0) { minimumSize -= _splitterMargin * 2f + SplitterSize; } return(minimumSize); }
public float CalculateMinimumSize(SplitOrientation orientation) { var minimumSize = 0f; foreach (var storedData in _storedPanelData) { if (storedData.Panel is OSCSplitPanel splitPanel) { if (splitPanel.Orientation == orientation) { minimumSize += splitPanel.CalculateMinimumSize(orientation); } } if (orientation == Orientation) { minimumSize += storedData.MinimumSizePixel; } if (ShowSplitters) { minimumSize += _splitterMargin * 2f + SplitterSize; } } if (ShowSplitters) { minimumSize -= _splitterMargin * 2f + SplitterSize; } return(minimumSize); }
public static Orientation?ToOrientation(this SplitOrientation orientation) { if (orientation == SplitOrientation.Auto) { return(null); } return(orientation == SplitOrientation.Horizontal ? Orientation.Horizontal : Orientation.Vertical); }
/// <summary> /// Constructor. /// </summary> public SplitComponentContainer( SplitPane pane1, SplitPane pane2, SplitOrientation splitOrientation) { this.Pane1 = pane1; this.Pane2 = pane2; _splitOrientation = splitOrientation; }
protected SplitterBase(string name, SplitOrientation orientation, IWidgetStyle style) : base(name, Docking.None, style) { //Styles.SetStyle (new SplitContainerSplitterStyle (), WidgetStates.Pressed); Styles.SetStyle (style, WidgetStates.Pressed); ZIndex = 1100; // must be above Scrollbars! Orientation = orientation; SplitterWidth = 4; MinDistanceNear = 100; MinDistanceFar = 50; Distance = 0.25f; }
/// <summary> /// Get all splits with a given orientation in ascending order. /// </summary> /// <param name="orientation">The desired orientation (horizontal or vertical).</param> /// <returns></returns> public double[] GetSplits(SplitOrientation orientation) { List <double> positions = new List <double>(); foreach (var split in splits) { if (split.Orientation == orientation) { positions.Add(split.Position); } } positions.Sort(); return(positions.ToArray()); }
private void LoadSettings() { // IsDesignerEnabled, either read from the store or initialize to true. IsDesignerEnabled = !_store.PropertyExists(COLLECTION_PATH, IS_DESIGNER_ENABLED_PROPERTY) || _store.GetBoolean(COLLECTION_PATH, IS_DESIGNER_ENABLED_PROPERTY); SplitOrientation = _store.PropertyExists(COLLECTION_PATH, SPLIT_ORIENTATION_PROPERTY) ? (SplitOrientation)_store.GetInt32(COLLECTION_PATH, SPLIT_ORIENTATION_PROPERTY) : SplitOrientation.Default; DocumentView = _store.PropertyExists(COLLECTION_PATH, DOCUMENT_VIEW_PROPERTY) ? (DocumentView)_store.GetInt32(COLLECTION_PATH, DOCUMENT_VIEW_PROPERTY) : DocumentView.SplitView; IsReversed = _store.PropertyExists(COLLECTION_PATH, IS_REVERSED_PROPERTY) && _store.GetBoolean(COLLECTION_PATH, IS_REVERSED_PROPERTY); }
public DockPanelSplitter(FrameworkElement prevControl, FrameworkElement nextControl, SplitOrientation split) { _prevControl = prevControl; _nextControl = nextControl; _split = split; Background = new SolidColorBrush(Colors.LightGray); if (_split == SplitOrientation.Vertical) { Cursor = Cursors.SizeWE; Width = 5; } else { Cursor = Cursors.SizeNS; Height = 5; } }
void split() { splitOrientation = chooseSplit(); if (splitOrientation == SplitOrientation.Horizontal) { int r = Rng.Random.Next(width - 2 * MIN_CELL_SIZE); r = r + MIN_CELL_SIZE; child1 = new Cell(map, this); child1.x1 = x1; child1.y1 = y1; child1.x2 = x1 + r; child1.y2 = y2; child2 = new Cell(map, this); child2.x1 = x1 + r; child2.y1 = y1; child2.x2 = x2; child2.y2 = y2; } if (splitOrientation == SplitOrientation.Vertical) { int r = Rng.Random.Next(height - 2 * MIN_CELL_SIZE); r = r + MIN_CELL_SIZE; child1 = new Cell(map, this); child1.x1 = x1; child1.y1 = y1; child1.x2 = x2; child1.y2 = y1 + r; child2 = new Cell(map, this); child2.x1 = x1; child2.y1 = y1 + r; child2.x2 = x2; child2.y2 = y2; } if (child1.canSplit) { child1.split(); } if (child2.canSplit) { child2.split(); } }
public SplitContainer(string name, SplitOrientation orientation, float distance) : base(name, Docking.Fill, new SplitContainerStyle()) { /*** * Panel1 = new ScrollableContainer ("panel1", Docking.Fill, new SplitContainerPanelStyle ()); * Panel2 = new ScrollableContainer ("panel2", Docking.Fill, new SplitContainerPanelStyle ()); ***/ Panel1 = new ScrollableContainer("panel1", Docking.Fill, new EmptyWidgetStyle()); Panel2 = new ScrollableContainer("panel2", Docking.Fill, new EmptyWidgetStyle()); if (orientation == SplitOrientation.Horizontal) { Splitter = new HorizontalSplitter("splitter", new SplitContainerTransparentSplitterStyle()); } else { Splitter = new VerticalSplitter("splitter", new SplitContainerTransparentSplitterStyle()); } //Panel1.MinSize = new SizeF (Splitter.MinDistanceNear, Splitter.MinDistanceNear); //Panel2.MinSize = new SizeF (Splitter.MinDistanceFar, Splitter.MinDistanceFar); Children.Add(Panel1); Children.Add(Splitter); Children.Add(Panel2); //this.BackColor = Color.Yellow; //Panel2.BackColor = Color.Red; //Splitter.BackColor = Color.FromArgb(128, Color.LimeGreen); //Splitter.SplitterWidth = 12; if (distance != 0) { Splitter.Distance = distance; } }
public TripleSplitContainer(string name, SplitOrientation orientation, Docking dock, IWidgetStyle style) : base(name, dock, style) { Orientation = orientation; /*** * Panel1 = new ScrollableContainer ("panel1", Docking.Fill, new SplitContainerPanelStyle ()); * Panel2 = new ScrollableContainer ("panel2", Docking.Fill, new SplitContainerPanelStyle ()); * Panel3 = new ScrollableContainer ("panel3", Docking.Fill, new SplitContainerPanelStyle ()); ***/ Panel1 = new ScrollableContainer("panel1", Docking.Fill, new EmptyWidgetStyle()); Panel2 = new ScrollableContainer("panel2", Docking.Fill, new EmptyWidgetStyle()); Panel3 = new ScrollableContainer("panel3", Docking.Fill, new EmptyWidgetStyle()); if (orientation == SplitOrientation.Horizontal) { Splitter1 = new HorizontalSplitter("splitter1", new SplitContainerTransparentSplitterStyle()); Splitter2 = new HorizontalSplitter("splitter2", new SplitContainerTransparentSplitterStyle()); } else { Splitter1 = new VerticalSplitter("splitter1", new SplitContainerTransparentSplitterStyle()); Splitter2 = new VerticalSplitter("splitter2", new SplitContainerTransparentSplitterStyle()); } Children.Add(Panel1); Children.Add(Splitter1); Children.Add(Panel2); Children.Add(Splitter2); Children.Add(Panel3); //if (distance != 0) Splitter1.Distance = 0.334f; Splitter2.Distance = 0.334f; }
void split() { splitOrientation = chooseSplit(); if (splitOrientation == SplitOrientation.Horizontal) { int r = Rng.Random.Next(width - 2) + 1; child1 = new MazeCell(map, this); child1.x1 = x1; child1.y1 = y1; child1.x2 = x1 + r - 1; child1.y2 = y2; child2 = new MazeCell(map, this); child2.x1 = x1 + r + 1; child2.y1 = y1; child2.x2 = x2; child2.y2 = y2; for (int y = y1; y <= y2; ++y) { map[x1 + r, y] = Terrain.Get("wall").Character; } if (parent == null || splitOrientation == parent.splitOrientation) { } else { connection = Rng.Random.Next(height - 1); if (connection >= parent.connection) { connection++; } } connection = Rng.Random.Next(height); map[x1 + r, y1 + connection] = Terrain.Get("ground").Character; } if (splitOrientation == SplitOrientation.Vertical) { int r = Rng.Random.Next(height - 2) + 1; child1 = new MazeCell(map, this); child1.x1 = x1; child1.y1 = y1; child1.x2 = x2; child1.y2 = y1 + r - 1; child2 = new MazeCell(map, this); child2.x1 = x1; child2.y1 = y1 + r + 1; child2.x2 = x2; child2.y2 = y2; for (int x = x1; x <= x2; ++x) { map[x, y1 + r] = Terrain.Get("wall").Character; } connection = Rng.Random.Next(width); map[x1 + connection, y1 + r] = Terrain.Get("ground").Character; } if (child1.canSplit) { child1.split(); } if (child2.canSplit) { child2.split(); } }
/// <summary> /// Split factory, that takes a point [0,1]x[0,1]. /// Depending on where the point lays, the split will be horizontal or vertical. /// </summary> /// <param name="norm">Normalized point, i.e. x and y are in [0,1]</param> /// <returns>A new split object, with all attributes set.</returns> public static Split FromPosition(PointF norm) { SplitOrientation orientation = GetOrientationFromPosition(norm); return(new Split((orientation == SplitOrientation.Horizontal) ? norm.Y : norm.X, orientation)); }
public Split(double position, SplitOrientation orientation, Line line) { this.position = position; this.orientation = orientation; this.line = line; }
public Split(double position, SplitOrientation orientation) : this(position, orientation, GetLine()) { }
public SplitContainerOrientationEventArgs(SplitOrientation orientation) { Orientation = orientation; }
public TownCell(Map map, TownCell parent) { splitOrientation = SplitOrientation.None; this.map = map; this.parent = parent; }
protected SplitterBase(string name, SplitOrientation orientation) : this(name, orientation, new SplitContainerSplitterStyle ()) {}
public DockPaneGroup(IDockPane first, IDockPane second, SplitOrientation split) { First = first; Second = second; Split = split; }
public PaneGroup(IPane first, IPane second, SplitOrientation split) { First = first; Second = second; Split = split; }
/// <summary> /// Constructor. /// </summary> public SplitComponentContainer(SplitOrientation splitOrientation) { _splitOrientation = splitOrientation; }