improve checkgroup editor (patch from Salvatore Coppola)

git-svn-id: trunk@10620 -
This commit is contained in:
micha 2007-02-11 16:24:28 +00:00
parent 34290cff1b
commit ecce02979d
7 changed files with 451 additions and 462 deletions

View File

@ -1,151 +1,243 @@
object CheckGroupEditorDlg: TCheckGroupEditorDlg
ActiveControl = FBtnOK
Left = 268
Height = 300
Top = 207
Width = 608
HorzScrollBar.Page = 607
VertScrollBar.Page = 299
ActiveControl = BtnAdd
BorderIcons = [biSystemMenu]
BorderStyle = bsDialog
Caption = 'CheckGroupEditorDlg'
ClientHeight = 300
ClientWidth = 593
PixelsPerInch = 96
Position = poScreenCenter
HorzScrollBar.Page = 592
VertScrollBar.Page = 299
Left = 290
Height = 300
Top = 149
Width = 593
object FPanelOKCancel: TPanel
Align = alBottom
AutoSize = True
ClientHeight = 36
ClientWidth = 593
object ColumnsLabel: TLabel
Left = 369
Height = 14
Top = 80
Width = 66
Caption = 'ColumnsLabel'
Color = clNone
ParentColor = False
end
object FCheck: TCheckGroup
Height = 229
Top = 35
Width = 360
Align = alLeft
AutoFill = True
Caption = 'FCheck'
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
OnItemClick = ItemClick
PopupMenu = FPopupMenu
TabOrder = 0
end
object FPanelButtons: TPanel
Height = 35
Width = 608
Align = alTop
BevelInner = bvLowered
TabOrder = 1
object LabelDisable: TLabel
AnchorSideLeft.Control = BtnModify
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = BtnModify
AnchorSideTop.Side = asrCenter
Left = 367
Height = 14
Top = 11
Width = 60
BorderSpacing.Left = 6
Caption = 'LabelDisable'
Color = clNone
Font.Color = clHotLight
ParentColor = False
end
object BtnAdd: TButton
AnchorSideLeft.Control = FPanelButtons
AnchorSideTop.Control = FPanelButtons
Left = 6
Height = 25
Top = 6
Width = 63
AutoSize = True
BorderSpacing.Left = 6
BorderSpacing.Top = 6
BorderSpacing.InnerBorder = 4
Caption = 'BtnAdd'
OnClick = AddItem
TabOrder = 0
end
object BtnDelete: TButton
AnchorSideLeft.Control = BtnAdd
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = BtnAdd
Left = 69
Height = 25
Top = 6
Width = 75
AutoSize = True
BorderSpacing.InnerBorder = 4
Caption = 'BtnDelete'
OnClick = DeleteItem
TabOrder = 1
end
object BtnUp: TButton
AnchorSideLeft.Control = BtnDelete
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = BtnDelete
Left = 150
Height = 25
Top = 6
Width = 58
AutoSize = True
BorderSpacing.Left = 6
BorderSpacing.InnerBorder = 4
Caption = 'BtnUp'
OnClick = MoveUpItem
TabOrder = 2
end
object BtnDown: TButton
AnchorSideLeft.Control = BtnUp
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = BtnUp
Left = 208
Height = 25
Top = 6
Width = 72
AutoSize = True
BorderSpacing.InnerBorder = 4
Caption = 'BtnDown'
OnClick = MoveDownItem
TabOrder = 3
end
object BtnModify: TButton
AnchorSideLeft.Control = BtnDown
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = BtnDown
Left = 286
Height = 25
Top = 6
Width = 75
AutoSize = True
BorderSpacing.Left = 6
BorderSpacing.InnerBorder = 4
Caption = 'BtnModify'
OnClick = ModifyItem
TabOrder = 4
end
end
object FPanelOKCancel: TPanel
Height = 36
Top = 264
Width = 593
object FBtnOK: TBitBtn
AutoSize = True
Width = 608
Align = alBottom
BevelInner = bvLowered
TabOrder = 2
object BtnHelp: TBitBtn
AnchorSideRight.Control = FPanelOKCancel
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = FPanelOKCancel
AnchorSideBottom.Side = asrBottom
Left = 527
Height = 25
Top = 5
Width = 75
Anchors = [akRight, akBottom]
BorderSpacing.Around = 6
Caption = '&Help'
Kind = bkHelp
NumGlyphs = 0
TabOrder = 0
end
object BtnApply: TBitBtn
AnchorSideRight.Control = BtnHelp
AnchorSideBottom.Control = FPanelOKCancel
AnchorSideBottom.Side = asrBottom
Left = 446
Height = 25
Top = 5
Width = 75
Anchors = [akRight, akBottom]
BorderSpacing.Around = 6
Caption = '&Apply'
NumGlyphs = 0
OnClick = ApplyCheck
TabOrder = 1
end
object BtnCancel: TBitBtn
AnchorSideRight.Control = BtnApply
AnchorSideBottom.Control = FPanelOKCancel
AnchorSideBottom.Side = asrBottom
Left = 365
Height = 25
Top = 5
Width = 75
Anchors = [akRight, akBottom]
BorderSpacing.Around = 6
Caption = 'Cancel'
Kind = bkCancel
ModalResult = 2
NumGlyphs = 0
TabOrder = 2
end
object BtnOK: TBitBtn
AnchorSideRight.Control = BtnCancel
AnchorSideBottom.Control = FPanelOKCancel
AnchorSideBottom.Side = asrBottom
Left = 284
Height = 25
Top = 5
Width = 75
Anchors = [akRight, akBottom]
BorderSpacing.Around = 6
Caption = '&OK'
Default = True
Kind = bkOK
ModalResult = 1
NumGlyphs = 0
TabOrder = 0
Left = 1
Height = 34
Top = 1
Width = 68
end
object FBtnCancel: TBitBtn
AutoSize = True
Caption = 'Cancel'
Kind = bkCancel
ModalResult = 2
NumGlyphs = 0
TabOrder = 1
AnchorSideLeft.Control = FBtnOK
AnchorSideLeft.Side = asrBottom
Left = 69
Height = 34
Top = 1
Width = 80
end
end
object FPanelButtons: TPanel
Align = alTop
AutoSize = True
ClientHeight = 31
ClientWidth = 593
TabOrder = 1
Height = 31
Width = 593
object LabelDisable: TLabel
Caption = 'clbDisable'
Color = clBtnFace
Font.Color = clHotLight
ParentColor = False
Transparent = False
Left = 368
Height = 14
Top = 8
Width = 48
end
object FBtnAdd: TButton
AutoSize = True
Caption = 'FBtnAdd'
OnClick = AddItem
TabOrder = 0
Left = 1
Height = 29
Top = 1
Width = 65
end
object FBtnDelete: TButton
AutoSize = True
Caption = 'FBtnDelete'
OnClick = DeleteItem
TabOrder = 1
AnchorSideLeft.Control = FBtnAdd
AnchorSideLeft.Side = asrBottom
Left = 66
Height = 29
Top = 1
Width = 77
end
object FBtnUp: TButton
AutoSize = True
Caption = 'FBtnUp'
OnClick = MoveUpItem
TabOrder = 2
AnchorSideLeft.Control = FBtnDelete
AnchorSideLeft.Side = asrBottom
Left = 143
Height = 29
Top = 1
Width = 60
end
object FBtnDown: TButton
AutoSize = True
Caption = 'FBtnDown'
OnClick = MoveDownItem
TabOrder = 3
AnchorSideLeft.Control = FBtnUp
AnchorSideLeft.Side = asrBottom
Left = 203
Height = 29
Top = 1
Width = 74
end
object FBtnModify: TButton
AutoSize = True
Caption = 'FBtnModify'
OnClick = ModifyItem
TabOrder = 4
AnchorSideLeft.Control = FBtnDown
AnchorSideLeft.Side = asrBottom
Left = 277
Height = 29
Top = 1
Width = 77
end
end
object FCheck: TCheckGroup
Align = alClient
OnItemClick = ItemClick
PopupMenu = FPopupMenu
TabOrder = 2
Height = 233
Top = 31
Width = 593
object DuplicateCheckBox: TCheckBox
Left = 368
Height = 13
Top = 48
Width = 114
Caption = 'DuplicateCheckBox'
Checked = True
State = cbChecked
TabOrder = 3
end
object ColumnsEdit: TEdit
Left = 368
Height = 23
Top = 97
Width = 34
Color = clBtnFace
OnChange = ColumnsEditChange
OnKeyDown = nil
ReadOnly = True
TabOrder = 4
Text = '1'
end
object ColumnsUpDown: TUpDown
Left = 402
Height = 23
Top = 97
Width = 17
Associate = ColumnsEdit
Min = 1
Position = 1
end
object FPopupMenu: TPopupMenu
OnPopup = CreateItems
left = 113
top = 111
left = 184
top = 368
end
end

