ideintf: set Enable of the menu items for fields editor by taka_jp (issue #0015387)

git-svn-id: trunk@23228 -
This commit is contained in:
paul 2009-12-22 06:28:46 +00:00
parent 0c71ee3723
commit c19f4f146b
3 changed files with 46 additions and 25 deletions

View File

@ -27,6 +27,7 @@ object DSFieldsEditorFrm: TDSFieldsEditorFrm
TabOrder = 0
end
object PopupMenu1: TPopupMenu
OnPopup = PopupMenu1Popup
left = 8
top = 144
object MenuItem1: TMenuItem

View File

@ -10,29 +10,28 @@ LazarusResources.Add('TDSFieldsEditorFrm','FORMDATA',[
+'dsListBox'#4'Left'#2#0#6'Height'#3' '#1#3'Top'#2#0#5'Width'#3#215#0#5'Align'
+#7#8'alClient'#10'ItemHeight'#2#0#11'MultiSelect'#9#7'OnClick'#7#13'ListBox1'
+'Click'#9'OnKeyDown'#7#20'FieldsListBoxKeyDown'#9'PopupMenu'#7#10'PopupMenu1'
+#8'TabOrder'#2#0#0#0#10'TPopupMenu'#10'PopupMenu1'#4'left'#2#8#3'top'#3#144#0
+#0#9'TMenuItem'#9'MenuItem1'#6'Action'#7#13'AddFieldsActn'#7'OnClick'#7#20'A'
+'ddFieldsActnExecute'#0#0#9'TMenuItem'#9'MenuItem2'#6'Action'#7#16'DeleteFie'
+'ldsActn'#7'OnClick'#7#23'DeleteFieldsActnExecute'#0#0#9'TMenuItem'#9'MenuIt'
+'em5'#6'Action'#7#7'NewActn'#7'OnClick'#7#14'NewActnExecute'#0#0#9'TMenuItem'
+#9'MenuItem3'#6'Action'#7#10'MoveUpActn'#7'OnClick'#7#17'MoveUpActnExecute'#0
+#0#9'TMenuItem'#9'MenuItem4'#6'Action'#7#12'MoveDownActn'#7'OnClick'#7#19'Mo'
+'veDownActnExecute'#0#0#9'TMenuItem'#9'MenuItem6'#6'Action'#7#13'SelectAllAc'
+'tn'#7'OnClick'#7#20'SelectAllActnExecute'#0#0#9'TMenuItem'#9'MenuItem7'#6'A'
+'ction'#7#15'UnselectAllActn'#7'OnClick'#7#22'UnselectAllActnExecute'#0#0#0
+#11'TActionList'#11'ActionList1'#4'left'#2'('#3'top'#3#144#0#0#7'TAction'#13
+'AddFieldsActn'#8'Category'#6#6'Fields'#7'Caption'#6#11'&Add fields'#4'Hint'
+#6#25'Add fields from FieldDefs'#9'OnExecute'#7#20'AddFieldsActnExecute'#8'S'
+'hortCut'#3'-@'#0#0#7'TAction'#16'DeleteFieldsActn'#8'Category'#6#6'Fields'#7
+'Caption'#6#7'&Delete'#4'Hint'#6#24'Delete selected field(s)'#9'OnExecute'#7
+#23'DeleteFieldsActnExecute'#8'ShortCut'#2'.'#0#0#7'TAction'#7'NewActn'#8'Ca'
+'tegory'#6#6'Fields'#7'Caption'#6#4'&New'#4'Hint'#6'/Create new field and ad'
+'d it at current position'#9'OnExecute'#7#14'NewActnExecute'#8'ShortCut'#2'-'
+#0#0#7'TAction'#10'MoveUpActn'#8'Category'#6#6'Fields'#7'Caption'#6#8'Move &'
+'Up'#9'OnExecute'#7#17'MoveUpActnExecute'#0#0#7'TAction'#12'MoveDownActn'#8
+'Category'#6#6'Fields'#7'Caption'#6#10'Move &Down'#9'OnExecute'#7#19'MoveDow'
+'nActnExecute'#0#0#7'TAction'#13'SelectAllActn'#8'Category'#6#6'Fields'#7'Ca'
+'ption'#6#11'&Select all'#9'OnExecute'#7#20'SelectAllActnExecute'#8'ShortCut'
+#3'A@'#0#0#7'TAction'#15'UnselectAllActn'#8'Category'#6#6'Fields'#7'Caption'
+#6#13'&Unselect all'#9'OnExecute'#7#22'UnselectAllActnExecute'#0#0#0#0
+#8'TabOrder'#2#0#0#0#10'TPopupMenu'#10'PopupMenu1'#7'OnPopup'#7#15'PopupMenu'
+'1Popup'#4'left'#2#8#3'top'#3#144#0#0#9'TMenuItem'#9'MenuItem1'#6'Action'#7
+#13'AddFieldsActn'#7'OnClick'#7#20'AddFieldsActnExecute'#0#0#9'TMenuItem'#9
+'MenuItem2'#6'Action'#7#16'DeleteFieldsActn'#7'OnClick'#7#23'DeleteFieldsAct'
+'nExecute'#0#0#9'TMenuItem'#9'MenuItem5'#6'Action'#7#7'NewActn'#7'OnClick'#7
+#14'NewActnExecute'#0#0#9'TMenuItem'#9'MenuItem3'#6'Action'#7#10'MoveUpActn'
+#7'OnClick'#7#17'MoveUpActnExecute'#0#0#9'TMenuItem'#9'MenuItem4'#6'Action'#7
+#12'MoveDownActn'#7'OnClick'#7#19'MoveDownActnExecute'#0#0#9'TMenuItem'#9'Me'
+'nuItem6'#6'Action'#7#13'SelectAllActn'#7'OnClick'#7#20'SelectAllActnExecute'
+#0#0#9'TMenuItem'#9'MenuItem7'#6'Action'#7#15'UnselectAllActn'#7'OnClick'#7
+#22'UnselectAllActnExecute'#0#0#0#11'TActionList'#11'ActionList1'#4'left'#2
+'('#3'top'#3#144#0#0#7'TAction'#13'AddFieldsActn'#8'Category'#6#6'Fields'#7
+'Caption'#6#11'&Add fields'#9'OnExecute'#7#20'AddFieldsActnExecute'#8'ShortC'
+'ut'#3'-@'#0#0#7'TAction'#16'DeleteFieldsActn'#8'Category'#6#6'Fields'#7'Cap'
+'tion'#6#7'&Delete'#9'OnExecute'#7#23'DeleteFieldsActnExecute'#8'ShortCut'#2
+'.'#0#0#7'TAction'#7'NewActn'#8'Category'#6#6'Fields'#7'Caption'#6#4'&New'#9
+'OnExecute'#7#14'NewActnExecute'#8'ShortCut'#2'-'#0#0#7'TAction'#10'MoveUpAc'
+'tn'#8'Category'#6#6'Fields'#7'Caption'#6#8'Move &Up'#9'OnExecute'#7#17'Move'
+'UpActnExecute'#0#0#7'TAction'#12'MoveDownActn'#8'Category'#6#6'Fields'#7'Ca'
+'ption'#6#10'Move &Down'#9'OnExecute'#7#19'MoveDownActnExecute'#0#0#7'TActio'
+'n'#13'SelectAllActn'#8'Category'#6#6'Fields'#7'Caption'#6#11'&Select all'#9
+'OnExecute'#7#20'SelectAllActnExecute'#8'ShortCut'#3'A@'#0#0#7'TAction'#15'U'
+'nselectAllActn'#8'Category'#6#6'Fields'#7'Caption'#6#13'&Unselect all'#9'On'
+'Execute'#7#22'UnselectAllActnExecute'#0#0#0#0
]);

View File

@ -60,6 +60,7 @@ type
procedure ListBox1Click(Sender: TObject);
procedure MoveDownActnExecute(Sender: TObject);
procedure MoveUpActnExecute(Sender: TObject);
procedure PopupMenu1Popup(Sender: TObject);
procedure SelectAllActnExecute(Sender: TObject);
procedure UnselectAllActnExecute(Sender: TObject);
protected
@ -303,6 +304,26 @@ begin
if bModified then fDesigner.Modified;
end;
procedure TDSFieldsEditorFrm.PopupMenu1Popup(Sender: TObject);
var
b: boolean;
i, SelectedCount: integer;
begin
b := FieldsListBox.Count > 0;
SelectedCount := 0;
for i:= 0 to FieldsListBox.Count-1 do
if FieldsListBox.Selected[i] then
Inc(SelectedCount);
DeleteFieldsActn.Enabled := b and (SelectedCount > 0);
MoveDownActn.Enabled := b and (SelectedCount > 0)
and (Not FieldsListBox.Selected[FieldsListBox.Items.Count - 1]);
MoveUpActn.Enabled := b and (SelectedCount > 0)
and (Not FieldsListBox.Selected[0]);
SelectAllActn.Enabled := b and (FieldsListBox.Count <> SelectedCount);
UnselectAllActn.Enabled := b and (SelectedCount > 0);
end;
procedure TDSFieldsEditorFrm.SelectAllActnExecute(Sender: TObject);
begin
DoSelected(True);