Fixed another small shortcut bug

Updated "Select color" dialog
Removed "Do not restore caret" property, not useful
This commit is contained in:
Christian Hammacher
2005-09-09 23:01:09 +00:00
parent e2a521583a
commit d95f2cba37
11 changed files with 185 additions and 211 deletions

View File

@ -30,9 +30,11 @@ type
EBlue: TmbXPSpinEdit;
NewSwatch: TmbColorPreview;
OldSwatch: TmbColorPreview;
chkDefault1: TCheckBox;
bvlSpace1: TBevel;
bvlSpace2: TBevel;
chkDefault1: TCheckBox;
chkNone1: TCheckBox;
chkNone2: TCheckBox;
chkDefault2: TCheckBox;
procedure ColorModelChange(Sender: TObject);
procedure HSLChange(Sender: TObject);
@ -47,7 +49,8 @@ type
function GetHint(c: TColor): string;
procedure SetAllToSel(c: TColor);
procedure PagesChange(Sender: TObject);
procedure chkDefault2Click(Sender: TObject);
procedure checkMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
protected
procedure CreateParams(var Params: TCreateParams); override;
procedure CreateWnd; override;
@ -62,204 +65,224 @@ implementation
{$R *.dfm}
procedure TfrmSelectColor.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
begin
inherited CreateParams(Params);
Params.Style := WS_CAPTION or WS_SYSMENU;
Params.ExStyle := WS_EX_DLGMODALFRAME or WS_EX_WINDOWEDGE;
end;
Params.ExStyle := WS_EX_DLGMODALFRAME or WS_EX_WINDOWEDGE;
end;
procedure TfrmSelectColor.CreateWnd;
begin
inherited CreateWnd;
SendMessage(Self.Handle, WM_SETICON, 1, 0);
end;
begin
inherited CreateWnd;
SendMessage(Self.Handle, WM_SETICON, 1, 0);
end;
procedure TfrmSelectColor.ColorModelChange(Sender: TObject);
begin
case ColorModel.ItemIndex of
0:
begin
LRed.Caption := '&Red:';
LGreen.Caption := '&Green:';
LBlue.Caption := '&Blue:';
ERed.MaxValue := 255;
EGreen.MaxValue := 255;
EBlue.MaxValue := 255;
ERed.Value := GetRValue(NewSwatch.Color);
EGreen.Value := GetGValue(NewSwatch.Color);
EBlue.Value := GetBValue(NewSwatch.Color);
end;
1:
begin
LRed.Caption := 'H&ue:';
LGreen.Caption := '&Sat:';
LBlue.Caption := '&Lum:';
ERed.MaxValue := 238;
EGreen.MaxValue := 240;
EBlue.MaxValue := 240;
RGBtoHSLRange(NewSwatch.Color, h, s, l);
ERed.Value := h;
EGreen.Value := s;
EBlue.Value := l;
end;
end;
case ColorModel.ItemIndex of
0:
begin
LRed.Caption := '&Red:';
LGreen.Caption := '&Green:';
LBlue.Caption := '&Blue:';
ERed.MaxValue := 255;
EGreen.MaxValue := 255;
EBlue.MaxValue := 255;
ERed.Value := GetRValue(NewSwatch.Color);
EGreen.Value := GetGValue(NewSwatch.Color);
EBlue.Value := GetBValue(NewSwatch.Color);
end;
1:
begin
LRed.Caption := 'H&ue:';
LGreen.Caption := '&Sat:';
LBlue.Caption := '&Lum:';
ERed.MaxValue := 238;
EGreen.MaxValue := 240;
EBlue.MaxValue := 240;
RGBtoHSLRange(NewSwatch.Color, h, s, l);
ERed.Value := h;
EGreen.Value := s;
EBlue.Value := l;
end;
end;
end;
procedure TfrmSelectColor.HSLChange(Sender: TObject);
begin
if HSL.Manual then
case ColorModel.ItemIndex of
0:
begin
ERed.Value := HSL.RValue;
EGreen.Value := HSL.GValue;
EBlue.Value := HSL.BValue;
NewSwatch.Color := HSL.SelectedColor;
if HSL.Manual then
case ColorModel.ItemIndex of
0:
begin
ERed.Value := HSL.RValue;
EGreen.Value := HSL.GValue;
EBlue.Value := HSL.BValue;
NewSwatch.Color := HSL.SelectedColor;
end;
1:
begin
ERed.Value := HSL.HValue;
EGreen.Value := HSL.SValue;
EBlue.Value := HSL.LValue;
NewSwatch.Color := HSL.SelectedColor;
end;
end;
1:
begin
ERed.Value := HSL.HValue;
EGreen.Value := HSL.SValue;
EBlue.Value := HSL.LValue;
NewSwatch.Color := HSL.SelectedColor;
end;
end;
end;
procedure TfrmSelectColor.ERedChange(Sender: TObject);
begin
if (ERed.Text <> '') and ERed.Focused then
case ColorModel.ItemIndex of
0:
begin
HSL.RValue := ERed.Value;
NewSwatch.Color := RGB(ERed.Value, EGreen.Value, EBlue.Value);
end;
1:
begin
HSL.HValue := ERed.Value;
NewSwatch.Color := HSLRangeToRGB(ERed.Value, EGreen.Value, EBlue.Value);
end;
end;
if (ERed.Text <> '') and ERed.Focused then
case ColorModel.ItemIndex of
0:
begin
HSL.RValue := ERed.Value;
NewSwatch.Color := RGB(ERed.Value, EGreen.Value, EBlue.Value);
end;
1:
begin
HSL.HValue := ERed.Value;
NewSwatch.Color := HSLRangeToRGB(ERed.Value, EGreen.Value, EBlue.Value);
end;
end;
end;
procedure TfrmSelectColor.EGreenChange(Sender: TObject);
begin
if (EGreen.Text <> '') and EGreen.Focused then
case ColorModel.ItemIndex of
0:
begin
HSL.GValue := EGreen.Value;
NewSwatch.Color := RGB(ERed.Value, EGreen.Value, EBlue.Value);
end;
1:
begin
HSL.SValue := EGreen.Value;
NewSwatch.Color := HSLRangeToRGB(ERed.Value, EGreen.Value, EBlue.Value);
end;
end;
if (EGreen.Text <> '') and EGreen.Focused then
case ColorModel.ItemIndex of
0:
begin
HSL.GValue := EGreen.Value;
NewSwatch.Color := RGB(ERed.Value, EGreen.Value, EBlue.Value);
end;
1:
begin
HSL.SValue := EGreen.Value;
NewSwatch.Color := HSLRangeToRGB(ERed.Value, EGreen.Value, EBlue.Value);
end;
end;
end;
procedure TfrmSelectColor.EBlueChange(Sender: TObject);
begin
if (EBlue.Text <> '') and EBlue.Focused then
case ColorModel.ItemIndex of
0:
begin
HSL.BValue := EBlue.Value;
NewSwatch.Color := RGB(ERed.Value, EGreen.Value, EBlue.Value);
end;
1:
begin
HSL.LValue := EBlue.Value;
NewSwatch.Color := HSLRangeToRGB(ERed.Value, EGreen.Value, EBlue.Value);
end;
end;
if (EBlue.Text <> '') and EBlue.Focused then
case ColorModel.ItemIndex of
0:
begin
HSL.BValue := EBlue.Value;
NewSwatch.Color := RGB(ERed.Value, EGreen.Value, EBlue.Value);
end;
1:
begin
HSL.LValue := EBlue.Value;
NewSwatch.Color := HSLRangeToRGB(ERed.Value, EGreen.Value, EBlue.Value);
end;
end;
end;
procedure TfrmSelectColor.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case Key of
VK_RETURN: ModalResult := mrOK;
VK_ESCAPE: ModalResult := mrCancel;
end;
case Key of
VK_RETURN: ModalResult := mrOK;
VK_ESCAPE: ModalResult := mrCancel;
end;
end;
procedure TfrmSelectColor.HexaChange(Sender: TObject);
begin
NewSwatch.Color := Hexa.SelectedColor;
NewSwatch.Color := Hexa.SelectedColor;
end;
function TfrmSelectColor.GetHint(c: TColor): string;
begin
Result := Format('RGB(%u, %u, %u)'#13'Hex: %s', [GetRValue(c), GetGValue(c), GetBValue(c), ColorToHex(c)]);
Result := Format('RGB(%u, %u, %u)'#13'Hex: %s', [GetRValue(c), GetGValue(c), GetBValue(c), ColorToHex(c)]);
end;
procedure TfrmSelectColor.NewSwatchColorChange(Sender: TObject);
begin
NewSwatch.Hint := GetHint(NewSwatch.Color);
NewSwatch.Hint := GetHint(NewSwatch.Color);
end;
procedure TfrmSelectColor.OldSwatchColorChange(Sender: TObject);
begin
OldSwatch.Hint := GetHint(OldSwatch.Color);
SetAllToSel(OldSwatch.Color);
OldSwatch.Hint := GetHint(OldSwatch.Color);
SetAllToSel(OldSwatch.Color);
end;
procedure TfrmSelectColor.SetAllToSel(c: TColor);
begin
case Pages.ActivePageIndex of
case Pages.ActivePageIndex of
// Standard Page
0: Hexa.SelectedColor := c;
0: Hexa.SelectedColor := c;
// Custom Page
1:
begin
HSL.SelectedColor := c;
case ColorModel.ItemIndex of
0:
1:
begin
ERed.Value := GetRValue(c);
EGreen.Value := GetGValue(c);
EBlue.Value := GetBValue(c);
HSL.SelectedColor := c;
case ColorModel.ItemIndex of
0:
begin
ERed.Value := GetRValue(c);
EGreen.Value := GetGValue(c);
EBlue.Value := GetBValue(c);
end;
1:
begin
RGBtoHSLRange(c, h, s, l);
ERed.Value := h;
EGreen.Value := s;
EBlue.Value := l;
end;
end;
end;
1:
begin
RGBtoHSLRange(c, h, s, l);
ERed.Value := h;
EGreen.Value := s;
EBlue.Value := l;
end;
end;
end;
end;
NewSwatch.Color := c;
end;
NewSwatch.Color := c;
end;
procedure TfrmSelectColor.PagesChange(Sender: TObject);
begin
SetAllToSel(NewSwatch.Color);
SetAllToSel(NewSwatch.Color);
end;
procedure TfrmSelectColor.chkDefault2Click(Sender: TObject);
procedure TfrmSelectColor.checkMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
chkDefault1.Checked := (Sender As TCheckBox).Checked;
chkDefault2.Checked := (Sender As TCheckBox).Checked;
if (Sender = chkDefault1) or (Sender = chkDefault2) then begin
chkDefault1.Checked := (Sender as TCheckBox).Checked;
chkDefault2.Checked := (Sender as TCheckBox).Checked;
chkNone1.Checked := False;
chkNone2.Checked := False;
newSwatch.Color := clDefault;
end
else if (Sender = chkNone1) or (Sender = chkNone2) then begin
chkNone1.Checked := (Sender as TCheckBox).Checked;
chkNone2.Checked := (Sender as TCheckBox).Checked;
chkDefault1.Checked := False;
chkDefault2.Checked := False;
newSwatch.Color := clNone;
end
else begin
if Standard.Visible then
newSwatch.Color := Hexa.Color
else
newSwatch.Color := HSL.Color;
end;
lblColor1.Enabled := not (Sender As TCheckBox).Checked;
bvlSpace1.Enabled := not (Sender As TCheckBox).Checked;
Hexa.Enabled := not (Sender As TCheckBox).Checked;
lblColor2.Enabled := not (Sender As TCheckBox).Checked;
lblColorModel.Enabled := not (Sender As TCheckBox).Checked;
LRed.Enabled := not (Sender As TCheckBox).Checked;
LGreen.Enabled := not (Sender As TCheckBox).Checked;
LBlue.Enabled := not (Sender As TCheckBox).Checked;
bvlSpace2.Enabled := not (Sender As TCheckBox).Checked;
HSL.Enabled := not (Sender As TCheckBox).Checked;
ColorModel.Enabled := not (Sender As TCheckBox).Checked;
ERed.Enabled := not (Sender As TCheckBox).Checked;
EGreen.Enabled := not (Sender As TCheckBox).Checked;
EBlue.Enabled := not (Sender As TCheckBox).Checked;
lblColor1.Enabled := not (Sender as TCheckBox).Checked;
bvlSpace1.Enabled := not (Sender as TCheckBox).Checked;
Hexa.Enabled := not (Sender as TCheckBox).Checked;
lblColor2.Enabled := not (Sender as TCheckBox).Checked;
lblColorModel.Enabled := not (Sender as TCheckBox).Checked;
LRed.Enabled := not (Sender as TCheckBox).Checked;
LGreen.Enabled := not (Sender as TCheckBox).Checked;
LBlue.Enabled := not (Sender as TCheckBox).Checked;
bvlSpace2.Enabled := not (Sender as TCheckBox).Checked;
HSL.Enabled := not (Sender as TCheckBox).Checked;
ColorModel.Enabled := not (Sender as TCheckBox).Checked;
ERed.Enabled := not (Sender as TCheckBox).Checked;
EGreen.Enabled := not (Sender as TCheckBox).Checked;
EBlue.Enabled := not (Sender as TCheckBox).Checked;
end;
end.