View File

@ -1,40 +1,78 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TCheckGroupEditorDlg','FORMDATA',[
'TPF0'#20'TCheckGroupEditorDlg'#19'CheckGroupEditorDlg'#13'ActiveControl'#7#6
+'FBtnOK'#11'BorderStyle'#7#8'bsDialog'#7'Caption'#6#19'CheckGroupEditorDlg'
+#12'ClientHeight'#3','#1#11'ClientWidth'#3'Q'#2#13'PixelsPerInch'#2'`'#8'Pos'
+'ition'#7#14'poScreenCenter'#18'HorzScrollBar.Page'#3'P'#2#18'VertScrollBar.'
+'Page'#3'+'#1#4'Left'#3'"'#1#6'Height'#3','#1#3'Top'#3#149#0#5'Width'#3'Q'#2
+#0#6'TPanel'#14'FPanelOKCancel'#5'Align'#7#8'alBottom'#8'AutoSize'#9#12'Clie'
+'ntHeight'#2'$'#11'ClientWidth'#3'Q'#2#8'TabOrder'#2#0#6'Height'#2'$'#3'Top'
+#3#8#1#5'Width'#3'Q'#2#0#7'TBitBtn'#6'FBtnOK'#8'AutoSize'#9#7'Caption'#6#3'&'
+'OK'#7'Default'#9#4'Kind'#7#4'bkOK'#11'ModalResult'#2#1#9'NumGlyphs'#2#0#8'T'
+'abOrder'#2#0#4'Left'#2#1#6'Height'#2'"'#3'Top'#2#1#5'Width'#2'D'#0#0#7'TBit'
+'Btn'#10'FBtnCancel'#8'AutoSize'#9#7'Caption'#6#6'Cancel'#4'Kind'#7#8'bkCanc'
+'el'#11'ModalResult'#2#2#9'NumGlyphs'#2#0#8'TabOrder'#2#1#22'AnchorSideLeft.'
+'Control'#7#6'FBtnOK'#19'AnchorSideLeft.Side'#7#9'asrBottom'#4'Left'#2'E'#6
+'Height'#2'"'#3'Top'#2#1#5'Width'#2'P'#0#0#0#6'TPanel'#13'FPanelButtons'#5'A'
+'lign'#7#5'alTop'#8'AutoSize'#9#12'ClientHeight'#2#31#11'ClientWidth'#3'Q'#2
+#8'TabOrder'#2#1#6'Height'#2#31#5'Width'#3'Q'#2#0#6'TLabel'#12'LabelDisable'
+#7'Caption'#6#10'clbDisable'#5'Color'#7#9'clBtnFace'#10'Font.Color'#7#10'clH'
+'otLight'#11'ParentColor'#8#11'Transparent'#8#4'Left'#3'p'#1#6'Height'#2#14#3
+'Top'#2#8#5'Width'#2'0'#0#0#7'TButton'#7'FBtnAdd'#8'AutoSize'#9#7'Caption'#6
+#7'FBtnAdd'#7'OnClick'#7#7'AddItem'#8'TabOrder'#2#0#4'Left'#2#1#6'Height'#2
+#29#3'Top'#2#1#5'Width'#2'A'#0#0#7'TButton'#10'FBtnDelete'#8'AutoSize'#9#7'C'
+'aption'#6#10'FBtnDelete'#7'OnClick'#7#10'DeleteItem'#8'TabOrder'#2#1#22'Anc'
+'horSideLeft.Control'#7#7'FBtnAdd'#19'AnchorSideLeft.Side'#7#9'asrBottom'#4
+'Left'#2'B'#6'Height'#2#29#3'Top'#2#1#5'Width'#2'M'#0#0#7'TButton'#6'FBtnUp'
+#8'AutoSize'#9#7'Caption'#6#6'FBtnUp'#7'OnClick'#7#10'MoveUpItem'#8'TabOrder'
+#2#2#22'AnchorSideLeft.Control'#7#10'FBtnDelete'#19'AnchorSideLeft.Side'#7#9
+'asrBottom'#4'Left'#3#143#0#6'Height'#2#29#3'Top'#2#1#5'Width'#2'<'#0#0#7'TB'
+'utton'#8'FBtnDown'#8'AutoSize'#9#7'Caption'#6#8'FBtnDown'#7'OnClick'#7#12'M'
+'oveDownItem'#8'TabOrder'#2#3#22'AnchorSideLeft.Control'#7#6'FBtnUp'#19'Anch'
+'orSideLeft.Side'#7#9'asrBottom'#4'Left'#3#203#0#6'Height'#2#29#3'Top'#2#1#5
+'Width'#2'J'#0#0#7'TButton'#10'FBtnModify'#8'AutoSize'#9#7'Caption'#6#10'FBt'
+'nModify'#7'OnClick'#7#10'ModifyItem'#8'TabOrder'#2#4#22'AnchorSideLeft.Cont'
+'rol'#7#8'FBtnDown'#19'AnchorSideLeft.Side'#7#9'asrBottom'#4'Left'#3#21#1#6
+'Height'#2#29#3'Top'#2#1#5'Width'#2'M'#0#0#0#11'TCheckGroup'#6'FCheck'#5'Ali'
+'gn'#7#8'alClient'#11'OnItemClick'#7#9'ItemClick'#9'PopupMenu'#7#10'FPopupMe'
+'nu'#8'TabOrder'#2#2#6'Height'#3#233#0#3'Top'#2#31#5'Width'#3'Q'#2#0#0#10'TP'
+'opupMenu'#10'FPopupMenu'#7'OnPopup'#7#11'CreateItems'#4'left'#2'q'#3'top'#2
+'o'#0#0#0
'TPF0'#20'TCheckGroupEditorDlg'#19'CheckGroupEditorDlg'#4'Left'#3#12#1#6'Heig'
+'ht'#3','#1#3'Top'#3#207#0#5'Width'#3'`'#2#18'HorzScrollBar.Page'#3'_'#2#18
+'VertScrollBar.Page'#3'+'#1#13'ActiveControl'#7#6'BtnAdd'#11'BorderIcons'#11
+#12'biSystemMenu'#0#11'BorderStyle'#7#8'bsDialog'#7'Caption'#6#19'CheckGroup'
+'EditorDlg'#0#6'TLabel'#12'ColumnsLabel'#4'Left'#3'q'#1#6'Height'#2#14#3'Top'
+#2'P'#5'Width'#2'B'#7'Caption'#6#12'ColumnsLabel'#5'Color'#7#6'clNone'#11'Pa'
+'rentColor'#8#0#0#11'TCheckGroup'#6'FCheck'#6'Height'#3#229#0#3'Top'#2'#'#5
+'Width'#3'h'#1#5'Align'#7#6'alLeft'#8'AutoFill'#9#7'Caption'#6#6'FCheck'#28
+'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'C'
+'hildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing'
+'.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHoriz'
+'ontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChi'
+'lds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSiz'
+'ing.ControlsPerLine'#2#1#11'OnItemClick'#7#9'ItemClick'#9'PopupMenu'#7#10'F'
+'PopupMenu'#8'TabOrder'#2#0#0#0#6'TPanel'#13'FPanelButtons'#6'Height'#2'#'#5
+'Width'#3'`'#2#5'Align'#7#5'alTop'#10'BevelInner'#7#9'bvLowered'#8'TabOrder'
+#2#1#0#6'TLabel'#12'LabelDisable'#22'AnchorSideLeft.Control'#7#9'BtnModify'
+#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#9'BtnMod'
+'ify'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#3'o'#1#6'Height'#2#14#3
+'Top'#2#11#5'Width'#2'<'#18'BorderSpacing.Left'#2#6#7'Caption'#6#12'LabelDis'
+'able'#5'Color'#7#6'clNone'#10'Font.Color'#7#10'clHotLight'#11'ParentColor'#8
+#0#0#7'TButton'#6'BtnAdd'#22'AnchorSideLeft.Control'#7#13'FPanelButtons'#21
+'AnchorSideTop.Control'#7#13'FPanelButtons'#4'Left'#2#6#6'Height'#2#25#3'Top'
+#2#6#5'Width'#2'?'#8'AutoSize'#9#18'BorderSpacing.Left'#2#6#17'BorderSpacing'
+'.Top'#2#6#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#6'BtnAdd'#7'OnClic'
+'k'#7#7'AddItem'#8'TabOrder'#2#0#0#0#7'TButton'#9'BtnDelete'#22'AnchorSideLe'
+'ft.Control'#7#6'BtnAdd'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSid'
+'eTop.Control'#7#6'BtnAdd'#4'Left'#2'E'#6'Height'#2#25#3'Top'#2#6#5'Width'#2
+'K'#8'AutoSize'#9#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#9'BtnDelete'
+#7'OnClick'#7#10'DeleteItem'#8'TabOrder'#2#1#0#0#7'TButton'#5'BtnUp'#22'Anch'
+'orSideLeft.Control'#7#9'BtnDelete'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21
+'AnchorSideTop.Control'#7#9'BtnDelete'#4'Left'#3#150#0#6'Height'#2#25#3'Top'
+#2#6#5'Width'#2':'#8'AutoSize'#9#18'BorderSpacing.Left'#2#6#25'BorderSpacing'
+'.InnerBorder'#2#4#7'Caption'#6#5'BtnUp'#7'OnClick'#7#10'MoveUpItem'#8'TabOr'
+'der'#2#2#0#0#7'TButton'#7'BtnDown'#22'AnchorSideLeft.Control'#7#5'BtnUp'#19
+'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#5'BtnUp'#4
+'Left'#3#208#0#6'Height'#2#25#3'Top'#2#6#5'Width'#2'H'#8'AutoSize'#9#25'Bord'
+'erSpacing.InnerBorder'#2#4#7'Caption'#6#7'BtnDown'#7'OnClick'#7#12'MoveDown'
+'Item'#8'TabOrder'#2#3#0#0#7'TButton'#9'BtnModify'#22'AnchorSideLeft.Control'
+#7#7'BtnDown'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Contro'
+'l'#7#7'BtnDown'#4'Left'#3#30#1#6'Height'#2#25#3'Top'#2#6#5'Width'#2'K'#8'Au'
+'toSize'#9#18'BorderSpacing.Left'#2#6#25'BorderSpacing.InnerBorder'#2#4#7'Ca'
+'ption'#6#9'BtnModify'#7'OnClick'#7#10'ModifyItem'#8'TabOrder'#2#4#0#0#0#6'T'
+'Panel'#14'FPanelOKCancel'#6'Height'#2'$'#3'Top'#3#8#1#5'Width'#3'`'#2#5'Ali'
+'gn'#7#8'alBottom'#10'BevelInner'#7#9'bvLowered'#8'TabOrder'#2#2#0#7'TBitBtn'
+#7'BtnHelp'#23'AnchorSideRight.Control'#7#14'FPanelOKCancel'#20'AnchorSideRi'
+'ght.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#14'FPanelOKCancel'
+#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#15#2#6'Height'#2#25#3'To'
+'p'#2#5#5'Width'#2'K'#7'Anchors'#11#7'akRight'#8'akBottom'#0#20'BorderSpacin'
+'g.Around'#2#6#7'Caption'#6#5'&Help'#4'Kind'#7#6'bkHelp'#9'NumGlyphs'#2#0#8
+'TabOrder'#2#0#0#0#7'TBitBtn'#8'BtnApply'#23'AnchorSideRight.Control'#7#7'Bt'
+'nHelp'#24'AnchorSideBottom.Control'#7#14'FPanelOKCancel'#21'AnchorSideBotto'
+'m.Side'#7#9'asrBottom'#4'Left'#3#190#1#6'Height'#2#25#3'Top'#2#5#5'Width'#2
+'K'#7'Anchors'#11#7'akRight'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#7'Ca'
+'ption'#6#6'&Apply'#9'NumGlyphs'#2#0#7'OnClick'#7#10'ApplyCheck'#8'TabOrder'
+#2#1#0#0#7'TBitBtn'#9'BtnCancel'#23'AnchorSideRight.Control'#7#8'BtnApply'#24
+'AnchorSideBottom.Control'#7#14'FPanelOKCancel'#21'AnchorSideBottom.Side'#7#9
+'asrBottom'#4'Left'#3'm'#1#6'Height'#2#25#3'Top'#2#5#5'Width'#2'K'#7'Anchors'
+#11#7'akRight'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#6'Can'
+'cel'#4'Kind'#7#8'bkCancel'#11'ModalResult'#2#2#9'NumGlyphs'#2#0#8'TabOrder'
+#2#2#0#0#7'TBitBtn'#5'BtnOK'#23'AnchorSideRight.Control'#7#9'BtnCancel'#24'A'
+'nchorSideBottom.Control'#7#14'FPanelOKCancel'#21'AnchorSideBottom.Side'#7#9
+'asrBottom'#4'Left'#3#28#1#6'Height'#2#25#3'Top'#2#5#5'Width'#2'K'#7'Anchors'
+#11#7'akRight'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#3'&OK'
,#7'Default'#9#4'Kind'#7#4'bkOK'#11'ModalResult'#2#1#9'NumGlyphs'#2#0#8'TabOr'
+'der'#2#3#0#0#0#9'TCheckBox'#17'DuplicateCheckBox'#4'Left'#3'p'#1#6'Height'#2
+#13#3'Top'#2'0'#5'Width'#2'r'#7'Caption'#6#17'DuplicateCheckBox'#7'Checked'#9
+#5'State'#7#9'cbChecked'#8'TabOrder'#2#3#0#0#5'TEdit'#11'ColumnsEdit'#4'Left'
+#3'p'#1#6'Height'#2#23#3'Top'#2'a'#5'Width'#2'"'#5'Color'#7#9'clBtnFace'#8'O'
+'nChange'#7#17'ColumnsEditChange'#9'OnKeyDown'#13#8'ReadOnly'#9#8'TabOrder'#2
+#4#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'ColumnsEdit'#3'Min'#2#1#8
+'Position'#2#1#0#0#10'TPopupMenu'#10'FPopupMenu'#7'OnPopup'#7#11'CreateItems'
+#4'left'#3#184#0#3'top'#3'p'#1#0#0#0
]);

