Changeset 86 for oup/current/Tools/Template.pas
- Timestamp:
- Jan 14, 2007, 9:19:08 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
oup/current/Tools/Template.pas
r83 r86 10 10 type 11 11 TNewFileSelectedEvent = procedure(fileinfo: TFileInfo) of object; 12 TNewConnectionEvent = procedure(connection: TOniData) of object; 12 13 13 14 TForm_ToolTemplate = class(TForm) … … 36 37 Label1: TLabel; 37 38 Label2: TLabel; 39 Label3: TLabel; 40 combo_connection: TComboBox; 41 Bevel1: TBevel; 38 42 procedure RecreateList; 43 procedure UpdateList; 44 procedure RecreateExtList; 39 45 procedure LoadFileNames; 40 46 procedure SelectFileName(filename: String); … … 56 62 procedure btn_sortClick(Sender: TObject); 57 63 procedure FormActivate(Sender: TObject); 64 procedure combo_connectionChange(Sender: TObject); 58 65 private 59 66 FSortBy: TSortType; 60 67 FOnNewFileSelected: TNewFileSelectedEvent; 68 FOnNewConnection: TNewConnectionEvent; 61 69 FAllowedExts: String; 62 70 FAllowMultiSelect: Boolean; 63 71 FSelectedFile: TFileInfo; 72 FConnection: TOniData; 64 73 procedure SetAllowedExts(exts: String); 65 74 procedure SetMultiSelect(allow: Boolean); … … 69 78 published 70 79 property OnNewFileSelected: TNewFileSelectedEvent read FOnNewFileSelected write FOnNewFileSelected; 80 property OnNewConnection: TNewConnectionEvent read FOnNewConnection write FOnNewConnection; 71 81 property AllowedExts: String read FAllowedExts write SetAllowedExts; 72 82 property AllowMultiSelect: Boolean read FAllowMultiSelect write SetMultiSelect; 73 83 property SelectedFile: TFileInfo read FSelectedFile; 84 property Connection: TOniData read FConnection; 74 85 end; 75 86 … … 83 94 84 95 96 procedure TForm_ToolTemplate.UpdateList; 97 var 98 i: Integer; 99 fn, datatype, boxstring: String; 100 level: Integer; 101 oldcon: String; 102 begin 103 oldcon := combo_connection.Items.Strings[combo_connection.ItemIndex]; 104 combo_connection.Items.Clear; 105 for i := 0 to High(DataConnections) do 106 begin 107 level := DataConnections[i].LevelInfo.LevelNumber; 108 fn := ExtractFileName(DataConnections[i].FileName); 109 if DataConnections[i].Backend = ODB_Dat then 110 datatype := 'ONI-.dat: ' 111 else if DataConnections[i].Backend = ODB_ADB then 112 datatype := 'OUP-DB: ' 113 else 114 datatype := 'Unknown: '; 115 boxstring := datatype + fn + ' (Level: ' + IntToStr(level) + ')'; 116 combo_connection.Items.Add(boxstring); 117 if oldcon = boxstring then 118 combo_connection.ItemIndex := combo_connection.Items.Count - 1; 119 end; 120 end; 121 85 122 procedure TForm_ToolTemplate.RecreateList; 123 var 124 i: Integer; 125 fn, datatype: String; 126 level: Integer; 127 begin 128 combo_connection.Items.Clear; 129 for i := 0 to High(DataConnections) do 130 begin 131 level := DataConnections[i].LevelInfo.LevelNumber; 132 fn := ExtractFileName(DataConnections[i].FileName); 133 if DataConnections[i].Backend = ODB_Dat then 134 datatype := 'ONI-.dat: ' 135 else if DataConnections[i].Backend = ODB_ADB then 136 datatype := 'OUP-DB: ' 137 else 138 datatype := 'Unknown: '; 139 combo_connection.Items.Add(datatype + fn + ' (Level: ' + IntToStr(level) + ')'); 140 end; 141 FConnection := DataConnections[0]; 142 combo_connection.ItemIndex := 0; 143 combo_connectionChange(Self); 144 end; 145 146 procedure TForm_ToolTemplate.RecreateExtList; 86 147 var 87 148 i: LongWord; … … 90 151 combo_extension.Items.Clear; 91 152 combo_extension.Items.Add('_All files_ (' + 92 IntToStr( OniDataConnection.GetFilesCount) + ')');93 exts := OniDataConnection.GetExtensionsList;153 IntToStr(FConnection.GetFilesCount) + ')'); 154 exts := FConnection.GetExtensionsList; 94 155 for i := 0 to High(exts) do 95 156 if Length(FAllowedExts) > 0 then … … 127 188 Extension := ''; 128 189 129 files := OniDataConnection.GetFilesList(extension, pattern, no_zero_bytes, FSortBy);190 files := FConnection.GetFilesList(extension, pattern, no_zero_bytes, FSortBy); 130 191 131 192 filelist.Visible := False; … … 143 204 ext: String; 144 205 begin 145 id := OniDataConnection.ExtractFileID(filelist.Items.Strings[filelist.ItemIndex]);206 id := FConnection.ExtractFileID(filelist.Items.Strings[filelist.ItemIndex]); 146 207 ext := RightStr(filelist.Items.Strings[filelist.ItemIndex], 4); 147 208 exportd.Filter := 'Files of matching extension (*.' + ext + ')|*.' + ext + '|All files|*.*'; 148 209 exportd.DefaultExt := ext; 149 210 if exportd.Execute then 150 ExportDatFile( id, exportd.FileName);211 ExportDatFile(FConnection, id, exportd.FileName); 151 212 end; 152 213 … … 158 219 data: TData; 159 220 begin 160 id := OniDataConnection.ExtractFileID(filelist.Items.Strings[filelist.ItemIndex]);161 finfo := OniDataConnection.GetFileInfo(id);221 id := FConnection.ExtractFileID(filelist.Items.Strings[filelist.ItemIndex]); 222 finfo := FConnection.GetFileInfo(id); 162 223 163 224 importd.Filter := 'Files of matching extension (*.' + finfo.Extension + ')|*.' + … … 174 235 SetLength(data, fs.Size); 175 236 fs.Read(data[0], fs.Size); 176 OniDataConnection.UpdateDatFile(id, data);237 FConnection.UpdateDatFile(id, data); 177 238 Self.listClick(Self); 178 239 end; … … 187 248 begin 188 249 sender_name := TComponent(Sender).Name; 189 id := OniDataConnection.ExtractFileID(filelist.Items.Strings[filelist.ItemIndex]);250 id := FConnection.ExtractFileID(filelist.Items.Strings[filelist.ItemIndex]); 190 251 context := MidStr(sender_name, Pos('_', sender_name) + 1, Length(sender_name) - Pos('_', sender_name)); 191 252 Form_Main.open_child(context, id); 192 253 end; 193 254 255 procedure TForm_ToolTemplate.combo_connectionChange(Sender: TObject); 256 var 257 name: String; 258 nstart, nend: Integer; 259 i: Integer; 260 begin 261 if combo_connection.ItemIndex >= 0 then 262 begin 263 name := combo_connection.Items.Strings[combo_connection.ItemIndex]; 264 nstart := Pos(' ', name) + 1; 265 nend := Pos('(', name) - 1; 266 name := MidStr(name, nstart, nend - nstart); 267 268 for i := 0 to High(DataConnections) do 269 begin 270 if ExtractFileName(DataConnections[i].FileName) = name then 271 begin 272 FConnection := DataConnections[i]; 273 Break; 274 end; 275 end; 276 if i = Length(DataConnections) then 277 FConnection := nil; 278 279 RecreateExtList; 280 if Assigned(FOnNewConnection) then 281 FOnNewConnection(FConnection); 282 end; 283 end; 284 194 285 procedure TForm_ToolTemplate.combo_extensionClick(Sender: TObject); 195 286 begin … … 205 296 inherited; 206 297 RecreateList; 298 FConnection := nil; 207 299 FSelectedFile.ID := -1; 208 300 FSelectedFile.FileName := ''; … … 270 362 if filelist.ItemIndex > -1 then 271 363 begin 272 fileid := OniDataConnection.ExtractFileID(364 fileid := FConnection.ExtractFileID( 273 365 filelist.Items.Strings[filelist.ItemIndex]); 274 FSelectedFile := OniDataConnection.GetFileInfo(fileid);366 FSelectedFile := FConnection.GetFileInfo(fileid); 275 367 if Assigned(FOnNewFileSelected) then 276 368 FOnNewFileSelected(FSelectedFile); … … 298 390 if filelist.Items.Count > 0 then 299 391 for i := 0 to filelist.Items.Count - 1 do 300 if OniDataConnection.ExtractFileID(filelist.Items.Strings[i]) = id then392 if FConnection.ExtractFileID(filelist.Items.Strings[i]) = id then 301 393 begin 302 394 filelist.ItemIndex := i; … … 321 413 begin 322 414 FAllowedExts := exts; 323 Recreate List;415 RecreateExtList; 324 416 end; 325 417 … … 368 460 Self.Height := 300; 369 461 FOnNewFileSelected := nil; 462 FOnNewConnection := nil; 370 463 FAllowedExts := ''; 371 464 FAllowMultiSelect := False;
Note:
See TracChangeset
for help on using the changeset viewer.