jvcllaz: Activate and improve property editor for TJvFullColorList (belongs to TJvFullColorGroup).

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7090 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz 2019-07-31 15:54:59 +00:00
parent 88653ac32d
commit ac4d69639b
6 changed files with 299 additions and 109 deletions

View File

@ -1,192 +1,326 @@
object JvFullColorListFrm: TJvFullColorListFrm
Left = 389
Height = 394
Top = 285
Width = 457
AutoSize = True
BorderStyle = bsDialog
Caption = 'Color list editor'
ClientHeight = 398
ClientWidth = 422
ClientHeight = 394
ClientWidth = 457
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
OnShow = FormShow
Position = poScreenCenter
PixelsPerInch = 96
TextHeight = 13
LCLVersion = '2.1.0.0'
object ListBoxColors: TListBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 8
Height = 378
Top = 8
Width = 313
Height = 377
Style = lbOwnerDrawFixed
Width = 328
Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Around = 8
ItemHeight = 20
MultiSelect = True
TabOrder = 0
OnDrawItem = ListBoxColorsDrawItem
Style = lbOwnerDrawFixed
TabOrder = 0
end
object ButtonNew: TButton
Left = 336
Top = 8
Width = 75
AnchorSideLeft.Control = ButtonModify
AnchorSideTop.Control = ListBoxColors
AnchorSideRight.Control = ButtonModify
AnchorSideRight.Side = asrBottom
Left = 348
Height = 25
Top = 8
Width = 76
Action = ActionNew
Anchors = [akTop, akLeft, akRight]
AutoSize = True
TabOrder = 1
end
object ButtonModify: TButton
Left = 336
Top = 88
Width = 75
AnchorSideLeft.Control = ListBoxColors
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = ButtonInsert
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = ButtonNew
AnchorSideRight.Side = asrBottom
Left = 348
Height = 25
Top = 82
Width = 76
Action = ActionModify
AutoSize = True
BorderSpacing.Left = 12
BorderSpacing.Top = 12
BorderSpacing.Right = 8
TabOrder = 2
end
object ButtonDelete: TButton
Left = 336
Top = 128
Width = 75
AnchorSideLeft.Control = ButtonModify
AnchorSideTop.Control = ButtonModify
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = ButtonModify
AnchorSideRight.Side = asrBottom
Left = 348
Height = 25
Top = 119
Width = 76
Action = ActionDelete
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Top = 12
TabOrder = 3
end
object Button4: TButton
Left = 336
Top = 320
Width = 75
object ButtonCancel: TButton
AnchorSideLeft.Control = ButtonNew
AnchorSideTop.Control = ButtonOK
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = ButtonModify
AnchorSideRight.Side = asrBottom
Left = 348
Height = 25
Top = 306
Width = 76
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Top = 12
Cancel = True
Caption = '&Cancel'
ModalResult = 2
TabOrder = 4
end
object ButtonOK: TButton
Left = 336
Top = 280
Width = 75
AnchorSideLeft.Control = ButtonNew
AnchorSideTop.Control = BitBtnMoveDown
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = ButtonModify
AnchorSideRight.Side = asrBottom
Left = 348
Height = 25
Top = 269
Width = 76
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Top = 12
Caption = '&OK'
ModalResult = 1
TabOrder = 5
end
object BitBtnMoveUp: TBitBtn
Left = 336
Top = 208
Width = 25
Height = 25
AnchorSideLeft.Control = ButtonNew
AnchorSideTop.Control = ButtonClear
AnchorSideTop.Side = asrBottom
Left = 348
Height = 26
Top = 193
Width = 46
Action = ActionMoveUp
BorderSpacing.Top = 12
GlyphShowMode = gsmAlways
Spacing = 0
TabOrder = 6
Glyph.Data = {
76010000424D7601000000000000760000002800000020000000100000000100
04000000000000010000120B0000120B00001000000000000000000000000000
800000800000008080008000000080008000808000007F7F7F00BFBFBF000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333000333
3333333333777F33333333333309033333333333337F7F333333333333090333
33333333337F7F33333333333309033333333333337F7F333333333333090333
33333333337F7F33333333333309033333333333FF7F7FFFF333333000090000
3333333777737777F333333099999990333333373F3333373333333309999903
333333337F33337F33333333099999033333333373F333733333333330999033
3333333337F337F3333333333099903333333333373F37333333333333090333
33333333337F7F33333333333309033333333333337373333333333333303333
333333333337F333333333333330333333333333333733333333}
NumGlyphs = 2
end
object BitBtnMoveDown: TBitBtn
Left = 336
Top = 240
Width = 25
Height = 25
AnchorSideLeft.Control = ButtonNew
AnchorSideTop.Control = BitBtnMoveUp
AnchorSideTop.Side = asrBottom
Left = 348
Height = 26
Top = 231
Width = 46
Action = ActionMoveDown
BorderSpacing.Top = 12
GlyphShowMode = gsmAlways
Spacing = 0
TabOrder = 7
Glyph.Data = {
76010000424D7601000000000000760000002800000020000000100000000100
04000000000000010000120B0000120B00001000000000000000000000000000
800000800000008080008000000080008000808000007F7F7F00BFBFBF000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333303333
333333333337F33333333333333033333333333333373F333333333333090333
33333333337F7F33333333333309033333333333337373F33333333330999033
3333333337F337F33333333330999033333333333733373F3333333309999903
333333337F33337F33333333099999033333333373333373F333333099999990
33333337FFFF3FF7F33333300009000033333337777F77773333333333090333
33333333337F7F33333333333309033333333333337F7F333333333333090333
33333333337F7F33333333333309033333333333337F7F333333333333090333
33333333337F7F33333333333300033333333333337773333333}
NumGlyphs = 2
end
object ButtonApply: TButton
Left = 336
Top = 360
Width = 75
AnchorSideLeft.Control = ButtonNew
AnchorSideTop.Control = ButtonCancel
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = ButtonModify
AnchorSideRight.Side = asrBottom
Left = 348
Height = 25
Top = 343
Width = 76
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Top = 12
BorderSpacing.Bottom = 8
Caption = '&Apply'
TabOrder = 8
OnClick = ButtonApplyClick
TabOrder = 8
end
object Button1: TButton
Left = 336
Top = 168
Width = 75
object ButtonClear: TButton
AnchorSideLeft.Control = ButtonModify
AnchorSideTop.Control = ButtonDelete
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = ButtonModify
AnchorSideRight.Side = asrBottom
Left = 348
Height = 25
Top = 156
Width = 76
Action = ActionClear
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Top = 12
TabOrder = 9
end
object Button2: TButton
Left = 336
Top = 48
Width = 75
object ButtonInsert: TButton
AnchorSideLeft.Control = ButtonModify
AnchorSideTop.Control = ButtonNew
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = ButtonModify
AnchorSideRight.Side = asrBottom
Left = 348
Height = 25
Top = 45
Width = 76
Action = ActionInsert
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Top = 12
TabOrder = 10
end
object JvFullColorDialog: TJvFullColorDialog
FullColor = 83886079
HelpContext = 0
OnApply = JvFullColorDialogApply
Left = 88
Top = 88
left = 88
top = 88
end
object ActionList: TActionList
Left = 88
Top = 128
left = 88
top = 160
object ActionNew: TAction
Caption = '&New ...'
ShortCut = 16462
OnExecute = ActionNewExecute
OnUpdate = ActionNewUpdate
ShortCut = 16462
end
object ActionInsert: TAction
Caption = '&Insert'
ShortCut = 16457
OnExecute = ActionInsertExecute
OnUpdate = ActionInsertUpdate
ShortCut = 16457
end
object ActionModify: TAction
Caption = '&Modify ...'
ShortCut = 16461
OnExecute = ActionModifyExecute
OnUpdate = ActionModifyUpdate
ShortCut = 16461
end
object ActionDelete: TAction
Caption = 'D&elete'
ShortCut = 16453
OnExecute = ActionDeleteExecute
OnUpdate = ActionDeleteUpdate
ShortCut = 16453
end
object ActionClear: TAction
Caption = '&Clear'
ShortCut = 16451
OnExecute = ActionClearExecute
OnUpdate = ActionClearUpdate
ShortCut = 16451
end
object ActionMoveDown: TAction
ShortCut = 16452
OnExecute = ActionMoveDownExecute
OnUpdate = ActionMoveDownUpdate
ShortCut = 16452
end
object ActionMoveUp: TAction
ShortCut = 16469
OnExecute = ActionMoveUpExecute
OnUpdate = ActionMoveUpUpdate
ShortCut = 16469
end
end
object ImageList: TImageList
left = 204
top = 88
Bitmap = {
4C69020000001000000010000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF0042924AFF42924AFFFFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0042924AFF6ABD72FF6ABD72FF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF002062
230642924AFF6ABD72FF93E89AFF93E89AFF6ABD72FF42924AFF3C8A4306FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004292
4AFF6ABD72FF93E89AFF93E89AFF93E89AFF93E89AFF6ABD72FF42924AFFFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0042924AFF4292
4AFF42924AFF42924AFF93E89AFF93E89AFF42924AFF42924AFF42924AFF4292
4AFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0042924AFF93E89AFF93E89AFF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0042924AFF93E89AFF93E89AFF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0042924AFF93E89AFF93E89AFF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0042924AFF93E89AFF93E89AFF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0042924AFF93E89AFF93E89AFF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0042924AFF93E89AFF93E89AFF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0042924AFF93E89AFF93E89AFF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0042924AFF93E89AFF93E89AFF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0042924AFF42924AFF42924AFF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0042924AFF42924AFF42924AFF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0042924AFF93E89AFF93E89AFF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0042924AFF93E89AFF93E89AFF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0042924AFF93E89AFF93E89AFF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0042924AFF93E89AFF93E89AFF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0042924AFF93E89AFF93E89AFF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0042924AFF93E89AFF93E89AFF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0042924AFF93E89AFF93E89AFF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0042924AFF93E89AFF93E89AFF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0042924AFF4292
4AFF42924AFF42924AFF93E89AFF93E89AFF42924AFF42924AFF42924AFF4292
4AFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004292
4AFF6ABD72FF93E89AFF93E89AFF93E89AFF93E89AFF6ABD72FF42924AFFFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003C8A
430642924AFF6ABD72FF93E89AFF93E89AFF6ABD72FF42924AFF20622306FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0042924AFF6ABD72FF6ABD72FF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF0042924AFF42924AFFFFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00
}
BitmapAdv = {
4C69010000004C7A020000002000000020000000D30000000000000078DAEDD9
410AC2301085E1AE7A0EA1D770A53B8FD1A54B8FE15277DEA5F7F116CA140A12
9AD484C94C947F6096E57BB44D68275D4795D6E1767A497BD9E7E932B77586C5
BE3F1F735B66086DCB0C31BB6686DD38F4D25B7698617F3DF6D21AFEB7F65A86
DAF7BCE6B328B535322C7BCB5AC7BCD4359976AAB7FCE8B55A6B30E55BEC3FF8
F8F8F8F8F8F8F6BED6770E45FDDAFBC7FAC7C7C7C7C7C7FF4FBF85F99BE7FCB1
85F96B0BF3672999A197CEDF6576AFE1E764F8B435FC9C67E17906E47906E679
06E861877B147FA5E5F5068FB5A754
}
end
end