View File

@ -1,41 +1,31 @@
object CheckListBoxEditorDlg: TCheckListBoxEditorDlg
AutoSize = True
BorderIcons = [biSystemMenu]
BorderStyle = bsDialog
Caption = 'CheckListBoxEditorDlg'
ClientHeight = 284
ClientWidth = 438
PixelsPerInch = 96
Position = poScreenCenter
HorzScrollBar.Page = 437
VertScrollBar.Page = 283
Left = 316
Height = 284
Top = 154
Width = 438
HorzScrollBar.Page = 437
VertScrollBar.Page = 283
ActiveControl = FCheck
AutoSize = True
BorderIcons = [biSystemMenu]
BorderStyle = bsDialog
Caption = 'CheckListBoxEditorDlg'
Position = poScreenCenter
object FCheck: TCheckListBox
Height = 213
Top = 35
Width = 438
Align = alClient
TabOrder = 0
Height = 205
Top = 43
Width = 438
end
object FPanelOKCancel: TPanel
Align = alBottom
BevelInner = bvLowered
ClientHeight = 36
ClientWidth = 438
TabOrder = 1
Height = 36
Top = 248
Width = 438
Align = alBottom
BevelInner = bvLowered
TabOrder = 1
object BtnHelp: TBitBtn
Anchors = [akRight, akBottom]
BorderSpacing.Around = 6
Caption = '&Help'
Kind = bkHelp
NumGlyphs = 0
TabOrder = 0
AnchorSideRight.Control = FPanelOKCancel
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = FPanelOKCancel
@ -44,14 +34,14 @@ object CheckListBoxEditorDlg: TCheckListBoxEditorDlg
Height = 25
Top = 5
Width = 75
end
object BtnApply: TBitBtn
Anchors = [akRight, akBottom]
BorderSpacing.Around = 6
Caption = '&Apply'
Caption = '&Help'
Kind = bkHelp
NumGlyphs = 0
OnClick = ApplyCheck
TabOrder = 1
TabOrder = 0
end
object BtnApply: TBitBtn
AnchorSideRight.Control = BtnHelp
AnchorSideBottom.Control = FPanelOKCancel
AnchorSideBottom.Side = asrBottom
@ -59,15 +49,14 @@ object CheckListBoxEditorDlg: TCheckListBoxEditorDlg
Height = 25
Top = 5
Width = 75
end
object BtnCancel: TBitBtn
Anchors = [akRight, akBottom]
BorderSpacing.Around = 6
Caption = 'Cancel'
Kind = bkCancel
ModalResult = 2
Caption = '&Apply'
NumGlyphs = 0
TabOrder = 2
OnClick = ApplyCheck
TabOrder = 1
end
object BtnCancel: TBitBtn
AnchorSideRight.Control = BtnApply
AnchorSideBottom.Control = FPanelOKCancel
AnchorSideBottom.Side = asrBottom
@ -75,8 +64,22 @@ object CheckListBoxEditorDlg: TCheckListBoxEditorDlg
Height = 25
Top = 5
Width = 75
Anchors = [akRight, akBottom]
BorderSpacing.Around = 6
Caption = 'Cancel'
Kind = bkCancel
ModalResult = 2
NumGlyphs = 0
TabOrder = 2
end
object BtnOK: TBitBtn
AnchorSideRight.Control = BtnCancel
AnchorSideBottom.Control = FPanelOKCancel
AnchorSideBottom.Side = asrBottom
Left = 114
Height = 25
Top = 5
Width = 75
Anchors = [akRight, akBottom]
BorderSpacing.Around = 6
Caption = '&OK'
@ -85,25 +88,22 @@ object CheckListBoxEditorDlg: TCheckListBoxEditorDlg
ModalResult = 1
NumGlyphs = 0
TabOrder = 3
AnchorSideRight.Control = BtnCancel
AnchorSideBottom.Control = FPanelOKCancel
AnchorSideBottom.Side = asrBottom
Left = 114
Height = 25
Top = 5
Width = 75
end
end
object FPanelButtons: TPanel
Height = 35
Width = 438
Align = alTop
AutoSize = True
BevelInner = bvLowered
ClientHeight = 43
ClientWidth = 438
TabOrder = 2
Height = 43
Width = 438
object BtnAdd: TButton
AnchorSideLeft.Control = FPanelButtons
AnchorSideTop.Control = FPanelButtons
Left = 6
Height = 25
Top = 6
Width = 63
AutoSize = True
BorderSpacing.Left = 6
BorderSpacing.Top = 6
@ -111,70 +111,64 @@ object CheckListBoxEditorDlg: TCheckListBoxEditorDlg
Caption = 'BtnAdd'
OnClick = AddItem
TabOrder = 0
AnchorSideLeft.Control = FPanelButtons
AnchorSideTop.Control = FPanelButtons
Left = 6
Height = 33
Top = 6
Width = 69
end
object BtnDelete: TButton
AnchorSideLeft.Control = BtnAdd
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = BtnAdd
Left = 69
Height = 25
Top = 6
Width = 75
AutoSize = True
BorderSpacing.InnerBorder = 4
Caption = 'BtnDelete'
OnClick = DeleteItem
TabOrder = 1
AnchorSideLeft.Control = BtnAdd
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = BtnAdd
Left = 75
Height = 33
Top = 6
Width = 81
end
object BtnUp: TButton
AnchorSideLeft.Control = BtnDelete
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = BtnDelete
Left = 150
Height = 25
Top = 6
Width = 58
AutoSize = True
BorderSpacing.Left = 6
BorderSpacing.InnerBorder = 4
Caption = 'BtnUp'
OnClick = MoveUpItem
TabOrder = 2
AnchorSideLeft.Control = BtnDelete
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = BtnDelete
Left = 162
Height = 33
Top = 6
Width = 64
end
object BtnDown: TButton
AnchorSideLeft.Control = BtnUp
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = BtnUp
Left = 208
Height = 25
Top = 6
Width = 72
AutoSize = True
BorderSpacing.InnerBorder = 4
Caption = 'BtnDown'
OnClick = MoveDownItem
TabOrder = 3
AnchorSideLeft.Control = BtnUp
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = BtnUp
Left = 226
Height = 33
Top = 6
Width = 78
end
object BtnModify: TButton
AnchorSideLeft.Control = BtnDown
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = BtnDown
Left = 286
Height = 25
Top = 6
Width = 75
AutoSize = True
BorderSpacing.Left = 6
BorderSpacing.InnerBorder = 4
Caption = 'BtnModify'
OnClick = ModifyItem
TabOrder = 4
AnchorSideLeft.Control = BtnDown
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = BtnDown
Left = 310
Height = 33
Top = 6
Width = 81
end
end
end

