ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/oup/current/Tools/_TemplateFile.pas
Revision: 217
Committed: Fri Jun 15 15:12:11 2007 UTC (18 years, 4 months ago) by alloc
Content type: text/x-pascal
File size: 2614 byte(s)
Log Message:

File Contents

# Content
1 unit _TemplateFile;
2
3 interface
4
5 uses
6 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
7 Dialogs, _BaseTemplate, StdCtrls, ExtCtrls,
8 TypeDefs;
9
10 type
11 TNewFileSelectedEvent = procedure(FileInfo: TFileInfo) of object;
12
13 TForm_TemplateFile = class(TForm_BaseTemplate)
14 protected
15 FOnNewFileSelected: TNewFileSelectedEvent;
16 FSelectedFile: TFileInfo;
17 public
18 constructor Create(AOwner: TComponent); override;
19 procedure SelectFileID(ConnectionID, FileID: Integer);
20 published
21 property OnNewFileSelected: TNewFileSelectedEvent read FOnNewFileSelected write FOnNewFileSelected;
22 property SelectedFile: TFileInfo read FSelectedFile;
23 end;
24
25 var
26 ToolList: TToolList;
27 procedure AddToolListEntry(context, name, exts: String);
28
29 implementation
30 {$R *.dfm}
31 uses ConnectionManager;
32
33
34 constructor TForm_TemplateFile.Create(AOwner: TComponent);
35 begin
36 inherited;
37 FOnNewFileSelected := nil;
38 FSelectedFile.ID := -1;
39 end;
40
41
42 procedure TForm_TemplateFile.SelectFileID(ConnectionID, FileID: Integer);
43 begin
44 if FConnectionID <> ConnectionID then
45 SelectConnection(ConnectionID);
46
47 if FileID < ConManager.Connection[FConnectionID].GetFileCount then
48 FSelectedFile := ConManager.Connection[FConnectionID].GetFileInfo(FileID)
49 else
50 FSelectedFile.ID := -1;
51 if Assigned(FOnNewFileSelected) then
52 FOnNewFileSelected(FSelectedFile);
53 end;
54
55
56
57 procedure AddToolListEntryExt(context, ext: String);
58 var
59 i: Integer;
60 begin
61 for i := 0 to High(ToolList) do
62 if ToolList[i].context = context then
63 begin
64 if Pos(ext, ToolList[i].exts) = 0 then
65 begin
66 if Length(ToolList[i].exts) = 0 then
67 ToolList[i].exts := ext
68 else
69 ToolList[i].exts := ToolList[i].exts + ',' + ext;
70 end;
71 Exit;
72 end;
73 end;
74
75 procedure AddToolListEntry(context, name, exts: String);
76 var
77 i: Integer;
78 begin
79 if Length(ToolList) > 0 then
80 begin
81 for i := 0 to High(ToolList) do
82 if ToolList[i].context = context then
83 begin
84 if (Length(ToolList[i].name) = 0) and (Length(name) > 0) then
85 ToolList[i].name := name;
86 if Length(exts) > 0 then
87 AddToolListEntryExt(context, exts);
88 Exit;
89 end;
90 end;
91 SetLength(ToolList, Length(ToolList) + 1);
92 for i := High(ToolList) downto 1 do
93 if ToolList[i - 1].name > name then
94 ToolList[i] := ToolList[i - 1]
95 else
96 Break;
97 ToolList[i].context := context;
98 ToolList[i].name := name;
99 ToolList[i].exts := exts;
100 end;
101
102 end.