mbColorLib: Fix keyboard handling of all colorLib components (arrow keys stay within control and don't focus next control any more).

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5541 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2016-12-19 21:36:01 +00:00
parent c75b85e42a
commit 32710fa5af
19 changed files with 1007 additions and 492 deletions

View File

@@ -58,7 +58,6 @@
</SearchPaths>
<Linking>
<Debugging>
<UseHeaptrc Value="True"/>
<UseExternalDbgSyms Value="True"/>
</Debugging>
<Options>

View File

@@ -43,9 +43,9 @@ object Form1: TForm1
Height = 384
Top = 6
Width = 403
ActivePage = TabSheet1
ActivePage = TabSheet5
Anchors = [akTop, akLeft, akRight, akBottom]
TabIndex = 0
TabIndex = 4
TabOrder = 0
OnChange = PageControl1Change
OnMouseMove = PageControl1MouseMove
@@ -720,9 +720,9 @@ object Form1: TForm1
Anchors = [akLeft, akRight, akBottom]
TabOrder = 2
Hue = 0
Saturation = 51
Saturation = 0
Luminance = 240
SelectedColor = clWhite
SelectedColor = 6579300
end
object VColorPicker1: TVColorPicker
Left = 34
@@ -1027,6 +1027,7 @@ object Form1: TForm1
Width = 100
HintFormat = 'G: %g B: %b'#13'Hex: #%hex'
TabOrder = 0
OnChange = RAxisColorPicker1Change
end
object GAxisColorPicker1: TGAxisColorPicker
Left = 130
@@ -1036,6 +1037,7 @@ object Form1: TForm1
HintFormat = 'R: %r B: %b'#13'Hex: #%hex'
TabOrder = 1
MarkerStyle = msCross
OnChange = GAxisColorPicker1Change
end
object BAxisColorPicker1: TBAxisColorPicker
Left = 250
@@ -1045,11 +1047,12 @@ object Form1: TForm1
HintFormat = 'R: %r G: %g'#13'Hex: #%hex'
TabOrder = 2
MarkerStyle = msCrossCirc
OnChange = BAxisColorPicker1Change
end
object CIELColorPicker1: TCIELColorPicker
Left = 10
Height = 100
Top = 164
Top = 188
Width = 100
SelectedColor = 16119089
HintFormat = 'A: %cieA B: %cieB'#13'Hex: #%hex'
@@ -1057,11 +1060,12 @@ object Form1: TForm1
LValue = 88
AValue = -47
BValue = -32
OnChange = CIELColorPicker1Change
end
object CIEAColorPicker1: TCIEAColorPicker
Left = 130
Height = 100
Top = 164
Top = 188
Width = 100
SelectedColor = 16515327
HintFormat = 'L: %cieL B: %cieB'#13'Hex: #%hex'
@@ -1070,11 +1074,12 @@ object Form1: TForm1
AValue = 96
BValue = -78
MarkerStyle = msSquare
OnChange = CIEAColorPicker1Change
end
object CIEBColorPicker1: TCIEBColorPicker
Left = 250
Height = 100
Top = 164
Top = 188
Width = 100
SelectedColor = 130823
HintFormat = 'L: %cieL A: %cieA'#13'Hex: #%hex'
@@ -1082,6 +1087,7 @@ object Form1: TForm1
LValue = 88
AValue = -88
BValue = 74
OnChange = CIEBColorPicker1Change
end
object Label10: TLabel
Left = 130
@@ -1110,7 +1116,7 @@ object Form1: TForm1
object Label13: TLabel
Left = 10
Height = 15
Top = 144
Top = 168
Width = 84
Caption = 'CIELColorPicker'
ParentColor = False
@@ -1118,7 +1124,7 @@ object Form1: TForm1
object Label14: TLabel
Left = 130
Height = 15
Top = 144
Top = 168
Width = 86
Caption = 'CIEAColorPicker'
ParentColor = False
@@ -1126,11 +1132,47 @@ object Form1: TForm1
object Label15: TLabel
Left = 250
Height = 15
Top = 144
Top = 168
Width = 85
Caption = 'CIEBColorPicker'
ParentColor = False
end
object RAxisIndicator: TShape
Left = 88
Height = 21
Top = 132
Width = 22
end
object GAxisIndicator: TShape
Left = 208
Height = 21
Top = 132
Width = 22
end
object BAxisIndicator: TShape
Left = 328
Height = 21
Top = 132
Width = 22
end
object CIEBIndicator: TShape
Left = 328
Height = 21
Top = 296
Width = 22
end
object CIEAIndicator: TShape
Left = 208
Height = 21
Top = 296
Width = 22
end
object CIELIndicator: TShape
Left = 88
Height = 21
Top = 296
Width = 22
end
end
end
object sc: TmbColorPreview
@@ -1182,7 +1224,7 @@ object Form1: TForm1
Anchors = [akTop, akRight]
Caption = 'WebSafe'
OnClick = CbWebSsafeClick
TabOrder = 5
TabOrder = 6
end
object CbSwatchStyle: TCheckBox
Left = 416
@@ -1192,7 +1234,7 @@ object Form1: TForm1
Anchors = [akTop, akRight]
Caption = 'SwatchStyle'
OnClick = CbSwatchStyleClick
TabOrder = 6
TabOrder = 5
end
object CbShowHints: TCheckBox
Left = 416

View File

@@ -5,7 +5,7 @@ interface
uses
LCLIntf, LCLType, LMessages, SysUtils, Variants,Classes, Graphics, Controls,
Forms, Dialogs, HSLColorPicker, ComCtrls, StdCtrls, mbColorPreview,
Forms, Dialogs, HSLColorPicker, ComCtrls, StdCtrls, ExtCtrls, mbColorPreview,
HexaColorPicker, mbColorPalette, HSLRingPicker, HSVColorPicker, PalUtils,
SLHColorPicker, mbDeskPickerButton, mbOfficeColorDialog, SColorPicker,
HColorPicker, VColorPicker, mbTrackBarPicker, LColorPicker, HRingPicker,
@@ -20,8 +20,10 @@ type
{ TForm1 }
TForm1 = class(TForm)
CIEBIndicator: TShape;
CbShowHints: TCheckBox;
CbEnabled: TCheckBox;
CIEAIndicator: TShape;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
@@ -29,6 +31,10 @@ type
Label14: TLabel;
Label15: TLabel;
PageControl1: TPageControl;
RAxisIndicator: TShape;
GAxisIndicator: TShape;
BAxisIndicator: TShape;
CIELIndicator: TShape;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
@@ -105,13 +111,19 @@ type
Memo1: TMemo;
Label9: TLabel;
CbSwatchStyle: TCheckBox;
procedure BAxisColorPicker1Change(Sender: TObject);
procedure CbEnabledChange(Sender: TObject);
procedure CbShowHintsChange(Sender: TObject);
procedure CIEAColorPicker1Change(Sender: TObject);
procedure CIEBColorPicker1Change(Sender: TObject);
procedure CIELColorPicker1Change(Sender: TObject);
procedure GAxisColorPicker1Change(Sender: TObject);
procedure HColorPicker1GetHintStr(Sender: TObject; X, Y: Integer;
var AText: String);
procedure PageControl1Change(Sender: TObject);
procedure PageControl1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure RAxisColorPicker1Change(Sender: TObject);
procedure tb1Change(Sender: TObject);
procedure tb2Change(Sender: TObject);
procedure HSLColorPicker1Change(Sender: TObject);
@@ -208,6 +220,11 @@ begin
uc.color := hexacolorpicker1.ColorUnderCursor;
end;
procedure TForm1.BAxisColorPicker1Change(Sender: TObject);
begin
BAxisIndicator.Brush.Color := BAxisColorPicker1.SelectedColor;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
mbColorPalette1.GeneratePalette(clblue);
@@ -281,6 +298,11 @@ begin
uc.color := HSLColorpicker1.ColorUnderCursor;
end;
procedure TForm1.RAxisColorPicker1Change(Sender: TObject);
begin
RAxisIndicator.Brush.Color := RAxisColorPicker1.SelectedColor;
end;
procedure TForm1.OfficeColorDialogButtonClick(Sender: TObject);
begin
if mbOfficeColorDialog1.Execute then
@@ -341,6 +363,11 @@ begin
end;
end;
procedure TForm1.GAxisColorPicker1Change(Sender: TObject);
begin
GAxisIndicator.Brush.Color := GAxisColorPicker1.SelectedColor;
end;
procedure TForm1.HColorPicker1GetHintStr(Sender: TObject; X, Y: Integer;
var AText: String);
begin
@@ -362,6 +389,21 @@ begin
hexacolorpicker1.NewArrowStyle := checkbox2.checked;
end;
procedure TForm1.CIEAColorPicker1Change(Sender: TObject);
begin
CIEAIndicator.Brush.Color := CIEAColorPicker1.SelectedColor;
end;
procedure TForm1.CIEBColorPicker1Change(Sender: TObject);
begin
CIEBIndicator.Brush.Color := CIEBColorPicker1.SelectedColor;
end;
procedure TForm1.CIELColorPicker1Change(Sender: TObject);
begin
CIELIndicator.Brush.Color := CIELColorPicker1.SelectedColor;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if opendialog1.Execute then