/// <summary> /// Returns the styles available for a give direction /// </summary> public static List <TVisualStylesEnum>StylesForDirection(TCollapseDirection ADirection) { return FDirStyleMapping[ADirection]; }
/// <summary> /// Determines if a given Direction and Style are compatible /// </summary> public bool DirStyleMatch(TCollapseDirection ADirection, TVisualStylesEnum AStyle) { return FDirStyleMapping[ADirection].Contains(AStyle); }
/// <summary> /// Same as `AssertDirStyleMatch`, but direction and Style can be specified. /// </summary> public bool AssertDirStyleMatch(TCollapseDirection ADirection, TVisualStylesEnum AStyle) { if (!DirStyleMatch(ADirection, AStyle)) { throw new EVisualStyleAndDirectionMismatchException(); } return true; }
/// <summary></summary> private void ChangeDirection(TCollapseDirection ADirection) { TCollapseDirection newDirection = ADirection; FCollapseDirection = newDirection; if (FCollapseDirection == TCollapseDirection.cdHorizontal) { this.Dock = System.Windows.Forms.DockStyle.Left; } else if (FCollapseDirection == TCollapseDirection.cdHorizontalRight) { this.Dock = System.Windows.Forms.DockStyle.Right; } else { this.Dock = System.Windows.Forms.DockStyle.Bottom; } if (!DirStyleMatch(newDirection, FVisualStyleEnum)) { this.VisualStyleEnum = StoredStyles[newDirection]; } else { ChangeVisualStyle(StoredStyles[newDirection]); } }