Changeset 233 for oup/current/Tools


Ignore:
Timestamp:
Jun 29, 2007, 2:38:24 PM (17 years ago)
Author:
alloc
Message:
 
Location:
oup/current/Tools
Files:
4 edited

Legend:

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

    r232 r233  
    1212    ExplicitTop = 25
    1313    ExplicitWidth = 598
    14     ExplicitHeight = 532
     14    ExplicitHeight = 424
    1515    object splitter: TSplitter
    1616      Left = 190
     
    4848      OnPaintText = VSTPaintText
    4949      OnInitChildren = VSTInitChildren
    50       ExplicitWidth = 502
    51       ExplicitHeight = 532
    5250      Columns = <
    5351        item
     
    8078        Caption = 'Meta Edit'
    8179        ImageIndex = 1
    82         ExplicitWidth = 192
    83         ExplicitHeight = 504
     80        ExplicitLeft = 0
     81        ExplicitTop = 0
     82        ExplicitWidth = 0
     83        ExplicitHeight = 0
    8484      end
    8585      object tab_hex: TTabSheet
    8686        Caption = 'Binary Edit'
    87         ExplicitWidth = 192
    88         ExplicitHeight = 504
    8987        object splitter_hex_1: TSplitter
    9088          Left = 0
     
    102100        object splitter_hex_2: TSplitter
    103101          Left = 0
    104           Top = 250
     102          Top = 256
    105103          Width = 392
    106104          Height = 8
     
    115113        object panel_hex_actions: TPanel
    116114          Left = 0
    117           Top = 355
    118           Width = 392
    119           Height = 41
     115          Top = 361
     116          Width = 392
     117          Height = 35
    120118          Align = alBottom
    121119          BevelOuter = bvNone
    122120          Caption = 'panel_hex_actions'
    123121          TabOrder = 0
    124           ExplicitLeft = 3
    125           ExplicitTop = 354
    126           ExplicitWidth = 192
     122          object btn_export: TButton
     123            Left = 2
     124            Top = 6
     125            Width = 117
     126            Height = 25
     127            Caption = 'Export to file...'
     128            TabOrder = 0
     129          end
     130          object btn_import: TButton
     131            Left = 125
     132            Top = 6
     133            Width = 117
     134            Height = 25
     135            Caption = 'Import from file...'
     136            TabOrder = 1
     137          end
    127138        end
    128139        object hex: TMPHexEditor
     
    151162          Colors.EvenColumn = clNavy
    152163          Colors.CurrentOffsetBackground = clBtnShadow
    153           Colors.OffsetBackground = clBtnFace
     164          Colors.OffsetBackGround = clBtnFace
    154165          Colors.CurrentOffset = clBtnHighlight
    155166          Colors.Grid = clBtnFace
     
    160171          AllowInsertMode = False
    161172          DrawGridLines = False
    162           Version = 'december 06, 2006; '#169' markus stephany, vcl[at]mirkes[dot]de'
     173          Version = 'May 23, 2005; '#169' markus stephany, vcl[at]mirkes[dot]de'
    163174          ShowPositionIfNotFocused = True
    164           ExplicitWidth = 192
    165175        end
    166176        object value_viewer: TWrapGrid
     
    168178          Top = 108
    169179          Width = 392
    170           Height = 142
     180          Height = 148
    171181          Align = alClient
    172182          ColCount = 1
     
    179189          ScrollBars = ssVertical
    180190          TabOrder = 2
    181           ExplicitTop = 363
    182           ExplicitWidth = 192
    183           ExplicitHeight = 0
    184191        end
    185192        object structviewer: TVirtualStringTree
    186193          Left = 0
    187           Top = 258
     194          Top = 264
    188195          Width = 392
    189196          Height = 97
     
    225232          OnFocusChanged = VSTFocusChanged
    226233          OnGetText = VSTGetText
    227           ExplicitLeft = -6
    228           ExplicitTop = 161
    229           ExplicitWidth = 192
    230234          Columns = <
    231235            item
     
    280284    end
    281285  end
     286  object value_viewer_context: TPopupMenu
     287    AutoHotkeys = maManual
     288    AutoLineReduction = maManual
     289    Left = 300
     290    Top = 196
     291    object value_viewer_context_copy: TMenuItem
     292      Caption = 'Copy to &clipboard'
     293    end
     294    object value_viewer_context_copyasdec: TMenuItem
     295      Caption = 'Copy to clipboard (as &dec)'
     296    end
     297    object value_viewer_context_copyasfloat: TMenuItem
     298      Caption = 'Copy to clipboard (as &float)'
     299    end
     300    object value_viewer_context_copyasbitset: TMenuItem
     301      Caption = 'Copy to clipboard (as &bitset)'
     302    end
     303    object value_viewer_context_copyasstring: TMenuItem
     304      Caption = 'Copy to clipboard (as &string)'
     305    end
     306    object value_viewer_context_copyashex: TMenuItem
     307      Caption = 'Copy to clipboard (as &hex)'
     308    end
     309  end
     310  object VTHPopup: TVTHeaderPopupMenu
     311    Left = 292
     312    Top = 340
     313  end
    282314end
  • oup/current/Tools/MetaEditor.pas

    r232 r233  
    66  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    77  Dialogs, _BaseTemplate, ExtCtrls, VirtualTrees, StdCtrls, ComCtrls, Grids,
    8   MPHexEditor, Wrapgrid;
     8  MPHexEditor, Wrapgrid, VTHeaderPopup, Menus, _TreeElement;
    99
    1010type
     
    2121    splitter_hex_2: TSplitter;
    2222    structviewer: TVirtualStringTree;
     23    value_viewer_context: TPopupMenu;
     24    value_viewer_context_copy: TMenuItem;
     25    value_viewer_context_copyasdec: TMenuItem;
     26    value_viewer_context_copyasfloat: TMenuItem;
     27    value_viewer_context_copyasbitset: TMenuItem;
     28    value_viewer_context_copyasstring: TMenuItem;
     29    value_viewer_context_copyashex: TMenuItem;
     30    VTHPopup: TVTHeaderPopupMenu;
     31    btn_export: TButton;
     32    btn_import: TButton;
    2333    procedure FormCreate(Sender: TObject);
    2434    procedure VSTInitChildren(Sender: TBaseVirtualTree; Node: PVirtualNode;
     
    3646      TextType: TVSTTextType);
    3747  private
     48    root: TTreeElement;
    3849    procedure NewCon(ID: Integer);
    3950  public
     
    4960
    5061  TNodeData = record
    51     Field: TObject;
     62    Field: TTreeElement;
    5263  end;
    5364
     
    7081  node: PVirtualNode;
    7182  Meta: TMetaManager;
    72   root: TExtensions;
     83  root: TTreeElement;
    7384begin
    7485  if ID >= 0 then
     
    7889    VST.BeginUpdate;
    7990    root := ConManager.Connection[FConnectionID].MetaData.Root;
    80     for i := 0 to High(root) do
    81     begin
    82       data.Field := root[i];
     91    for i := 0 to root.ChildCount - 1 do
     92    begin
     93      data.Field := root.Child[i];
    8394      node := AddVSTEntry(VST, nil, data);
    8495      VST.HasChildren[node] := True;
     
    96107  newnode: PVirtualNode;
    97108  i: Integer;
    98   id: Integer;
    99109  Meta: TMetaManager;
    100110begin
    101111  data := Sender.GetNodeData(node);
    102112  Meta := ConManager.Connection[ConnectionID].MetaData;
    103   if data.Field is TFile then
    104   begin
    105     if TFile(data.Field).ChildCount > 0 then
    106     begin
    107       for i := 0 to TFile(data.Field).ChildCount - 1 do
    108       begin
    109         id := TFile(data.Field).LinkByIndex[i].DestID;
    110         Meta.InitFile(id);
    111         newdata.Field := Meta.FileById[id];
    112         newnode := AddVSTEntry(TCustomVirtualStringTree(Sender), Node, newdata);
    113         if Meta.FileById[id].ChildCount > 0 then
    114           Sender.HasChildren[newnode] := True;
    115       end;
    116     end;
    117     if TFile(data.Field).RawCount > 0 then
    118     begin
    119       for i := 0 to TFile(data.Field).RawCount - 1 do
    120       begin
    121 //        Exit;
    122       end;
    123     end;
    124   end;
    125113  if data.Field is TExtension then
    126   begin
    127     if TExtension(data.Field).FileCount = 0 then
     114    if TExtension(data.Field).ChildCount = 0 then
    128115      TExtension(data.Field).InitList;
    129     for i := 0 to TExtension(data.Field).FileCount - 1 do
    130     begin
    131       id := TExtension(data.Field).Files[i];
    132       Meta.InitFile(id);
    133       newdata.Field := Meta.FileById[id];
     116
     117  if data.Field.ChildCount > 0 then
     118  begin
     119    for i := 0 to data.Field.ChildCount - 1 do
     120    begin
     121      newdata.Field := data.Field.Child[i];
    134122      newnode := AddVSTEntry(TCustomVirtualStringTree(Sender), Node, newdata);
    135       if Meta.FileById[id].ChildCount > 0 then
     123      if newdata.Field.ChildCount > 0 then
    136124        Sender.HasChildren[newnode] := True;
    137125    end;
     
    205193      0:
    206194        begin
    207           if Data.Field is TFile then
    208           begin
    209             CellText := TFile(Data.Field).FileInfo.Name;
    210             if CellText = '' then
    211               CellText := 'Unnamed';
    212           end;
    213           if Data.Field is TExtension then
    214             CellText := TExtension(Data.Field).Ext;
     195          CellText := Data.Field.GetCaption;
    215196        end;
    216197      1:
  • oup/current/Tools/_TemplateFileList.dfm

    r231 r233  
    269269          Caption = 'Tree'
    270270          ImageIndex = 1
     271          ExplicitLeft = 0
     272          ExplicitTop = 0
     273          ExplicitWidth = 0
     274          ExplicitHeight = 0
    271275          object filelist_meta: TVirtualStringTree
    272276            Left = 0
  • oup/current/Tools/_TemplateFileList.pas

    r231 r233  
    173173    filelist_meta.Clear;
    174174    filelist_meta.BeginUpdate;
    175     root := ConManager.Connection[FConnectionID].MetaData.Root;
     175{    root := ConManager.Connection[FConnectionID].MetaData.Root;
    176176    for i := 0 to High(root) do
    177177    begin
     
    181181    end;
    182182    filelist_meta.EndUpdate;
    183   end;
     183}  end;
    184184end;
    185185
     
    453453begin
    454454  inherited;
    455   data := Sender.GetNodeData(Node);
     455{  data := Sender.GetNodeData(Node);
    456456  if data.Field is TExtension then
    457457  begin
     
    465465      CellText := TFile(data.Field).FileInfo.Extension + ': ' + TFile(data.Field).FileInfo.Name;
    466466  end;
    467 end;
     467}end;
    468468
    469469
     
    481481  Self.Cursor := crHourGlass;
    482482  Application.ProcessMessages;
    483   if data.Field is TExtension then
     483{  if data.Field is TExtension then
    484484  begin
    485485    if TExtension(data.Field).FileCount = 0 then
     
    509509    ChildCount := filelist_meta.ChildCount[node];
    510510  end;
    511   Self.Cursor := crDefault;
     511}  Self.Cursor := crDefault;
    512512end;
    513513
Note: See TracChangeset for help on using the changeset viewer.