Changeset 27 for trunk/Forms/UFormImportFormat.pas
- Timestamp:
- Jun 7, 2016, 3:56:46 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Forms/UFormImportFormat.pas
r25 r27 7 7 uses 8 8 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, 9 UAcronym;9 ComCtrls, Menus, ActnList, UAcronym; 10 10 11 11 type … … 14 14 15 15 TFormImportFormat = class(TForm) 16 AAdd: TAction; 17 AMoveUp: TAction; 18 AMoveDown: TAction; 19 AModify: TAction; 20 ARemove: TAction; 21 ActionList1: TActionList; 16 22 ButtonOk: TButton; 17 23 ButtonCancel: TButton; … … 19 25 EditBlockStart: TEdit; 20 26 EditName: TEdit; 21 EditAcronymStart: TEdit;22 EditAcronymEnd: TEdit;23 EditMeaningStart: TEdit;24 EditMeaningEnd: TEdit;25 EditDescriptionStart: TEdit;26 EditDescriptionEnd: TEdit;27 27 Label1: TLabel; 28 28 Label2: TLabel; 29 Label3: TLabel;30 Label4: TLabel;31 Label5: TLabel;32 Label6: TLabel;33 Label7: TLabel;34 29 Label8: TLabel; 35 30 Label9: TLabel; 31 ListViewItemRules: TListView; 32 MenuItem1: TMenuItem; 33 MenuItem2: TMenuItem; 34 MenuItem3: TMenuItem; 35 MenuItem4: TMenuItem; 36 MenuItem5: TMenuItem; 37 PopupMenu1: TPopupMenu; 38 procedure AAddExecute(Sender: TObject); 39 procedure AModifyExecute(Sender: TObject); 40 procedure AMoveDownExecute(Sender: TObject); 41 procedure AMoveUpExecute(Sender: TObject); 42 procedure ARemoveExecute(Sender: TObject); 43 procedure FormShow(Sender: TObject); 44 procedure ListViewItemRulesData(Sender: TObject; Item: TListItem); 36 45 private 37 46 { private declarations } 38 47 public 48 ImportFormat: TImportFormat; 39 49 procedure Load(ImportFormat: TImportFormat); 40 50 procedure Save(ImportFormat: TImportFormat); 51 procedure ReloadList; 41 52 end; 42 53 … … 44 55 FormImportFormat: TFormImportFormat; 45 56 57 46 58 implementation 59 60 uses 61 UFormImportPattern; 47 62 48 63 {$R *.lfm} 49 64 65 resourcestring 66 SRemoveImportPattern = 'Remove import pattern'; 67 SRemoveImportPatternQuery = 'Do you really want to remove selected import patterns?'; 68 69 50 70 { TFormImportFormat } 71 72 procedure TFormImportFormat.AAddExecute(Sender: TObject); 73 var 74 NewImportPattern: TImportPattern; 75 begin 76 NewImportPattern := TImportPattern.Create; 77 FormImportPattern.Load(NewImportPattern); 78 if FormImportPattern.ShowModal = mrOk then begin 79 FormImportPattern.Save(NewImportPattern); 80 ImportFormat.ItemPatterns.Add(NewImportPattern); 81 NewImportPattern := nil; 82 ReloadList; 83 end; 84 if Assigned(NewImportPattern) then NewImportPattern.Free; 85 end; 86 87 procedure TFormImportFormat.AModifyExecute(Sender: TObject); 88 var 89 NewImportPattern: TImportPattern; 90 begin 91 if Assigned(ListViewItemRules.Selected) then begin 92 NewImportPattern := TImportPattern.Create; 93 NewImportPattern.Assign(ListViewItemRules.Selected.Data); 94 FormImportPattern.Load(NewImportPattern); 95 if FormImportPattern.ShowModal = mrOk then begin 96 FormImportPattern.Save(NewImportPattern); 97 TImportPattern(ListViewItemRules.Selected.Data).Assign(NewImportPattern); 98 ReloadList; 99 end; 100 if Assigned(NewImportPattern) then NewImportPattern.Free; 101 end; 102 end; 103 104 procedure TFormImportFormat.AMoveDownExecute(Sender: TObject); 105 begin 106 if ListViewItemRules.Selected.Index < (ImportFormat.ItemPatterns.Count - 1) then 107 with ImportFormat do 108 ItemPatterns.Exchange(ListViewItemRules.Selected.Index, 109 ListViewItemRules.Selected.Index + 1); 110 ReloadList; 111 end; 112 113 procedure TFormImportFormat.AMoveUpExecute(Sender: TObject); 114 begin 115 if ListViewItemRules.Selected.Index > 0 then 116 with ImportFormat do 117 ItemPatterns.Exchange(ListViewItemRules.Selected.Index, 118 ListViewItemRules.Selected.Index - 1); 119 ReloadList; 120 end; 121 122 procedure TFormImportFormat.ARemoveExecute(Sender: TObject); 123 var 124 I: Integer; 125 begin 126 if Assigned(ListViewItemRules.Selected) then begin 127 if MessageDlg(SRemoveImportPattern, SRemoveImportPatternQuery, 128 TMsgDlgType.mtConfirmation, [mbCancel, mbOk], 0) = mrOk then begin 129 for I := ListViewItemRules.Items.Count - 1 downto 0 do 130 if ListViewItemRules.Items[I].Selected then 131 ImportFormat.ItemPatterns.Remove(ListViewItemRules.Items[I].Data); 132 ReloadList; 133 end; 134 end; 135 end; 136 137 procedure TFormImportFormat.FormShow(Sender: TObject); 138 begin 139 ReloadList; 140 end; 141 142 procedure TFormImportFormat.ListViewItemRulesData(Sender: TObject; 143 Item: TListItem); 144 begin 145 if Item.Index < ImportFormat.ItemPatterns.Count then 146 with TImportPattern(ImportFormat.ItemPatterns[Item.Index]) do begin 147 Item.Caption := StartString; 148 Item.SubItems.Add(EndString); 149 Item.SubItems.Add(ImportPatternFlagString[Flag]); 150 Item.SubItems.Add(ImportVariableString[Variable]); 151 Item.Data := ImportFormat.ItemPatterns[Item.Index]; 152 end; 153 end; 51 154 52 155 procedure TFormImportFormat.Load(ImportFormat: TImportFormat); 53 156 begin 157 Self.ImportFormat := ImportFormat; 54 158 EditName.Text := ImportFormat.Name; 55 159 EditBlockStart.Text := ImportFormat.Block.StartString; 56 160 EditBlockEnd.Text := ImportFormat.Block.EndString; 57 EditAcronymStart.Text := ImportFormat.Acronym.StartString; 58 EditAcronymEnd.Text := ImportFormat.Acronym.EndString; 59 EditMeaningStart.Text := ImportFormat.Meaning.StartString; 60 EditMeaningEnd.Text := ImportFormat.Meaning.EndString; 61 EditDescriptionStart.Text := ImportFormat.Description.StartString; 62 EditDescriptionEnd.Text := ImportFormat.Description.EndString; 161 ReloadList; 63 162 end; 64 163 … … 68 167 ImportFormat.Block.StartString := EditBlockStart.Text; 69 168 ImportFormat.Block.EndString := EditBlockEnd.Text; 70 ImportFormat.Acronym.StartString := EditAcronymStart.Text;71 ImportFormat.Acronym.EndString := EditAcronymEnd.Text; 72 ImportFormat.Meaning.StartString := EditMeaningStart.Text;73 ImportFormat.Meaning.EndString := EditMeaningEnd.Text; 74 ImportFormat.Description.StartString := EditDescriptionStart.Text;75 ImportFormat.Description.EndString := EditDescriptionEnd.Text;169 end; 170 171 procedure TFormImportFormat.ReloadList; 172 begin 173 ListViewItemRules.Items.Count := ImportFormat.ItemPatterns.Count; 174 ListViewItemRules.Refresh; 76 175 end; 77 176
Note:
See TracChangeset
for help on using the changeset viewer.