- correct hints of CheckListBox editor
- improve look and feel of CheckGroup editor

git-svn-id: trunk@15327 -
This commit is contained in:
paul 2008-06-06 02:36:55 +00:00
parent 57660dab8c
commit 31b6def3f0
6 changed files with 404 additions and 307 deletions

View File

@ -1,27 +1,28 @@
object CheckGroupEditorDlg: TCheckGroupEditorDlg object CheckGroupEditorDlg: TCheckGroupEditorDlg
Left = 238 Left = 394
Height = 300 Height = 300
Top = 170 Top = 195
Width = 608 Width = 608
HorzScrollBar.Page = 607 HorzScrollBar.Page = 607
VertScrollBar.Page = 299 VertScrollBar.Page = 299
ActiveControl = BtnAdd
BorderIcons = [biSystemMenu] BorderIcons = [biSystemMenu]
BorderStyle = bsDialog BorderStyle = bsDialog
Caption = 'CheckGroupEditorDlg' Caption = 'CheckGroupEditorDlg'
ClientHeight = 300 ClientHeight = 300
ClientWidth = 608 ClientWidth = 608
OnCreate = FormCreate
LCLVersion = '0.9.25'
object ColumnsLabel: TLabel object ColumnsLabel: TLabel
Left = 369 Left = 369
Height = 20 Height = 14
Top = 80 Top = 80
Width = 91 Width = 66
Caption = 'ColumnsLabel' Caption = 'ColumnsLabel'
ParentColor = False ParentColor = False
end end
object FCheck: TCheckGroup object FCheck: TCheckGroup
Height = 217 Height = 236
Top = 35 Top = 26
Width = 360 Width = 360
Align = alLeft Align = alLeft
AutoFill = True AutoFill = True
@ -38,112 +39,16 @@ object CheckGroupEditorDlg: TCheckGroupEditorDlg
PopupMenu = FPopupMenu PopupMenu = FPopupMenu
TabOrder = 0 TabOrder = 0
end end
object FPanelButtons: TPanel
Height = 35
Width = 608
Align = alTop
AutoSize = True
BevelInner = bvLowered
ClientHeight = 35
ClientWidth = 608
TabOrder = 1
object LabelDisable: TLabel
AnchorSideLeft.Control = BtnModify
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = BtnModify
AnchorSideTop.Side = asrCenter
Left = 355
Height = 20
Top = 10
Width = 82
BorderSpacing.Left = 6
Caption = 'LabelDisable'
Font.Color = clHotLight
ParentColor = False
end
object BtnAdd: TButton
AnchorSideLeft.Control = FPanelButtons
AnchorSideTop.Control = FPanelButtons
Left = 6
Height = 29
Top = 6
Width = 59
AutoSize = True
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'BtnAdd'
OnClick = AddItem
TabOrder = 0
end
object BtnDelete: TButton
AnchorSideLeft.Control = BtnAdd
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = FPanelButtons
Left = 65
Height = 29
Top = 6
Width = 76
AutoSize = True
BorderSpacing.Top = 6
Caption = 'BtnDelete'
OnClick = DeleteItem
TabOrder = 1
end
object BtnUp: TButton
AnchorSideLeft.Control = BtnDelete
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = FPanelButtons
Left = 147
Height = 29
Top = 6
Width = 52
AutoSize = True
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'BtnUp'
OnClick = MoveUpItem
TabOrder = 2
end
object BtnDown: TButton
AnchorSideLeft.Control = BtnUp
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = FPanelButtons
Left = 199
Height = 29
Top = 6
Width = 69
AutoSize = True
BorderSpacing.Top = 6
Caption = 'BtnDown'
OnClick = MoveDownItem
TabOrder = 3
end
object BtnModify: TButton
AnchorSideLeft.Control = BtnDown
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = FPanelButtons
Left = 274
Height = 29
Top = 6
Width = 75
AutoSize = True
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'BtnModify'
OnClick = ModifyItem
TabOrder = 4
end
end
object FPanelOKCancel: TPanel object FPanelOKCancel: TPanel
Height = 48 Height = 38
Top = 252 Top = 262
Width = 608 Width = 608
Align = alBottom Align = alBottom
AutoSize = True AutoSize = True
BevelInner = bvLowered BevelInner = bvLowered
ClientHeight = 48 ClientHeight = 38
ClientWidth = 608 ClientWidth = 608
TabOrder = 2 TabOrder = 1
object BtnHelp: TBitBtn object BtnHelp: TBitBtn
AnchorSideTop.Control = FPanelOKCancel AnchorSideTop.Control = FPanelOKCancel
AnchorSideRight.Control = FPanelOKCancel AnchorSideRight.Control = FPanelOKCancel
@ -151,7 +56,7 @@ object CheckGroupEditorDlg: TCheckGroupEditorDlg
AnchorSideBottom.Control = FPanelOKCancel AnchorSideBottom.Control = FPanelOKCancel
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 512 Left = 512
Height = 36 Height = 26
Top = 6 Top = 6
Width = 90 Width = 90
Anchors = [akTop, akRight, akBottom] Anchors = [akTop, akRight, akBottom]
@ -169,7 +74,7 @@ object CheckGroupEditorDlg: TCheckGroupEditorDlg
AnchorSideBottom.Control = FPanelOKCancel AnchorSideBottom.Control = FPanelOKCancel
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 416 Left = 416
Height = 36 Height = 26
Top = 6 Top = 6
Width = 90 Width = 90
Anchors = [akTop, akRight, akBottom] Anchors = [akTop, akRight, akBottom]
@ -187,7 +92,7 @@ object CheckGroupEditorDlg: TCheckGroupEditorDlg
AnchorSideBottom.Control = FPanelOKCancel AnchorSideBottom.Control = FPanelOKCancel
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 320 Left = 320
Height = 36 Height = 26
Top = 6 Top = 6
Width = 90 Width = 90
Anchors = [akTop, akRight, akBottom] Anchors = [akTop, akRight, akBottom]
@ -206,7 +111,7 @@ object CheckGroupEditorDlg: TCheckGroupEditorDlg
AnchorSideBottom.Control = FPanelOKCancel AnchorSideBottom.Control = FPanelOKCancel
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 224 Left = 224
Height = 36 Height = 26
Top = 6 Top = 6
Width = 90 Width = 90
Anchors = [akTop, akRight, akBottom] Anchors = [akTop, akRight, akBottom]
@ -225,7 +130,7 @@ object CheckGroupEditorDlg: TCheckGroupEditorDlg
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 368 Left = 368
Height = 22 Height = 19
Top = 48 Top = 48
Width = 234 Width = 234
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
@ -233,7 +138,7 @@ object CheckGroupEditorDlg: TCheckGroupEditorDlg
Caption = 'DuplicateCheckBox' Caption = 'DuplicateCheckBox'
Checked = True Checked = True
State = cbChecked State = cbChecked
TabOrder = 3 TabOrder = 2
end end
object ColumnsEdit: TEdit object ColumnsEdit: TEdit
Left = 368 Left = 368
@ -244,7 +149,7 @@ object CheckGroupEditorDlg: TCheckGroupEditorDlg
OnChange = ColumnsEditChange OnChange = ColumnsEditChange
OnKeyDown = nil OnKeyDown = nil
ReadOnly = True ReadOnly = True
TabOrder = 4 TabOrder = 3
Text = '1' Text = '1'
end end
object ColumnsUpDown: TUpDown object ColumnsUpDown: TUpDown
@ -255,6 +160,79 @@ object CheckGroupEditorDlg: TCheckGroupEditorDlg
Associate = ColumnsEdit Associate = ColumnsEdit
Min = 1 Min = 1
Position = 1 Position = 1
TabOrder = 4
end
object ToolBar: TToolBar
Height = 26
Width = 608
Caption = 'ToolBar'
Flat = True
TabOrder = 5
object tbAdd: TToolButton
Left = 1
Top = 2
Caption = 'tbAdd'
ParentShowHint = False
ShowHint = True
OnClick = AddItem
end
object tbDelete: TToolButton
Left = 24
Top = 2
Caption = 'tbDelete'
ParentShowHint = False
ShowHint = True
OnClick = DeleteItem
end
object ToolButton3: TToolButton
Left = 47
Top = 2
Width = 3
Caption = 'ToolButton3'
Style = tbsDivider
end
object tbUp: TToolButton
Left = 50
Top = 2
Caption = 'tbUp'
ParentShowHint = False
ShowHint = True
OnClick = MoveUpItem
end
object tbDown: TToolButton
Left = 73
Top = 2
Caption = 'tbDown'
ParentShowHint = False
ShowHint = True
OnClick = MoveDownItem
end
object ToolButton6: TToolButton
Left = 96
Top = 2
Width = 3
Caption = 'ToolButton6'
Style = tbsDivider
end
object tbEdit: TToolButton
Left = 99
Top = 2
Caption = 'tbEdit'
ParentShowHint = False
ShowHint = True
OnClick = ModifyItem
end
object LabelDisable: TLabel
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Side = asrBottom
Left = 122
Height = 22
Top = 2
Width = 60
Caption = 'LabelDisable'
Font.Color = clHotLight
ParentColor = False
end
end end
object FPopupMenu: TPopupMenu object FPopupMenu: TPopupMenu
OnPopup = CreateItems OnPopup = CreateItems

