Ignore:
Timestamp:
Jul 18, 2007, 12:27:16 AM (18 years ago)
Author:
alloc
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • oup/current/Tools/MetaEditor.pas

    r240 r241  
    5353    procedure vst_setRootClick(Sender: TObject);
    5454    procedure vst_newRootClick(Sender: TObject);
     55    procedure VSTGetHint(Sender: TBaseVirtualTree; Node: PVirtualNode;
     56      Column: TColumnIndex; var LineBreakStyle: TVTTooltipLineBreakStyle;
     57      var HintText: WideString);
    5558  private
    5659    root: TTreeElement;
     
    6366implementation
    6467{$R *.dfm}
    65 uses _MetaManager, _MetaTypes, ConnectionManager, Data, _FileTypes, Main;
     68uses _MetaManager, _MetaTypes, ConnectionManager, Data, _FileTypes, Main,
     69  TypeDefs;
    6670
    6771type
     
    8892  if ID >= 0 then
    8993    SetRoot(ConManager.Connection[FConnectionID].MetaData.Root);
     94//SetRoot(ConManager.Connection[FConnectionID].MetaData.FileById[454]);
    9095end;
    9196
     
    119124  newnode: PVirtualNode;
    120125  i: Integer;
    121   Meta: TMetaManager;
    122126begin
    123127  data := Sender.GetNodeData(node);
    124   Meta := ConManager.Connection[ConnectionID].MetaData;
    125128
    126129  if data.Field.ChildCount > 0 then
     
    152155  if data.Field is TFile then
    153156    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 data.Field is _MetaTypes.TDatLink then
     158    if Assigned(_MetaTypes.TDatLink(data.Field).TargetFile) then
     159      ffile := TFile(_MetaTypes.TDatLink(data.Field).TargetFile);
    157160  if Assigned(ffile) then
    158161  begin
     
    214217  begin
    215218    case Column of
    216       0:
    217         begin
    218           CellText := Data.Field.GetCaption;
    219         end;
    220       1:
    221         begin
    222           if Data.Field is TFile then
    223             CellText := TFile(Data.Field).FileInfo.Extension;
    224         end;
     219      0: CellText := Data.Field.Caption;
     220      1: CellText := data.Field.VType;
    225221      2:
    226         begin
    227           if Data.Field is TFile then
    228             CellText := IntToStr(TFile(Data.Field).FileInfo.ID);
    229         end;
    230       3:
    231222        begin
    232223          if Data.Field is TDataField then
     
    264255
    265256
     257procedure TForm_Meta.VSTGetHint(Sender: TBaseVirtualTree; Node: PVirtualNode;
     258  Column: TColumnIndex; var LineBreakStyle: TVTTooltipLineBreakStyle;
     259  var HintText: WideString);
     260var
     261  data: PNodeData;
     262  CellText: WideString;
     263
     264  i: Integer;
     265  links: TStrings;
     266begin
     267  inherited;
     268  if Assigned(Node) then
     269  begin
     270    VSTGetText(Sender, Node, Column, ttNormal, CellText);
     271    if Length(CellText) > 0 then
     272    begin
     273      data := Sender.GetNodeData(Node);
     274      if data.Field is TDataField then
     275      begin
     276        case Column of
     277          0,1: HintText := TDataField(data.Field).Description;
     278          2: HintText := '';
     279        end;
     280      end;
     281      if (data.Field is _MetaTypes.TDatLink) and (Column = 2) then
     282      begin
     283        links := nil;
     284        links := ConManager.Connection[FConnectionID].GetFilesList(_MetaTypes.TDatLink(data.Field).PosExts, '', False, ST_NameAsc);
     285        HintText := IntToStr(links.Count);
     286        for i := 0 to Min(links.Count - 1, 99) do
     287        begin
     288          if (i mod 5) = 0 then
     289            HintText := HintText + #13+#10;
     290          HintText := HintText + links.Strings[i] + '       ';
     291        end;
     292      end;
     293    end;
     294  end
     295  else
     296    HintText := '';
     297end;
     298
    266299procedure TForm_Meta.VSTGetPopupMenu(Sender: TBaseVirtualTree;
    267300  Node: PVirtualNode; Column: TColumnIndex; const P: TPoint;
     
    279312    if Column = 0 then
    280313    begin
    281       if TTreeElement(data.Field).GetChildCount > 0 then
     314      if TTreeElement(data.Field).ChildCount > 0 then
    282315        PopupMenu := vst_popup
    283316      else
Note: See TracChangeset for help on using the changeset viewer.