View File

@ -35,7 +35,11 @@ uses
JvFullColorSpaces, JvFullColorDialogs, JvFullColorCtrls;
type
{ TJvFullColorListFrm }
TJvFullColorListFrm = class(TForm)
ImageList: TImageList;
JvFullColorDialog: TJvFullColorDialog;
ListBoxColors: TListBox;
ActionList: TActionList;
@ -45,16 +49,16 @@ type
ButtonNew: TButton;
ButtonModify: TButton;
ButtonDelete: TButton;
Button4: TButton;
ButtonCancel: TButton;
ButtonOK: TButton;
BitBtnMoveUp: TBitBtn;
ActionMoveUp: TAction;
ActionMoveDown: TAction;
BitBtnMoveDown: TBitBtn;
ButtonApply: TButton;
Button1: TButton;
ButtonClear: TButton;
ActionClear: TAction;
Button2: TButton;
ButtonInsert: TButton;
ActionInsert: TAction;
procedure ActionNewUpdate(Sender: TObject);
procedure ActionModifyUpdate(Sender: TObject);
@ -71,6 +75,8 @@ type
procedure ActionMoveUpExecute(Sender: TObject);
procedure ActionMoveDownExecute(Sender: TObject);
procedure ButtonApplyClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure JvFullColorDialogApply(Sender: TObject;
AFullColor: TJvFullColor);
procedure ListBoxColorsDrawItem(Control: TWinControl; Index: Integer;
@ -94,6 +100,7 @@ var
implementation
uses
Math, LCLType, LCLIntf, LCLVersion,
JvDsgnConsts;
{$R *.lfm}
@ -195,8 +202,10 @@ end;
procedure TJvFullColorListFrm.ActionNewExecute(Sender: TObject);
begin
JvFullColorDialog.Options := JvFullColorDialog.Options - [foShowApply];
if JvFullColorDialog.Execute then
if JvFullColorDialog.Execute then begin
ListBoxColors.Items.AddObject('', TObject(JvFullColorDialog.FullColor));
ListBoxColors.ItemIndex := ListBoxColors.Items.Count-1;
end;
end;
procedure TJvFullColorListFrm.ActionNewUpdate(Sender: TObject);
@ -209,6 +218,40 @@ begin
Result := (ShowModal = mrOK);
end;
procedure TJvFullColorListFrm.FormCreate(Sender: TObject);
begin
BitBtnMoveUp.Width := BitBtnMoveUp.Height;
BitBtnMoveDown.Width := BitBtnMoveDown.Height;
{$IF LCL_FullVersion >= 2000000}
BitBtnMoveUp.Images := ImageList;
BitBtnMoveUp.ImageIndex := 0;
BitBtnMoveDown.Images := ImageList;
BitBtnMoveDown.ImageIndex := 1;
{$ELSE}
ImageList.GetBitmap(0, BitBtnMoveUp.Glyph);
ImageList.GetBitmap(1, BitBtnMoveDown.Glyph);
{$IFEND}
end;
procedure TJvFullColorListFrm.FormShow(Sender: TObject);
var
i, w: Integer;
s: string;
cs: TJvColorSpace;
begin
w := 0;
ListBoxColors.Canvas.Font.Assign(ListboxColors.Font);
for i := 0 to ColorSpaceManager.Count-1 do begin;
with ColorSpaceManager.ColorSpaceByIndex[i] do
if ID <> csDEF then begin
s := Format('%s: %s = $FF; %s = $FF; %s = $FF',
[ Name, AxisName[axIndex0], AxisName[axIndex1], AxisName[axIndex2] ]);
w := Max(w, ListBoxColors.Canvas.TextWidth(s));
end;
end;
ListBoxColors.ClientWidth := w + ListBoxColors.ItemHeight + GetSystemMetrics(SM_CXVSCROLL) + 8;
end;
function TJvFullColorListFrm.GetColorList: TJvFullColorList;
var
Index: Integer;
@ -257,8 +300,6 @@ var
begin
with TListBox(Control), Canvas do
begin
if odSelected in State then
Font.Color := clCaptionText;
Pen.Style := psSolid;
Pen.Color := Brush.Color;
Brush.Style := bsSolid;

View File

@ -137,6 +137,7 @@ type
procedure RequiresUnits(Proc: TGetStrProc); override;
procedure PrepareItem(Index: Integer; const AItem: IMenuItem); override;
end;
**********************)
TJvFullColorListEditor = class(TClassProperty)
public
@ -145,7 +146,6 @@ type
function AllEqual: Boolean; override;
procedure FormApply(Sender: TObject);
end;
**********************)
procedure RegisterFullColorSpaceEditor(AColorSpaceID: TJvFullColorSpaceID;
AEditorClass: TJvFullColorSpacePropertyClass);
@ -160,7 +160,7 @@ implementation
uses
Math, SysUtils, TypInfo, Forms,
JvFullColorDialogs;
JvFullColorCtrls, JvFullColorDialogs, JvFullColorListForm;
const
COLOR_PREVIEW_RECT = 16;
@ -639,6 +639,7 @@ begin
for I := 0 to Count - 1 do
RequireClass(Proc, ColorSpaceByIndex[I].ClassType);
end;
*************************)
//=== { TJvFullColorListEditor } =============================================
@ -678,7 +679,7 @@ begin
if FullColorList.IndexOf(Items[IndexColor]) = -1 then
FullColorList.Add(Items[IndexColor]);
FullColorListForm.OnApply := FormApply;
FullColorListForm.OnApply := @FormApply;
FullColorListForm.ColorList := FullColorList;
if FullColorListForm.Execute then
FormApply(FullColorListForm);
@ -697,9 +698,8 @@ end;
function TJvFullColorListEditor.GetAttributes: TPropertyAttributes;
begin
Result := [paDialog, paVCL, paMultiSelect];
Result := [paDialog, {paVCL, } paMultiSelect];
end;
********************)
var
GFullColorSpaceEditorArray: array of TJvFullColorSpacePropertyClass;

