ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/oup/current/Tools/MetaEditor.pas
(Generate patch)

Comparing oup/current/Tools/MetaEditor.pas (file contents):
Revision 238 by alloc, Sat Jul 14 16:50:55 2007 UTC vs.
Revision 240 by alloc, Sat Jul 14 23:12:26 2007 UTC

# Line 51 | Line 51 | type
51        Column: TColumnIndex; const P: TPoint; var AskParent: Boolean;
52        var PopupMenu: TPopupMenu);
53      procedure vst_setRootClick(Sender: TObject);
54 +    procedure vst_newRootClick(Sender: TObject);
55    private
56      root: TTreeElement;
57      procedure NewCon(ID: Integer);
# Line 61 | Line 62 | type
62  
63   implementation
64   {$R *.dfm}
65 < uses _MetaManager, _MetaTypes, ConnectionManager, Data, _FileTypes;
65 > uses _MetaManager, _MetaTypes, ConnectionManager, Data, _FileTypes, Main;
66  
67   type
68    PNodeData = ^TNodeData;
# Line 136 | Line 137 | begin
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;
148 <    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;
164 <    end;
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  
# Line 165 | Line 181 | begin
181    data := Sender.GetNodeData(NewNode);
182    if data.Field is TFile then
183    begin
168    TFile(data.Field).InitEditor;
184      if Assigned(TFile(data.Field).Editor) then
185        Allowed := not TFile(data.Field).Opened
186      else
# Line 271 | Line 286 | begin
286    end;
287   end;
288  
289 + procedure TForm_Meta.vst_newRootClick(Sender: TObject);
290 + var
291 +  data: PNodeData;
292 +  form: TForm_BaseTemplate;
293 + begin
294 +  inherited;
295 +  data := VST.GetNodeData(VST.FocusedNode);
296 +  form := nil;
297 +  form := Form_Main.open_child('meta');
298 +  if form is TForm_Meta then
299 +    TForm_Meta(form).SetRoot(data.Field);
300 + end;
301 +
302   procedure TForm_Meta.vst_setRootClick(Sender: TObject);
303   var
304    data: PNodeData;

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)