public GradientMaker(GradientMakerSettings options)
 {
     InitializeComponent();
     this.Options = options;
     if (0 == this.Options.BrushDataList.Count)
     {
         this.Options.BrushDataList.Add(new BrushData());
     }
     foreach (BrushData bd in options.BrushDataList)
     {
         lbBrushData.Items.Add(bd);
     }
     if (options.BrushDataSelected < lbBrushData.Items.Count)
     {
         lbBrushData.SelectedIndex = options.BrushDataSelected;
         UpdateGUI(options.GetBrushDataActive());
         UpdatePreview(options.GetBrushDataActive());
     }
 }
 private void rtbCodes_SelectionChanged(object sender, EventArgs e)
 {
     if (!isEditing)
     {
         isEditable = false;
         int firstcharindex = rtbCodes.GetFirstCharIndexOfCurrentLine();
         int currentline    = rtbCodes.GetLineFromCharIndex(firstcharindex);
         if (rtbCodes.Lines.Length > currentline)
         {
             string line = rtbCodes.Lines[currentline];
             if (line.Contains('\t'))
             {
                 txtColor.Text  = line.Substring(0, line.IndexOf('\t'));
                 txtOffset.Text = line.Remove(0, line.IndexOf('\t') + 1);
                 isEditable     = true;
                 if (rtbCodes.Text != lastData)
                 {
                     UpdatePreview(Options.GetBrushDataActive());
                     lastData = rtbCodes.Text;
                 }
             }
         }
     }
 }
 public GradientMaker(GradientMakerSettings options)
 {
     InitializeComponent();
     this.Options = options;
     if (0 == this.Options.BrushDataList.Count)
     {
         this.Options.BrushDataList.Add(new BrushData());
     }
     foreach (BrushData bd in options.BrushDataList)
     {
         lbBrushData.Items.Add(bd);
     }
     if (options.BrushDataSelected < lbBrushData.Items.Count)
     {
         lbBrushData.SelectedIndex = options.BrushDataSelected;
         UpdateGUI(options.GetBrushDataActive());
         UpdatePreview(options.GetBrushDataActive());
     }
 }