View File

@ -25,9 +25,7 @@ uses
procedure Register;
begin
RegisterComponents(RsPaletteJvclVisual, [
TJvAnimatedImage,
TJvBmpAnimator,
TjvPicClip,
TJvAnimatedImage, TJvBmpAnimator, TJvPicClip,
TJvGradient, TJvGradientHeaderPanel,
TJvSpecialProgress,
TJvFullColorPanel, TJvFullColorTrackBar, TJvFullColorGroup, TJvFullColorLabel,
@ -44,8 +42,8 @@ begin
RegisterPropertyEditor(TypeInfo(TJvFullColorSpaceID), nil, '', TJvColorIDEditor);
RegisterPropertyEditor(TypeInfo(TJvFullColor), nil, '', TJvFullColorProperty);
{
RegisterPropertyEditor(TypeInfo(TJvFullColorList), nil, '', TJvFullColorListEditor);
{
RegisterSelectionEditor(TJvFullColorPanel, TJvFullColorSelection);
RegisterSelectionEditor(TJvFullColorCircle, TJvFullColorSelection);
RegisterSelectionEditor(TJvFullColorLabel, TJvFullColorSelection);

View File

@ -17,7 +17,7 @@
<Description Value="JVCL Multimedia and image components (Design-time package):
bmp animator, id3v1 and id3v2 tags, full color components and dialogs, gradient, gradient header, special progress bar, animated image"/>
<Version Major="1" Release="6"/>
<Files Count="5">
<Files Count="6">
<Item1>
<Filename Value="..\design\JvMM\jvmmreg.pas"/>
<HasRegisterProc Value="True"/>
@ -39,6 +39,10 @@ bmp animator, id3v1 and id3v2 tags, full color components and dialogs, gradient
<Filename Value="..\design\JvMM\jvfullcolorspaceseditors.pas"/>
<UnitName Value="JvFullColorSpacesEditors"/>
</Item5>
<Item6>
<Filename Value="..\design\JvMM\jvfullcolorlistform.pas"/>
<UnitName Value="JvFullColorListForm"/>
</Item6>
</Files>
<RequiredPkgs Count="4">
<Item1>

View File

@ -31,7 +31,6 @@ interface
uses
LCLIntf, LCLType, LMessages,
//Windows, Messages,
SysUtils, Classes, Controls, Graphics,
ComCtrls, StdCtrls, ExtCtrls, Types,
//JvJCLUtils,
@ -681,6 +680,7 @@ type
procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
procedure CalcRects(out XPos, YPos, XInc, YInc: Integer);
procedure InvalidateIndex(AIndex: Integer);
class function GetControlClassDefaultSize: TSize; override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
@ -708,6 +708,7 @@ type
property Align;
property Anchors;
property BorderSpacing;
property BorderStyle default bsSingle;
property BorderWidth;
property Color;
property Constraints;
@ -3422,11 +3423,15 @@ begin
FSquareSize := 6;
FSelectedIndex := -1;
FMouseIndex := -1;
(*************** NOT CONVERTED ***
BevelKind := bkTile;
*********************************)
Width := 100;
Height := 100;
BorderStyle := bsSingle; // instead of BevelKind
// setup default sizes
with GetControlClassDefaultSize do
SetInitialBounds(0, 0, CX, CY);
end;
destructor TJvFullColorGroup.Destroy;
@ -3450,6 +3455,12 @@ begin
YPos := ((YOffset - (YInc * (RowCount - 1))) div 2) + 1;
end;
class function TJvFullColorGroup.GetControlClassDefaultSize: TSize;
begin
Result.CX := 100;
Result.CY := 100;
end;
procedure TJvFullColorGroup.ItemsChange(Sender: TObject; Index: Integer;
Operation: TJvFullColorListOperation);
begin
@ -3765,7 +3776,7 @@ begin
else
Inc(X, XInc + FSquareSize);
end;
(* wp: what is this good for? Draws strange borders.
with Canvas do
begin
Brush.Style := bsSolid;
@ -3780,6 +3791,7 @@ begin
Min(lClipRect.Right, Self.Width - 2),
Min(Y, Self.Height - 2)
);
X := XOffset;
for IndexX := 0 to ColCount do
begin
@ -3798,6 +3810,7 @@ begin
Inc(Y, YInc + FSquareSize);
end;
end;
*)
end;
procedure TJvFullColorGroup.SetEdge(const Value: TJvFullColorEdge);