Index: oup/current/Tools/BinEdit.dfm
===================================================================
--- oup/current/Tools/BinEdit.dfm	(revision 240)
+++ oup/current/Tools/BinEdit.dfm	(revision 241)
@@ -19,8 +19,7 @@
         end
         inherited tab_meta: TTabSheet
-          ExplicitLeft = 0
-          ExplicitTop = 0
-          ExplicitWidth = 0
-          ExplicitHeight = 0
+          inherited filelist_meta: TVirtualStringTree
+            Height = 443
+          end
         end
       end
Index: oup/current/Tools/MetaEditor.dfm
===================================================================
--- oup/current/Tools/MetaEditor.dfm	(revision 240)
+++ oup/current/Tools/MetaEditor.dfm	(revision 241)
@@ -40,4 +40,8 @@
       Header.Font.Style = []
       Header.Options = [hoColumnResize, hoDrag, hoVisible]
+      HintAnimation = hatNone
+      HintMode = hmHint
+      ParentShowHint = False
+      ShowHint = True
       TabOrder = 0
       TreeOptions.AutoOptions = [toAutoDropExpand, toAutoScrollOnExpand, toAutoDeleteMovedNodes]
@@ -47,4 +51,5 @@
       OnGetText = VSTGetText
       OnPaintText = VSTPaintText
+      OnGetHint = VSTGetHint
       OnGetPopupMenu = VSTGetPopupMenu
       OnInitChildren = VSTInitChildren
@@ -53,18 +58,15 @@
           Position = 0
           Width = 250
-          WideText = 'FName'
+          WideText = 'Name'
         end
         item
           Position = 1
-          WideText = 'FType'
+          Width = 100
+          WideText = 'Type'
         end
         item
           Position = 2
-          WideText = 'FID'
-        end
-        item
-          Position = 3
           Width = 150
-          WideText = 'Data'
+          WideText = 'Value'
         end>
     end
@@ -74,5 +76,5 @@
       Width = 400
       Height = 424
-      ActivePage = tab_hex
+      ActivePage = tab_meta
       Align = alRight
       TabOrder = 1
Index: oup/current/Tools/MetaEditor.pas
===================================================================
--- oup/current/Tools/MetaEditor.pas	(revision 240)
+++ oup/current/Tools/MetaEditor.pas	(revision 241)
@@ -53,4 +53,7 @@
     procedure vst_setRootClick(Sender: TObject);
     procedure vst_newRootClick(Sender: TObject);
+    procedure VSTGetHint(Sender: TBaseVirtualTree; Node: PVirtualNode;
+      Column: TColumnIndex; var LineBreakStyle: TVTTooltipLineBreakStyle;
+      var HintText: WideString);
   private
     root: TTreeElement;
@@ -63,5 +66,6 @@
 implementation
 {$R *.dfm}
-uses _MetaManager, _MetaTypes, ConnectionManager, Data, _FileTypes, Main;
+uses _MetaManager, _MetaTypes, ConnectionManager, Data, _FileTypes, Main, 
+  TypeDefs;
 
 type
@@ -88,4 +92,5 @@
   if ID >= 0 then
     SetRoot(ConManager.Connection[FConnectionID].MetaData.Root);
+//SetRoot(ConManager.Connection[FConnectionID].MetaData.FileById[454]);
 end;
 
@@ -119,8 +124,6 @@
   newnode: PVirtualNode;
   i: Integer;
-  Meta: TMetaManager;
 begin
   data := Sender.GetNodeData(node);
-  Meta := ConManager.Connection[ConnectionID].MetaData;
 
   if data.Field.ChildCount > 0 then
@@ -152,7 +155,7 @@
   if data.Field is TFile then
     ffile := TFile(data.Field);
-  if data.Field is TDatLink then
-    if Assigned(TDatLink(data.Field).TargetFile) then
-      ffile := TFile(TDatLink(data.Field).TargetFile);
+  if data.Field is _MetaTypes.TDatLink then
+    if Assigned(_MetaTypes.TDatLink(data.Field).TargetFile) then
+      ffile := TFile(_MetaTypes.TDatLink(data.Field).TargetFile);
   if Assigned(ffile) then
   begin
