137 |
|
end; |
138 |
|
|
139 |
|
|
140 |
+ |
|
141 |
|
procedure TForm_Meta.VSTFocusChanged(Sender: TBaseVirtualTree; |
142 |
|
Node: PVirtualNode; Column: TColumnIndex); |
143 |
|
var |
144 |
|
data: PNodeData; |
145 |
+ |
ffile: TFile; |
146 |
+ |
//******************************************************************* |
147 |
+ |
fs: TFileStream; |
148 |
+ |
//******************************************************************* |
149 |
|
begin |
150 |
|
data := Sender.GetNodeData(Node); |
151 |
+ |
ffile := nil; |
152 |
|
if data.Field is TFile then |
153 |
+ |
ffile := TFile(data.Field); |
154 |
+ |
if data.Field is TDatLink then |
155 |
+ |
if Assigned(TDatLink(data.Field).TargetFile) then |
156 |
+ |
ffile := TFile(TDatLink(data.Field).TargetFile); |
157 |
+ |
if Assigned(ffile) then |
158 |
|
begin |
159 |
< |
TFile(data.Field).InitEditor; |
149 |
< |
if Assigned(TFile(data.Field).Editor) then |
159 |
> |
if Assigned(ffile.Editor) then |
160 |
|
begin |
161 |
< |
TFile(data.Field).Editor.Align := alClient; |
162 |
< |
tab_meta.InsertControl(TFile(data.Field).Editor); |
163 |
< |
TFile(data.Field).Opened := True; |
161 |
> |
ffile.Editor.Align := alClient; |
162 |
> |
tab_meta.InsertControl(ffile.Editor); |
163 |
> |
ffile.Opened := True; |
164 |
|
end; |
165 |
+ |
//******************************************************************* |
166 |
+ |
fs := TFileStream.Create('C:\Spiele\Oni\GameDataFolder\tests\'+IntToStr(ffile.FileInfo.ID)+'_recreated.hex', fmCreate); |
167 |
+ |
ffile.ReCreateFile(fs); |
168 |
+ |
fs.Free; |
169 |
+ |
//******************************************************************* |
170 |
|
end; |
171 |
|
end; |
172 |
|
|
181 |
|
data := Sender.GetNodeData(NewNode); |
182 |
|
if data.Field is TFile then |
183 |
|
begin |
169 |
– |
TFile(data.Field).InitEditor; |
184 |
|
if Assigned(TFile(data.Field).Editor) then |
185 |
|
Allowed := not TFile(data.Field).Opened |
186 |
|
else |