View File

@ -1,87 +1,149 @@
{ This is an automatically generated lazarus resource file } { This is an automatically generated lazarus resource file }
LazarusResources.Add('TCheckGroupEditorDlg','FORMDATA',[ LazarusResources.Add('TCheckGroupEditorDlg','FORMDATA',[
'TPF0'#20'TCheckGroupEditorDlg'#19'CheckGroupEditorDlg'#4'Left'#3#238#0#6'Hei' 'TPF0'#20'TCheckGroupEditorDlg'#19'CheckGroupEditorDlg'#4'Left'#3#138#1#6'Hei'
+'ght'#3','#1#3'Top'#3#170#0#5'Width'#3'`'#2#18'HorzScrollBar.Page'#3'_'#2#18 +'ght'#3','#1#3'Top'#3#195#0#5'Width'#3'`'#2#18'HorzScrollBar.Page'#3'_'#2#18
+'VertScrollBar.Page'#3'+'#1#13'ActiveControl'#7#6'BtnAdd'#11'BorderIcons'#11 +'VertScrollBar.Page'#3'+'#1#11'BorderIcons'#11#12'biSystemMenu'#0#11'BorderS'
+#12'biSystemMenu'#0#11'BorderStyle'#7#8'bsDialog'#7'Caption'#6#19'CheckGroup' +'tyle'#7#8'bsDialog'#7'Caption'#6#19'CheckGroupEditorDlg'#12'ClientHeight'#3
+'EditorDlg'#12'ClientHeight'#3','#1#11'ClientWidth'#3'`'#2#0#6'TLabel'#12'Co' +','#1#11'ClientWidth'#3'`'#2#8'OnCreate'#7#10'FormCreate'#10'LCLVersion'#6#6
+'lumnsLabel'#4'Left'#3'q'#1#6'Height'#2#20#3'Top'#2'P'#5'Width'#2'['#7'Capti' +'0.9.25'#0#6'TLabel'#12'ColumnsLabel'#4'Left'#3'q'#1#6'Height'#2#14#3'Top'#2
+'on'#6#12'ColumnsLabel'#11'ParentColor'#8#0#0#11'TCheckGroup'#6'FCheck'#6'He' +'P'#5'Width'#2'B'#7'Caption'#6#12'ColumnsLabel'#11'ParentColor'#8#0#0#11'TCh'
+'ight'#3#217#0#3'Top'#2'#'#5'Width'#3'h'#1#5'Align'#7#6'alLeft'#8'AutoFill'#9 +'eckGroup'#6'FCheck'#6'Height'#3#236#0#3'Top'#2#26#5'Width'#3'h'#1#5'Align'#7
+#7'Caption'#6#6'FCheck'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.' +#6'alLeft'#8'AutoFill'#9#7'Caption'#6#6'FCheck'#28'ChildSizing.LeftRightSpac'
+'TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousC' +'ing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizon'
+'hildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResize' +'tal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'cr'
+#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.Shrink' +'sHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChild'
+'Vertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightTh' +'s'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layou'
+'enTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1#11'OnItemClick'#7#9'Item' +'t'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1
+'Click'#9'PopupMenu'#7#10'FPopupMenu'#8'TabOrder'#2#0#0#0#6'TPanel'#13'FPane' +#11'OnItemClick'#7#9'ItemClick'#9'PopupMenu'#7#10'FPopupMenu'#8'TabOrder'#2#0
+'lButtons'#6'Height'#2'#'#5'Width'#3'`'#2#5'Align'#7#5'alTop'#8'AutoSize'#9 +#0#0#6'TPanel'#14'FPanelOKCancel'#6'Height'#2'&'#3'Top'#3#6#1#5'Width'#3'`'#2
+#10'BevelInner'#7#9'bvLowered'#12'ClientHeight'#2'#'#11'ClientWidth'#3'`'#2#8 +#5'Align'#7#8'alBottom'#8'AutoSize'#9#10'BevelInner'#7#9'bvLowered'#12'Clien'
+'TabOrder'#2#1#0#6'TLabel'#12'LabelDisable'#22'AnchorSideLeft.Control'#7#9'B' +'tHeight'#2'&'#11'ClientWidth'#3'`'#2#8'TabOrder'#2#1#0#7'TBitBtn'#7'BtnHelp'
+'tnModify'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7 +#21'AnchorSideTop.Control'#7#14'FPanelOKCancel'#23'AnchorSideRight.Control'#7
+#9'BtnModify'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#3'c'#1#6'Height' +#14'FPanelOKCancel'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBot'
+#2#20#3'Top'#2#10#5'Width'#2'R'#18'BorderSpacing.Left'#2#6#7'Caption'#6#12'L' +'tom.Control'#7#14'FPanelOKCancel'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4
+'abelDisable'#10'Font.Color'#7#10'clHotLight'#11'ParentColor'#8#0#0#7'TButto' +'Left'#3#0#2#6'Height'#2#26#3'Top'#2#6#5'Width'#2'Z'#7'Anchors'#11#5'akTop'#7
+'n'#6'BtnAdd'#22'AnchorSideLeft.Control'#7#13'FPanelButtons'#21'AnchorSideTo' +'akRight'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'
+'p.Control'#7#13'FPanelButtons'#4'Left'#2#6#6'Height'#2#29#3'Top'#2#6#5'Widt' +#6#5'&Help'#20'Constraints.MinWidth'#2'Z'#4'Kind'#7#6'bkHelp'#9'NumGlyphs'#2
+'h'#2';'#8'AutoSize'#9#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#7 +#0#8'TabOrder'#2#0#0#0#7'TBitBtn'#8'BtnApply'#21'AnchorSideTop.Control'#7#14
+'Caption'#6#6'BtnAdd'#7'OnClick'#7#7'AddItem'#8'TabOrder'#2#0#0#0#7'TButton' +'FPanelOKCancel'#23'AnchorSideRight.Control'#7#7'BtnHelp'#24'AnchorSideBotto'
+#9'BtnDelete'#22'AnchorSideLeft.Control'#7#6'BtnAdd'#19'AnchorSideLeft.Side' +'m.Control'#7#14'FPanelOKCancel'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4
+#7#9'asrBottom'#21'AnchorSideTop.Control'#7#13'FPanelButtons'#4'Left'#2'A'#6 +'Left'#3#160#1#6'Height'#2#26#3'Top'#2#6#5'Width'#2'Z'#7'Anchors'#11#5'akTop'
+'Height'#2#29#3'Top'#2#6#5'Width'#2'L'#8'AutoSize'#9#17'BorderSpacing.Top'#2 +#7'akRight'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Capti'
+#6#7'Caption'#6#9'BtnDelete'#7'OnClick'#7#10'DeleteItem'#8'TabOrder'#2#1#0#0 +'on'#6#6'&Apply'#20'Constraints.MinWidth'#2'Z'#9'NumGlyphs'#2#0#7'OnClick'#7
+#7'TButton'#5'BtnUp'#22'AnchorSideLeft.Control'#7#9'BtnDelete'#19'AnchorSide' +#10'ApplyCheck'#8'TabOrder'#2#1#0#0#7'TBitBtn'#9'BtnCancel'#21'AnchorSideTop'
+'Left.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#13'FPanelButtons'#4'L' +'.Control'#7#14'FPanelOKCancel'#23'AnchorSideRight.Control'#7#8'BtnApply'#24
+'eft'#3#147#0#6'Height'#2#29#3'Top'#2#6#5'Width'#2'4'#8'AutoSize'#9#18'Borde' +'AnchorSideBottom.Control'#7#14'FPanelOKCancel'#21'AnchorSideBottom.Side'#7#9
+'rSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#7'Caption'#6#5'BtnUp'#7'OnClic' +'asrBottom'#4'Left'#3'@'#1#6'Height'#2#26#3'Top'#2#6#5'Width'#2'Z'#7'Anchors'
+'k'#7#10'MoveUpItem'#8'TabOrder'#2#2#0#0#7'TButton'#7'BtnDown'#22'AnchorSide' +#11#5'akTop'#7'akRight'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpacing.Around'
+'Left.Control'#7#5'BtnUp'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSi' +#2#6#7'Caption'#6#6'Cancel'#20'Constraints.MinWidth'#2'Z'#4'Kind'#7#8'bkCanc'
+'deTop.Control'#7#13'FPanelButtons'#4'Left'#3#199#0#6'Height'#2#29#3'Top'#2#6 +'el'#11'ModalResult'#2#2#9'NumGlyphs'#2#0#8'TabOrder'#2#2#0#0#7'TBitBtn'#5'B'
+#5'Width'#2'E'#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#7'Caption'#6#7'BtnDow' +'tnOK'#21'AnchorSideTop.Control'#7#14'FPanelOKCancel'#23'AnchorSideRight.Con'
+'n'#7'OnClick'#7#12'MoveDownItem'#8'TabOrder'#2#3#0#0#7'TButton'#9'BtnModify' +'trol'#7#9'BtnCancel'#24'AnchorSideBottom.Control'#7#14'FPanelOKCancel'#21'A'
+#22'AnchorSideLeft.Control'#7#7'BtnDown'#19'AnchorSideLeft.Side'#7#9'asrBott' +'nchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#224#0#6'Height'#2#26#3'Top'#2
+'om'#21'AnchorSideTop.Control'#7#13'FPanelButtons'#4'Left'#3#18#1#6'Height'#2 +#6#5'Width'#2'Z'#7'Anchors'#11#5'akTop'#7'akRight'#8'akBottom'#0#8'AutoSize'
+#29#3'Top'#2#6#5'Width'#2'K'#8'AutoSize'#9#18'BorderSpacing.Left'#2#6#17'Bor' +#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#3'&OK'#20'Constraints.MinWidth'
+'derSpacing.Top'#2#6#7'Caption'#6#9'BtnModify'#7'OnClick'#7#10'ModifyItem'#8 +#2'Z'#7'Default'#9#4'Kind'#7#4'bkOK'#11'ModalResult'#2#1#9'NumGlyphs'#2#0#8
+'TabOrder'#2#4#0#0#0#6'TPanel'#14'FPanelOKCancel'#6'Height'#2'0'#3'Top'#3#252 +'TabOrder'#2#3#0#0#0#9'TCheckBox'#17'DuplicateCheckBox'#23'AnchorSideRight.C'
+#0#5'Width'#3'`'#2#5'Align'#7#8'alBottom'#8'AutoSize'#9#10'BevelInner'#7#9'b' +'ontrol'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3'p'#1#6
+'vLowered'#12'ClientHeight'#2'0'#11'ClientWidth'#3'`'#2#8'TabOrder'#2#2#0#7 +'Height'#2#19#3'Top'#2'0'#5'Width'#3#234#0#7'Anchors'#11#5'akTop'#6'akLeft'#7
+'TBitBtn'#7'BtnHelp'#21'AnchorSideTop.Control'#7#14'FPanelOKCancel'#23'Ancho' +'akRight'#0#19'BorderSpacing.Right'#2#6#7'Caption'#6#17'DuplicateCheckBox'#7
+'rSideRight.Control'#7#14'FPanelOKCancel'#20'AnchorSideRight.Side'#7#9'asrBo' +'Checked'#9#5'State'#7#9'cbChecked'#8'TabOrder'#2#2#0#0#5'TEdit'#11'ColumnsE'
+'ttom'#24'AnchorSideBottom.Control'#7#14'FPanelOKCancel'#21'AnchorSideBottom' +'dit'#4'Left'#3'p'#1#6'Height'#2#23#3'Top'#2'a'#5'Width'#2'"'#5'Color'#7#9'c'
+'.Side'#7#9'asrBottom'#4'Left'#3#0#2#6'Height'#2'$'#3'Top'#2#6#5'Width'#2'Z' +'lBtnFace'#8'OnChange'#7#17'ColumnsEditChange'#9'OnKeyDown'#13#8'ReadOnly'#9
+#7'Anchors'#11#5'akTop'#7'akRight'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpac' +#8'TabOrder'#2#3#4'Text'#6#1'1'#0#0#7'TUpDown'#13'ColumnsUpDown'#4'Left'#3
+'ing.Around'#2#6#7'Caption'#6#5'&Help'#20'Constraints.MinWidth'#2'Z'#4'Kind' +#146#1#6'Height'#2#23#3'Top'#2'a'#5'Width'#2#17#9'Associate'#7#11'ColumnsEdi'
+#7#6'bkHelp'#9'NumGlyphs'#2#0#8'TabOrder'#2#0#0#0#7'TBitBtn'#8'BtnApply'#21 +'t'#3'Min'#2#1#8'Position'#2#1#8'TabOrder'#2#4#0#0#8'TToolBar'#7'ToolBar'#6
+'AnchorSideTop.Control'#7#14'FPanelOKCancel'#23'AnchorSideRight.Control'#7#7 +'Height'#2#26#5'Width'#3'`'#2#7'Caption'#6#7'ToolBar'#4'Flat'#9#8'TabOrder'#2
+'BtnHelp'#24'AnchorSideBottom.Control'#7#14'FPanelOKCancel'#21'AnchorSideBot' +#5#0#11'TToolButton'#5'tbAdd'#4'Left'#2#1#3'Top'#2#2#7'Caption'#6#5'tbAdd'#14
+'tom.Side'#7#9'asrBottom'#4'Left'#3#160#1#6'Height'#2'$'#3'Top'#2#6#5'Width' +'ParentShowHint'#8#8'ShowHint'#9#7'OnClick'#7#7'AddItem'#0#0#11'TToolButton'
+#2'Z'#7'Anchors'#11#5'akTop'#7'akRight'#8'akBottom'#0#8'AutoSize'#9#20'Borde' +#8'tbDelete'#4'Left'#2#24#3'Top'#2#2#7'Caption'#6#8'tbDelete'#14'ParentShowH'
+'rSpacing.Around'#2#6#7'Caption'#6#6'&Apply'#20'Constraints.MinWidth'#2'Z'#9 +'int'#8#8'ShowHint'#9#7'OnClick'#7#10'DeleteItem'#0#0#11'TToolButton'#11'Too'
+'NumGlyphs'#2#0#7'OnClick'#7#10'ApplyCheck'#8'TabOrder'#2#1#0#0#7'TBitBtn'#9 +'lButton3'#4'Left'#2'/'#3'Top'#2#2#5'Width'#2#3#7'Caption'#6#11'ToolButton3'
+'BtnCancel'#21'AnchorSideTop.Control'#7#14'FPanelOKCancel'#23'AnchorSideRigh' +#5'Style'#7#10'tbsDivider'#0#0#11'TToolButton'#4'tbUp'#4'Left'#2'2'#3'Top'#2
+'t.Control'#7#8'BtnApply'#24'AnchorSideBottom.Control'#7#14'FPanelOKCancel' +#2#7'Caption'#6#4'tbUp'#14'ParentShowHint'#8#8'ShowHint'#9#7'OnClick'#7#10'M'
+#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3'@'#1#6'Height'#2'$'#3'To' +'oveUpItem'#0#0#11'TToolButton'#6'tbDown'#4'Left'#2'I'#3'Top'#2#2#7'Caption'
+'p'#2#6#5'Width'#2'Z'#7'Anchors'#11#5'akTop'#7'akRight'#8'akBottom'#0#8'Auto' +#6#6'tbDown'#14'ParentShowHint'#8#8'ShowHint'#9#7'OnClick'#7#12'MoveDownItem'
+'Size'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#6'Cancel'#20'Constraints.' +#0#0#11'TToolButton'#11'ToolButton6'#4'Left'#2'`'#3'Top'#2#2#5'Width'#2#3#7
,'MinWidth'#2'Z'#4'Kind'#7#8'bkCancel'#11'ModalResult'#2#2#9'NumGlyphs'#2#0#8 ,'Caption'#6#11'ToolButton6'#5'Style'#7#10'tbsDivider'#0#0#11'TToolButton'#6
+'TabOrder'#2#2#0#0#7'TBitBtn'#5'BtnOK'#21'AnchorSideTop.Control'#7#14'FPanel' +'tbEdit'#4'Left'#2'c'#3'Top'#2#2#7'Caption'#6#6'tbEdit'#14'ParentShowHint'#8
+'OKCancel'#23'AnchorSideRight.Control'#7#9'BtnCancel'#24'AnchorSideBottom.Co' +#8'ShowHint'#9#7'OnClick'#7#10'ModifyItem'#0#0#6'TLabel'#12'LabelDisable'#19
+'ntrol'#7#14'FPanelOKCancel'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left' +'AnchorSideLeft.Side'#7#9'asrBottom'#18'AnchorSideTop.Side'#7#9'asrBottom'#4
+#3#224#0#6'Height'#2'$'#3'Top'#2#6#5'Width'#2'Z'#7'Anchors'#11#5'akTop'#7'ak' +'Left'#2'z'#6'Height'#2#22#3'Top'#2#2#5'Width'#2'<'#7'Caption'#6#12'LabelDis'
+'Right'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6 +'able'#10'Font.Color'#7#10'clHotLight'#11'ParentColor'#8#0#0#0#10'TPopupMenu'
+#3'&OK'#20'Constraints.MinWidth'#2'Z'#7'Default'#9#4'Kind'#7#4'bkOK'#11'Moda' +#10'FPopupMenu'#7'OnPopup'#7#11'CreateItems'#4'left'#3#224#1#3'top'#3#145#0#0
+'lResult'#2#1#9'NumGlyphs'#2#0#8'TabOrder'#2#3#0#0#0#9'TCheckBox'#17'Duplica' +#0#0#20'TCheckGroupEditorDlg'#19'CheckGroupEditorDlg'#4'Left'#3#138#1#6'Heig'
+'teCheckBox'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side' +'ht'#3','#1#3'Top'#3#195#0#5'Width'#3'`'#2#18'HorzScrollBar.Page'#3'_'#2#18
+#7#9'asrBottom'#4'Left'#3'p'#1#6'Height'#2#22#3'Top'#2'0'#5'Width'#3#234#0#7 +'VertScrollBar.Page'#3'+'#1#11'BorderIcons'#11#12'biSystemMenu'#0#11'BorderS'
+'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#19'BorderSpacing.Right'#2#6#7'C' +'tyle'#7#8'bsDialog'#7'Caption'#6#19'CheckGroupEditorDlg'#12'ClientHeight'#3
+'aption'#6#17'DuplicateCheckBox'#7'Checked'#9#5'State'#7#9'cbChecked'#8'TabO' +','#1#11'ClientWidth'#3'`'#2#8'OnCreate'#7#10'FormCreate'#10'LCLVersion'#6#6
+'rder'#2#3#0#0#5'TEdit'#11'ColumnsEdit'#4'Left'#3'p'#1#6'Height'#2#23#3'Top' +'0.9.25'#0#6'TLabel'#12'ColumnsLabel'#4'Left'#3'q'#1#6'Height'#2#14#3'Top'#2
+#2'a'#5'Width'#2'"'#5'Color'#7#9'clBtnFace'#8'OnChange'#7#17'ColumnsEditChan' +'P'#5'Width'#2'B'#7'Caption'#6#12'ColumnsLabel'#11'ParentColor'#8#0#0#11'TCh'
+'ge'#9'OnKeyDown'#13#8'ReadOnly'#9#8'TabOrder'#2#4#4'Text'#6#1'1'#0#0#7'TUpD' +'eckGroup'#6'FCheck'#6'Height'#3#236#0#3'Top'#2#26#5'Width'#3'h'#1#5'Align'#7
+'own'#13'ColumnsUpDown'#4'Left'#3#146#1#6'Height'#2#23#3'Top'#2'a'#5'Width'#2 +#6'alLeft'#8'AutoFill'#9#7'Caption'#6#6'FCheck'#28'ChildSizing.LeftRightSpac'
+#17#9'Associate'#7#11'ColumnsEdit'#3'Min'#2#1#8'Position'#2#1#0#0#10'TPopupM' +'ing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizon'
+'enu'#10'FPopupMenu'#7'OnPopup'#7#11'CreateItems'#4'left'#3#224#1#3'top'#3 +'tal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'cr'
+#145#0#0#0#0 +'sHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChild'
+'s'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layou'
+'t'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1
+#11'OnItemClick'#7#9'ItemClick'#9'PopupMenu'#7#10'FPopupMenu'#8'TabOrder'#2#0
+#0#0#6'TPanel'#14'FPanelOKCancel'#6'Height'#2'&'#3'Top'#3#6#1#5'Width'#3'`'#2
+#5'Align'#7#8'alBottom'#8'AutoSize'#9#10'BevelInner'#7#9'bvLowered'#12'Clien'
+'tHeight'#2'&'#11'ClientWidth'#3'`'#2#8'TabOrder'#2#1#0#7'TBitBtn'#7'BtnHelp'
+#21'AnchorSideTop.Control'#7#14'FPanelOKCancel'#23'AnchorSideRight.Control'#7
+#14'FPanelOKCancel'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBot'
+'tom.Control'#7#14'FPanelOKCancel'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4
+'Left'#3#0#2#6'Height'#2#26#3'Top'#2#6#5'Width'#2'Z'#7'Anchors'#11#5'akTop'#7
+'akRight'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'
+#6#5'&Help'#20'Constraints.MinWidth'#2'Z'#4'Kind'#7#6'bkHelp'#9'NumGlyphs'#2
+#0#8'TabOrder'#2#0#0#0#7'TBitBtn'#8'BtnApply'#21'AnchorSideTop.Control'#7#14
+'FPanelOKCancel'#23'AnchorSideRight.Control'#7#7'BtnHelp'#24'AnchorSideBotto'
+'m.Control'#7#14'FPanelOKCancel'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4
+'Left'#3#160#1#6'Height'#2#26#3'Top'#2#6#5'Width'#2'Z'#7'Anchors'#11#5'akTop'
+#7'akRight'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Capti'
+'on'#6#6'&Apply'#20'Constraints.MinWidth'#2'Z'#9'NumGlyphs'#2#0#7'OnClick'#7
+#10'ApplyCheck'#8'TabOrder'#2#1#0#0#7'TBitBtn'#9'BtnCancel'#21'AnchorSideTop'
+'.Control'#7#14'FPanelOKCancel'#23'AnchorSideRight.Control'#7#8'BtnApply'#24
+'AnchorSideBottom.Control'#7#14'FPanelOKCancel'#21'AnchorSideBottom.Side'#7#9
+'asrBottom'#4'Left'#3'@'#1#6'Height'#2#26#3'Top'#2#6#5'Width'#2'Z'#7'Anchors'
+#11#5'akTop'#7'akRight'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpacing.Around'
+#2#6#7'Caption'#6#6'Cancel'#20'Constraints.MinWidth'#2'Z'#4'Kind'#7#8'bkCanc'
+'el'#11'ModalResult'#2#2#9'NumGlyphs'#2#0#8'TabOrder'#2#2#0#0#7'TBitBtn'#5'B'
+'tnOK'#21'AnchorSideTop.Control'#7#14'FPanelOKCancel'#23'AnchorSideRight.Con'
+'trol'#7#9'BtnCancel'#24'AnchorSideBottom.Control'#7#14'FPanelOKCancel'#21'A'
+'nchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#224#0#6'Height'#2#26#3'Top'#2
+#6#5'Width'#2'Z'#7'Anchors'#11#5'akTop'#7'akRight'#8'akBottom'#0#8'AutoSize'
+#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#3'&OK'#20'Constraints.MinWidth'
+#2'Z'#7'Default'#9#4'Kind'#7#4'bkOK'#11'ModalResult'#2#1#9'NumGlyphs'#2#0#8
+'TabOrder'#2#3#0#0#0#9'TCheckBox'#17'DuplicateCheckBox'#23'AnchorSideRight.C'
+'ontrol'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3'p'#1#6
+'Height'#2#19#3'Top'#2'0'#5'Width'#3#234#0#7'Anchors'#11#5'akTop'#6'akLeft'#7
+'akRight'#0#19'BorderSpacing.Right'#2#6#7'Caption'#6#17'DuplicateCheckBox'#7
+'Checked'#9#5'State'#7#9'cbChecked'#8'TabOrder'#2#2#0#0#5'TEdit'#11'ColumnsE'
+'dit'#4'Left'#3'p'#1#6'Height'#2#23#3'Top'#2'a'#5'Width'#2'"'#5'Color'#7#9'c'
+'lBtnFace'#8'OnChange'#7#17'ColumnsEditChange'#9'OnKeyDown'#13#8'ReadOnly'#9
+#8'TabOrder'#2#3#4'Text'#6#1'1'#0#0#7'TUpDown'#13'ColumnsUpDown'#4'Left'#3
+#146#1#6'Height'#2#23#3'Top'#2'a'#5'Width'#2#17#9'Associate'#7#11'ColumnsEdi'
+'t'#3'Min'#2#1#8'Position'#2#1#8'TabOrder'#2#4#0#0#8'TToolBar'#7'ToolBar'#6
+'Height'#2#26#5'Width'#3'`'#2#7'Caption'#6#7'ToolBar'#4'Flat'#9#8'TabOrder'#2
+#5#0#11'TToolButton'#5'tbAdd'#4'Left'#2#1#3'Top'#2#2#7'Caption'#6#5'tbAdd'#14
+'ParentShowHint'#8#8'ShowHint'#9#7'OnClick'#7#7'AddItem'#0#0#11'TToolButton'
+#8'tbDelete'#4'Left'#2#24#3'Top'#2#2#7'Caption'#6#8'tbDelete'#14'ParentShowH'
,'int'#8#8'ShowHint'#9#7'OnClick'#7#10'DeleteItem'#0#0#11'TToolButton'#11'Too'
+'lButton3'#4'Left'#2'/'#3'Top'#2#2#5'Width'#2#3#7'Caption'#6#11'ToolButton3'
+#5'Style'#7#10'tbsDivider'#0#0#11'TToolButton'#4'tbUp'#4'Left'#2'2'#3'Top'#2
+#2#7'Caption'#6#4'tbUp'#14'ParentShowHint'#8#8'ShowHint'#9#7'OnClick'#7#10'M'
+'oveUpItem'#0#0#11'TToolButton'#6'tbDown'#4'Left'#2'I'#3'Top'#2#2#7'Caption'
+#6#6'tbDown'#14'ParentShowHint'#8#8'ShowHint'#9#7'OnClick'#7#12'MoveDownItem'
+#0#0#11'TToolButton'#11'ToolButton6'#4'Left'#2'`'#3'Top'#2#2#5'Width'#2#3#7
+'Caption'#6#11'ToolButton6'#5'Style'#7#10'tbsDivider'#0#0#11'TToolButton'#6
+'tbEdit'#4'Left'#2'c'#3'Top'#2#2#7'Caption'#6#6'tbEdit'#14'ParentShowHint'#8
+#8'ShowHint'#9#7'OnClick'#7#10'ModifyItem'#0#0#6'TLabel'#12'LabelDisable'#19
+'AnchorSideLeft.Side'#7#9'asrBottom'#18'AnchorSideTop.Side'#7#9'asrBottom'#4
+'Left'#2'z'#6'Height'#2#22#3'Top'#2#2#5'Width'#2'<'#7'Caption'#6#12'LabelDis'
+'able'#10'Font.Color'#7#10'clHotLight'#11'ParentColor'#8#0#0#0#10'TPopupMenu'
+#10'FPopupMenu'#7'OnPopup'#7#11'CreateItems'#4'left'#3#224#1#3'top'#3#145#0#0
+#0#0
]); ]);

