From 38e0d404db0eb06c68c031a4fc2cd847a3fb882c Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Sun, 15 Jan 2023 16:37:33 +0100 Subject: [PATCH] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Convert=20to=20Lazarus=202?= =?UTF-8?q?.2.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Client/CentrED.lpi | 3 +- Client/GUI/VirtualList.pas | 14 +- Client/Tools/UfrmDrawSettings.pas | 2 +- Client/Tools/UfrmFillSettings.lfm | 4 +- Client/Tools/UfrmFillSettings.pas | 6 +- Client/Tools/UfrmFilter.lfm | 4 +- Client/Tools/UfrmFilter.pas | 6 +- Client/Tools/UfrmHueSettings.lfm | 24 +- Client/Tools/UfrmHueSettings.pas | 14 +- Client/Tools/UfrmSelectionSettings.pas | 2 +- Client/Tools/UfrmSurfElevateSettings.pas | 2 +- Client/Tools/UfrmSurfSmoothSettings.pas | 2 +- Client/Tools/UfrmSurfStretchSettings.pas | 2 +- Client/UPlatformTypes.pas | 4 +- Client/UfrmAccountControl.lfm | 2 +- Client/UfrmAccountControl.pas | 4 +- Client/UfrmEditAccount.lfm | 101 ++-- Client/UfrmEditAccount.pas | 2 +- Client/UfrmLargeScaleCommand.lfm | 661 +++++++++++------------ Client/UfrmLargeScaleCommand.pas | 14 +- Client/UfrmMain.lfm | 12 +- Client/UfrmMain.pas | 18 +- Client/UfrmRegionControl.lfm | 212 ++++---- Client/UfrmRegionControl.pas | 6 +- Client/UndoRedoCmd.pas | 2 +- 25 files changed, 541 insertions(+), 582 deletions(-) diff --git a/Client/CentrED.lpi b/Client/CentrED.lpi index 4dea528..dd8ac0a 100644 --- a/Client/CentrED.lpi +++ b/Client/CentrED.lpi @@ -249,8 +249,7 @@ - - + diff --git a/Client/GUI/VirtualList.pas b/Client/GUI/VirtualList.pas index 0efbc4c..c3b54fb 100644 --- a/Client/GUI/VirtualList.pas +++ b/Client/GUI/VirtualList.pas @@ -4,7 +4,7 @@ unit VirtualList; interface uses - Forms, Controls, StdCtrls, Graphics, Classes, SysUtils, VirtualTrees, + Forms, Controls, StdCtrls, Graphics, Classes, SysUtils, laz.VirtualTrees, Logging, LMessages, LCLIntf, Math; type @@ -30,7 +30,7 @@ type { TVirtualList } - TVirtualList = class(TVirtualDrawTree) + TVirtualList = class(TLazVirtualDrawTree) private HintCanvas: TCanvas; @@ -91,19 +91,19 @@ Implementation constructor TVirtualList.Create(AOwner: TComponent); var - Pvdt: TVirtualDrawTree; + Pvdt: TLazVirtualDrawTree; column: TVirtualTreeColumn; c: Integer; begin //Logger.Send([lcClient, lcDebug], 'TVirtualTree.Create START'); - if not (AOwner is TVirtualDrawTree) then begin - Logger.Send([lcClient, lcDebug], 'TVirtualTree.Create(AOwner: TVirtualDrawTree) must get argument TVirtualDrawTree'); - Assert(not (AOwner is TVirtualDrawTree), 'TVirtualTree.Create(AOwner: TVirtualDrawTree) must get argument TVirtualDrawTree'); + if not (AOwner is TLazVirtualDrawTree) then begin + Logger.Send([lcClient, lcDebug], 'TVirtualTree.Create(AOwner: TLazVirtualDrawTree) must get argument TLazVirtualDrawTree'); + Assert(not (AOwner is TLazVirtualDrawTree), 'TVirtualTree.Create(AOwner: TLazVirtualDrawTree) must get argument TLazVirtualDrawTree'); Abort; Halt; end; inherited Create(AOwner.Owner); - Pvdt := TVirtualDrawTree(AOwner); + Pvdt := TLazVirtualDrawTree(AOwner); Self.Parent := Pvdt.Parent; FSelectionCount := 0; diff --git a/Client/Tools/UfrmDrawSettings.pas b/Client/Tools/UfrmDrawSettings.pas index 0439c27..86cc322 100644 --- a/Client/Tools/UfrmDrawSettings.pas +++ b/Client/Tools/UfrmDrawSettings.pas @@ -31,7 +31,7 @@ interface uses Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, - Spin, ExtCtrls, LMessages, VirtualTrees, VirtualList, UfrmToolWindow, UfrmMain; + Spin, ExtCtrls, LMessages, laz.VirtualTrees, VirtualList, UfrmToolWindow, UfrmMain; type diff --git a/Client/Tools/UfrmFillSettings.lfm b/Client/Tools/UfrmFillSettings.lfm index 9758a55..a31e83b 100644 --- a/Client/Tools/UfrmFillSettings.lfm +++ b/Client/Tools/UfrmFillSettings.lfm @@ -8,7 +8,7 @@ inherited frmFillSettings: TfrmFillSettings ClientWidth = 469 OnCreate = FormCreate OnShow = FormShow - object vdtLastPreview: TVirtualDrawTree[0] + object vdtLastPreview: TLazVirtualDrawTree[0] Tag = -1 AnchorSideLeft.Control = cbCategory AnchorSideTop.Control = gbHue @@ -62,7 +62,7 @@ inherited frmFillSettings: TfrmFillSettings Visible = False OnDrawNode = vdtPreviewDrawNode end - object vdtEntryPreview: TVirtualDrawTree[1] + object vdtEntryPreview: TLazVirtualDrawTree[1] Tag = -1 AnchorSideLeft.Control = vdtLastPreview AnchorSideLeft.Side = asrBottom diff --git a/Client/Tools/UfrmFillSettings.pas b/Client/Tools/UfrmFillSettings.pas index 79cb200..0fe5c7e 100644 --- a/Client/Tools/UfrmFillSettings.pas +++ b/Client/Tools/UfrmFillSettings.pas @@ -31,7 +31,7 @@ interface uses Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, - Spin, ExtCtrls, LMessages, VirtualTrees, VirtualList, UfrmToolWindow, UfrmMain; + Spin, ExtCtrls, LMessages, laz.VirtualTrees, VirtualList, UfrmToolWindow, UfrmMain; type @@ -44,8 +44,8 @@ type gbHue: TGroupBox; lblFillType: TLabel; pbHue: TPaintBox; - vdtLastPreview: TVirtualDrawTree; - vdtEntryPreview: TVirtualDrawTree; + vdtLastPreview: TLazVirtualDrawTree; + vdtEntryPreview: TLazVirtualDrawTree; procedure cbUseSurfaceAltitudeChange(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormShow(Sender: TObject); diff --git a/Client/Tools/UfrmFilter.lfm b/Client/Tools/UfrmFilter.lfm index b1d7b90..9ce43a3 100644 --- a/Client/Tools/UfrmFilter.lfm +++ b/Client/Tools/UfrmFilter.lfm @@ -188,7 +188,7 @@ object frmFilter: TfrmFilter ShowHint = True ParentShowHint = False end - object vdtFilter: TVirtualDrawTree + object vdtFilter: TLazVirtualDrawTree Tag = -1 AnchorSideLeft.Control = GroupBox1 AnchorSideTop.Control = cbTileFilter @@ -350,7 +350,7 @@ object frmFilter: TfrmFilter OnMouseUp = FormMouseUp TabOrder = 0 end - object vdtHues: TVirtualDrawTree + object vdtHues: TLazVirtualDrawTree Cursor = 63 Left = 4 Height = 119 diff --git a/Client/Tools/UfrmFilter.pas b/Client/Tools/UfrmFilter.pas index 2540d74..bede94d 100644 --- a/Client/Tools/UfrmFilter.pas +++ b/Client/Tools/UfrmFilter.pas @@ -31,7 +31,7 @@ interface uses Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, - ExtCtrls, VirtualTrees, VirtualList, LCLIntf, LCLType, LMessages, Buttons, + ExtCtrls, laz.VirtualTrees, VirtualList, LCLIntf, LCLType, LMessages, Buttons, UPlatformTypes, UStatics, Menus, Logging; type @@ -57,7 +57,7 @@ type Splitter1: TSplitter; tFormClose: TTimer; vdtFilter: TVirtualList; - vdtHues: TVirtualDrawTree; + vdtHues: TLazVirtualDrawTree; procedure btnClearClick(Sender: TObject); procedure btnDeleteClick(Sender: TObject); procedure cbHueFilterChange(Sender: TObject); @@ -202,7 +202,7 @@ procedure TfrmFilter.vdtFilterDragOver(Sender: TBaseVirtualTree; Source: TObject; Shift: TShiftState; State: TDragState; Pt: TPoint; Mode: TDropMode; var Effect: Integer; var Accept: Boolean); begin - if (Source <> Sender) and (Source is TVirtualDrawTree) then + if (Source <> Sender) and (Source is TLazVirtualDrawTree) then begin Accept := True; end; diff --git a/Client/Tools/UfrmHueSettings.lfm b/Client/Tools/UfrmHueSettings.lfm index 6f2e3bb..319814a 100644 --- a/Client/Tools/UfrmHueSettings.lfm +++ b/Client/Tools/UfrmHueSettings.lfm @@ -83,8 +83,8 @@ inherited frmHueSettings: TfrmHueSettings BorderSpacing.Top = 4 BorderSpacing.Bottom = 6 Caption = 'Набор случайных цветов' - ClientHeight = 232 - ClientWidth = 183 + ClientHeight = 226 + ClientWidth = 185 TabOrder = 3 Visible = False object btnAddRandom: TSpeedButton @@ -132,7 +132,6 @@ inherited frmHueSettings: TfrmHueSettings FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 } - NumGlyphs = 0 OnClick = btnAddRandomClick ShowHint = True ParentShowHint = False @@ -183,7 +182,6 @@ inherited frmHueSettings: TfrmHueSettings FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 } - NumGlyphs = 0 OnClick = btnDeleteRandomClick ShowHint = True ParentShowHint = False @@ -234,7 +232,6 @@ inherited frmHueSettings: TfrmHueSettings FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 } - NumGlyphs = 0 OnClick = btnClearRandomClick ShowHint = True ParentShowHint = False @@ -285,7 +282,6 @@ inherited frmHueSettings: TfrmHueSettings 4DFFC88C4FFFC88C4FFFC88C4FFFC88D4FFFC98C4FFFC78B4FFFC5894BFFC476 3BFF000000000000000000000000000000000000000000000000 } - NumGlyphs = 0 OnClick = btnRandomPresetSaveClick ShowCaption = False ShowHint = True @@ -338,7 +334,6 @@ inherited frmHueSettings: TfrmHueSettings 0000C88B4DFFC88C4FFFC88C4FFFC88C4FFFC88C4FFFC88D4FFFC98C4FFFC78B 4FFFC5894BFFC4763BFF00000000000000000000000000000000 } - NumGlyphs = 0 OnClick = btnRandomPresetDeleteClick ShowCaption = False ShowHint = True @@ -404,8 +399,8 @@ inherited frmHueSettings: TfrmHueSettings BorderSpacing.Right = 4 BorderSpacing.Bottom = 4 Caption = 'Предпросмотр цвета на тайле' - ClientHeight = 75 - ClientWidth = 183 + ClientHeight = 69 + ClientWidth = 185 TabOrder = 4 object ImagePreviewItem: TImage AnchorSideLeft.Control = gbPreview @@ -486,7 +481,7 @@ inherited frmHueSettings: TfrmHueSettings OnChange = cbRandomChange TabOrder = 5 end - object vdtHuePreview: TVirtualDrawTree[6] + object vdtHuePreview: TLazVirtualDrawTree[6] Tag = -1 AnchorSideTop.Side = asrBottom AnchorSideRight.Side = asrBottom @@ -519,6 +514,7 @@ inherited frmHueSettings: TfrmHueSettings Header.AutoSizeIndex = -1 Header.Columns = <> Header.DefaultHeight = 17 + Header.Height = 17 Header.MainColumn = -1 Header.Options = [hoShowHint] Header.ParentFont = True @@ -554,8 +550,8 @@ inherited frmHueSettings: TfrmHueSettings BorderSpacing.Top = 4 BorderSpacing.Bottom = 6 Caption = 'Последние выбранные цвета' - ClientHeight = 82 - ClientWidth = 183 + ClientHeight = 76 + ClientWidth = 185 TabOrder = 6 Visible = False object lbLastUsed: TListBox @@ -582,7 +578,7 @@ inherited frmHueSettings: TfrmHueSettings end end inherited tmClose: TTimer[8] - left = 24 - top = 16 + Left = 24 + Top = 16 end end diff --git a/Client/Tools/UfrmHueSettings.pas b/Client/Tools/UfrmHueSettings.pas index 2aeca07..aab78be 100644 --- a/Client/Tools/UfrmHueSettings.pas +++ b/Client/Tools/UfrmHueSettings.pas @@ -32,7 +32,7 @@ interface uses Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, - ExtCtrls, Buttons, UfrmToolWindow, XMLRead, XMLWrite, DOM, VirtualTrees, + ExtCtrls, Buttons, UfrmToolWindow, XMLRead, XMLWrite, DOM, laz.VirtualTrees, VirtualList, Math, UHue, UArt, UTiledata, UfrmMain, ImagingComponents, LConvEncoding, ComCtrls, Logging, LCLIntf, LCLType, ULandscape; @@ -60,7 +60,7 @@ type lbHue: TListBox; lblTileId: TLabel; lbRandom: TListBox; - vdtHuePreview: TVirtualDrawTree; + vdtHuePreview: TLazVirtualDrawTree; procedure btnAddRandomClick(Sender: TObject); procedure btnClearRandomClick(Sender: TObject); procedure btnDeleteRandomClick(Sender: TObject); @@ -82,8 +82,6 @@ type procedure lbRandomDragDrop(Sender, Source: TObject; X, Y: Integer); procedure lbRandomDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); - procedure lvHueCustomDrawItem(Sender: TCustomListView; Item: TListItem; - State: TCustomDrawState; var DefaultDraw: Boolean); procedure ShowAllClick(Sender: TObject); procedure UpdateItemPreview(ID : Integer; Hue: Integer); procedure vdtHuePreviewClick(Sender: TObject); @@ -472,12 +470,6 @@ begin if Source = lbHue then Accept := True; end; -procedure TfrmHueSettings.lvHueCustomDrawItem(Sender: TCustomListView; - Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean); -begin - -end; - function TfrmHueSettings.FindRandomPreset(AName: String): TDOMElement; begin Result := TDOMElement(FRandomHuePresetsDoc.DocumentElement.FirstChild); @@ -662,7 +654,7 @@ var mpos: TPoint; rect: TRect; begin - id := TVirtualDrawTree(Sender).Tag; + id := TLazVirtualDrawTree(Sender).Tag; info:= Sender.GetNodeData(PaintInfo.Node); if info^.ID[PaintInfo.Column] <= 0 then begin hue := nil; diff --git a/Client/Tools/UfrmSelectionSettings.pas b/Client/Tools/UfrmSelectionSettings.pas index 72e31c4..eb8707f 100644 --- a/Client/Tools/UfrmSelectionSettings.pas +++ b/Client/Tools/UfrmSelectionSettings.pas @@ -31,7 +31,7 @@ interface uses Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, - Spin, ExtCtrls, LMessages, VirtualTrees, UfrmToolWindow, UfrmMain; + Spin, ExtCtrls, LMessages, laz.VirtualTrees, UfrmToolWindow, UfrmMain; type diff --git a/Client/Tools/UfrmSurfElevateSettings.pas b/Client/Tools/UfrmSurfElevateSettings.pas index 583dc8b..2bb5b35 100644 --- a/Client/Tools/UfrmSurfElevateSettings.pas +++ b/Client/Tools/UfrmSurfElevateSettings.pas @@ -31,7 +31,7 @@ interface uses Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, - Spin, ExtCtrls, LMessages, VirtualTrees, UfrmToolWindow, UfrmMain; + Spin, ExtCtrls, LMessages, laz.VirtualTrees, UfrmToolWindow, UfrmMain; type diff --git a/Client/Tools/UfrmSurfSmoothSettings.pas b/Client/Tools/UfrmSurfSmoothSettings.pas index 984de45..13dc1e6 100644 --- a/Client/Tools/UfrmSurfSmoothSettings.pas +++ b/Client/Tools/UfrmSurfSmoothSettings.pas @@ -31,7 +31,7 @@ interface uses Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, - Spin, ExtCtrls, LMessages, VirtualTrees, UfrmToolWindow, UfrmMain; + Spin, ExtCtrls, LMessages, laz.VirtualTrees, UfrmToolWindow, UfrmMain; type diff --git a/Client/Tools/UfrmSurfStretchSettings.pas b/Client/Tools/UfrmSurfStretchSettings.pas index e21d758..d28a785 100644 --- a/Client/Tools/UfrmSurfStretchSettings.pas +++ b/Client/Tools/UfrmSurfStretchSettings.pas @@ -31,7 +31,7 @@ interface uses Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, - Spin, ExtCtrls, LMessages, VirtualTrees, UfrmToolWindow, UfrmMain; + Spin, ExtCtrls, LMessages, laz.VirtualTrees, UfrmToolWindow, UfrmMain; type diff --git a/Client/UPlatformTypes.pas b/Client/UPlatformTypes.pas index 7c386a4..cdd1aca 100644 --- a/Client/UPlatformTypes.pas +++ b/Client/UPlatformTypes.pas @@ -31,10 +31,10 @@ interface uses Classes, SysUtils, - {$IFDEF WINDOWS}ActiveX{$ELSE}fakeactivex{$ENDIF}; + {$IFDEF WINDOWS}ActiveX{$ELSE}laz.FakeActiveX{$ENDIF}; type - IDataObject = {$IFDEF WINDOWS}ActiveX{$ELSE}fakeactivex{$ENDIF}.IDataObject; + IDataObject = {$IFDEF WINDOWS}ActiveX{$ELSE}laz.FakeActiveX{$ENDIF}.IDataObject; implementation diff --git a/Client/UfrmAccountControl.lfm b/Client/UfrmAccountControl.lfm index 7fc9c0a..e383cb5 100644 --- a/Client/UfrmAccountControl.lfm +++ b/Client/UfrmAccountControl.lfm @@ -73,7 +73,7 @@ object frmAccountControl: TfrmAccountControl Style = tbsDivider end end - object vstAccounts: TVirtualStringTree + object vstAccounts: TLazVirtualStringTree Left = 0 Height = 352 Top = 26 diff --git a/Client/UfrmAccountControl.pas b/Client/UfrmAccountControl.pas index 3f738a6..793e089 100644 --- a/Client/UfrmAccountControl.pas +++ b/Client/UfrmAccountControl.pas @@ -31,7 +31,7 @@ interface uses Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ComCtrls, - StdCtrls, ExtCtrls, VirtualTrees, Math, UEnhancedMemoryStream, UEnums; + StdCtrls, ExtCtrls, laz.VirtualTrees, Math, UEnhancedMemoryStream, UEnums; type @@ -46,7 +46,7 @@ type tbEditUser: TToolButton; tbDeleteUser: TToolButton; tbSeparator1: TToolButton; - vstAccounts: TVirtualStringTree; + vstAccounts: TLazVirtualStringTree; procedure tbEditUserClick(Sender: TObject); procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); procedure FormCreate(Sender: TObject); diff --git a/Client/UfrmEditAccount.lfm b/Client/UfrmEditAccount.lfm index bf210e8..7d73e6e 100644 --- a/Client/UfrmEditAccount.lfm +++ b/Client/UfrmEditAccount.lfm @@ -1,19 +1,20 @@ object frmEditAccount: TfrmEditAccount Left = 1146 - Height = 214 + Height = 268 Top = 205 - Width = 261 + Width = 326 BorderIcons = [biSystemMenu] BorderStyle = bsDialog Caption = 'Редактирование аккаунта' - ClientHeight = 214 - ClientWidth = 261 - Font.Height = -11 + ClientHeight = 268 + ClientWidth = 326 + DesignTimePPI = 120 + Font.Height = -14 OnCreate = FormCreate OnDestroy = FormDestroy OnShow = FormShow Position = poOwnerFormCenter - LCLVersion = '0.9.30.2' + LCLVersion = '2.2.2.0' object PageControl1: TPageControl Left = 0 Height = 173 @@ -25,13 +26,13 @@ object frmEditAccount: TfrmEditAccount TabOrder = 0 object tsGeneral: TTabSheet Caption = 'Общие' - ClientHeight = 147 - ClientWidth = 253 + ClientHeight = 135 + ClientWidth = 251 object lblPasswordHint: TLabel - Left = 86 - Height = 28 - Top = 64 - Width = 160 + Left = 108 + Height = 35 + Top = 80 + Width = 200 AutoSize = False Caption = 'Не заполнять поле, если не хотите изменить пароль.' Enabled = False @@ -39,52 +40,52 @@ object frmEditAccount: TfrmEditAccount WordWrap = True end object lblUsername: TLabel - Left = 6 + Left = 8 Height = 14 - Top = 12 + Top = 15 Width = 46 Caption = 'Аккаунт:' ParentColor = False end object lblPassword: TLabel - Left = 6 + Left = 8 Height = 14 - Top = 44 + Top = 55 Width = 44 Caption = 'Пароль:' ParentColor = False end object lblAccessLevel: TLabel - Left = 6 + Left = 8 Height = 14 - Top = 108 + Top = 135 Width = 37 Caption = 'Права:' ParentColor = False end object edUsername: TEdit - Left = 86 + Left = 108 Height = 21 - Top = 8 - Width = 160 + Top = 10 + Width = 200 Color = clBtnFace ReadOnly = True TabOrder = 0 end object edPassword: TEdit - Left = 86 + Left = 108 Height = 21 - Top = 40 - Width = 160 + Top = 50 + Width = 200 EchoMode = emPassword PasswordChar = '*' TabOrder = 1 end object cbAccessLevel: TComboBox - Left = 86 + Left = 108 Height = 21 - Top = 104 - Width = 160 + Top = 130 + Width = 200 ItemHeight = 13 Items.Strings = ( 'None' @@ -99,18 +100,18 @@ object frmEditAccount: TfrmEditAccount end object tsRegions: TTabSheet Caption = 'Регионы' - ClientHeight = 147 - ClientWidth = 253 + ClientHeight = 135 + ClientWidth = 251 object Label1: TLabel Left = 8 Height = 14 Top = 8 Width = 237 Align = alTop - BorderSpacing.Left = 8 - BorderSpacing.Top = 8 - BorderSpacing.Right = 8 - BorderSpacing.Bottom = 4 + BorderSpacing.Left = 10 + BorderSpacing.Top = 10 + BorderSpacing.Right = 10 + BorderSpacing.Bottom = 5 Caption = 'Разрешенные регионы:' ParentColor = False end @@ -120,47 +121,47 @@ object frmEditAccount: TfrmEditAccount Top = 26 Width = 237 Align = alClient - BorderSpacing.Left = 8 - BorderSpacing.Top = 4 - BorderSpacing.Right = 8 - BorderSpacing.Bottom = 8 - ItemHeight = 0 + BorderSpacing.Left = 10 + BorderSpacing.Top = 5 + BorderSpacing.Right = 10 + BorderSpacing.Bottom = 10 + ItemHeight = 20 TabOrder = 0 end end end object Panel1: TPanel Left = 8 - Height = 25 - Top = 181 + Height = 31 + Top = 175 Width = 245 Align = alBottom - BorderSpacing.Around = 8 + BorderSpacing.Around = 10 BevelOuter = bvNone - ClientHeight = 25 + ClientHeight = 31 ClientWidth = 245 TabOrder = 1 object btnCancel: TButton - Left = 170 + Left = 151 Height = 25 Top = 0 - Width = 75 + Width = 94 Align = alRight - BorderSpacing.Left = 4 - BorderSpacing.InnerBorder = 4 + BorderSpacing.Left = 5 + BorderSpacing.InnerBorder = 5 Cancel = True Caption = 'Отмена' ModalResult = 2 TabOrder = 0 end object btnOK: TButton - Left = 91 + Left = 72 Height = 25 Top = 0 - Width = 75 + Width = 94 Align = alRight - BorderSpacing.Right = 4 - BorderSpacing.InnerBorder = 4 + BorderSpacing.Right = 5 + BorderSpacing.InnerBorder = 5 Caption = 'OK' Default = True ModalResult = 1 diff --git a/Client/UfrmEditAccount.pas b/Client/UfrmEditAccount.pas index fa9ec68..93d6589 100644 --- a/Client/UfrmEditAccount.pas +++ b/Client/UfrmEditAccount.pas @@ -31,7 +31,7 @@ interface uses Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, - UEnums, ComCtrls, ExtCtrls, CheckLst, UfrmRegionControl, VirtualTrees; + UEnums, ComCtrls, ExtCtrls, CheckLst, UfrmRegionControl, laz.VirtualTrees; function GetAccessLevel(AAccessLevel: TAccessLevel): string; diff --git a/Client/UfrmLargeScaleCommand.lfm b/Client/UfrmLargeScaleCommand.lfm index aab3bc4..60aa40d 100644 --- a/Client/UfrmLargeScaleCommand.lfm +++ b/Client/UfrmLargeScaleCommand.lfm @@ -1,20 +1,21 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand Left = 1190 - Height = 390 + Height = 488 Top = 54 - Width = 620 + Width = 775 Caption = 'Глобальные Операции' - ClientHeight = 390 - ClientWidth = 620 - Constraints.MinHeight = 390 - Constraints.MinWidth = 620 - Font.Height = -11 + ClientHeight = 488 + ClientWidth = 775 + Constraints.MinHeight = 488 + Constraints.MinWidth = 775 + DesignTimePPI = 120 + Font.Height = -14 OnCreate = FormCreate OnDestroy = FormDestroy OnShow = FormShow Position = poOwnerFormCenter ShowInTaskBar = stAlways - LCLVersion = '0.9.30.2' + LCLVersion = '2.2.2.0' object nbActions: TNotebook AnchorSideLeft.Control = vstActions AnchorSideLeft.Side = asrBottom @@ -22,18 +23,14 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideRight.Control = Owner AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = btnClose - Left = 152 + Left = 190 Height = 349 Top = 0 Width = 468 + PageIndex = 0 Anchors = [akTop, akLeft, akRight, akBottom] - PageIndex = 5 - ShowTabs = False TabOrder = 0 object pgArea: TPage - Caption = 'Выбрать Область' - ClientWidth = 460 - ClientHeight = 341 object sbArea: TScrollBox Left = 0 Height = 341 @@ -45,9 +42,9 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand TabOrder = 0 object pbArea: TPaintBox Left = 0 - Height = 105 + Height = 131 Top = 0 - Width = 105 + Width = 131 OnMouseDown = pbAreaMouseDown OnMouseMove = pbAreaMouseMove OnPaint = pbAreaPaint @@ -55,18 +52,15 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand end end object pgCopyMove: TPage - Caption = 'Копировать/Двигать' - ClientWidth = 460 - ClientHeight = 341 object rgCMAction: TRadioGroup AnchorSideLeft.Control = pgCopyMove AnchorSideTop.Control = pgCopyMove - Left = 8 - Height = 40 - Top = 8 - Width = 184 + Left = 10 + Height = 50 + Top = 10 + Width = 230 AutoFill = True - BorderSpacing.Around = 8 + BorderSpacing.Around = 10 Caption = 'Действие' ChildSizing.LeftRightSpacing = 6 ChildSizing.TopBottomSpacing = 6 @@ -76,8 +70,8 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.ControlsPerLine = 2 - ClientHeight = 22 - ClientWidth = 180 + ClientHeight = 26 + ClientWidth = 228 Columns = 2 ItemIndex = 0 Items.Strings = ( @@ -90,23 +84,23 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Control = rgCMAction AnchorSideTop.Control = rgCMAction AnchorSideTop.Side = asrBottom - Left = 8 - Height = 81 - Top = 56 - Width = 121 + Left = 10 + Height = 101 + Top = 70 + Width = 151 Caption = 'Смещение' - ClientHeight = 63 - ClientWidth = 117 + ClientHeight = 77 + ClientWidth = 149 TabOrder = 1 object Label9: TLabel AnchorSideLeft.Control = gbCMOffset AnchorSideTop.Control = seCMOffsetX AnchorSideTop.Side = asrCenter - Left = 8 + Left = 10 Height = 14 - Top = 11 + Top = 14 Width = 10 - BorderSpacing.Around = 8 + BorderSpacing.Around = 10 Caption = 'X:' ParentColor = False end @@ -114,9 +108,9 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Control = Label9 AnchorSideTop.Control = seCMOffsetY AnchorSideTop.Side = asrCenter - Left = 8 + Left = 10 Height = 14 - Top = 40 + Top = 50 Width = 9 Caption = 'Y:' ParentColor = False @@ -126,14 +120,14 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = gbCMOffset AnchorSideRight.Control = btnGrabOffset - Left = 26 + Left = 32 Height = 21 - Top = 8 + Top = 10 Width = 61 Anchors = [akTop, akLeft, akRight] - BorderSpacing.Top = 4 - BorderSpacing.Bottom = 4 - BorderSpacing.Around = 4 + BorderSpacing.Top = 5 + BorderSpacing.Bottom = 5 + BorderSpacing.Around = 5 TabOrder = 0 end object seCMOffsetY: TSpinEdit @@ -142,12 +136,12 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideTop.Side = asrBottom AnchorSideRight.Control = seCMOffsetX AnchorSideRight.Side = asrBottom - Left = 26 + Left = 32 Height = 21 - Top = 37 + Top = 46 Width = 61 Anchors = [akTop, akLeft, akRight] - BorderSpacing.Bottom = 8 + BorderSpacing.Bottom = 10 TabOrder = 1 end object btnGrabOffset: TSpeedButton @@ -155,13 +149,13 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideTop.Side = asrCenter AnchorSideRight.Control = gbCMOffset AnchorSideRight.Side = asrBottom - Left = 91 - Height = 22 + Left = 85 + Height = 28 Hint = 'Выбрать тайл в главном окне и взять смещение для выбранной области из его координат.' - Top = 20 - Width = 22 + Top = 25 + Width = 28 Anchors = [akTop, akRight] - BorderSpacing.Around = 4 + BorderSpacing.Around = 5 Enabled = False Glyph.Data = { 36040000424D3604000000000000360000002800000010000000100000000100 @@ -199,7 +193,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand FF00FFFFFF00FFFFFF00CBCBCB7EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 } - NumGlyphs = 0 OnClick = btnGrabOffsetClick ShowHint = True ParentShowHint = False @@ -209,19 +202,16 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Control = gbCMOffset AnchorSideTop.Control = gbCMOffset AnchorSideTop.Side = asrBottom - Left = 8 + Left = 10 Height = 19 - Top = 145 + Top = 181 Width = 248 - BorderSpacing.Top = 8 + BorderSpacing.Top = 10 Caption = 'Стереть выбраную область (по смещению)' TabOrder = 2 end end object pgModifyAltitude: TPage - Caption = 'Изменить высоту' - ClientWidth = 460 - ClientHeight = 341 object Label2: TLabel AnchorSideRight.Control = seTerrainAltitude1 Left = 30 @@ -231,8 +221,8 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand Align = alCustom Anchors = [akTop, akLeft, akRight] AutoSize = False - BorderSpacing.Left = 22 - BorderSpacing.Right = 13 + BorderSpacing.Left = 28 + BorderSpacing.Right = 16 Caption = 'Высота статики будет изменена согласно изменению высоты рельефа.' Enabled = False ParentColor = False @@ -240,9 +230,9 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand end object Label3: TLabel AnchorSideTop.Control = rbSetTerrainAltitude - Left = 228 + Left = 285 Height = 14 - Top = 8 + Top = 10 Width = 207 Caption = 'Установить высоту из этого диапазона' ParentColor = False @@ -253,23 +243,23 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = seTerrainAltitude1 AnchorSideTop.Side = asrCenter - Left = 286 + Left = 358 Height = 14 - Top = 33 + Top = 41 Width = 14 - BorderSpacing.Left = 8 + BorderSpacing.Left = 10 Caption = 'до' ParentColor = False end object rbSetTerrainAltitude: TRadioButton AnchorSideLeft.Control = pgModifyAltitude AnchorSideTop.Control = pgModifyAltitude - Left = 8 + Left = 10 Height = 19 - Top = 8 + Top = 10 Width = 168 - BorderSpacing.Left = 8 - BorderSpacing.Top = 8 + BorderSpacing.Left = 10 + BorderSpacing.Top = 10 Caption = 'Установить высоту рельефа' Checked = True TabOrder = 0 @@ -279,11 +269,11 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Control = rbSetTerrainAltitude AnchorSideTop.Control = Label2 AnchorSideTop.Side = asrBottom - Left = 8 + Left = 10 Height = 19 - Top = 75 + Top = 94 Width = 207 - BorderSpacing.Top = 8 + BorderSpacing.Top = 10 Caption = 'Изменение относительной высоты' TabOrder = 1 end @@ -291,11 +281,11 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Control = Label3 AnchorSideTop.Control = Label3 AnchorSideTop.Side = asrBottom - Left = 228 + Left = 285 Height = 21 - Top = 30 - Width = 50 - BorderSpacing.Top = 8 + Top = 38 + Width = 62 + BorderSpacing.Top = 10 MaxValue = 127 MinValue = -128 TabOrder = 2 @@ -304,11 +294,11 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Control = Label4 AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = seTerrainAltitude1 - Left = 308 + Left = 385 Height = 21 - Top = 30 - Width = 50 - BorderSpacing.Left = 8 + Top = 38 + Width = 62 + BorderSpacing.Left = 10 MaxValue = 127 MinValue = -128 TabOrder = 3 @@ -317,52 +307,49 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Control = Label2 AnchorSideTop.Control = rbRelativeAltitudeChange AnchorSideTop.Side = asrBottom - Left = 30 + Left = 38 Height = 21 - Top = 94 - Width = 50 + Top = 118 + Width = 62 MaxValue = 127 MinValue = -128 TabOrder = 4 end end object pgDrawTerrain: TPage - Caption = 'Рисовать рельеф' - ClientWidth = 460 - ClientHeight = 341 object gbDrawTerrainTiles: TGroupBox AnchorSideLeft.Control = pgDrawTerrain AnchorSideTop.Control = pgDrawTerrain AnchorSideBottom.Control = pgDrawTerrain AnchorSideBottom.Side = asrBottom - Left = 8 + Left = 10 Height = 325 - Top = 8 - Width = 225 + Top = 10 + Width = 281 Anchors = [akTop, akLeft, akBottom] - BorderSpacing.Around = 8 + BorderSpacing.Around = 10 Caption = 'Тайлы' - ClientHeight = 307 - ClientWidth = 221 + ClientHeight = 301 + ClientWidth = 279 TabOrder = 0 object lblDrawTerrainTilesDesc: TLabel AnchorSideLeft.Control = gbDrawTerrainTiles AnchorSideTop.Control = gbDrawTerrainTiles AnchorSideRight.Control = gbDrawTerrainTiles AnchorSideRight.Side = asrBottom - Left = 4 + Left = 5 Height = 53 Top = 0 Width = 213 Anchors = [akTop, akLeft, akRight] - BorderSpacing.Left = 4 - BorderSpacing.Right = 4 - BorderSpacing.Bottom = 4 + BorderSpacing.Left = 5 + BorderSpacing.Right = 5 + BorderSpacing.Bottom = 5 Caption = 'Перетащите в список тайлы рельефа из главного окна. Для каждой клетки указанной области будет случайно перерисован один из этих тайлов.' ParentColor = False WordWrap = True end - object vdtTerrainTiles: TVirtualDrawTree + object vdtTerrainTiles: TLazVirtualDrawTree Tag = 1 AnchorSideLeft.Control = gbDrawTerrainTiles AnchorSideTop.Control = lblDrawTerrainTilesDesc @@ -370,16 +357,16 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideRight.Control = gbDrawTerrainTiles AnchorSideBottom.Control = btnDeleteTerrain Cursor = 63 - Left = 4 + Left = 5 Height = 220 - Top = 57 - Width = 215 + Top = 71 + Width = 269 Anchors = [akTop, akLeft, akBottom] - BorderSpacing.Left = 4 - BorderSpacing.Right = 4 - BorderSpacing.Bottom = 4 + BorderSpacing.Left = 5 + BorderSpacing.Right = 5 + BorderSpacing.Bottom = 5 Color = 16052980 - DefaultNodeHeight = 44 + DefaultNodeHeight = 55 DragMode = dmAutomatic DragType = dtVCL Header.AutoSizeIndex = 0 @@ -387,17 +374,17 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand item Position = 0 Text = 'ID' - Width = 40 + Width = 50 end item Position = 1 Text = 'Тайл' - Width = 44 + Width = 55 end item Position = 2 Text = 'Название' - Width = 108 + Width = 135 end item MaxWidth = 10 @@ -410,55 +397,55 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 4 Text = 'tile_S1' - Width = 46 + Width = 58 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 5 Text = 'tile_S2' - Width = 46 + Width = 58 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 6 Text = 'tile_S3' - Width = 46 + Width = 58 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 7 Text = 'tile_S4' - Width = 46 + Width = 58 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 8 Text = 'tile_M1' - Width = 62 + Width = 78 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 9 Text = 'tile_M2' - Width = 62 + Width = 78 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 10 Text = 'tile_M3' - Width = 62 + Width = 78 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 11 Text = 'tile_L1' - Width = 93 + Width = 116 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 12 Text = 'tile_L2' - Width = 93 + Width = 116 end item MaxWidth = 10 @@ -467,7 +454,8 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand Text = 'tile_separator' Width = 2 end> - Header.DefaultHeight = 17 + Header.DefaultHeight = 21 + Header.Height = 21 Header.Options = [hoVisible] Header.ParentFont = True Header.Style = hsFlatButtons @@ -487,11 +475,11 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Side = asrBottom AnchorSideBottom.Control = btnDeleteTerrain AnchorSideBottom.Side = asrBottom - Left = 30 - Height = 22 + Left = 38 + Height = 28 Hint = 'Очистить список' - Top = 281 - Width = 22 + Top = 275 + Width = 28 Anchors = [akLeft, akBottom] Glyph.Data = { 36040000424D3604000000000000360000002800000010000000100000000100 @@ -529,7 +517,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000 } - NumGlyphs = 0 OnClick = btnClearTerrainClick ShowHint = True ParentShowHint = False @@ -538,13 +525,13 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Control = gbDrawTerrainTiles AnchorSideBottom.Control = gbDrawTerrainTiles AnchorSideBottom.Side = asrBottom - Left = 4 - Height = 22 + Left = 5 + Height = 28 Hint = 'Удалить выбраное' - Top = 281 - Width = 22 + Top = 275 + Width = 28 Anchors = [akLeft, akBottom] - BorderSpacing.Around = 4 + BorderSpacing.Around = 5 Glyph.Data = { 36040000424D3604000000000000360000002800000010000000100000000100 2000000000000004000064000000640000000000000000000000000000000000 @@ -581,7 +568,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000 } - NumGlyphs = 0 OnClick = btnDeleteTerrainClick ShowHint = True ParentShowHint = False @@ -589,42 +575,39 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand end end object pgDeleteStatics: TPage - Caption = 'Удалить статику' - ClientWidth = 460 - ClientHeight = 341 object gbDeleteStaticsTiles: TGroupBox AnchorSideLeft.Control = pgDeleteStatics AnchorSideTop.Control = pgDeleteStatics AnchorSideBottom.Control = pgDeleteStatics AnchorSideBottom.Side = asrBottom - Left = 8 + Left = 10 Height = 325 - Top = 8 - Width = 225 + Top = 10 + Width = 281 Anchors = [akTop, akLeft, akBottom] - BorderSpacing.Around = 8 + BorderSpacing.Around = 10 Caption = 'Тайлы' - ClientHeight = 307 - ClientWidth = 221 + ClientHeight = 301 + ClientWidth = 279 TabOrder = 0 object lblDeleteStaticsTilesDesc: TLabel AnchorSideLeft.Control = gbDeleteStaticsTiles AnchorSideTop.Control = gbDeleteStaticsTiles AnchorSideRight.Control = gbDeleteStaticsTiles AnchorSideRight.Side = asrBottom - Left = 4 + Left = 5 Height = 53 Top = 0 Width = 213 Anchors = [akTop, akLeft, akRight] - BorderSpacing.Left = 4 - BorderSpacing.Right = 4 - BorderSpacing.Bottom = 4 + BorderSpacing.Left = 5 + BorderSpacing.Right = 5 + BorderSpacing.Bottom = 5 Caption = 'Перетащите в список тайлы статики из главного окна. Только выбранная статика будет удалена, Если список пуст, будет удалена вся статика.' ParentColor = False WordWrap = True end - object vdtDeleteStaticsTiles: TVirtualDrawTree + object vdtDeleteStaticsTiles: TLazVirtualDrawTree Tag = 1 AnchorSideLeft.Control = gbDeleteStaticsTiles AnchorSideTop.Control = lblDeleteStaticsTilesDesc @@ -633,16 +616,16 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = btnDeleteDStaticsTiles Cursor = 63 - Left = 4 + Left = 5 Height = 220 - Top = 57 + Top = 71 Width = 213 Anchors = [akTop, akLeft, akRight, akBottom] - BorderSpacing.Left = 4 - BorderSpacing.Right = 4 - BorderSpacing.Bottom = 4 + BorderSpacing.Left = 5 + BorderSpacing.Right = 5 + BorderSpacing.Bottom = 5 Color = 16052980 - DefaultNodeHeight = 44 + DefaultNodeHeight = 55 DragMode = dmAutomatic DragType = dtVCL Header.AutoSizeIndex = 0 @@ -650,17 +633,17 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand item Position = 0 Text = 'ID' - Width = 40 + Width = 50 end item Position = 1 Text = 'Тайл' - Width = 44 + Width = 55 end item Position = 2 Text = 'Название' - Width = 108 + Width = 135 end item MaxWidth = 10 @@ -673,55 +656,55 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 4 Text = 'tile_S1' - Width = 46 + Width = 58 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 5 Text = 'tile_S2' - Width = 46 + Width = 58 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 6 Text = 'tile_S3' - Width = 46 + Width = 58 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 7 Text = 'tile_S4' - Width = 46 + Width = 58 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 8 Text = 'tile_M1' - Width = 62 + Width = 78 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 9 Text = 'tile_M2' - Width = 62 + Width = 78 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 10 Text = 'tile_M3' - Width = 62 + Width = 78 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 11 Text = 'tile_L1' - Width = 93 + Width = 116 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 12 Text = 'tile_L2' - Width = 93 + Width = 116 end item MaxWidth = 10 @@ -730,7 +713,8 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand Text = 'tile_separator' Width = 2 end> - Header.DefaultHeight = 17 + Header.DefaultHeight = 21 + Header.Height = 21 Header.Options = [hoVisible] Header.ParentFont = True Header.Style = hsFlatButtons @@ -750,11 +734,11 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Side = asrBottom AnchorSideBottom.Control = btnDeleteDStaticsTiles AnchorSideBottom.Side = asrBottom - Left = 30 - Height = 22 + Left = 38 + Height = 28 Hint = 'Очистить список' - Top = 281 - Width = 22 + Top = 275 + Width = 28 Anchors = [akLeft, akBottom] Glyph.Data = { 36040000424D3604000000000000360000002800000010000000100000000100 @@ -792,7 +776,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000 } - NumGlyphs = 0 OnClick = btnClearDStaticsTilesClick ShowHint = True ParentShowHint = False @@ -801,13 +784,13 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Control = gbDeleteStaticsTiles AnchorSideBottom.Control = gbDeleteStaticsTiles AnchorSideBottom.Side = asrBottom - Left = 4 - Height = 22 + Left = 5 + Height = 28 Hint = 'Удалить выбранное' - Top = 281 - Width = 22 + Top = 275 + Width = 28 Anchors = [akLeft, akBottom] - BorderSpacing.Around = 4 + BorderSpacing.Around = 5 Glyph.Data = { 36040000424D3604000000000000360000002800000010000000100000000100 2000000000000004000064000000640000000000000000000000000000000000 @@ -844,7 +827,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000 } - NumGlyphs = 0 OnClick = btnDeleteDStaticsTilesClick ShowHint = True ParentShowHint = False @@ -854,28 +836,28 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Control = gbDeleteStaticsTiles AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = gbDeleteStaticsTiles - Left = 241 + Left = 301 Height = 95 - Top = 8 + Top = 10 Width = 142 AutoSize = True Caption = 'Границы по высоте' - ClientHeight = 77 - ClientWidth = 138 + ClientHeight = 71 + ClientWidth = 140 TabOrder = 1 object Label7: TLabel AnchorSideLeft.Control = GroupBox1 AnchorSideTop.Control = GroupBox1 AnchorSideRight.Control = GroupBox1 AnchorSideRight.Side = asrBottom - Left = 4 + Left = 5 Height = 40 Top = 0 Width = 130 Anchors = [akTop, akLeft, akRight] - BorderSpacing.Left = 4 - BorderSpacing.Right = 4 - BorderSpacing.Bottom = 4 + BorderSpacing.Left = 5 + BorderSpacing.Right = 5 + BorderSpacing.Bottom = 5 Caption = 'Будет удалена только статика на высоте в указанном диапазоне.' ParentColor = False WordWrap = True @@ -885,9 +867,9 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = seDeleteStaticsZ1 AnchorSideTop.Side = asrCenter - Left = 62 + Left = 78 Height = 14 - Top = 51 + Top = 64 Width = 14 Caption = 'до' ParentColor = False @@ -895,11 +877,11 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand object seDeleteStaticsZ1: TSpinEdit AnchorSideTop.Control = Label7 AnchorSideTop.Side = asrBottom - Left = 4 + Left = 5 Height = 21 - Top = 48 - Width = 50 - BorderSpacing.Around = 8 + Top = 60 + Width = 62 + BorderSpacing.Around = 10 MaxValue = 127 MinValue = -128 TabOrder = 0 @@ -909,11 +891,11 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Control = Label8 AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = seDeleteStaticsZ1 - Left = 84 + Left = 105 Height = 21 - Top = 48 - Width = 50 - BorderSpacing.Left = 8 + Top = 60 + Width = 62 + BorderSpacing.Left = 10 MaxValue = 127 MinValue = -128 TabOrder = 1 @@ -922,42 +904,39 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand end end object pgInsertStatics: TPage - Caption = 'Добавить статику' - ClientWidth = 460 - ClientHeight = 341 object gbInserStaticsTiles: TGroupBox AnchorSideLeft.Control = pgInsertStatics AnchorSideTop.Control = pgInsertStatics AnchorSideBottom.Control = pgInsertStatics AnchorSideBottom.Side = asrBottom - Left = 8 + Left = 10 Height = 325 - Top = 8 - Width = 225 + Top = 10 + Width = 281 Anchors = [akTop, akLeft, akBottom] - BorderSpacing.Around = 8 + BorderSpacing.Around = 10 Caption = 'Тайлы' - ClientHeight = 307 - ClientWidth = 221 + ClientHeight = 301 + ClientWidth = 279 TabOrder = 0 object lblInsertStaticsTiles: TLabel AnchorSideLeft.Control = gbInserStaticsTiles AnchorSideTop.Control = gbInserStaticsTiles AnchorSideRight.Control = gbInserStaticsTiles AnchorSideRight.Side = asrBottom - Left = 4 + Left = 5 Height = 53 Top = 0 Width = 213 Anchors = [akTop, akLeft, akRight] - BorderSpacing.Left = 4 - BorderSpacing.Right = 4 - BorderSpacing.Bottom = 4 + BorderSpacing.Left = 5 + BorderSpacing.Right = 5 + BorderSpacing.Bottom = 5 Caption = 'Перетащите в список тайлы статики из главного окна. На каждую клетку указанной области будет случайно нарисован один из этих тайлов.' ParentColor = False WordWrap = True end - object vdtInsertStaticsTiles: TVirtualDrawTree + object vdtInsertStaticsTiles: TLazVirtualDrawTree Tag = 1 AnchorSideLeft.Control = gbInserStaticsTiles AnchorSideTop.Control = lblInsertStaticsTiles @@ -965,16 +944,16 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideRight.Control = gbInserStaticsTiles AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = btnDeleteIStaticsTiles - Left = 4 + Left = 5 Height = 220 - Top = 57 + Top = 71 Width = 213 Anchors = [akTop, akLeft, akRight, akBottom] - BorderSpacing.Left = 4 - BorderSpacing.Right = 4 - BorderSpacing.Bottom = 4 + BorderSpacing.Left = 5 + BorderSpacing.Right = 5 + BorderSpacing.Bottom = 5 Color = 16052980 - DefaultNodeHeight = 44 + DefaultNodeHeight = 55 DragMode = dmAutomatic DragType = dtVCL Header.AutoSizeIndex = 0 @@ -982,17 +961,17 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand item Position = 0 Text = 'ID' - Width = 40 + Width = 50 end item Position = 1 Text = 'Тайл' - Width = 44 + Width = 55 end item Position = 2 Text = 'Название' - Width = 108 + Width = 135 end item MaxWidth = 10 @@ -1005,55 +984,55 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 4 Text = 'tile_S1' - Width = 46 + Width = 58 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 5 Text = 'tile_S2' - Width = 46 + Width = 58 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 6 Text = 'tile_S3' - Width = 46 + Width = 58 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 7 Text = 'tile_S4' - Width = 46 + Width = 58 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 8 Text = 'tile_M1' - Width = 62 + Width = 78 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 9 Text = 'tile_M2' - Width = 62 + Width = 78 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 10 Text = 'tile_M3' - Width = 62 + Width = 78 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 11 Text = 'tile_L1' - Width = 93 + Width = 116 end item Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coAllowFocus] Position = 12 Text = 'tile_L2' - Width = 93 + Width = 116 end item MaxWidth = 10 @@ -1062,7 +1041,8 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand Text = 'tile_separator' Width = 2 end> - Header.DefaultHeight = 17 + Header.DefaultHeight = 21 + Header.Height = 21 Header.Options = [hoVisible] Header.ParentFont = True Header.Style = hsFlatButtons @@ -1081,11 +1061,11 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Control = btnDeleteIStaticsTiles AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = btnDeleteIStaticsTiles - Left = 30 - Height = 22 + Left = 38 + Height = 28 Hint = 'Очистить список' - Top = 281 - Width = 22 + Top = 351 + Width = 28 Glyph.Data = { 36040000424D3604000000000000360000002800000010000000100000000100 2000000000000004000064000000640000000000000000000000000000000000 @@ -1122,7 +1102,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000 } - NumGlyphs = 0 OnClick = btnClearIStaticsTilesClick ShowHint = True ParentShowHint = False @@ -1131,13 +1110,13 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Control = gbInserStaticsTiles AnchorSideBottom.Control = gbInserStaticsTiles AnchorSideBottom.Side = asrBottom - Left = 4 - Height = 22 + Left = 5 + Height = 28 Hint = 'Удалить выбранное' - Top = 281 - Width = 22 + Top = 275 + Width = 28 Anchors = [akLeft, akBottom] - BorderSpacing.Around = 4 + BorderSpacing.Around = 5 Glyph.Data = { 36040000424D3604000000000000360000002800000010000000100000000100 2000000000000004000064000000640000000000000000000000000000000000 @@ -1174,7 +1153,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000 } - NumGlyphs = 0 OnClick = btnDeleteIStaticsTilesClick ShowHint = True ParentShowHint = False @@ -1184,29 +1162,29 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Control = gbInserStaticsTiles AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = gbInserStaticsTiles - Left = 241 + Left = 301 Height = 78 - Top = 8 - Width = 147 + Top = 10 + Width = 184 Anchors = [akTop, akLeft, akRight] AutoSize = True Caption = 'Вероятность' - ClientHeight = 60 - ClientWidth = 143 + ClientHeight = 54 + ClientWidth = 182 TabOrder = 1 object Label5: TLabel AnchorSideLeft.Control = gbStaticsProbability AnchorSideTop.Control = gbStaticsProbability AnchorSideRight.Control = gbStaticsProbability AnchorSideRight.Side = asrBottom - Left = 4 + Left = 5 Height = 27 Top = 0 Width = 135 Anchors = [akTop, akLeft, akRight] - BorderSpacing.Left = 4 - BorderSpacing.Right = 4 - BorderSpacing.Bottom = 4 + BorderSpacing.Left = 5 + BorderSpacing.Right = 5 + BorderSpacing.Bottom = 5 Caption = 'Тайл будет нирисован с вероятностью:' ParentColor = False WordWrap = True @@ -1216,11 +1194,11 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = seStaticsProbability AnchorSideTop.Side = asrCenter - Left = 58 + Left = 72 Height = 14 - Top = 34 + Top = 42 Width = 10 - BorderSpacing.Left = 4 + BorderSpacing.Left = 5 Caption = '%' ParentColor = False end @@ -1228,11 +1206,11 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Control = Label5 AnchorSideTop.Control = Label5 AnchorSideTop.Side = asrBottom - Left = 4 + Left = 5 Height = 21 - Top = 31 - Width = 50 - BorderSpacing.Bottom = 8 + Top = 39 + Width = 62 + BorderSpacing.Bottom = 10 TabOrder = 0 Value = 100 end @@ -1244,30 +1222,30 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideTop.Side = asrBottom AnchorSideRight.Control = gbStaticsProbability AnchorSideRight.Side = asrBottom - Left = 241 + Left = 301 Height = 108 - Top = 90 + Top = 112 Width = 147 Anchors = [akTop, akLeft, akRight] AutoSize = True - BorderSpacing.Top = 4 + BorderSpacing.Top = 5 Caption = 'Расположение по оси Z' - ClientHeight = 90 - ClientWidth = 143 + ClientHeight = 84 + ClientWidth = 145 TabOrder = 2 object rbPlaceStaticsOnTerrain: TRadioButton AnchorSideLeft.Control = gbStaticsPlacement AnchorSideTop.Control = gbStaticsPlacement AnchorSideRight.Control = gbStaticsPlacement AnchorSideRight.Side = asrBottom - Left = 4 + Left = 5 Height = 19 - Top = 4 + Top = 5 Width = 135 Anchors = [akTop, akLeft, akRight] - BorderSpacing.Left = 4 - BorderSpacing.Top = 4 - BorderSpacing.Right = 4 + BorderSpacing.Left = 5 + BorderSpacing.Top = 5 + BorderSpacing.Right = 5 Caption = 'Размещать на рельефе' Checked = True TabOrder = 0 @@ -1279,9 +1257,9 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideTop.Side = asrBottom AnchorSideRight.Control = rbPlaceStaticsOnTerrain AnchorSideRight.Side = asrBottom - Left = 4 + Left = 5 Height = 19 - Top = 23 + Top = 29 Width = 135 Anchors = [akTop, akLeft, akRight] Caption = 'Размещать на верху' @@ -1293,9 +1271,9 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideTop.Side = asrBottom AnchorSideRight.Control = rbPlaceStaticsOnTop AnchorSideRight.Side = asrBottom - Left = 4 + Left = 5 Height = 19 - Top = 42 + Top = 52 Width = 135 Anchors = [akTop, akLeft, akRight] Caption = 'Размещать на высоте:' @@ -1305,12 +1283,12 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Control = rbPlaceStaticsOnZ AnchorSideTop.Control = rbPlaceStaticsOnZ AnchorSideTop.Side = asrBottom - Left = 26 + Left = 32 Height = 21 - Top = 61 - Width = 50 - BorderSpacing.Left = 22 - BorderSpacing.Bottom = 8 + Top = 76 + Width = 62 + BorderSpacing.Left = 28 + BorderSpacing.Bottom = 10 TabOrder = 3 end end @@ -1321,13 +1299,13 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = Owner AnchorSideBottom.Side = asrBottom - Left = 536 - Height = 25 - Top = 357 - Width = 76 + Left = 517 + Height = 31 + Top = 351 + Width = 95 Anchors = [akRight, akBottom] - BorderSpacing.Around = 8 - BorderSpacing.InnerBorder = 4 + BorderSpacing.Around = 10 + BorderSpacing.InnerBorder = 5 Caption = 'Закрыть' OnClick = btnCloseClick TabOrder = 1 @@ -1336,34 +1314,35 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideRight.Control = btnClose AnchorSideBottom.Control = btnClose AnchorSideBottom.Side = asrBottom - Left = 452 - Height = 25 - Top = 357 - Width = 76 + Left = 433 + Height = 31 + Top = 351 + Width = 95 Anchors = [akRight, akBottom] - BorderSpacing.InnerBorder = 4 + BorderSpacing.InnerBorder = 5 Caption = 'Выполнить' OnClick = btnExecuteClick TabOrder = 2 end - object vstArea: TVirtualStringTree + object vstArea: TLazVirtualStringTree AnchorSideLeft.Control = Label1 AnchorSideTop.Control = Label1 AnchorSideTop.Side = asrBottom AnchorSideRight.Control = Label1 AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = btnDeleteArea - Left = 4 + Left = 5 Height = 118 - Top = 154 + Top = 192 Width = 144 Anchors = [akTop, akLeft, akRight, akBottom] - BorderSpacing.Bottom = 4 + BorderSpacing.Bottom = 5 Color = 16052980 DefaultText = 'Node' Header.AutoSizeIndex = 0 Header.Columns = <> - Header.DefaultHeight = 17 + Header.DefaultHeight = 21 + Header.Height = 29 Header.MainColumn = -1 Header.Options = [hoColumnResize, hoDrag] TabOrder = 3 @@ -1378,24 +1357,24 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideTop.Side = asrBottom AnchorSideRight.Control = vstActions AnchorSideRight.Side = asrBottom - Left = 4 + Left = 5 Height = 14 - Top = 140 + Top = 175 Width = 144 Anchors = [akTop, akLeft, akRight] - BorderSpacing.Left = 4 - BorderSpacing.Top = 4 - BorderSpacing.Right = 4 + BorderSpacing.Left = 5 + BorderSpacing.Top = 5 + BorderSpacing.Right = 5 Caption = 'Область:' ParentColor = False end - object vstActions: TVirtualStringTree + object vstActions: TLazVirtualStringTree AnchorSideLeft.Control = Owner AnchorSideTop.Control = Owner Left = 0 - Height = 136 + Height = 170 Top = 0 - Width = 152 + Width = 190 Color = 16052980 DefaultText = 'Node' Header.AutoSizeIndex = 0 @@ -1403,9 +1382,10 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand item Position = 0 Text = 'Действия' - Width = 148 + Width = 190 end> - Header.DefaultHeight = 17 + Header.DefaultHeight = 21 + Header.Height = 36 Header.Options = [hoAutoResize, hoVisible] Header.ParentFont = True Header.Style = hsFlatButtons @@ -1421,11 +1401,11 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand object btnAddArea: TSpeedButton AnchorSideTop.Control = btnDeleteArea AnchorSideRight.Control = btnDeleteArea - Left = 39 - Height = 22 + Left = 33 + Height = 28 Hint = 'Добавить область' - Top = 276 - Width = 22 + Top = 345 + Width = 28 Anchors = [akTop, akRight] Glyph.Data = { 36040000424D3604000000000000360000002800000010000000100000000100 @@ -1463,7 +1443,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 } - NumGlyphs = 0 OnClick = btnAddAreaClick ShowHint = True ParentShowHint = False @@ -1473,14 +1452,14 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Side = asrCenter AnchorSideTop.Control = vstArea AnchorSideBottom.Control = seX1 - Left = 65 - Height = 22 + Left = 81 + Height = 28 Hint = 'Удалить область' - Top = 276 - Width = 22 + Top = 270 + Width = 28 Anchors = [akLeft, akBottom] - BorderSpacing.Bottom = 4 - BorderSpacing.Around = 4 + BorderSpacing.Bottom = 5 + BorderSpacing.Around = 5 Glyph.Data = { 36040000424D3604000000000000360000002800000010000000100000000100 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF @@ -1517,7 +1496,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 } - NumGlyphs = 0 OnClick = btnDeleteAreaClick ShowHint = True ParentShowHint = False @@ -1526,11 +1504,11 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Control = btnDeleteArea AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = btnDeleteArea - Left = 91 - Height = 22 + Left = 114 + Height = 28 Hint = 'Удалить все области' - Top = 276 - Width = 22 + Top = 345 + Width = 28 Glyph.Data = { 36040000424D3604000000000000360000002800000010000000100000000100 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF @@ -1567,7 +1545,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 } - NumGlyphs = 0 OnClick = btnClearAreaClick ShowHint = True ParentShowHint = False @@ -1576,9 +1553,9 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Control = lblY AnchorSideTop.Control = seX1 AnchorSideTop.Side = asrCenter - Left = 4 + Left = 5 Height = 14 - Top = 309 + Top = 386 Width = 7 Caption = 'X' Enabled = False @@ -1587,12 +1564,12 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand object seX1: TSpinEdit AnchorSideLeft.Control = seY1 AnchorSideBottom.Control = seY1 - Left = 18 + Left = 22 Height = 21 Top = 306 - Width = 50 + Width = 62 Anchors = [akLeft, akBottom] - BorderSpacing.Bottom = 8 + BorderSpacing.Bottom = 10 Color = 16052980 Enabled = False OnChange = seX1Change @@ -1603,11 +1580,11 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Control = seX1 AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = seX1 - Left = 76 + Left = 95 Height = 21 - Top = 306 - Width = 50 - BorderSpacing.Left = 8 + Top = 382 + Width = 62 + BorderSpacing.Left = 10 Color = 16052980 Enabled = False OnChange = seX1Change @@ -1618,11 +1595,11 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Control = Owner AnchorSideTop.Control = seY1 AnchorSideTop.Side = asrCenter - Left = 4 + Left = 5 Height = 14 - Top = 338 + Top = 422 Width = 6 - BorderSpacing.Left = 4 + BorderSpacing.Left = 5 Caption = 'Y' Enabled = False ParentColor = False @@ -1631,13 +1608,13 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Control = lblY AnchorSideLeft.Side = asrBottom AnchorSideBottom.Control = btnGrab1 - Left = 18 + Left = 22 Height = 21 Top = 335 - Width = 50 + Width = 62 Anchors = [akLeft, akBottom] - BorderSpacing.Left = 8 - BorderSpacing.Bottom = 4 + BorderSpacing.Left = 10 + BorderSpacing.Bottom = 5 Color = 16052980 Enabled = False OnChange = seX1Change @@ -1647,10 +1624,10 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand object seY2: TSpinEdit AnchorSideLeft.Control = seX2 AnchorSideTop.Control = seY1 - Left = 76 + Left = 95 Height = 21 - Top = 335 - Width = 50 + Top = 419 + Width = 62 Color = 16052980 Enabled = False OnChange = seX1Change @@ -1662,13 +1639,13 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Side = asrCenter AnchorSideBottom.Control = Owner AnchorSideBottom.Side = asrBottom - Left = 32 - Height = 22 + Left = 40 + Height = 28 Hint = 'Выбрать тайл в главном окне и взять его координаты.' - Top = 360 - Width = 22 + Top = 354 + Width = 28 Anchors = [akLeft, akBottom] - BorderSpacing.Bottom = 8 + BorderSpacing.Bottom = 10 Enabled = False Glyph.Data = { 36040000424D3604000000000000360000002800000010000000100000000100 @@ -1706,7 +1683,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand FF00FFFFFF00FFFFFF00CBCBCB7EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 } - NumGlyphs = 0 OnClick = btnGrab1Click ShowHint = True ParentShowHint = False @@ -1716,11 +1692,11 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand AnchorSideLeft.Side = asrCenter AnchorSideBottom.Control = btnGrab1 AnchorSideBottom.Side = asrBottom - Left = 90 - Height = 22 + Left = 112 + Height = 28 Hint = 'Выбрать тайл в главном окне и взять его координаты.' - Top = 360 - Width = 22 + Top = 354 + Width = 28 Anchors = [akLeft, akBottom] Enabled = False Glyph.Data = { @@ -1759,14 +1735,13 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand FF00FFFFFF00FFFFFF00CBCBCB7EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 } - NumGlyphs = 0 OnClick = btnGrab1Click ShowHint = True ParentShowHint = False end object pmSelectOffset: TPopupMenu - left = 536 - top = 264 + Left = 670 + Top = 330 object mnuSelectTopLeft: TMenuItem Caption = 'Выбрать Верхний Левый Угол' OnClick = mnuSelectTopLeftClick diff --git a/Client/UfrmLargeScaleCommand.pas b/Client/UfrmLargeScaleCommand.pas index 6805bc3..64fc8aa 100644 --- a/Client/UfrmLargeScaleCommand.pas +++ b/Client/UfrmLargeScaleCommand.pas @@ -31,7 +31,7 @@ interface uses Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Math, - VirtualTrees, VirtualList, ExtCtrls, ImagingComponents, StdCtrls, Buttons, Spin, + laz.VirtualTrees, VirtualList, ExtCtrls, ImagingComponents, StdCtrls, Buttons, Spin, LCLIntf, Menus, UPlatformTypes, UEnhancedMemoryStream, UWorldItem; type @@ -112,14 +112,14 @@ type btnGrab1: TSpeedButton; btnGrab2: TSpeedButton; btnGrabOffset: TSpeedButton; - vdtTerrainTiles: TVirtualDrawTree; + vdtTerrainTiles: TLazVirtualDrawTree; vdlTerrainTiles: TVirtualList; - vdtInsertStaticsTiles: TVirtualDrawTree; + vdtInsertStaticsTiles: TLazVirtualDrawTree; vdlInsertStaticsTiles: TVirtualList; - vdtDeleteStaticsTiles: TVirtualDrawTree; + vdtDeleteStaticsTiles: TLazVirtualDrawTree; vdlDeleteStaticsTiles: TVirtualList; - vstActions: TVirtualStringTree; - vstArea: TVirtualStringTree; + vstActions: TLazVirtualStringTree; + vstArea: TLazVirtualStringTree; procedure btnGrab1Click(Sender: TObject); procedure btnGrabOffsetClick(Sender: TObject); procedure FormShow(Sender: TObject); @@ -612,7 +612,7 @@ procedure TfrmLargeScaleCommand.vdtTerrainTilesDragOver(Sender: TBaseVirtualTree Source: TObject; Shift: TShiftState; State: TDragState; Pt: TPoint; Mode: TDropMode; var Effect: Integer; var Accept: Boolean); begin - if (Source <> Sender) and (Source is TVirtualDrawTree) then + if (Source <> Sender) and (Source is TLazVirtualDrawTree) then begin Accept := True; end; diff --git a/Client/UfrmMain.lfm b/Client/UfrmMain.lfm index b7a77b0..46b30a9 100644 --- a/Client/UfrmMain.lfm +++ b/Client/UfrmMain.lfm @@ -35,7 +35,7 @@ object frmMain: TfrmMain Caption = ' Тайлы ' ClientHeight = 632 ClientWidth = 220 - object vdtTiles: TVirtualDrawTree + object vdtTiles: TLazVirtualDrawTree Tag = -1 AnchorSideLeft.Control = tsTiles AnchorSideTop.Control = spGroupList @@ -497,7 +497,7 @@ object frmMain: TfrmMain ParentBidiMode = False ParentShowHint = False end - object vdtRandom: TVirtualDrawTree + object vdtRandom: TLazVirtualDrawTree Tag = -1 AnchorSideLeft.Control = gbRandom AnchorSideTop.Control = btnAddRandom @@ -733,7 +733,7 @@ object frmMain: TfrmMain TabOrder = 2 Visible = False end - object tvGroups: TVirtualStringTree + object tvGroups: TLazVirtualStringTree AnchorSideLeft.Control = tsTiles AnchorSideTop.Control = cbStatics AnchorSideTop.Side = asrBottom @@ -1051,7 +1051,7 @@ object frmMain: TfrmMain ParentShowHint = False end end - object vstLocations: TVirtualStringTree + object vstLocations: TLazVirtualStringTree AnchorSideLeft.Control = tsNavigation AnchorSideTop.Control = spGroupList1 AnchorSideTop.Side = asrBottom @@ -1138,7 +1138,7 @@ object frmMain: TfrmMain OnMoved = spGroupListMoved ResizeAnchor = akTop end - object vstClients: TVirtualStringTree + object vstClients: TLazVirtualStringTree AnchorSideLeft.Control = vstLocations AnchorSideTop.Control = pbRadar AnchorSideTop.Side = asrBottom @@ -1914,7 +1914,7 @@ object frmMain: TfrmMain ClientWidth = 758 TabOrder = 3 Visible = False - object vstChat: TVirtualStringTree + object vstChat: TLazVirtualStringTree Cursor = 63 Left = 0 Height = 121 diff --git a/Client/UfrmMain.pas b/Client/UfrmMain.pas index 6b61367..2ea34ce 100644 --- a/Client/UfrmMain.pas +++ b/Client/UfrmMain.pas @@ -32,7 +32,7 @@ interface uses Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Menus, ComCtrls, OpenGLContext, GL, GLu, UGameResources, ULandscape, ExtCtrls, - StdCtrls, Spin, UEnums, VirtualTrees, VirtualList, Buttons, math, UMulBlock, + StdCtrls, Spin, UEnums, laz.VirtualTrees, VirtualList, Buttons, math, UMulBlock, UWorldItem, LCLIntf, UOverlayUI, UStatics, UEnhancedMemoryStream, ActnList, XMLPropStorage, LazHelpHTML, fgl, ImagingClasses, dateutils, UPlatformTypes, UMap, UPacket, UGLFont, DOM, XMLRead, XMLWrite, strutils, ULightManager, @@ -440,13 +440,13 @@ type tbTerrain: TToolButton; tbStatics: TToolButton; tsTiles: TTabSheet; - tvGroups: TVirtualStringTree; + tvGroups: TLazVirtualStringTree; vdtTiles: TVirtualList; - vdtRandom: TVirtualDrawTree; + vdtRandom: TLazVirtualDrawTree; vdlRandom: TVirtualList; - vstChat: TVirtualStringTree; - vstLocations: TVirtualStringTree; - vstClients: TVirtualStringTree; + vstChat: TLazVirtualStringTree; + vstLocations: TLazVirtualStringTree; + vstClients: TLazVirtualStringTree; XMLPropStorage1: TXMLPropStorage; procedure acBoundariesExecute(Sender: TObject); procedure acDeleteExecute(Sender: TObject); @@ -1595,7 +1595,7 @@ var begin Logger.EnterMethod([lcLandscape, lcDebug], 'TfrmMain.FormCreate(Sender: TObject)'); - // Подменяем TVirtualDrawTree на его перегруженный аналог TVirtualList + // Подменяем TLazVirtualDrawTree на его перегруженный аналог TVirtualList vdtTiles := TVirtualList.Create(vdtTiles); vdtRandom := TVirtualList.Create(vdtRandom); vdlRandom := TVirtualList(vdtRandom); // Лазареусу пчмуто не нравиться если поменять тип у vdtRandom @@ -2719,10 +2719,10 @@ var procedure UpdateHeight(TVList: TVirtualList; height: integer); var - TVTree: TVirtualDrawTree; + TVTree: TLazVirtualDrawTree; node: PVirtualNode; begin - TVTree := TVirtualDrawTree(TVList); + TVTree := TLazVirtualDrawTree(TVList); TVList.BeginUpdate; TVList.DefaultNodeHeight := TVList.DefaultNodeHeight + height; node := TVTree.GetFirst(); diff --git a/Client/UfrmRegionControl.lfm b/Client/UfrmRegionControl.lfm index b77b636..230c032 100644 --- a/Client/UfrmRegionControl.lfm +++ b/Client/UfrmRegionControl.lfm @@ -1,14 +1,15 @@ object frmRegionControl: TfrmRegionControl Left = 1069 - Height = 390 + Height = 488 Top = 110 - Width = 620 + Width = 775 Caption = 'Управление Регионами' - ClientHeight = 390 - ClientWidth = 620 - Constraints.MinHeight = 390 - Constraints.MinWidth = 620 - Font.Height = -11 + ClientHeight = 488 + ClientWidth = 775 + Constraints.MinHeight = 488 + Constraints.MinWidth = 775 + DesignTimePPI = 120 + Font.Height = -14 OnClose = FormClose OnCreate = FormCreate OnDestroy = FormDestroy @@ -16,7 +17,7 @@ object frmRegionControl: TfrmRegionControl OnShow = FormShow Position = poOwnerFormCenter ShowInTaskBar = stAlways - LCLVersion = '0.9.30.2' + LCLVersion = '2.2.2.0' object sbArea: TScrollBox AnchorSideLeft.Control = vstRegions AnchorSideLeft.Side = asrBottom @@ -24,7 +25,7 @@ object frmRegionControl: TfrmRegionControl AnchorSideRight.Control = Owner AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = btnClose - Left = 160 + Left = 200 Height = 349 Top = 0 Width = 460 @@ -34,9 +35,9 @@ object frmRegionControl: TfrmRegionControl TabOrder = 0 object pbArea: TPaintBox Left = 0 - Height = 105 + Height = 131 Top = 0 - Width = 105 + Width = 131 OnMouseDown = pbAreaMouseDown OnMouseMove = pbAreaMouseMove OnPaint = pbAreaPaint @@ -47,12 +48,12 @@ object frmRegionControl: TfrmRegionControl AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = Owner AnchorSideBottom.Side = asrBottom - Left = 548 - Height = 25 - Top = 357 - Width = 64 + Left = 532 + Height = 31 + Top = 351 + Width = 80 Anchors = [akRight, akBottom] - BorderSpacing.Around = 8 + BorderSpacing.Around = 10 Caption = 'Закрыть' OnClick = btnCloseClick TabOrder = 1 @@ -61,25 +62,25 @@ object frmRegionControl: TfrmRegionControl AnchorSideRight.Control = btnClose AnchorSideBottom.Control = btnClose AnchorSideBottom.Side = asrBottom - Left = 476 - Height = 25 - Top = 357 - Width = 64 + Left = 460 + Height = 31 + Top = 351 + Width = 80 Anchors = [akRight, akBottom] - BorderSpacing.Right = 4 + BorderSpacing.Right = 5 Caption = 'Сохранить' Enabled = False OnClick = btnSaveClick TabOrder = 2 end - object vstRegions: TVirtualStringTree + object vstRegions: TLazVirtualStringTree AnchorSideLeft.Control = Owner AnchorSideTop.Control = Owner AnchorSideBottom.Control = btnAddRegion Left = 0 Height = 130 Top = 0 - Width = 160 + Width = 200 Anchors = [akTop, akLeft, akBottom] DefaultText = 'Node' Header.AutoSizeIndex = 0 @@ -87,9 +88,10 @@ object frmRegionControl: TfrmRegionControl item Position = 0 Text = 'Регионы' - Width = 156 + Width = 200 end> - Header.DefaultHeight = 17 + Header.DefaultHeight = 21 + Header.Height = 36 Header.Options = [hoAutoResize, hoVisible] Header.ParentFont = True Header.Style = hsFlatButtons @@ -105,13 +107,13 @@ object frmRegionControl: TfrmRegionControl object btnAddRegion: TSpeedButton AnchorSideLeft.Control = vstRegions AnchorSideBottom.Control = spRegionsArea - Left = 4 - Height = 22 + Left = 5 + Height = 28 Hint = 'Добавить регион' - Top = 134 - Width = 22 + Top = 128 + Width = 28 Anchors = [akLeft, akBottom] - BorderSpacing.Around = 4 + BorderSpacing.Around = 5 Glyph.Data = { 36040000424D3604000000000000360000002800000010000000100000000100 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF @@ -148,7 +150,6 @@ object frmRegionControl: TfrmRegionControl FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 } - NumGlyphs = 0 OnClick = mnuAddRegionClick ShowHint = True ParentShowHint = False @@ -158,13 +159,13 @@ object frmRegionControl: TfrmRegionControl AnchorSideLeft.Side = asrBottom AnchorSideBottom.Control = btnAddRegion AnchorSideBottom.Side = asrBottom - Left = 30 - Height = 22 + Left = 38 + Height = 28 Hint = 'Удалить регион' - Top = 134 - Width = 22 + Top = 128 + Width = 28 Anchors = [akLeft, akBottom] - BorderSpacing.Left = 4 + BorderSpacing.Left = 5 Enabled = False Glyph.Data = { 36040000424D3604000000000000360000002800000010000000100000000100 @@ -202,30 +203,30 @@ object frmRegionControl: TfrmRegionControl FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 } - NumGlyphs = 0 OnClick = mnuDeleteRegionClick ShowHint = True ParentShowHint = False end - object vstArea: TVirtualStringTree + object vstArea: TLazVirtualStringTree AnchorSideLeft.Control = spRegionsArea AnchorSideTop.Control = Label1 AnchorSideTop.Side = asrBottom AnchorSideRight.Control = spRegionsArea AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = btnDeleteArea - Left = 4 + Left = 5 Height = 97 - Top = 179 + Top = 224 Width = 152 Anchors = [akTop, akLeft, akRight, akBottom] - BorderSpacing.Left = 4 - BorderSpacing.Right = 4 - BorderSpacing.Bottom = 4 + BorderSpacing.Left = 5 + BorderSpacing.Right = 5 + BorderSpacing.Bottom = 5 DefaultText = 'Node' Header.AutoSizeIndex = 0 Header.Columns = <> - Header.DefaultHeight = 17 + Header.DefaultHeight = 21 + Header.Height = 29 Header.MainColumn = -1 Header.Options = [hoColumnResize, hoDrag] TabOrder = 4 @@ -240,13 +241,13 @@ object frmRegionControl: TfrmRegionControl AnchorSideTop.Side = asrBottom AnchorSideRight.Control = spRegionsArea AnchorSideRight.Side = asrBottom - Left = 4 + Left = 5 Height = 14 - Top = 165 + Top = 206 Width = 152 Anchors = [akTop, akLeft, akRight] - BorderSpacing.Left = 4 - BorderSpacing.Right = 4 + BorderSpacing.Left = 5 + BorderSpacing.Right = 5 Caption = 'Область:' ParentColor = False end @@ -256,8 +257,8 @@ object frmRegionControl: TfrmRegionControl AnchorSideRight.Side = asrBottom Cursor = crVSplit Left = 0 - Height = 5 - Top = 160 + Height = 6 + Top = 200 Width = 160 Align = alNone Anchors = [akTop, akLeft, akRight] @@ -267,11 +268,11 @@ object frmRegionControl: TfrmRegionControl object btnAddArea: TSpeedButton AnchorSideTop.Control = btnDeleteArea AnchorSideRight.Control = btnDeleteArea - Left = 43 - Height = 22 + Left = 37 + Height = 28 Hint = 'Добавить область' - Top = 280 - Width = 22 + Top = 350 + Width = 28 Anchors = [akTop, akRight] Enabled = False Glyph.Data = { @@ -310,7 +311,6 @@ object frmRegionControl: TfrmRegionControl FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 } - NumGlyphs = 0 OnClick = btnAddAreaClick ShowHint = True ParentShowHint = False @@ -319,14 +319,14 @@ object frmRegionControl: TfrmRegionControl AnchorSideLeft.Control = vstArea AnchorSideLeft.Side = asrCenter AnchorSideBottom.Control = seX1 - Left = 69 - Height = 22 + Left = 86 + Height = 28 Hint = 'Удалить область' - Top = 280 - Width = 22 + Top = 274 + Width = 28 Anchors = [akLeft, akBottom] - BorderSpacing.Bottom = 4 - BorderSpacing.Around = 4 + BorderSpacing.Bottom = 5 + BorderSpacing.Around = 5 Enabled = False Glyph.Data = { 36040000424D3604000000000000360000002800000010000000100000000100 @@ -364,7 +364,6 @@ object frmRegionControl: TfrmRegionControl FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 } - NumGlyphs = 0 OnClick = btnDeleteAreaClick ShowHint = True ParentShowHint = False @@ -373,11 +372,11 @@ object frmRegionControl: TfrmRegionControl AnchorSideLeft.Control = btnDeleteArea AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = btnDeleteArea - Left = 95 - Height = 22 + Left = 119 + Height = 28 Hint = 'Удалить все области' - Top = 280 - Width = 22 + Top = 350 + Width = 28 Enabled = False Glyph.Data = { 36040000424D3604000000000000360000002800000010000000100000000100 @@ -415,7 +414,6 @@ object frmRegionControl: TfrmRegionControl FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 } - NumGlyphs = 0 OnClick = btnClearAreaClick ShowHint = True ParentShowHint = False @@ -424,12 +422,12 @@ object frmRegionControl: TfrmRegionControl AnchorSideLeft.Control = Owner AnchorSideTop.Control = seX1 AnchorSideTop.Side = asrCenter - Left = 4 - Height = 14 - Top = 313 - Width = 7 + Left = 5 + Height = 18 + Top = 391 + Width = 9 AutoSize = False - BorderSpacing.Left = 4 + BorderSpacing.Left = 5 Caption = 'X' Enabled = False ParentColor = False @@ -437,13 +435,13 @@ object frmRegionControl: TfrmRegionControl object seX1: TSpinEdit AnchorSideLeft.Control = seY1 AnchorSideBottom.Control = seY1 - Left = 18 - Height = 21 - Top = 310 - Width = 50 + Left = 22 + Height = 26 + Top = 305 + Width = 62 Anchors = [akLeft, akBottom] AutoSize = False - BorderSpacing.Bottom = 8 + BorderSpacing.Bottom = 10 Enabled = False OnChange = seX1Change TabOrder = 6 @@ -453,12 +451,12 @@ object frmRegionControl: TfrmRegionControl AnchorSideLeft.Control = seX1 AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = seX1 - Left = 76 - Height = 21 - Top = 310 - Width = 50 + Left = 95 + Height = 26 + Top = 388 + Width = 62 AutoSize = False - BorderSpacing.Left = 8 + BorderSpacing.Left = 10 Enabled = False OnChange = seX1Change TabOrder = 7 @@ -468,10 +466,10 @@ object frmRegionControl: TfrmRegionControl AnchorSideLeft.Control = lblX AnchorSideTop.Control = seY1 AnchorSideTop.Side = asrCenter - Left = 4 - Height = 14 - Top = 342 - Width = 6 + Left = 5 + Height = 18 + Top = 428 + Width = 8 AutoSize = False Caption = 'Y' Enabled = False @@ -483,13 +481,13 @@ object frmRegionControl: TfrmRegionControl AnchorSideRight.Control = seX1 AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = btnGrab1 - Left = 18 - Height = 21 - Top = 339 - Width = 50 + Left = 22 + Height = 26 + Top = 334 + Width = 62 Anchors = [akLeft, akBottom] AutoSize = False - BorderSpacing.Left = 8 + BorderSpacing.Left = 10 Enabled = False OnChange = seX1Change TabOrder = 8 @@ -501,13 +499,13 @@ object frmRegionControl: TfrmRegionControl AnchorSideTop.Side = asrBottom AnchorSideRight.Control = seX2 AnchorSideRight.Side = asrBottom - Left = 76 - Height = 21 - Top = 339 + Left = 95 + Height = 26 + Top = 424 Width = 50 Anchors = [akTop, akLeft, akRight] AutoSize = False - BorderSpacing.Top = 8 + BorderSpacing.Top = 10 Enabled = False OnChange = seX1Change TabOrder = 9 @@ -518,13 +516,13 @@ object frmRegionControl: TfrmRegionControl AnchorSideLeft.Side = asrCenter AnchorSideBottom.Control = Owner AnchorSideBottom.Side = asrBottom - Left = 32 - Height = 22 + Left = 40 + Height = 28 Hint = 'Выбрать тайл в главном окне и взять его координаты.' - Top = 364 - Width = 22 + Top = 358 + Width = 28 Anchors = [akLeft, akBottom] - BorderSpacing.Around = 4 + BorderSpacing.Around = 5 Enabled = False Glyph.Data = { 36040000424D3604000000000000360000002800000010000000100000000100 @@ -562,7 +560,6 @@ object frmRegionControl: TfrmRegionControl FF00FFFFFF00FFFFFF00CBCBCB7EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 } - NumGlyphs = 0 OnClick = btnGrab1Click ShowHint = True ParentShowHint = False @@ -572,11 +569,11 @@ object frmRegionControl: TfrmRegionControl AnchorSideLeft.Side = asrCenter AnchorSideBottom.Control = btnGrab1 AnchorSideBottom.Side = asrBottom - Left = 90 - Height = 22 + Left = 112 + Height = 28 Hint = 'Выбрать тайл в главном окне и взять его координаты.' - Top = 364 - Width = 22 + Top = 358 + Width = 28 Anchors = [akLeft, akBottom] Enabled = False Glyph.Data = { @@ -615,14 +612,13 @@ object frmRegionControl: TfrmRegionControl FF00FFFFFF00FFFFFF00CBCBCB7EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 } - NumGlyphs = 0 OnClick = btnGrab1Click ShowHint = True ParentShowHint = False end object pmRegions: TPopupMenu - left = 48 - top = 43 + Left = 60 + Top = 54 object mnuAddRegion: TMenuItem Caption = 'Добавить' OnClick = mnuAddRegionClick diff --git a/Client/UfrmRegionControl.pas b/Client/UfrmRegionControl.pas index f6969b3..b07d9e8 100644 --- a/Client/UfrmRegionControl.pas +++ b/Client/UfrmRegionControl.pas @@ -31,7 +31,7 @@ interface uses Classes, SysUtils, math, LResources, Forms, Controls, Graphics, Dialogs, - VirtualTrees, ExtCtrls, ImagingComponents, StdCtrls, Buttons, Spin, LCLIntf, + laz.VirtualTrees, ExtCtrls, ImagingComponents, StdCtrls, Buttons, Spin, LCLIntf, UEnhancedMemoryStream, Menus, URectList, UEnums, UWorldItem; type @@ -73,8 +73,8 @@ type btnGrab1: TSpeedButton; btnGrab2: TSpeedButton; spRegionsArea: TSplitter; - vstArea: TVirtualStringTree; - vstRegions: TVirtualStringTree; + vstArea: TLazVirtualStringTree; + vstRegions: TLazVirtualStringTree; procedure btnGrab1Click(Sender: TObject); procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); procedure FormResize(Sender: TObject); diff --git a/Client/UndoRedoCmd.pas b/Client/UndoRedoCmd.pas index 898b506..f49cac9 100644 --- a/Client/UndoRedoCmd.pas +++ b/Client/UndoRedoCmd.pas @@ -2,7 +2,7 @@ unit UndoRedoCmd; interface uses - Classes, SysUtils, VirtualTrees; + Classes, SysUtils, laz.VirtualTrees; type IUndoRedoCommand = interface (IUnknown)