change sort structurelist to manage structurelist where you can also delete entries
This commit is contained in:
parent
5a640122ba
commit
c30051e20d
@ -135,7 +135,7 @@ object frmStructures2: TfrmStructures2
|
||||
OnClick = miExportAllClick
|
||||
end
|
||||
object MenuItem8: TMenuItem
|
||||
Caption = 'Rearrange structurelist'
|
||||
Caption = 'Manage structurelist'
|
||||
OnClick = MenuItem8Click
|
||||
end
|
||||
object MenuItem2: TMenuItem
|
||||
|
@ -1,16 +1,16 @@
|
||||
object frmRearrangeStructureList: TfrmRearrangeStructureList
|
||||
Left = 344
|
||||
Left = 389
|
||||
Height = 162
|
||||
Top = 114
|
||||
Top = 148
|
||||
Width = 201
|
||||
BorderIcons = [biSystemMenu]
|
||||
Caption = 'Rearrange structure list'
|
||||
Caption = 'Manage structure list'
|
||||
ClientHeight = 162
|
||||
ClientWidth = 201
|
||||
OnClose = FormClose
|
||||
OnShow = FormShow
|
||||
Position = poScreenCenter
|
||||
LCLVersion = '1.6.4.0'
|
||||
LCLVersion = '2.0.6.0'
|
||||
object Panel4: TPanel
|
||||
Left = 179
|
||||
Height = 162
|
||||
@ -33,7 +33,6 @@ object frmRearrangeStructureList: TfrmRearrangeStructureList
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.Left = 1
|
||||
BorderSpacing.Bottom = 1
|
||||
Enabled = False
|
||||
Glyph.Data = {
|
||||
76010000424D7601000000000000760000002800000020000000100000000100
|
||||
04000000000000010000120B0000120B00001000000000000000000000000000
|
||||
@ -59,7 +58,6 @@ object frmRearrangeStructureList: TfrmRearrangeStructureList
|
||||
Top = 106
|
||||
Width = 21
|
||||
Anchors = [akLeft, akBottom]
|
||||
Enabled = False
|
||||
Glyph.Data = {
|
||||
76010000424D7601000000000000760000002800000020000000100000000100
|
||||
04000000000000010000120B0000120B00001000000000000000000000000000
|
||||
@ -85,7 +83,16 @@ object frmRearrangeStructureList: TfrmRearrangeStructureList
|
||||
Width = 179
|
||||
Align = alClient
|
||||
ItemHeight = 0
|
||||
OnSelectionChange = lbStructlistSelectionChange
|
||||
MultiSelect = True
|
||||
PopupMenu = PopupMenu1
|
||||
TabOrder = 1
|
||||
end
|
||||
object PopupMenu1: TPopupMenu
|
||||
Left = 51
|
||||
Top = 47
|
||||
object MenuItem1: TMenuItem
|
||||
Caption = 'Delete selected records'
|
||||
OnClick = MenuItem1Click
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -6,7 +6,7 @@ interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
|
||||
Buttons, StdCtrls, betterControls;
|
||||
Buttons, StdCtrls, Menus, betterControls;
|
||||
|
||||
type
|
||||
|
||||
@ -14,12 +14,14 @@ type
|
||||
|
||||
TfrmRearrangeStructureList = class(TForm)
|
||||
lbStructlist: TListBox;
|
||||
MenuItem1: TMenuItem;
|
||||
Panel4: TPanel;
|
||||
PopupMenu1: TPopupMenu;
|
||||
spbDown: TSpeedButton;
|
||||
spbUp: TSpeedButton;
|
||||
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure lbStructlistSelectionChange(Sender: TObject; User: boolean);
|
||||
procedure MenuItem1Click(Sender: TObject);
|
||||
procedure spbDownClick(Sender: TObject);
|
||||
procedure spbUpClick(Sender: TObject);
|
||||
private
|
||||
@ -50,6 +52,24 @@ begin
|
||||
updatelist;
|
||||
end;
|
||||
|
||||
procedure TfrmRearrangeStructureList.MenuItem1Click(Sender: TObject);
|
||||
var
|
||||
s: TDissectedStruct;
|
||||
i: integer;
|
||||
begin
|
||||
if MessageDlg('are you sure you wish to delete the selection?',mtConfirmation,[mbyes,mbno],0)=mryes then
|
||||
begin
|
||||
for i:=DissectedStructs.count-1 downto 0 do
|
||||
if lbStructlist.Selected[i] then
|
||||
begin
|
||||
s:=TDissectedStruct(lbStructlist.Items.Objects[i]);
|
||||
s.free;
|
||||
end;
|
||||
|
||||
lbStructlist.DeleteSelected;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmRearrangeStructureList.FormClose(Sender: TObject;
|
||||
var CloseAction: TCloseAction);
|
||||
var i: integer;
|
||||
@ -63,35 +83,38 @@ begin
|
||||
TfrmStructures2(frmStructures2[i]).onStructListChange;
|
||||
end;
|
||||
|
||||
procedure TfrmRearrangeStructureList.lbStructlistSelectionChange(
|
||||
Sender: TObject; User: boolean);
|
||||
var index: integer;
|
||||
begin
|
||||
index:=lbStructlist.itemindex;
|
||||
spbDown.enabled:=(index>=0) and (index<lbStructlist.count-1);
|
||||
spbUp.enabled:=(index>=1);
|
||||
end;
|
||||
|
||||
|
||||
procedure TfrmRearrangeStructureList.spbDownClick(Sender: TObject);
|
||||
var i: integer;
|
||||
begin
|
||||
if (lbStructlist.itemindex>=0) and (lbStructlist.Count>lbStructlist.itemindex+1) then
|
||||
for i:=lbStructlist.items.count-2 downto 0 do
|
||||
begin
|
||||
lbStructlist.Items.Exchange(lbStructlist.itemindex, lbStructlist.ItemIndex+1);
|
||||
lbStructlist.itemindex:=lbStructlist.itemindex+1;
|
||||
if lbStructlist.Selected[i] then
|
||||
begin
|
||||
lbStructlist.selected[i]:=false;
|
||||
lbStructlist.Items.Exchange(i, i+1);
|
||||
lbStructlist.selected[i+1]:=true;
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
lbStructlistSelectionChange(lbStructlist,false);
|
||||
end;
|
||||
|
||||
procedure TfrmRearrangeStructureList.spbUpClick(Sender: TObject);
|
||||
var i: integer;
|
||||
begin
|
||||
if lbStructlist.itemindex>=1 then
|
||||
for i:=1 to lbStructlist.items.count-1 do
|
||||
begin
|
||||
lbStructlist.Items.Exchange(lbStructlist.itemindex, lbStructlist.ItemIndex-1);
|
||||
lbStructlist.itemindex:=lbStructlist.itemindex-1;
|
||||
if lbStructlist.Selected[i] then
|
||||
begin
|
||||
lbStructlist.selected[i]:=false;
|
||||
lbStructlist.Items.Exchange(i, i-1);
|
||||
lbStructlist.selected[i-1]:=true;
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
lbStructlistSelectionChange(lbStructlist,false);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
Loading…
Reference in New Issue
Block a user