@@ -214,19 +217,7 @@
   begin
     case Column of
-      0:
-        begin
-          CellText := Data.Field.GetCaption;
-        end;
-      1:
-        begin
-          if Data.Field is TFile then
-            CellText := TFile(Data.Field).FileInfo.Extension;
-        end;
+      0: CellText := Data.Field.Caption;
+      1: CellText := data.Field.VType;
       2:
-        begin
-          if Data.Field is TFile then
-            CellText := IntToStr(TFile(Data.Field).FileInfo.ID);
-        end;
-      3:
         begin
           if Data.Field is TDataField then
@@ -264,4 +255,46 @@
 
 
+procedure TForm_Meta.VSTGetHint(Sender: TBaseVirtualTree; Node: PVirtualNode;
+  Column: TColumnIndex; var LineBreakStyle: TVTTooltipLineBreakStyle;
+  var HintText: WideString);
+var
+  data: PNodeData;
+  CellText: WideString;
+
+  i: Integer;
+  links: TStrings;
+begin
+  inherited;
+  if Assigned(Node) then
+  begin
+    VSTGetText(Sender, Node, Column, ttNormal, CellText);
+    if Length(CellText) > 0 then
+    begin
+      data := Sender.GetNodeData(Node);
+      if data.Field is TDataField then
+      begin
+        case Column of
+          0,1: HintText := TDataField(data.Field).Description;
+          2: HintText := '';
+        end;
+      end;
+      if (data.Field is _MetaTypes.TDatLink) and (Column = 2) then
+      begin
+        links := nil;
+        links := ConManager.Connection[FConnectionID].GetFilesList(_MetaTypes.TDatLink(data.Field).PosExts, '', False, ST_NameAsc);
+        HintText := IntToStr(links.Count);
+        for i := 0 to Min(links.Count - 1, 99) do
+        begin
+          if (i mod 5) = 0 then
+            HintText := HintText + #13+#10;
+          HintText := HintText + links.Strings[i] + '       ';
+        end;
+      end;
+    end;
+  end
+  else
+    HintText := '';
+end;
+
 procedure TForm_Meta.VSTGetPopupMenu(Sender: TBaseVirtualTree;
   Node: PVirtualNode; Column: TColumnIndex; const P: TPoint;
@@ -279,5 +312,5 @@
     if Column = 0 then
     begin
-      if TTreeElement(data.Field).GetChildCount > 0 then
+      if TTreeElement(data.Field).ChildCount > 0 then
         PopupMenu := vst_popup
       else
Index: oup/current/Tools/_TemplateFileList.dfm
===================================================================
--- oup/current/Tools/_TemplateFileList.dfm	(revision 240)
+++ oup/current/Tools/_TemplateFileList.dfm	(revision 241)
@@ -33,5 +33,5 @@
         Margins.Right = 1
         Margins.Bottom = 0
-        ActivePage = tab_meta
+        ActivePage = tab_files
         Align = alClient
         TabOrder = 0
@@ -261,4 +261,5 @@
             Align = alClient
             ItemHeight = 13
+            PopupMenu = filepopup
             TabOrder = 1
             OnClick = listClick
@@ -269,8 +270,4 @@
           Caption = 'Tree'
           ImageIndex = 1
-          ExplicitLeft = 0
-          ExplicitTop = 0
-          ExplicitWidth = 0
-          ExplicitHeight = 0
           object filelist_meta: TVirtualStringTree
             Left = 0
@@ -309,4 +306,5 @@
   end
   object filepopup: TPopupMenu
+    OnPopup = filepopupPopup
     Left = 72
     Top = 216
@@ -316,4 +314,5 @@
     object popup_linkshere: TMenuItem
       Caption = 'What links here? Where does this file link to?'
+      OnClick = popup_linkshereClick
     end
     object popup_separator: TMenuItem
@@ -322,7 +321,9 @@
     object popup_import: TMenuItem
       Caption = 'Import binary .dat-file'
+      OnClick = popup_importClick
     end
     object popup_export: TMenuItem
       Caption = 'Export binary .dat-file'
+      OnClick = popup_exportClick
     end
   end
