| 7 |
|
Dialogs, StdCtrls, StrUtils, Clipbrd, ExtCtrls, ComCtrls, Menus, Grids, |
| 8 |
|
MPHexEditor, ToolWin, ImgList, Tabs, |
| 9 |
|
MDITab, TB2Item, TB2Dock, TB2Toolbar, TB2MDI, |
| 10 |
< |
Code_Functions, Data, Code_DataStructures, Code_OniDataClass, |
| 11 |
< |
Helper_LevelDB, Code_Exporters, Settings, Tool_Template, |
| 12 |
< |
Tool_BinEdit, Tool_Extractor, Tool_Preview, Tool_RawEdit, Tool_TxmpReplace; |
| 10 |
> |
Data, Functions, DataStructures, OniDataClass, Exporters, |
| 11 |
> |
Helper_LevelDB, Settings, Template, |
| 12 |
> |
BinEdit, Extractor, Preview, RawEdit, TxmpReplace; |
| 13 |
|
|
| 14 |
|
type |
| 15 |
|
TForm_Main = class(TForm) |
| 65 |
|
tb_txmpreplacer: TTBItem; |
| 66 |
|
tb_rawedit: TTBItem; |
| 67 |
|
tb_datedit: TTBItem; |
| 68 |
+ |
menu_windows_tilevert: TTBItem; |
| 69 |
+ |
tb_meta: TTBItem; |
| 70 |
+ |
menu_meta: TTBItem; |
| 71 |
+ |
TBSeparatorItem1: TTBSeparatorItem; |
| 72 |
+ |
tb_db2dat: TTBItem; |
| 73 |
+ |
tb_dat2db: TTBItem; |
| 74 |
+ |
menu_loaddb: TTBItem; |
| 75 |
+ |
tb_opendb: TTBItem; |
| 76 |
+ |
procedure LoadFile(typedb: Boolean); |
| 77 |
|
function TryCloseAll: Boolean; |
| 78 |
|
procedure menu_AboutClick(Sender: TObject); |
| 79 |
|
procedure menu_settingsClick(Sender: TObject); |
| 85 |
|
procedure menu_windows_previousClick(Sender: TObject); |
| 86 |
|
procedure menu_windows_nextClick(Sender: TObject); |
| 87 |
|
procedure menu_windows_tileClick(Sender: TObject); |
| 88 |
< |
function open_child(window_context: String; fileid: Integer): Boolean; |
| 88 |
> |
function open_child(window_context: String; fileid: Integer): TForm_ToolTemplate; |
| 89 |
|
procedure menu_windows_closeallClick(Sender: TObject); |
| 90 |
|
procedure menu_windows_cascadeClick(Sender: TObject); |
| 91 |
|
procedure menu_bineditClick(Sender: TObject); |
| 105 |
|
procedure ActivateTools(active: Boolean); |
| 106 |
|
procedure MDITabMouseUp(Sender: TObject; Button: TMouseButton; |
| 107 |
|
Shift: TShiftState; X, Y: Integer); |
| 108 |
+ |
procedure menu_windows_tilevertClick(Sender: TObject); |
| 109 |
+ |
procedure menu_metaClick(Sender: TObject); |
| 110 |
+ |
procedure ToolbarDockChanged(Sender: TObject); |
| 111 |
+ |
procedure menu_loaddbClick(Sender: TObject); |
| 112 |
|
private |
| 113 |
|
public |
| 114 |
|
end; |
| 290 |
|
|
| 291 |
|
|
| 292 |
|
|
| 293 |
+ |
procedure TForm_Main.ToolbarDockChanged(Sender: TObject); |
| 294 |
+ |
var |
| 295 |
+ |
toolbar: TTBToolbar; |
| 296 |
+ |
position: TTBDockPosition; |
| 297 |
+ |
mode: TTBItemDisplayMode; |
| 298 |
+ |
i: Integer; |
| 299 |
+ |
isEnabled: Boolean; |
| 300 |
+ |
begin |
| 301 |
+ |
toolbar := TTBToolbar(Sender); |
| 302 |
+ |
if toolbar.Floating then |
| 303 |
+ |
mode := nbdmImageAndText |
| 304 |
+ |
else begin |
| 305 |
+ |
position := toolbar.CurrentDock.Position; |
| 306 |
+ |
if position in [dpLeft, dpRight] then |
| 307 |
+ |
mode := nbdmDefault |
| 308 |
+ |
else |
| 309 |
+ |
mode := nbdmImageAndText; |
| 310 |
+ |
end; |
| 311 |
+ |
for i := 0 to toolbar.Items.Count - 1 do |
| 312 |
+ |
toolbar.Items.Items[i].DisplayMode := mode; |
| 313 |
+ |
end; |
| 314 |
+ |
|
| 315 |
|
function TForm_Main.TryCloseAll: Boolean; |
| 316 |
|
begin |
| 317 |
|
menu_windows_closeallClick(Self); |
| 323 |
|
end; |
| 324 |
|
|
| 325 |
|
|
| 326 |
< |
{#################################} |
| 327 |
< |
{##### Main-Menu-Handlers #####} |
| 293 |
< |
{#################################} |
| 294 |
< |
procedure TForm_Main.menu_loadfileClick(Sender: TObject); |
| 326 |
> |
|
| 327 |
> |
procedure TForm_Main.LoadFile(typedb: Boolean); |
| 328 |
|
var |
| 329 |
|
ext: String; |
| 330 |
|
begin |
| 333 |
|
CloseDataConnection; |
| 334 |
|
opend.InitialDir := AppSettings.DatPath; |
| 335 |
|
opend.Filter := 'Compatible level files|*.dat;*.oldb|Oni level (*.dat)|*.dat|OUP level database (*.oldb)|*.oldb|Any (*.*)|*'; |
| 336 |
+ |
if typedb then |
| 337 |
+ |
opend.FilterIndex := 3 |
| 338 |
+ |
else |
| 339 |
+ |
opend.FilterIndex := 2; |
| 340 |
|
if opend.Execute then |
| 341 |
|
begin |
| 342 |
|
ext := ExtractFileExt(opend.FileName); |
| 359 |
|
end; |
| 360 |
|
|
| 361 |
|
|
| 362 |
+ |
{#################################} |
| 363 |
+ |
{##### Main-Menu-Handlers #####} |
| 364 |
+ |
{#################################} |
| 365 |
+ |
procedure TForm_Main.menu_loaddbClick(Sender: TObject); |
| 366 |
+ |
begin |
| 367 |
+ |
LoadFile(True); |
| 368 |
+ |
end; |
| 369 |
+ |
|
| 370 |
+ |
procedure TForm_Main.menu_loadfileClick(Sender: TObject); |
| 371 |
+ |
begin |
| 372 |
+ |
LoadFile(False); |
| 373 |
+ |
end; |
| 374 |
+ |
|
| 375 |
+ |
|
| 376 |
|
|
| 377 |
|
|
| 378 |
|
procedure TForm_Main.menu_settingsClick(Sender: TObject); |
| 474 |
|
end; |
| 475 |
|
|
| 476 |
|
|
| 477 |
+ |
procedure TForm_Main.menu_metaClick(Sender: TObject); |
| 478 |
+ |
begin |
| 479 |
+ |
ShowMessage('TBD'); |
| 480 |
+ |
end; |
| 481 |
+ |
|
| 482 |
+ |
|
| 483 |
|
procedure TForm_Main.menu_filecompareClick(Sender: TObject); |
| 484 |
|
begin |
| 485 |
|
open_child('compare', -1); |
| 531 |
|
Self.Tile; |
| 532 |
|
end; |
| 533 |
|
|
| 534 |
+ |
procedure TForm_Main.menu_windows_tilevertClick(Sender: TObject); |
| 535 |
+ |
begin |
| 536 |
+ |
Self.TileMode := tbVertical; |
| 537 |
+ |
Self.Tile; |
| 538 |
+ |
end; |
| 539 |
|
|
| 540 |
|
|
| 541 |
|
procedure TForm_Main.menu_windows_closeallClick(Sender: TObject); |
| 578 |
|
|
| 579 |
|
|
| 580 |
|
|
| 581 |
< |
function TForm_Main.open_child(window_context: String; fileid: Integer): Boolean; |
| 581 |
> |
function TForm_Main.open_child(window_context: String; fileid: Integer): TForm_ToolTemplate; |
| 582 |
|
var |
| 583 |
|
toolform: TForm_ToolTemplate; |
| 584 |
|
i: Integer; |
| 585 |
|
tag: Integer; |
| 586 |
|
iconindex: Integer; |
| 587 |
|
begin |
| 588 |
< |
Result := True; |
| 588 |
> |
Result := nil; |
| 589 |
|
|
| 590 |
|
tag := 1; |
| 591 |
|
if MDIChildCount > 0 then |
| 599 |
|
begin |
| 600 |
|
toolform := TForm_BinEdit.Create(Self); |
| 601 |
|
toolform.Caption := 'Binary .dat-Editor ' + IntToStr(tag); |
| 602 |
< |
iconindex := 0; |
| 602 |
> |
iconindex := 4; |
| 603 |
|
end; |
| 604 |
|
if window_context = 'extractor' then |
| 605 |
|
begin |
| 606 |
|
toolform := TForm_Extractor.Create(Self); |
| 607 |
|
toolform.Caption := 'Extractor ' + IntToStr(tag); |
| 608 |
+ |
iconindex := 7; |
| 609 |
|
end; |
| 610 |
|
if window_context = 'preview' then |
| 611 |
|
begin |
| 612 |
|
toolform := TForm_Preview.Create(Self); |
| 613 |
|
toolform.Caption := 'Preview-Window ' + IntToStr(tag); |
| 614 |
+ |
iconindex := 3; |
| 615 |
|
end; |
| 616 |
|
if window_context = 'rawedit' then |
| 617 |
|
begin |
| 618 |
|
toolform := TForm_RawEdit.Create(Self); |
| 619 |
|
toolform.Caption := 'Binary .raw-Editor ' + IntToStr(tag); |
| 620 |
+ |
iconindex := 5; |
| 621 |
|
end; |
| 622 |
|
if window_context = 'txmpreplace' then |
| 623 |
|
begin |
| 624 |
|
toolform := TForm_TxmpReplace.Create(Application); |
| 625 |
|
toolform.Caption := 'TXMP Replacer ' + IntToStr(tag); |
| 626 |
+ |
iconindex := 6; |
| 627 |
|
end; |
| 628 |
|
|
| 629 |
|
if Assigned(toolform) then |
| 633 |
|
MDITab.AddTab(TForm(toolform), iconindex); |
| 634 |
|
if fileid > -1 then |
| 635 |
|
toolform.SelectFileID(fileid); |
| 636 |
+ |
Result := toolform; |
| 637 |
|
end; |
| 638 |
|
end; |
| 639 |
|
|