mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-11-01 05:09:39 +01:00
ideintf: use actions with shortcuts in the check list box editor, show button hints
git-svn-id: trunk@24991 -
This commit is contained in:
parent
d2001e0228
commit
f05c17034e
@ -3,7 +3,6 @@ object CheckListBoxEditorDlg: TCheckListBoxEditorDlg
|
||||
Height = 294
|
||||
Top = 154
|
||||
Width = 445
|
||||
ActiveControl = FCheck
|
||||
BorderIcons = [biSystemMenu]
|
||||
BorderStyle = bsDialog
|
||||
Caption = 'CheckListBoxEditorDlg'
|
||||
@ -13,7 +12,7 @@ object CheckListBoxEditorDlg: TCheckListBoxEditorDlg
|
||||
Constraints.MinWidth = 200
|
||||
OnCreate = FormCreate
|
||||
Position = poScreenCenter
|
||||
LCLVersion = '0.9.27'
|
||||
LCLVersion = '0.9.29'
|
||||
object FCheck: TCheckListBox
|
||||
Left = 0
|
||||
Height = 232
|
||||
@ -31,64 +30,57 @@ object CheckListBoxEditorDlg: TCheckListBoxEditorDlg
|
||||
Width = 445
|
||||
AutoSize = True
|
||||
Caption = 'ToolBar'
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 1
|
||||
object tbAdd: TToolButton
|
||||
Left = 1
|
||||
Top = 2
|
||||
Caption = 'tbAdd'
|
||||
Action = actAdd
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
OnClick = AddItem
|
||||
end
|
||||
object tbDelete: TToolButton
|
||||
Left = 24
|
||||
Top = 2
|
||||
Caption = 'tbDelete'
|
||||
Enabled = False
|
||||
Action = actDel
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
OnClick = DeleteItem
|
||||
end
|
||||
object ToolButton3: TToolButton
|
||||
Left = 47
|
||||
Top = 2
|
||||
Width = 9
|
||||
Width = 4
|
||||
Caption = 'ToolButton3'
|
||||
Style = tbsDivider
|
||||
end
|
||||
object tbUp: TToolButton
|
||||
Left = 56
|
||||
Left = 51
|
||||
Top = 2
|
||||
Caption = 'tbUp'
|
||||
Enabled = False
|
||||
Action = actMoveUp
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
OnClick = MoveUpItem
|
||||
end
|
||||
object tbDown: TToolButton
|
||||
Left = 79
|
||||
Left = 74
|
||||
Top = 2
|
||||
Caption = 'tbDown'
|
||||
Enabled = False
|
||||
Action = actMoveDown
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
OnClick = MoveDownItem
|
||||
end
|
||||
object ToolButton6: TToolButton
|
||||
Left = 102
|
||||
Left = 97
|
||||
Top = 2
|
||||
Width = 10
|
||||
Width = 4
|
||||
Caption = 'ToolButton6'
|
||||
Style = tbsDivider
|
||||
end
|
||||
object tbEdit: TToolButton
|
||||
Left = 112
|
||||
Left = 101
|
||||
Top = 2
|
||||
Caption = 'tbEdit'
|
||||
Enabled = False
|
||||
Action = actEdit
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
OnClick = ModifyItem
|
||||
end
|
||||
end
|
||||
object BtnPanel: TButtonPanel
|
||||
@ -99,4 +91,30 @@ object CheckListBoxEditorDlg: TCheckListBoxEditorDlg
|
||||
TabOrder = 2
|
||||
ShowBevel = False
|
||||
end
|
||||
object ActionList1: TActionList
|
||||
left = 128
|
||||
top = 64
|
||||
object actAdd: TAction
|
||||
Caption = 'Add'
|
||||
OnExecute = actAddExecute
|
||||
ShortCut = 45
|
||||
end
|
||||
object actDel: TAction
|
||||
Caption = 'actDel'
|
||||
OnExecute = actDelExecute
|
||||
ShortCut = 46
|
||||
end
|
||||
object actMoveUp: TAction
|
||||
Caption = 'actMoveUp'
|
||||
OnExecute = actMoveUpExecute
|
||||
end
|
||||
object actMoveDown: TAction
|
||||
Caption = 'actMoveDown'
|
||||
OnExecute = actMoveDownExecute
|
||||
end
|
||||
object actEdit: TAction
|
||||
Caption = 'Edit'
|
||||
OnExecute = actEditExecute
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -19,13 +19,19 @@ interface
|
||||
uses
|
||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, CheckLst,
|
||||
ExtCtrls, Buttons, ComCtrls, ButtonPanel, IDEImagesIntf, ObjInspStrConsts,
|
||||
LCLType;
|
||||
LCLType, ActnList;
|
||||
|
||||
type
|
||||
|
||||
{ TCheckListBoxEditorDlg }
|
||||
|
||||
TCheckListBoxEditorDlg = class(TForm)
|
||||
actAdd: TAction;
|
||||
actDel: TAction;
|
||||
actEdit: TAction;
|
||||
actMoveUp: TAction;
|
||||
actMoveDown: TAction;
|
||||
ActionList1: TActionList;
|
||||
BtnPanel: TButtonPanel;
|
||||
FCheck: TCheckListBox;
|
||||
aCheck: TCheckListBox;
|
||||
@ -37,13 +43,13 @@ type
|
||||
tbDown: TToolButton;
|
||||
ToolButton6: TToolButton;
|
||||
tbEdit: TToolButton;
|
||||
procedure AddItem(Sender: TObject);
|
||||
procedure DeleteItem(Sender: TObject);
|
||||
procedure actAddExecute(Sender: TObject);
|
||||
procedure actDelExecute(Sender: TObject);
|
||||
procedure actEditExecute(Sender: TObject);
|
||||
procedure actMoveDownExecute(Sender: TObject);
|
||||
procedure actMoveUpExecute(Sender: TObject);
|
||||
procedure FCheckClick(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure ModifyItem(Sender: TObject);
|
||||
procedure MoveDownItem(Sender: TObject);
|
||||
procedure MoveUpItem(Sender: TObject);
|
||||
procedure ApplyCheck(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
@ -78,84 +84,43 @@ end;
|
||||
|
||||
{ TCheckListBoxEditorDlg }
|
||||
|
||||
procedure TCheckListBoxEditorDlg.AddItem(Sender:TObject);
|
||||
procedure TCheckListBoxEditorDlg.actAddExecute(Sender: TObject);
|
||||
var
|
||||
strItem: string;
|
||||
begin
|
||||
if InputQuery(clbCheckListBoxEditor, clbAdd, strItem) then
|
||||
begin
|
||||
begin
|
||||
FCheck.Items.Add(strItem);
|
||||
Change;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCheckListBoxEditorDlg.DeleteItem(Sender:TObject);
|
||||
var
|
||||
OldIndex : integer;
|
||||
procedure TCheckListBoxEditorDlg.actDelExecute(Sender: TObject);
|
||||
var
|
||||
OldIndex : integer;
|
||||
begin
|
||||
if FCheck.ItemIndex = -1 then exit;
|
||||
if MessageDlg(clbCheckListBoxEditor,Format(clbDeleteQuest,[FCheck.ItemIndex,FCheck.Items[FCheck.ItemIndex]]),
|
||||
if MessageDlg(clbCheckListBoxEditor, Format(clbDeleteQuest, [FCheck.ItemIndex, FCheck.Items[FCheck.ItemIndex]]),
|
||||
mtConfirmation, mbYesNo, 0) = mrYes then
|
||||
begin
|
||||
begin
|
||||
// save old index
|
||||
OldIndex := FCheck.ItemIndex;
|
||||
FCheck.Items.Delete(FCheck.ItemIndex);
|
||||
if (FCheck.Count-1<OldIndex) then
|
||||
FCheck.ItemIndex := FCheck.Count-1
|
||||
else
|
||||
FCheck.ItemIndex := OldIndex;
|
||||
FCheck.ItemIndex := FCheck.Count-1
|
||||
else
|
||||
FCheck.ItemIndex := OldIndex;
|
||||
Change;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCheckListBoxEditorDlg.FCheckClick(Sender: TObject);
|
||||
procedure TCheckListBoxEditorDlg.actEditExecute(Sender: TObject);
|
||||
begin
|
||||
Change;
|
||||
if FCheck.ItemIndex = -1 then exit;
|
||||
FCheck.Items[FCheck.ItemIndex]:=InputBox(clbCheckListBoxEditor,clbModify,FCheck.Items[FCheck.ItemIndex]);
|
||||
end;
|
||||
|
||||
procedure TCheckListBoxEditorDlg.FormCreate(Sender: TObject);
|
||||
begin
|
||||
ToolBar.Images := IDEImages.Images_16;
|
||||
tbAdd.ImageIndex := IDEImages.LoadImage(16, 'laz_add');
|
||||
tbDelete.ImageIndex := IDEImages.LoadImage(16, 'laz_delete');
|
||||
tbUp.ImageIndex := IDEImages.LoadImage(16, 'arrow_up');
|
||||
tbDown.ImageIndex := IDEImages.LoadImage(16, 'arrow_down');
|
||||
tbEdit.ImageIndex := IDEImages.LoadImage(16, 'laz_edit');
|
||||
|
||||
Caption := clbCheckListBoxEditor;
|
||||
BtnPanel.OKButton.Caption := oisOk;
|
||||
BtnPanel.CancelButton.Caption := oisCancel;
|
||||
BtnPanel.HelpButton.Caption := cActionListEditorHelpCategory;
|
||||
BtnPanel.CloseButton.Kind := bkCustom;
|
||||
BtnPanel.CloseButton.LoadGlyphFromStock(idButtonYes);
|
||||
BtnPanel.CloseButton.Caption := sccsTrEdtApply;
|
||||
BtnPanel.CloseButton.OnClick := @ApplyCheck;
|
||||
|
||||
tbAdd.Hint := clbAdd;
|
||||
tbDelete.Hint := clbDeleteHint;
|
||||
tbUp.Hint := clbUp;
|
||||
tbDown.Hint := clbDown;
|
||||
tbEdit.Hint := clbModify;
|
||||
Modified := False;
|
||||
end;
|
||||
|
||||
procedure TCheckListBoxEditorDlg.MoveUpItem(Sender:TObject);
|
||||
var
|
||||
itemtmp: string;
|
||||
checkedtmp: boolean;
|
||||
begin
|
||||
if (FCheck.Items.Count<=1)or(FCheck.ItemIndex<1) then exit;
|
||||
itemtmp:=FCheck.Items[FCheck.ItemIndex-1];
|
||||
checkedtmp:=FCheck.Checked[FCheck.ItemIndex-1];
|
||||
FCheck.Items[FCheck.ItemIndex-1]:=FCheck.Items[FCheck.ItemIndex];
|
||||
FCheck.Checked[FCheck.ItemIndex-1]:=FCheck.Checked[FCheck.ItemIndex];
|
||||
FCheck.Items[FCheck.ItemIndex]:=itemtmp;
|
||||
FCheck.Checked[FCheck.ItemIndex]:=checkedtmp;
|
||||
FCheck.ItemIndex:=FCheck.ItemIndex-1;
|
||||
Change;
|
||||
end;
|
||||
|
||||
procedure TCheckListBoxEditorDlg.MoveDownItem(Sender:TObject);
|
||||
procedure TCheckListBoxEditorDlg.actMoveDownExecute(Sender: TObject);
|
||||
var
|
||||
itemtmp: string;
|
||||
checkedtmp: boolean;
|
||||
@ -171,10 +136,54 @@ begin
|
||||
Change;
|
||||
end;
|
||||
|
||||
procedure TCheckListBoxEditorDlg.ModifyItem(Sender:TObject);
|
||||
procedure TCheckListBoxEditorDlg.actMoveUpExecute(Sender: TObject);
|
||||
var
|
||||
itemtmp: string;
|
||||
checkedtmp: boolean;
|
||||
begin
|
||||
if FCheck.ItemIndex = -1 then exit;
|
||||
FCheck.Items[FCheck.ItemIndex]:=InputBox(clbCheckListBoxEditor,clbModify,FCheck.Items[FCheck.ItemIndex]);
|
||||
if (FCheck.Items.Count<=1)or(FCheck.ItemIndex<1) then exit;
|
||||
itemtmp:=FCheck.Items[FCheck.ItemIndex-1];
|
||||
checkedtmp:=FCheck.Checked[FCheck.ItemIndex-1];
|
||||
FCheck.Items[FCheck.ItemIndex-1]:=FCheck.Items[FCheck.ItemIndex];
|
||||
FCheck.Checked[FCheck.ItemIndex-1]:=FCheck.Checked[FCheck.ItemIndex];
|
||||
FCheck.Items[FCheck.ItemIndex]:=itemtmp;
|
||||
FCheck.Checked[FCheck.ItemIndex]:=checkedtmp;
|
||||
FCheck.ItemIndex:=FCheck.ItemIndex-1;
|
||||
Change;
|
||||
end;
|
||||
|
||||
procedure TCheckListBoxEditorDlg.FCheckClick(Sender: TObject);
|
||||
begin
|
||||
Change;
|
||||
end;
|
||||
|
||||
procedure TCheckListBoxEditorDlg.FormCreate(Sender: TObject);
|
||||
begin
|
||||
ToolBar.Images := IDEImages.Images_16;
|
||||
actAdd.ImageIndex := IDEImages.LoadImage(16, 'laz_add');
|
||||
actDel.ImageIndex := IDEImages.LoadImage(16, 'laz_delete');
|
||||
actMoveUp.ImageIndex := IDEImages.LoadImage(16, 'arrow_up');
|
||||
actMoveDown.ImageIndex := IDEImages.LoadImage(16, 'arrow_down');
|
||||
actEdit.ImageIndex := IDEImages.LoadImage(16, 'laz_edit');
|
||||
|
||||
Caption := clbCheckListBoxEditor;
|
||||
BtnPanel.OKButton.Caption := oisOk;
|
||||
BtnPanel.CancelButton.Caption := oisCancel;
|
||||
BtnPanel.HelpButton.Caption := cActionListEditorHelpCategory;
|
||||
BtnPanel.CloseButton.Kind := bkCustom;
|
||||
BtnPanel.CloseButton.LoadGlyphFromStock(idButtonYes);
|
||||
BtnPanel.CloseButton.Caption := sccsTrEdtApply;
|
||||
BtnPanel.CloseButton.OnClick := @ApplyCheck;
|
||||
|
||||
actAdd.Hint := clbAdd;
|
||||
actDel.Hint := clbDeleteHint;
|
||||
actMoveUp.Hint := clbUp;
|
||||
actMoveDown.Hint := clbDown;
|
||||
actEdit.Hint := clbModify;
|
||||
|
||||
actMoveUp.ShortCut := scCtrl or VK_UP;
|
||||
actMoveDown.ShortCut := scCtrl or VK_DOWN;
|
||||
Modified := False;
|
||||
end;
|
||||
|
||||
procedure TCheckListBoxEditorDlg.ApplyCheck(Sender:TObject);
|
||||
@ -188,10 +197,10 @@ end;
|
||||
|
||||
procedure TCheckListBoxEditorDlg.Change;
|
||||
begin
|
||||
tbDelete.Enabled := FCheck.ItemIndex <> -1;
|
||||
tbEdit.Enabled := FCheck.ItemIndex <> -1;
|
||||
tbUp.Enabled := (FCheck.ItemIndex <> -1) and (FCheck.ItemIndex > 0);
|
||||
tbDown.Enabled := (FCheck.ItemIndex <> -1) and (FCheck.ItemIndex < FCheck.Count - 1);
|
||||
actDel.Enabled := FCheck.ItemIndex <> -1;
|
||||
actEdit.Enabled := FCheck.ItemIndex <> -1;
|
||||
actMoveUp.Enabled := (FCheck.ItemIndex <> -1) and (FCheck.ItemIndex > 0);
|
||||
actMoveDown.Enabled := (FCheck.ItemIndex <> -1) and (FCheck.ItemIndex < FCheck.Count - 1);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user