View File

@ -1,59 +1,57 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TCheckListBoxEditorDlg','FORMDATA',[
'TPF0'#22'TCheckListBoxEditorDlg'#21'CheckListBoxEditorDlg'#8'AutoSize'#9#11
+'BorderIcons'#11#12'biSystemMenu'#0#11'BorderStyle'#7#8'bsDialog'#7'Caption'
+#6#21'CheckListBoxEditorDlg'#12'ClientHeight'#3#28#1#11'ClientWidth'#3#182#1
+#13'PixelsPerInch'#2'`'#8'Position'#7#14'poScreenCenter'#18'HorzScrollBar.Pa'
+'ge'#3#181#1#18'VertScrollBar.Page'#3#27#1#4'Left'#3'<'#1#6'Height'#3#28#1#3
+'Top'#3#154#0#5'Width'#3#182#1#0#13'TCheckListBox'#6'FCheck'#5'Align'#7#8'al'
+'Client'#8'TabOrder'#2#0#6'Height'#3#205#0#3'Top'#2'+'#5'Width'#3#182#1#0#0#6
+'TPanel'#14'FPanelOKCancel'#5'Align'#7#8'alBottom'#10'BevelInner'#7#9'bvLowe'
+'red'#12'ClientHeight'#2'$'#11'ClientWidth'#3#182#1#8'TabOrder'#2#1#6'Height'
+#2'$'#3'Top'#3#248#0#5'Width'#3#182#1#0#7'TBitBtn'#7'BtnHelp'#7'Anchors'#11#7
+'akRight'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#5'&Help'#4
+'Kind'#7#6'bkHelp'#9'NumGlyphs'#2#0#8'TabOrder'#2#0#23'AnchorSideRight.Contr'
'TPF0'#22'TCheckListBoxEditorDlg'#21'CheckListBoxEditorDlg'#4'Left'#3'<'#1#6
+'Height'#3#28#1#3'Top'#3#154#0#5'Width'#3#182#1#18'HorzScrollBar.Page'#3#181
+#1#18'VertScrollBar.Page'#3#27#1#13'ActiveControl'#7#6'FCheck'#8'AutoSize'#9
+#11'BorderIcons'#11#12'biSystemMenu'#0#11'BorderStyle'#7#8'bsDialog'#7'Capti'
+'on'#6#21'CheckListBoxEditorDlg'#8'Position'#7#14'poScreenCenter'#0#13'TChec'
+'kListBox'#6'FCheck'#6'Height'#3#213#0#3'Top'#2'#'#5'Width'#3#182#1#5'Align'
+#7#8'alClient'#8'TabOrder'#2#0#0#0#6'TPanel'#14'FPanelOKCancel'#6'Height'#2
+'$'#3'Top'#3#248#0#5'Width'#3#182#1#5'Align'#7#8'alBottom'#10'BevelInner'#7#9
+'bvLowered'#8'TabOrder'#2#1#0#7'TBitBtn'#7'BtnHelp'#23'AnchorSideRight.Contr'
+'ol'#7#14'FPanelOKCancel'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorS'
+'ideBottom.Control'#7#14'FPanelOKCancel'#21'AnchorSideBottom.Side'#7#9'asrBo'
+'ttom'#4'Left'#3'e'#1#6'Height'#2#25#3'Top'#2#5#5'Width'#2'K'#0#0#7'TBitBtn'
+#8'BtnApply'#7'Anchors'#11#7'akRight'#8'akBottom'#0#20'BorderSpacing.Around'
+#2#6#7'Caption'#6#6'&Apply'#9'NumGlyphs'#2#0#7'OnClick'#7#10'ApplyCheck'#8'T'
+'abOrder'#2#1#23'AnchorSideRight.Control'#7#7'BtnHelp'#24'AnchorSideBottom.C'
+'ontrol'#7#14'FPanelOKCancel'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Lef'
+'t'#3#20#1#6'Height'#2#25#3'Top'#2#5#5'Width'#2'K'#0#0#7'TBitBtn'#9'BtnCance'
+'l'#7'Anchors'#11#7'akRight'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#7'Ca'
+'ption'#6#6'Cancel'#4'Kind'#7#8'bkCancel'#11'ModalResult'#2#2#9'NumGlyphs'#2
+#0#8'TabOrder'#2#2#23'AnchorSideRight.Control'#7#8'BtnApply'#24'AnchorSideBo'
+'ttom.Control'#7#14'FPanelOKCancel'#21'AnchorSideBottom.Side'#7#9'asrBottom'
+#4'Left'#3#195#0#6'Height'#2#25#3'Top'#2#5#5'Width'#2'K'#0#0#7'TBitBtn'#5'Bt'
+'nOK'#7'Anchors'#11#7'akRight'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#7
+'Caption'#6#3'&OK'#7'Default'#9#4'Kind'#7#4'bkOK'#11'ModalResult'#2#1#9'NumG'
+'lyphs'#2#0#8'TabOrder'#2#3#23'AnchorSideRight.Control'#7#9'BtnCancel'#24'An'
+'chorSideBottom.Control'#7#14'FPanelOKCancel'#21'AnchorSideBottom.Side'#7#9
+'asrBottom'#4'Left'#2'r'#6'Height'#2#25#3'Top'#2#5#5'Width'#2'K'#0#0#0#6'TPa'
+'nel'#13'FPanelButtons'#5'Align'#7#5'alTop'#8'AutoSize'#9#10'BevelInner'#7#9
+'bvLowered'#12'ClientHeight'#2'+'#11'ClientWidth'#3#182#1#8'TabOrder'#2#2#6
+'Height'#2'+'#5'Width'#3#182#1#0#7'TButton'#6'BtnAdd'#8'AutoSize'#9#18'Borde'
+'rSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#25'BorderSpacing.InnerBorder'#2
+#4#7'Caption'#6#6'BtnAdd'#7'OnClick'#7#7'AddItem'#8'TabOrder'#2#0#22'AnchorS'
+'ideLeft.Control'#7#13'FPanelButtons'#21'AnchorSideTop.Control'#7#13'FPanelB'
+'uttons'#4'Left'#2#6#6'Height'#2'!'#3'Top'#2#6#5'Width'#2'E'#0#0#7'TButton'#9
+'BtnDelete'#8'AutoSize'#9#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#9'B'
+'tnDelete'#7'OnClick'#7#10'DeleteItem'#8'TabOrder'#2#1#22'AnchorSideLeft.Con'
+'trol'#7#6'BtnAdd'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.C'
+'ontrol'#7#6'BtnAdd'#4'Left'#2'K'#6'Height'#2'!'#3'Top'#2#6#5'Width'#2'Q'#0#0
+#7'TButton'#5'BtnUp'#8'AutoSize'#9#18'BorderSpacing.Left'#2#6#25'BorderSpaci'
+'ng.InnerBorder'#2#4#7'Caption'#6#5'BtnUp'#7'OnClick'#7#10'MoveUpItem'#8'Tab'
+'Order'#2#2#22'AnchorSideLeft.Control'#7#9'BtnDelete'#19'AnchorSideLeft.Side'
+#7#9'asrBottom'#21'AnchorSideTop.Control'#7#9'BtnDelete'#4'Left'#3#162#0#6'H'
+'eight'#2'!'#3'Top'#2#6#5'Width'#2'@'#0#0#7'TButton'#7'BtnDown'#8'AutoSize'#9
+#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#7'BtnDown'#7'OnClick'#7#12'M'
+'oveDownItem'#8'TabOrder'#2#3#22'AnchorSideLeft.Control'#7#5'BtnUp'#19'Ancho'
+'rSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#5'BtnUp'#4'Left'
+#3#226#0#6'Height'#2'!'#3'Top'#2#6#5'Width'#2'N'#0#0#7'TButton'#9'BtnModify'
+#8'AutoSize'#9#18'BorderSpacing.Left'#2#6#25'BorderSpacing.InnerBorder'#2#4#7
+'Caption'#6#9'BtnModify'#7'OnClick'#7#10'ModifyItem'#8'TabOrder'#2#4#22'Anch'
+'orSideLeft.Control'#7#7'BtnDown'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21
+'AnchorSideTop.Control'#7#7'BtnDown'#4'Left'#3'6'#1#6'Height'#2'!'#3'Top'#2#6
+#5'Width'#2'Q'#0#0#0#0
+'ttom'#4'Left'#3'e'#1#6'Height'#2#25#3'Top'#2#5#5'Width'#2'K'#7'Anchors'#11#7
+'akRight'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#5'&Help'#4
+'Kind'#7#6'bkHelp'#9'NumGlyphs'#2#0#8'TabOrder'#2#0#0#0#7'TBitBtn'#8'BtnAppl'
+'y'#23'AnchorSideRight.Control'#7#7'BtnHelp'#24'AnchorSideBottom.Control'#7
+#14'FPanelOKCancel'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#20#1#6
+'Height'#2#25#3'Top'#2#5#5'Width'#2'K'#7'Anchors'#11#7'akRight'#8'akBottom'#0
+#20'BorderSpacing.Around'#2#6#7'Caption'#6#6'&Apply'#9'NumGlyphs'#2#0#7'OnCl'
+'ick'#7#10'ApplyCheck'#8'TabOrder'#2#1#0#0#7'TBitBtn'#9'BtnCancel'#23'Anchor'
+'SideRight.Control'#7#8'BtnApply'#24'AnchorSideBottom.Control'#7#14'FPanelOK'
+'Cancel'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#195#0#6'Height'#2
+#25#3'Top'#2#5#5'Width'#2'K'#7'Anchors'#11#7'akRight'#8'akBottom'#0#20'Borde'
+'rSpacing.Around'#2#6#7'Caption'#6#6'Cancel'#4'Kind'#7#8'bkCancel'#11'ModalR'
+'esult'#2#2#9'NumGlyphs'#2#0#8'TabOrder'#2#2#0#0#7'TBitBtn'#5'BtnOK'#23'Anch'
+'orSideRight.Control'#7#9'BtnCancel'#24'AnchorSideBottom.Control'#7#14'FPane'
+'lOKCancel'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#2'r'#6'Height'#2
+#25#3'Top'#2#5#5'Width'#2'K'#7'Anchors'#11#7'akRight'#8'akBottom'#0#20'Borde'
+'rSpacing.Around'#2#6#7'Caption'#6#3'&OK'#7'Default'#9#4'Kind'#7#4'bkOK'#11
+'ModalResult'#2#1#9'NumGlyphs'#2#0#8'TabOrder'#2#3#0#0#0#6'TPanel'#13'FPanel'
+'Buttons'#6'Height'#2'#'#5'Width'#3#182#1#5'Align'#7#5'alTop'#8'AutoSize'#9
+#10'BevelInner'#7#9'bvLowered'#8'TabOrder'#2#2#0#7'TButton'#6'BtnAdd'#22'Anc'
+'horSideLeft.Control'#7#13'FPanelButtons'#21'AnchorSideTop.Control'#7#13'FPa'
+'nelButtons'#4'Left'#2#6#6'Height'#2#25#3'Top'#2#6#5'Width'#2'?'#8'AutoSize'
+#9#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#25'BorderSpacing.Inn'
+'erBorder'#2#4#7'Caption'#6#6'BtnAdd'#7'OnClick'#7#7'AddItem'#8'TabOrder'#2#0
+#0#0#7'TButton'#9'BtnDelete'#22'AnchorSideLeft.Control'#7#6'BtnAdd'#19'Ancho'
+'rSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#6'BtnAdd'#4'Left'
+#2'E'#6'Height'#2#25#3'Top'#2#6#5'Width'#2'K'#8'AutoSize'#9#25'BorderSpacing'
+'.InnerBorder'#2#4#7'Caption'#6#9'BtnDelete'#7'OnClick'#7#10'DeleteItem'#8'T'
+'abOrder'#2#1#0#0#7'TButton'#5'BtnUp'#22'AnchorSideLeft.Control'#7#9'BtnDele'
+'te'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#9'Bt'
+'nDelete'#4'Left'#3#150#0#6'Height'#2#25#3'Top'#2#6#5'Width'#2':'#8'AutoSize'
+#9#18'BorderSpacing.Left'#2#6#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6
+#5'BtnUp'#7'OnClick'#7#10'MoveUpItem'#8'TabOrder'#2#2#0#0#7'TButton'#7'BtnDo'
+'wn'#22'AnchorSideLeft.Control'#7#5'BtnUp'#19'AnchorSideLeft.Side'#7#9'asrBo'
+'ttom'#21'AnchorSideTop.Control'#7#5'BtnUp'#4'Left'#3#208#0#6'Height'#2#25#3
+'Top'#2#6#5'Width'#2'H'#8'AutoSize'#9#25'BorderSpacing.InnerBorder'#2#4#7'Ca'
+'ption'#6#7'BtnDown'#7'OnClick'#7#12'MoveDownItem'#8'TabOrder'#2#3#0#0#7'TBu'
+'tton'#9'BtnModify'#22'AnchorSideLeft.Control'#7#7'BtnDown'#19'AnchorSideLef'
+'t.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#7'BtnDown'#4'Left'#3#30#1
+#6'Height'#2#25#3'Top'#2#6#5'Width'#2'K'#8'AutoSize'#9#18'BorderSpacing.Left'
+#2#6#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#9'BtnModify'#7'OnClick'#7
+#10'ModifyItem'#8'TabOrder'#2#4#0#0#0#0
]);

