public static string GetHelpText() { RulerInfo defaultValues = RulerInfo.GetDefaultRulerInfo(); string defaultLength = defaultValues.Length.ToString(); string defaultThickness = defaultValues.Thickness.ToString(); string defaultColor = RulerInfo.GetNameFromColor(defaultValues.BackColor); string defaultOpacity = defaultValues.Opacity.ToString(); Func <bool, string> flagSign = b => b ? "+" : "-"; string defaultDownTicks = flagSign(defaultValues.ShowDownTicks) + "d"; string defaultFlipped = flagSign(defaultValues.IsFlipped) + "f"; string defaultLock = flagSign(defaultValues.IsLocked) + "l"; string defaultTopMost = flagSign(defaultValues.TopMost) + "m"; string defaultToolTop = flagSign(defaultValues.ShowToolTip) + "t"; string defaultUpTicks = flagSign(defaultValues.ShowUpTicks) + "u"; string defaultVertical = flagSign(defaultValues.IsVertical) + "v"; StringBuilder sb = new StringBuilder(); sb.AppendLine("Usage: ruler"); sb.AppendLine(" or: ruler [OPTIONS | FLAGS] LENGTH [THICKNESS]"); sb.AppendLine(); sb.AppendLine("Display a ruler on screen"); sb.AppendLine(); sb.AppendLine("LENGTH\t\tThe length of the ruler, in pixels (default: " + defaultLength + ")"); sb.AppendLine("THICKNESS\tThe thickness of the ruler, in pixels (default: " + defaultThickness + ")"); sb.AppendLine(); sb.AppendLine("OPTIONS"); sb.AppendLine("========"); // Colors fanciness sb.AppendLine("--color=COLOR\tThe color of the ruler. One of:"); sb.Append("\t\t "); string[] colorNames = RulerInfo.Colors.Keys.OrderBy(c => c).ToArray(); sb.Append(String.Join(", ", colorNames.Take(colorNames.Length - 1))); sb.Append(" or "); sb.Append(colorNames[colorNames.Length - 1]); sb.AppendLine(" (default: " + defaultColor + ")"); sb.AppendLine("--opacity=OPACITY\tThe opacity of the ruler in a [0.1, 1.0] range (default: " + defaultOpacity + ")"); sb.AppendLine("--usedefaults\tUse default values for all unspecified values"); sb.AppendLine(); sb.AppendLine("FLAGS"); sb.AppendLine("========"); sb.AppendLine("[+|-]d\t\tShow / hide down ticks (default: " + defaultDownTicks + ")"); sb.AppendLine("[+|-]f\t\tFlipped / unflipped the ruler (default: " + defaultFlipped + ")"); sb.AppendLine("[+|-]l\t\tLock / unlock the ruler (default: " + defaultLock + ")"); sb.AppendLine("[+|-]m\t\tMake / do not make top most (default: " + defaultTopMost + ")"); sb.AppendLine("[+|-]t\t\tShow / hide the tooltip (default: " + defaultToolTop + ")"); sb.AppendLine("[+|-]u\t\tShow / hide up ticks (default: " + defaultUpTicks + ")"); sb.AppendLine("[+|-]v\t\tShow the ruler vertically / horizontally (default: " + defaultVertical + ")"); return(sb.ToString()); }
public static void SaveInfo(this IRulerInfo ruler) { Properties.Settings.Default.IsVertical = ruler.IsVertical; Properties.Settings.Default.Length = ruler.Length; Properties.Settings.Default.Thickness = ruler.Thickness; Properties.Settings.Default.Opacity = ruler.Opacity; Properties.Settings.Default.ShowToolTip = ruler.ShowToolTip; Properties.Settings.Default.IsLocked = ruler.IsLocked; Properties.Settings.Default.TopMost = ruler.TopMost; Properties.Settings.Default.BackColor = RulerInfo.GetNameFromColor(ruler.BackColor) == "CUSTOM"?RulerInfo.GetHexFromColor(ruler.BackColor):RulerInfo.GetNameFromColor(ruler.BackColor); Properties.Settings.Default.ShowUpTicks = ruler.ShowUpTicks; Properties.Settings.Default.ShowDownTicks = ruler.ShowDownTicks; Properties.Settings.Default.IsFlipped = ruler.IsFlipped; Properties.Settings.Default.Save(); }