--- oup/current/Tools/BinEdit.pas 2007/06/15 15:12:11 217 +++ oup/current/Tools/BinEdit.pas 2007/06/18 14:20:33 221 @@ -1,19 +1,25 @@ unit BinEdit; + interface + uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, VirtualTrees, Grids, Wrapgrid, MPHexEditor, StdCtrls, - Menus, VTHeaderPopup, ExtCtrls, Buttons, StrUtils, Clipbrd, + Dialogs, VirtualTrees, Grids, Wrapgrid, MPHexEditor, + StdCtrls, Menus, ExtCtrls, Buttons, Data, TypeDefs, ConnectionManager, Template, - _BaseTemplate, _TemplateFile, _TemplateFileList; + _TemplateFileList, VTHeaderPopup, ComCtrls; type - TForm_BinEdit = class(TForm_ToolTemplate) + TForm_BinEdit = class(TForm_TemplateFileList) + panel_imexport: TPanel; + btn_export: TButton; + btn_import: TButton; hex: TMPHexEditor; Splitter2: TSplitter; value_viewer: TWrapGrid; - VST: TVirtualStringTree; Splitter3: TSplitter; + VST: TVirtualStringTree; + VTHPopup: TVTHeaderPopupMenu; value_viewer_context: TPopupMenu; value_viewer_context_copy: TMenuItem; value_viewer_context_copyasdec: TMenuItem; @@ -21,20 +27,8 @@ type value_viewer_context_copyasbitset: TMenuItem; value_viewer_context_copyasstring: TMenuItem; value_viewer_context_copyashex: TMenuItem; - VTHPopup: TVTHeaderPopupMenu; - panel_imexport: TPanel; - btn_export: TButton; - btn_import: TButton; - procedure FormCreate(Sender: TObject); procedure NewFile(fileinfo: TFileInfo); - procedure FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); - procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); - - procedure hexKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); - procedure hexSelectionChanged(Sender: TObject); - procedure hexChange(Sender: TObject); - procedure LoadDat(_fileid: Integer); function Save: Boolean; function GetValue(datatype: Word; offset: Integer): String; @@ -42,23 +36,30 @@ type procedure WriteStructureInfos; procedure ClearStructViewer; - procedure VSTDblClick(Sender: TObject); - procedure VSTFocusChanged(Sender: TBaseVirtualTree; Node: PVirtualNode; - Column: TColumnIndex); - procedure VTHPopupColumnChange(const Sender: TBaseVirtualTree; - const Column: TColumnIndex; Visible: Boolean); - procedure VSTHeaderDragged(Sender: TVTHeader; Column: TColumnIndex; - OldPosition: Integer); - procedure VSTGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; - Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString); procedure ClearValues; procedure WriteValues; + + procedure FormCreate(Sender: TObject); + procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); + procedure hexChange(Sender: TObject); + procedure hexKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); + procedure hexSelectionChanged(Sender: TObject); procedure value_viewerDblClick(Sender: TObject); - procedure value_viewer_context_copyClick(Sender: TObject); + procedure FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); + procedure value_viewer_contextPopup(Sender: TObject); procedure value_viewerMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); - procedure value_viewer_contextPopup(Sender: TObject); + procedure value_viewer_context_copyClick(Sender: TObject); + procedure VSTDblClick(Sender: TObject); + procedure VSTFocusChanged(Sender: TBaseVirtualTree; Node: PVirtualNode; + Column: TColumnIndex); + procedure VSTGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; + Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString); + procedure VSTHeaderDragged(Sender: TVTHeader; Column: TColumnIndex; + OldPosition: Integer); + procedure VTHPopupColumnChange(const Sender: TBaseVirtualTree; + const Column: TColumnIndex; Visible: Boolean); private fileid: Integer; ConID: Integer; @@ -66,13 +67,11 @@ type public end; -var - Form_BinEdit: TForm_BinEdit; - implementation - -uses ValueEdit, Main, Functions, DatStructureLoader, RawEdit; {$R *.dfm} +uses ValueEdit, Main, Functions, DatStructureLoader, RawEdit, RawList, + StrUtils, Clipbrd; + type PNodeData = ^TNodeData; @@ -119,6 +118,7 @@ begin // end; + procedure TForm_BinEdit.NewFile(fileinfo: TFileInfo); begin LoadDat(fileinfo.ID); @@ -990,7 +990,6 @@ end; - procedure TForm_BinEdit.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Shift = [ssCtrl]) and (Key = 83) then