View File

@ -52,13 +52,13 @@ type
property Modified: Boolean read FModified write FModified;
end;
procedure AssignCheck(dstCheck, srcCheck: TCheckListBox);
procedure AssignCheckList(dstCheck, srcCheck: TCheckListBox);
implementation
uses ObjInspStrConsts;
procedure AssignCheck(dstCheck, srcCheck: TCheckListBox);
procedure AssignCheckList(dstCheck, srcCheck: TCheckListBox);
var i: integer;
begin
dstCheck.Items.Clear;
@ -123,16 +123,11 @@ begin
end;
procedure TCheckListBoxEditorDlg.ApplyCheck(Sender:TObject);
//var aCheck:TCheckListBox; //coppola
begin
// if FCheck.ItemIndex=-1 then exit;
if Assigned(FCheck) then begin
AssignCheck(aCheck, FCheck);
AssignCheckList(aCheck, FCheck);
FModified := True;
end;
// AssignCheck(aCheck, FCheck);
// Modified; coppola
end;
initialization

View File

@ -27,7 +27,8 @@ interface
uses
Classes, SysUtils, LResources, TypInfo, LCLProc, Forms, Controls, Menus,
ExtCtrls, StdCtrls, Graphics, Grids, CheckLst, Buttons, ComCtrls, Dialogs,
LazStringGridEdit, CheckListboxEditorDlg, GraphType, PropEdits, ObjInspStrConsts;
LazStringGridEdit, CheckListboxEditorDlg, CheckGroupEditorDlg, GraphType, PropEdits,
ObjInspStrConsts;
type
{ TComponentEditorDesigner }
@ -306,7 +307,6 @@ type
TCheckGroupComponentEditor = class(TDefaultComponentEditor)
protected
procedure DoShowEditor;
procedure AssignCheck(dstCheck, srcCheck: TCheckGroup);
public
procedure ExecuteVerb(Index: Integer); override;
function GetVerb(Index: Integer): string; override;
@ -870,11 +870,11 @@ begin
Dlg.aCheck:=TCheckListBox(GetComponent);
if not HasHook then exit;
AssignCheck(Dlg.FCheck, Dlg.aCheck);
AssignCheckList(Dlg.FCheck, Dlg.aCheck);
//ShowEditor
if Dlg.ShowModal=mrOK then begin
AssignCheck(Dlg.aCheck, Dlg.FCheck);
AssignCheckList(Dlg.aCheck, Dlg.FCheck);
Modified;
end;
if Dlg.Modified then
@ -902,175 +902,45 @@ end;
{ TCheckGroupEditorDlg }
type
TCheckGroupEditorDlg = class(TForm)
FBtnAdd: TButton;
FBtnCancel: TBitBtn;
FBtnDelete: TButton;
FBtnDown: TButton;
FBtnModify: TButton;
FBtnOK: TBitBtn;
FBtnUp: TButton;
FCheck: TCheckGroup;
FPanelButtons: TPanel;
FPanelOKCancel: TPanel;
FPopupMenu: TPopupMenu;
LabelDisable: TLabel;
procedure AddItem(Sender: TObject);
procedure CreateItems(Sender: TObject);
procedure DeleteItem(Sender: TObject);
procedure ItemClick(Sender: TObject; Index: integer);
procedure ModifyItem(Sender: TObject);
procedure MoveDownItem(Sender: TObject);
procedure MoveUpItem(Sender: TObject);
procedure EnableDisable(Sender:TObject);
private
{ private declarations }
ItemIndex:integer;
public
{ public declarations }
end;
procedure TCheckGroupEditorDlg.AddItem(Sender:TObject);
var strItem:string;
begin
if InputQuery(clbCheckGroupEditor, clbAdd, strItem) then
FCheck.Items.Add(strItem);
end;
procedure TCheckGroupEditorDlg.DeleteItem(Sender:TObject);
begin
if ItemIndex=-1 then exit;
if MessageDlg(clbCheckGroupEditor,Format(clbDelete,[ItemIndex, FCheck.Items[ItemIndex]]),
mtConfirmation, mbYesNo, 0)=mrYes then begin
FCheck.Items.Delete(ItemIndex);
if ItemIndex>FCheck.Items.Count-1 then
ItemIndex:=FCheck.Items.Count-1;
end;
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;
ItemIndex:=ItemIndex-1
end;
procedure TCheckGroupEditorDlg.MoveDownItem(Sender:TObject);
var itemtmp:string;
checkedtmp:boolean;
begin
if (FCheck.Items.Count<=1)or(ItemIndex=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;
ItemIndex:=ItemIndex+1
end;
procedure TCheckGroupEditorDlg.ModifyItem(Sender:TObject);
begin
if ItemIndex=-1 then exit;
FCheck.Items[ItemIndex]:=InputBox(clbCheckGroupEditor,clbModify,FCheck.Items[ItemIndex]);
end;
procedure TCheckGroupEditorDlg.ItemClick(Sender: TObject; Index: integer);
begin
ItemIndex:=Index;
end;
procedure TCheckGroupEditorDlg.EnableDisable(Sender:TObject);
var i:integer;
begin
for i:=0 to FCheck.Items.Count-1 do begin
if (Sender=FPopupMenu.Items[i]) then
FCheck.CheckEnabled[i]:=not FCheck.CheckEnabled[i]
end;
end;
procedure TCheckGroupEditorDlg.CreateItems(Sender:TObject);
var i:integer;
begin
FPopupMenu.Items.Clear;
for i:=0 to FCheck.Items.Count-1 do begin
FPopupMenu.Items.Add(TMenuItem.Create(self));
FPopupMenu.Items[i].Caption:=FCheck.Items[i];
FPopupMenu.Items[i].Checked:=FCheck.CheckEnabled[i];
FPopupMenu.Items[i].OnClick:=@EnableDisable;
end;;
end;
procedure TCheckGroupComponentEditor.DoShowEditor;
var Dlg : TCheckGroupEditorDlg;
aCheck: TCheckGroup;
begin
Dlg:=TCheckGroupEditorDlg.Create(nil);
with Dlg do begin
Caption:=clbCheckGroupEditor;
ItemIndex:=-1;
FBtnAdd.Caption:=oiscAdd;
FBtnDelete.Caption:=oiscDelete;
FBtnUp.Caption:=clbUp;
FBtnDown.Caption:=clbDown;
FBtnModify.ShowHint:=true;
FBtnModify.Hint:=clbModify;
FBtnModify.Caption:='...';
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
if GetComponent is TCheckGroup then begin
aCheck:=TCheckGroup(GetComponent);
Dlg.aCheck:=TCheckGroup(GetComponent);
if not HasHook then exit;
AssignCheck(Dlg.FCheck, aCheck);
AssignCheckGroup(Dlg.FCheck, Dlg.aCheck);
Dlg.ColumnsUpDown.Position:=Dlg.aCheck.Columns;
//ShowEditor
if Dlg.ShowModal=mrOK then begin
//Apply the modifications
AssignCheck(aCheck, Dlg.FCheck);
AssignCheckGroup(Dlg.aCheck, Dlg.FCheck);
Modified;
end;
if Dlg.Modified then
Modified;
end;
finally
Dlg.Free;
end;
end;
procedure TCheckGroupComponentEditor.AssignCheck(dstCheck, srcCheck: TCheckGroup);
var i: integer;
begin
DstCheck.Items.Clear;
DstCheck.Items:=srcCheck.Items;
DstCheck.Caption:=srcCheck.Caption;
for i:=0 to srcCheck.Items.Count-1 do begin
dstCheck.Checked[i]:=srcCheck.Checked[i];
dstCheck.CheckEnabled[i]:=srcCheck.CheckEnabled[i]
end;
end;
procedure TCheckGroupComponentEditor.ExecuteVerb(Index: Integer);
begin
DoShowEditor;
@ -1324,7 +1194,6 @@ begin
end;
initialization
{$I checkgroupeditordlg.lrs}
RegisterComponentEditorProc:=@DefaultRegisterComponentEditorProc;
RegisterComponentEditor(TCustomNotebook,TNotebookComponentEditor);

View File

@ -166,7 +166,10 @@ resourcestring
//checkgroup editor
clbCheckGroupEditor = 'CheckGroup Editor';
clbDisable = 'Popup to disable/enable items';
clbColumns = 'n. columns';
clbCheckDuplicate = 'On Add, Check for Duplicate in Items';
clbCheckDuplicateMsg = 'The "%s" Item is already listed. Add it anyway? ';
// Collection Editor
oiColEditAdd = 'Add';