Example #1
0
        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());
        }
Example #2
0
        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();
        }