View File

@ -19,36 +19,39 @@ interface
uses uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls, Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls,
StdCtrls, Buttons, Menus, ComCtrls, StdCtrls, Buttons, Menus, ComCtrls,
ObjInspStrConsts; ObjInspStrConsts, IDEImagesIntf;
type type
{ TCheckGroupEditorDlg } { TCheckGroupEditorDlg }
TCheckGroupEditorDlg = class(TForm) TCheckGroupEditorDlg = class(TForm)
BtnAdd: TButton;
BtnApply: TBitBtn; BtnApply: TBitBtn;
BtnCancel: TBitBtn; BtnCancel: TBitBtn;
BtnDelete: TButton;
BtnDown: TButton;
BtnHelp: TBitBtn; BtnHelp: TBitBtn;
BtnModify: TButton;
BtnOK: TBitBtn; BtnOK: TBitBtn;
BtnUp: TButton;
DuplicateCheckBox: TCheckBox; DuplicateCheckBox: TCheckBox;
ColumnsEdit: TEdit; ColumnsEdit: TEdit;
FCheck: TCheckGroup; FCheck: TCheckGroup;
aCheck: TCheckGroup; aCheck: TCheckGroup;
FPanelButtons: TPanel;
FPanelOKCancel: TPanel; FPanelOKCancel: TPanel;
ColumnsLabel: TLabel; ColumnsLabel: TLabel;
LabelDisable: TLabel;
FPopupMenu: TPopupMenu; FPopupMenu: TPopupMenu;
ColumnsUpDown: TUpDown; ColumnsUpDown: TUpDown;
LabelDisable: TLabel;
ToolBar: TToolBar;
tbAdd: TToolButton;
tbDelete: TToolButton;
ToolButton3: TToolButton;
tbUp: TToolButton;
tbDown: TToolButton;
ToolButton6: TToolButton;
tbEdit: TToolButton;
procedure AddItem(Sender:TObject); procedure AddItem(Sender:TObject);
procedure ColumnsEditChange(Sender: TObject); procedure ColumnsEditChange(Sender: TObject);
procedure CreateItems(Sender: TObject); procedure CreateItems(Sender: TObject);
procedure DeleteItem(Sender: TObject); procedure DeleteItem(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ItemClick(Sender: TObject; Index: integer); procedure ItemClick(Sender: TObject; Index: integer);
procedure ModifyItem(Sender: TObject); procedure ModifyItem(Sender: TObject);
procedure MoveDownItem(Sender: TObject); procedure MoveDownItem(Sender: TObject);
@ -56,9 +59,12 @@ type
procedure EnableDisable(Sender:TObject); procedure EnableDisable(Sender:TObject);
procedure ApplyCheck(Sender: TObject); procedure ApplyCheck(Sender: TObject);
private private
FItemIndex: Integer;
FModified: Boolean; FModified: Boolean;
procedure Change;
procedure SetItemIndex(const AValue: Integer);
public public
ItemIndex:integer; property ItemIndex: Integer read FItemIndex write SetItemIndex;
property Modified: Boolean read FModified write FModified; property Modified: Boolean read FModified write FModified;
end; end;
@ -66,110 +72,153 @@ procedure AssignCheckGroup(dstCheck, srcCheck: TCheckGroup);
implementation implementation
const
NormalColor = clBtnFace;
SelectedColor = clHighlight;
procedure AssignCheckGroup(dstCheck, srcCheck: TCheckGroup); procedure AssignCheckGroup(dstCheck, srcCheck: TCheckGroup);
var i: integer; var
i: integer;
begin begin
dstCheck.Items.Assign(srcCheck.Items); dstCheck.Items.Assign(srcCheck.Items);
dstCheck.Caption:=srcCheck.Caption; dstCheck.Caption := srcCheck.Caption;
dstCheck.Columns:=srcCheck.Columns; dstCheck.Columns := srcCheck.Columns;
for i:=0 to srcCheck.Items.Count-1 do begin for i := 0 to srcCheck.Items.Count - 1 do
dstCheck.Checked[i]:=srcCheck.Checked[i]; begin
dstCheck.CheckEnabled[i]:=srcCheck.CheckEnabled[i] dstCheck.Checked[i] := srcCheck.Checked[i];
dstCheck.CheckEnabled[i] := srcCheck.CheckEnabled[i]
end; end;
end; end;
{ TCheckGroupEditorDlg } { TCheckGroupEditorDlg }
procedure TCheckGroupEditorDlg.AddItem(Sender:TObject); procedure TCheckGroupEditorDlg.AddItem(Sender:TObject);
var strItem:string; var
canAdd: boolean; strItem: string;
canAdd: boolean;
begin begin
if not InputQuery(clbCheckGroupEditor, clbAdd, strItem) then exit; if not InputQuery(cgCheckGroupEditor, clbAdd, strItem) then
canAdd:=true; Exit;
if DuplicateCheckBox.Checked then begin canAdd := True;
canAdd:=(FCheck.Items.IndexOf(strItem)=-1); if DuplicateCheckBox.Checked then
begin
canAdd := (FCheck.Items.IndexOf(strItem)= -1);
if not canAdd then if not canAdd then
canAdd:=MessageDlg(clbCheckGroupEditor,Format(clbCheckDuplicateMsg,[strItem]),mtConfirmation,mbYesNo,0)=mrYes; canAdd := MessageDlg(cgCheckGroupEditor, Format(cgCheckDuplicateMsg,[strItem]), mtConfirmation, mbYesNo, 0) = mrYes;
end; end;
if canAdd then if canAdd then
begin
FCheck.Items.Add(strItem); FCheck.Items.Add(strItem);
Change;
end;
end; end;
procedure TCheckGroupEditorDlg.ColumnsEditChange(Sender: TObject); procedure TCheckGroupEditorDlg.ColumnsEditChange(Sender: TObject);
begin begin
FCheck.Columns:=ColumnsUpDown.Position; FCheck.Columns := ColumnsUpDown.Position;
end; end;
procedure TCheckGroupEditorDlg.DeleteItem(Sender:TObject); procedure TCheckGroupEditorDlg.DeleteItem(Sender:TObject);
begin begin
if (FCheck.Items.Count=0)or(ItemIndex=-1) then exit; if (FCheck.Items.Count = 0) or (ItemIndex = -1) then
if MessageDlg(clbCheckGroupEditor,Format(clbDelete,[ItemIndex, FCheck.Items[ItemIndex]]), Exit;
mtConfirmation, mbYesNo, 0)=mrYes then begin if MessageDlg(cgCheckGroupEditor,
Format(clbDeleteQuest, [ItemIndex, FCheck.Items[ItemIndex]]),
mtConfirmation, mbYesNo, 0) = mrYes then
begin
FCheck.Items.Delete(ItemIndex); FCheck.Items.Delete(ItemIndex);
if ItemIndex>FCheck.Items.Count-1 then if ItemIndex > FCheck.Items.Count - 1 then
ItemIndex:=FCheck.Items.Count-1; ItemIndex := FCheck.Items.Count - 1;
if ItemIndex<>-1 then if ItemIndex <> -1 then
FCheck.Controls[ItemIndex].Color:=clYellow; FCheck.Controls[ItemIndex].Color := SelectedColor;
end; end;
end; end;
procedure TCheckGroupEditorDlg.MoveUpItem(Sender:TObject); procedure TCheckGroupEditorDlg.FormCreate(Sender: TObject);
var itemtmp:string;
checkedtmp:boolean;
begin begin
if (FCheck.Items.Count<=1)or(ItemIndex<1) then exit; ToolBar.Images := IDEImages.Images_16;
//swap the caption and the checked states tbAdd.ImageIndex := IDEImages.LoadImage(16, 'add');
itemtmp:=FCheck.Items[ItemIndex-1]; tbDelete.ImageIndex := IDEImages.LoadImage(16, 'delete');
checkedtmp:=FCheck.Checked[ItemIndex-1]; tbUp.ImageIndex := IDEImages.LoadImage(16, 'arrow_up');
FCheck.Items[ItemIndex-1]:=FCheck.Items[ItemIndex]; tbDown.ImageIndex := IDEImages.LoadImage(16, 'arrow_down');
FCheck.Checked[ItemIndex-1]:=FCheck.Checked[ItemIndex]; tbEdit.ImageIndex := IDEImages.LoadImage(16, 'edit');
FCheck.Items[ItemIndex]:=itemtmp;
FCheck.Checked[ItemIndex]:=checkedtmp;
//swap the states enabled
checkedtmp:=FCheck.CheckEnabled[ItemIndex-1];
FCheck.CheckEnabled[ItemIndex-1]:=FCheck.CheckEnabled[ItemIndex];
FCheck.CheckEnabled[ItemIndex]:=checkedtmp;
FCheck.Controls[ItemIndex].Color:=clBtnFace; Caption := cgCheckGroupEditor;
ItemIndex:=ItemIndex-1; FItemIndex := -1;
FCheck.Controls[ItemIndex].Color:=clYellow; ColumnsLabel.Caption := cgColumns;
DuplicateCheckBox.Caption := cgCheckDuplicate;
LabelDisable.Caption := cgDisable;
tbAdd.Hint := clbAdd;
tbDelete.Hint := clbDeleteHint;
tbUp.Hint := clbUp;
tbDown.Hint := clbDown;
tbEdit.Hint := clbModify;
Change;
end;
procedure TCheckGroupEditorDlg.MoveUpItem(Sender:TObject);
var
itemtmp: string;
checkedtmp: boolean;
begin
if (FCheck.Items.Count <= 1) or (ItemIndex < 1) then
Exit;
//swap the caption and the checked states
itemtmp := FCheck.Items[ItemIndex - 1];
checkedtmp := FCheck.Checked[ItemIndex - 1];
FCheck.Items[ItemIndex - 1] := FCheck.Items[ItemIndex];
FCheck.Checked[ItemIndex - 1] := FCheck.Checked[ItemIndex];
FCheck.Items[ItemIndex] := itemtmp;
FCheck.Checked[ItemIndex] := checkedtmp;
//swap the states enabled
checkedtmp := FCheck.CheckEnabled[ItemIndex - 1];
FCheck.CheckEnabled[ItemIndex - 1] := FCheck.CheckEnabled[ItemIndex];
FCheck.CheckEnabled[ItemIndex] := checkedtmp;
FCheck.Controls[ItemIndex].Color := NormalColor;
ItemIndex := ItemIndex - 1;
FCheck.Controls[ItemIndex].Color := SelectedColor;
end; end;
procedure TCheckGroupEditorDlg.MoveDownItem(Sender:TObject); procedure TCheckGroupEditorDlg.MoveDownItem(Sender:TObject);
var itemtmp:string; var
checkedtmp:boolean; itemtmp: string;
checkedtmp: boolean;
begin begin
if (FCheck.Items.Count<=1)or(ItemIndex=FCheck.Items.Count-1)or(ItemIndex=-1) then exit; if (FCheck.Items.Count <= 1) or (ItemIndex = FCheck.Items.Count-1) or (ItemIndex=-1) then
Exit;
//swap the caption and the checked states //swap the caption and the checked states
itemtmp:=FCheck.Items[ItemIndex+1]; itemtmp := FCheck.Items[ItemIndex + 1];
checkedtmp:=FCheck.Checked[ItemIndex+1]; checkedtmp := FCheck.Checked[ItemIndex + 1];
FCheck.Items[ItemIndex+1]:=FCheck.Items[ItemIndex]; FCheck.Items[ItemIndex + 1] := FCheck.Items[ItemIndex];
FCheck.Checked[ItemIndex+1]:=FCheck.Checked[ItemIndex]; FCheck.Checked[ItemIndex + 1] := FCheck.Checked[ItemIndex];
FCheck.Items[ItemIndex]:=itemtmp; FCheck.Items[ItemIndex] := itemtmp;
FCheck.Checked[ItemIndex]:=checkedtmp; FCheck.Checked[ItemIndex] := checkedtmp;
//swap the states enabled //swap the states enabled
checkedtmp:=FCheck.CheckEnabled[ItemIndex+1]; checkedtmp := FCheck.CheckEnabled[ItemIndex + 1];
FCheck.CheckEnabled[ItemIndex+1]:=FCheck.CheckEnabled[ItemIndex]; FCheck.CheckEnabled[ItemIndex + 1] := FCheck.CheckEnabled[ItemIndex];
FCheck.CheckEnabled[ItemIndex]:=checkedtmp; FCheck.CheckEnabled[ItemIndex] := checkedtmp;
FCheck.Controls[ItemIndex].Color:=clBtnFace; FCheck.Controls[ItemIndex].Color := NormalColor;
ItemIndex:=ItemIndex+1; ItemIndex := ItemIndex + 1;
FCheck.Controls[ItemIndex].Color:=clYellow; FCheck.Controls[ItemIndex].Color := SelectedColor;
end; end;
procedure TCheckGroupEditorDlg.ModifyItem(Sender:TObject); procedure TCheckGroupEditorDlg.ModifyItem(Sender:TObject);
begin begin
if (FCheck.Items.Count=0)or(ItemIndex=-1) then exit; if (FCheck.Items.Count = 0) or (ItemIndex = -1) then
FCheck.Items[ItemIndex]:=InputBox(clbCheckGroupEditor,clbModify,FCheck.Items[ItemIndex]); Exit;
FCheck.Items[ItemIndex] := InputBox(cgCheckGroupEditor, clbModify, FCheck.Items[ItemIndex]);
end; end;
procedure TCheckGroupEditorDlg.ItemClick(Sender: TObject; Index: integer); procedure TCheckGroupEditorDlg.ItemClick(Sender: TObject; Index: integer);
begin begin
if ItemIndex<>-1 then if ItemIndex <> -1 then
FCheck.Controls[ItemIndex].Color:=clBtnFace; FCheck.Controls[ItemIndex].Color := NormalColor;
ItemIndex:=Index; ItemIndex := Index;
if ItemIndex<>-1 then if ItemIndex <> -1 then
FCheck.Controls[ItemIndex].Color:=clYellow; FCheck.Controls[ItemIndex].Color := SelectedColor;
end; end;
procedure TCheckGroupEditorDlg.EnableDisable(Sender:TObject); procedure TCheckGroupEditorDlg.EnableDisable(Sender:TObject);
@ -182,25 +231,44 @@ begin
end; end;
procedure TCheckGroupEditorDlg.CreateItems(Sender:TObject); procedure TCheckGroupEditorDlg.CreateItems(Sender:TObject);
var i:integer; var
i: integer;
begin begin
FPopupMenu.Items.Clear; FPopupMenu.Items.Clear;
for i:=0 to FCheck.Items.Count-1 do begin for i := 0 to FCheck.Items.Count-1 do
begin
FPopupMenu.Items.Add(TMenuItem.Create(self)); FPopupMenu.Items.Add(TMenuItem.Create(self));
FPopupMenu.Items[i].Caption:=FCheck.Items[i]; FPopupMenu.Items[i].Caption := FCheck.Items[i];
FPopupMenu.Items[i].Checked:=FCheck.CheckEnabled[i]; FPopupMenu.Items[i].Checked := FCheck.CheckEnabled[i];
FPopupMenu.Items[i].OnClick:=@EnableDisable; FPopupMenu.Items[i].OnClick := @EnableDisable;
end;; end;
end; end;
procedure TCheckGroupEditorDlg.ApplyCheck(Sender:TObject); procedure TCheckGroupEditorDlg.ApplyCheck(Sender:TObject);
begin begin
if Assigned(FCheck) then begin if Assigned(FCheck) then
begin
AssignCheckGroup(aCheck, FCheck); AssignCheckGroup(aCheck, FCheck);
FModified := True; FModified := True;
end; end;
end; end;
procedure TCheckGroupEditorDlg.Change;
begin
tbDelete.Enabled := ItemIndex <> -1;
tbEdit.Enabled := ItemIndex <> -1;
tbUp.Enabled := (ItemIndex <> -1) and (ItemIndex > 0);
tbDown.Enabled := (ItemIndex <> -1) and (ItemIndex < FCheck.Items.Count - 1);
end;
procedure TCheckGroupEditorDlg.SetItemIndex(const AValue: Integer);
begin
if FItemIndex <> AValue then
begin
FItemIndex := AValue;
Change;
end;
end;
initialization initialization
{$I checkgroupeditordlg.lrs} {$I checkgroupeditordlg.lrs}

View File

@ -92,7 +92,7 @@ end;
procedure TCheckListBoxEditorDlg.DeleteItem(Sender:TObject); procedure TCheckListBoxEditorDlg.DeleteItem(Sender:TObject);
begin begin
if FCheck.ItemIndex = -1 then exit; if FCheck.ItemIndex = -1 then exit;
if MessageDlg(clbCheckListBoxEditor,Format(clbDelete,[FCheck.ItemIndex,FCheck.Items[FCheck.ItemIndex]]), if MessageDlg(clbCheckListBoxEditor,Format(clbDeleteQuest,[FCheck.ItemIndex,FCheck.Items[FCheck.ItemIndex]]),
mtConfirmation, mbYesNo, 0) = mrYes then mtConfirmation, mbYesNo, 0) = mrYes then
FCheck.Items.Delete(FCheck.ItemIndex); FCheck.Items.Delete(FCheck.ItemIndex);
end; end;
@ -116,8 +116,8 @@ begin
BtnCancel.Caption := oisCancel; BtnCancel.Caption := oisCancel;
BtnHelp.Caption := cActionListEditorHelpCategory; BtnHelp.Caption := cActionListEditorHelpCategory;
tbAdd.Hint := oiscAdd; tbAdd.Hint := clbAdd;
tbDelete.Hint := oiscDelete; tbDelete.Hint := clbDeleteHint;
tbUp.Hint := clbUp; tbUp.Hint := clbUp;
tbDown.Hint := clbDown; tbDown.Hint := clbDown;
tbEdit.Hint := clbModify; tbEdit.Hint := clbModify;

View File

@ -891,33 +891,21 @@ end;
{ TCheckGroupEditorDlg } { TCheckGroupEditorDlg }
procedure TCheckGroupComponentEditor.DoShowEditor; procedure TCheckGroupComponentEditor.DoShowEditor;
var Dlg : TCheckGroupEditorDlg; var
Dlg: TCheckGroupEditorDlg;
begin begin
Dlg:=TCheckGroupEditorDlg.Create(nil); Dlg := TCheckGroupEditorDlg.Create(nil);
with Dlg do begin
Caption:=clbCheckGroupEditor;
ItemIndex:=-1;
BtnAdd.Caption:=oiscAdd;
BtnDelete.Caption:=oiscDelete;
BtnUp.Caption:=clbUp;
BtnDown.Caption:=clbDown;
BtnModify.ShowHint:=true;
BtnModify.Hint:=clbModify;
BtnModify.Caption:='...';
ColumnsLabel.Caption:=clbColumns;
DuplicateCheckBox.Caption:=clbCheckDuplicate;
LabelDisable.Caption:=clbDisable
end;
try try
if GetComponent is TCheckGroup then begin if GetComponent is TCheckGroup then
Dlg.aCheck:=TCheckGroup(GetComponent); begin
Dlg.aCheck := TCheckGroup(GetComponent);
if not HasHook then exit; if not HasHook then exit;
AssignCheckGroup(Dlg.FCheck, Dlg.aCheck); AssignCheckGroup(Dlg.FCheck, Dlg.aCheck);
Dlg.ColumnsUpDown.Position:=Dlg.aCheck.Columns; Dlg.ColumnsUpDown.Position := Dlg.aCheck.Columns;
//ShowEditor //ShowEditor
if Dlg.ShowModal=mrOK then begin if Dlg.ShowModal = mrOK then
begin
AssignCheckGroup(Dlg.aCheck, Dlg.FCheck); AssignCheckGroup(Dlg.aCheck, Dlg.FCheck);
Modified; Modified;
end; end;
@ -936,7 +924,7 @@ end;
function TCheckGroupComponentEditor.GetVerb(Index: Integer): string; function TCheckGroupComponentEditor.GetVerb(Index: Integer): string;
begin begin
Result:=clbCheckGroupEditor+'...'; Result:=cgCheckGroupEditor+'...';
end; end;
function TCheckGroupComponentEditor.GetVerbCount: Integer; function TCheckGroupComponentEditor.GetVerbCount: Integer;

View File

@ -170,18 +170,19 @@ resourcestring
//checklistbox editor //checklistbox editor
clbCheckListBoxEditor = 'CheckListBox Editor'; clbCheckListBoxEditor = 'CheckListBox Editor';
clbUp = '&Up'; clbUp = 'Up';
clbDown = 'Do&wn'; clbDown = 'Down';
clbModify = 'Modify the Item'; clbModify = 'Modify the Item';
clbAdd = 'Add new Item'; clbAdd = 'Add new Item';
clbDelete = 'Delete the Item %d "%s"?'; clbDeleteHint = 'Delete the Item';
clbDeleteQuest = 'Delete the Item %d "%s"?';
//checkgroup editor //checkgroup editor
clbCheckGroupEditor = 'CheckGroup Editor'; cgCheckGroupEditor = 'CheckGroup Editor';
clbDisable = 'Popup to disable/enable items'; cgDisable = 'Popup to disable/enable items';
clbColumns = 'n. columns'; cgColumns = 'Columns:';
clbCheckDuplicate = 'On Add, Check for Duplicate in Items'; cgCheckDuplicate = 'On Add, Check for Duplicate in Items';
clbCheckDuplicateMsg = 'The "%s" Item is already listed. Add it anyway?'; cgCheckDuplicateMsg = 'The "%s" Item is already listed. Add it anyway?';
// Collection Editor // Collection Editor