- Added UfrmToolWindow

- Changed the tool windows to inherit from TfrmToolWindow
- Added a "close timer" to TfrmToolWindow to handle different focus behaviours of window managers
- Moved position changes for the tool windows to the appropriate TfrmToolWindow.FormShow event
This commit is contained in:
Andreas Schneider 2009-09-02 03:21:39 +02:00
parent d769c7ddc3
commit b9ef61c0db
21 changed files with 1687 additions and 1700 deletions

View File

@ -18,7 +18,7 @@
<AutoIncrementBuild Value="True"/>
<CurrentMajorRevNr Value="4"/>
<CurrentMinorRevNr Value="2"/>
<CurrentBuildNr Value="87"/>
<CurrentBuildNr Value="123"/>
<ProjectVersion Value="0.4.2.85"/>
<CompanyName Value="AKS DataBasis"/>
<FileDescription Value="UO CentrED"/>
@ -54,7 +54,7 @@
<MinVersion Major="4" Minor="5" Release="1" Valid="True"/>
</Item4>
</RequiredPackages>
<Units Count="29">
<Units Count="30">
<Unit0>
<Filename Value="CentrED.lpr"/>
<IsPartOfProject Value="True"/>
@ -239,6 +239,13 @@
<IsPartOfProject Value="True"/>
<UnitName Value="UAdminHandling"/>
</Unit28>
<Unit29>
<Filename Value="Tools/UfrmToolWindow.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="frmToolWindow"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="UfrmToolWindow"/>
</Unit29>
</Units>
</ProjectOptions>
<CompilerOptions>
@ -268,11 +275,6 @@
<Debugging>
<GenerateDebugInfo Value="True"/>
</Debugging>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CustomOptions Value="-FE../bin/ "/>

View File

@ -32,14 +32,14 @@ uses
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, LResources, lnetvisual, LazOpenGLContext,
UdmNetwork, UfrmMain, UfrmLogin, UfrmInitialize, UfrmAccountControl,
virtualtreeview_package, UfrmEditAccount, UfrmDrawSettings, UfrmBoundaries,
UfrmElevateSettings, UOverlayUI, UResourceManager, UfrmConfirmation,
UfrmMoveSettings, UfrmAbout, UfrmHueSettings, UfrmRadar,
UfrmLargeScaleCommand, UfrmVirtualLayer, UfrmFilter, UfrmTileInfo,
UGUIPlatformUtils, UPlatformTypes, UfrmRegionControl, UPackets,
UPacketHandlers, UAdminHandling, UGameResources, ULandscape;
Forms, LResources, lnetvisual, LazOpenGLContext, UdmNetwork, UfrmMain,
UfrmLogin, UfrmInitialize, UfrmAccountControl, virtualtreeview_package,
UfrmEditAccount, UfrmDrawSettings, UfrmBoundaries, UfrmElevateSettings,
UOverlayUI, UResourceManager, UfrmConfirmation, UfrmMoveSettings, UfrmAbout,
UfrmHueSettings, UfrmRadar, UfrmLargeScaleCommand, UfrmVirtualLayer,
UfrmFilter, UfrmTileInfo, UGUIPlatformUtils, UPlatformTypes,
UfrmRegionControl, UPackets, UPacketHandlers, UAdminHandling, UGameResources,
ULandscape, UfrmToolWindow;
{$IFDEF WINDOWS}{$R CentrED.rc}{$ENDIF}

View File

@ -1,5 +1,5 @@
1 VERSIONINFO
FILEVERSION 0,4,2,87
FILEVERSION 0,4,2,123
PRODUCTVERSION 0,4,2,85
{
BLOCK "StringFileInfo"
@ -9,7 +9,7 @@ PRODUCTVERSION 0,4,2,85
VALUE "Comments", "\000"
VALUE "CompanyName", "AKS DataBasis\000"
VALUE "FileDescription", "UO CentrED\000"
VALUE "FileVersion", "0.4.2.87\000"
VALUE "FileVersion", "0.4.2.123\000"
VALUE "InternalName", "\000"
VALUE "LegalCopyright", "Andreas Schneider\000"
VALUE "LegalTrademarks", "\000"

View File

@ -1,114 +1,109 @@
object frmBoundaries: TfrmBoundaries
inherited frmBoundaries: TfrmBoundaries
Left = 290
Height = 154
Height = 164
Top = 171
Width = 212
ActiveControl = Panel1
BorderIcons = []
BorderStyle = bsToolWindow
Width = 205
Caption = 'Boundaries'
ClientHeight = 154
ClientWidth = 212
Font.Height = -11
OnClose = FormClose
OnDeactivate = FormDeactivate
LCLVersion = '0.9.27'
object tbMinZ: TTrackBar
ClientHeight = 164
ClientWidth = 205
object lblMaxZ: TLabel[0]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = seMaxZ
AnchorSideTop.Side = asrCenter
Left = 8
Height = 16
Top = 89
Width = 68
BorderSpacing.Left = 8
Caption = 'Maximum Z:'
Layout = tlCenter
ParentColor = False
end
object lblMinZ: TLabel[1]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = seMinZ
AnchorSideTop.Side = asrCenter
Left = 8
Height = 16
Top = 12
Width = 67
BorderSpacing.Left = 8
Caption = 'Minimum Z:'
Layout = tlCenter
ParentColor = False
end
object tbMinZ: TTrackBar[2]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = seMinZ
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 8
Height = 36
Top = 39
Width = 196
Top = 41
Width = 189
Frequency = 10
Max = 127
Min = -128
OnChange = tbMinZChange
PageSize = 1
Position = -128
Align = alTop
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 8
TabOrder = 0
end
object tbMaxZ: TTrackBar
object tbMaxZ: TTrackBar[3]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = seMaxZ
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 8
Height = 36
Top = 114
Width = 196
Top = 118
Width = 189
Frequency = 10
Max = 127
Min = -128
OnChange = tbMaxZChange
PageSize = 1
Position = 127
Align = alTop
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 8
TabOrder = 1
end
object Panel1: TPanel
Left = 8
Height = 23
Top = 8
Width = 196
Align = alTop
BorderSpacing.Around = 8
BevelOuter = bvNone
ClientHeight = 23
ClientWidth = 196
object seMaxZ: TSpinEdit[4]
AnchorSideTop.Control = tbMinZ
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 149
Height = 25
Top = 85
Width = 48
Anchors = [akTop, akRight]
BorderSpacing.Right = 8
MaxValue = 127
MinValue = -128
OnChange = seMaxZChange
TabOrder = 2
object lblMinZ: TLabel
Left = 0
Height = 23
Top = 0
Width = 148
Align = alClient
Caption = 'Minimum Z:'
Layout = tlCenter
ParentColor = False
end
object seMinZ: TSpinEdit
Left = 148
Height = 23
Top = 0
Width = 48
Align = alRight
MaxValue = 127
MinValue = -128
OnChange = seMinZChange
TabOrder = 0
Value = -128
end
Value = 127
end
object Panel2: TPanel
Left = 8
Height = 23
Top = 83
Width = 196
Align = alTop
BorderSpacing.Around = 8
BevelOuter = bvNone
ClientHeight = 23
ClientWidth = 196
object seMinZ: TSpinEdit[5]
AnchorSideTop.Control = Owner
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 149
Height = 25
Top = 8
Width = 48
Anchors = [akTop, akRight]
BorderSpacing.Top = 8
BorderSpacing.Right = 8
MaxValue = 127
MinValue = -128
OnChange = seMinZChange
TabOrder = 3
object lblMaxZ: TLabel
Left = 0
Height = 23
Top = 0
Width = 148
Align = alClient
Caption = 'Maximum Z:'
Layout = tlCenter
ParentColor = False
end
object seMaxZ: TSpinEdit
Left = 148
Height = 23
Top = 0
Width = 48
Align = alRight
MaxValue = 127
MinValue = -128
OnChange = seMaxZChange
TabOrder = 0
Value = 127
end
Value = -128
end
end

View File

@ -30,30 +30,24 @@ unit UfrmBoundaries;
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, LMessages,
LCLIntf, StdCtrls, ComCtrls, Spin, ExtCtrls;
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
ComCtrls, Spin, ExtCtrls, UfrmToolWindow;
type
{ TfrmBoundaries }
TfrmBoundaries = class(TForm)
TfrmBoundaries = class(TfrmToolWindow)
lblMaxZ: TLabel;
lblMinZ: TLabel;
Panel1: TPanel;
Panel2: TPanel;
seMaxZ: TSpinEdit;
seMinZ: TSpinEdit;
tbMinZ: TTrackBar;
tbMaxZ: TTrackBar;
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormDeactivate(Sender: TObject);
procedure seMaxZChange(Sender: TObject);
procedure seMinZChange(Sender: TObject);
procedure tbMaxZChange(Sender: TObject);
procedure tbMinZChange(Sender: TObject);
protected
procedure MouseLeave(var msg: TLMessage); message CM_MouseLeave;
public
{ public declarations }
end;
@ -68,25 +62,16 @@ uses
{ TfrmBoundaries }
procedure TfrmBoundaries.FormClose(Sender: TObject;
var CloseAction: TCloseAction);
begin
CloseAction := caHide;
end;
procedure TfrmBoundaries.FormDeactivate(Sender: TObject);
begin
Close;
end;
procedure TfrmBoundaries.seMaxZChange(Sender: TObject);
begin
tbMaxZ.Position := seMaxZ.Value;
frmMain.InvalidateFilter;
end;
procedure TfrmBoundaries.seMinZChange(Sender: TObject);
begin
tbMinZ.Position := seMinZ.Value;
frmMain.InvalidateFilter;
end;
procedure TfrmBoundaries.tbMaxZChange(Sender: TObject);
@ -101,12 +86,6 @@ begin
frmMain.InvalidateFilter;
end;
procedure TfrmBoundaries.MouseLeave(var msg: TLMessage);
begin
if not PtInRect(ClientRect, ScreenToClient(Mouse.CursorPos)) then
Close;
end;
initialization
{$I UfrmBoundaries.lrs}

View File

@ -1,134 +1,120 @@
object frmDrawSettings: TfrmDrawSettings
Left = 268
Height = 181
Top = 165
Width = 243
ActiveControl = rbTileList
BorderIcons = []
BorderStyle = bsToolWindow
Caption = 'Draw settings'
ClientHeight = 181
ClientWidth = 243
Font.Height = -11
FormStyle = fsStayOnTop
OnClose = FormClose
OnDeactivate = FormDeactivate
OnShow = FormShow
LCLVersion = '0.9.25'
object rbTileList: TRadioButton
Left = 8
Height = 21
Top = 8
Width = 227
Align = alTop
BorderSpacing.Left = 8
BorderSpacing.Top = 8
BorderSpacing.Right = 8
BorderSpacing.Bottom = 4
Caption = 'Use tile from the list'
Checked = True
ParentFont = True
State = cbChecked
TabOrder = 0
UseOnChange = True
end
object rbRandom: TRadioButton
Left = 8
Height = 21
Top = 33
Width = 227
Align = alTop
BorderSpacing.Left = 8
BorderSpacing.Top = 4
BorderSpacing.Right = 8
Caption = 'Use tiles from the random pool'
ParentFont = True
TabOrder = 1
UseOnChange = True
end
object gbHue: TGroupBox
Left = 8
Height = 49
Top = 124
Width = 227
Align = alTop
BorderSpacing.Around = 8
Caption = 'Hue (Statics only)'
ClientHeight = 32
ClientWidth = 223
ParentFont = True
TabOrder = 2
object pbHue: TPaintBox
Cursor = crHandPoint
Left = 4
Height = 28
Width = 215
Align = alClient
BorderSpacing.Left = 4
BorderSpacing.Right = 4
BorderSpacing.Bottom = 4
OnClick = pbHueClick
OnPaint = pbHuePaint
end
end
object Panel1: TPanel
Left = 8
Height = 23
Top = 62
Width = 227
Align = alTop
BorderSpacing.Around = 8
BevelOuter = bvNone
ClientHeight = 23
ClientWidth = 227
ParentFont = True
TabOrder = 3
object seForceAltitude: TSpinEdit
Left = 177
Height = 23
Width = 50
Align = alRight
MaxValue = 127
MinValue = -128
ParentFont = True
TabOrder = 0
end
object cbForceAltitude: TCheckBox
Height = 23
Width = 177
Align = alClient
Caption = 'Force altitude:'
ParentFont = True
TabOrder = 1
end
end
object Panel2: TPanel
Left = 8
Height = 23
Top = 93
Width = 227
Align = alTop
BorderSpacing.Around = 8
BevelOuter = bvNone
ClientHeight = 23
ClientWidth = 227
ParentFont = True
TabOrder = 4
object seRandomHeight: TSpinEdit
Left = 177
Height = 23
Width = 50
Align = alRight
ParentFont = True
TabOrder = 0
end
object cbRandomHeight: TCheckBox
Height = 23
Width = 177
Align = alClient
Caption = 'Add Random Altitude'
ParentFont = True
TabOrder = 1
end
end
end
inherited frmDrawSettings: TfrmDrawSettings
Left = 268
Height = 180
Top = 165
Width = 242
ActiveControl = rbTileList
Caption = 'Draw settings'
ClientHeight = 180
ClientWidth = 242
object rbTileList: TRadioButton[0]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
Left = 8
Height = 19
Top = 8
Width = 125
BorderSpacing.Left = 8
BorderSpacing.Top = 8
BorderSpacing.Bottom = 4
Caption = 'Use tile from the list'
Checked = True
State = cbChecked
TabOrder = 0
end
object rbRandom: TRadioButton[1]
AnchorSideLeft.Control = rbTileList
AnchorSideTop.Control = rbTileList
AnchorSideTop.Side = asrBottom
Left = 8
Height = 19
Top = 31
Width = 184
BorderSpacing.Top = 4
Caption = 'Use tiles from the random pool'
TabOrder = 1
TabStop = False
end
object gbHue: TGroupBox[2]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = seRandomHeight
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 8
Height = 49
Top = 123
Width = 226
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 8
Caption = 'Hue (Statics only)'
ClientHeight = 31
ClientWidth = 222
TabOrder = 2
object pbHue: TPaintBox
Cursor = crHandPoint
Left = 4
Height = 27
Top = 0
Width = 214
Align = alClient
BorderSpacing.Left = 4
BorderSpacing.Right = 4
BorderSpacing.Bottom = 4
OnClick = pbHueClick
OnPaint = pbHuePaint
end
end
object cbRandomHeight: TCheckBox[3]
AnchorSideLeft.Control = cbForceAltitude
AnchorSideTop.Control = cbForceAltitude
AnchorSideTop.Side = asrBottom
Left = 8
Height = 19
Top = 93
Width = 135
BorderSpacing.Top = 12
Caption = 'Add Random Altitude'
TabOrder = 3
end
object seRandomHeight: TSpinEdit[4]
AnchorSideTop.Control = cbRandomHeight
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 184
Height = 25
Top = 90
Width = 50
Anchors = [akTop, akRight]
BorderSpacing.Right = 8
TabOrder = 4
end
object cbForceAltitude: TCheckBox[5]
AnchorSideLeft.Control = rbRandom
AnchorSideTop.Control = rbRandom
AnchorSideTop.Side = asrBottom
Left = 8
Height = 19
Top = 62
Width = 95
BorderSpacing.Top = 12
Caption = 'Force altitude:'
TabOrder = 5
end
object seForceAltitude: TSpinEdit[6]
AnchorSideTop.Control = cbForceAltitude
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 184
Height = 25
Top = 59
Width = 50
Anchors = [akTop, akRight]
BorderSpacing.Right = 8
MaxValue = 127
MinValue = -128
TabOrder = 6
end
end

View File

@ -1,142 +1,109 @@
(*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at
* http://www.opensource.org/licenses/cddl1.php.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at
* http://www.opensource.org/licenses/cddl1.php. If applicable,
* add the following below this CDDL HEADER, with the fields enclosed
* by brackets "[]" replaced with your own identifying * information:
* Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*
*
* Portions Copyright 2007 Andreas Schneider
*)
unit UfrmDrawSettings;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
Spin, ExtCtrls, LMessages, LCLIntf;
type
{ TfrmDrawSettings }
TfrmDrawSettings = class(TForm)
(*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at
* http://www.opensource.org/licenses/cddl1.php.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at
* http://www.opensource.org/licenses/cddl1.php. If applicable,
* add the following below this CDDL HEADER, with the fields enclosed
* by brackets "[]" replaced with your own identifying * information:
* Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*
*
* Portions Copyright 2009 Andreas Schneider
*)
unit UfrmDrawSettings;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
Spin, ExtCtrls, LMessages, UfrmToolWindow;
type
{ TfrmDrawSettings }
TfrmDrawSettings = class(TfrmToolWindow)
cbForceAltitude: TCheckBox;
cbRandomHeight: TCheckBox;
cbRandomHeight: TCheckBox;
gbHue: TGroupBox;
Panel1: TPanel;
Panel2: TPanel;
pbHue: TPaintBox;
rbRandom: TRadioButton;
pbHue: TPaintBox;
rbRandom: TRadioButton;
rbTileList: TRadioButton;
seForceAltitude: TSpinEdit;
seRandomHeight: TSpinEdit;
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormDeactivate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure pbHueClick(Sender: TObject);
procedure pbHuePaint(Sender: TObject);
procedure seForceAltitudeChange(Sender: TObject);
procedure seRandomHeightChange(Sender: TObject);
protected
procedure MouseLeave(var msg: TLMessage); message CM_MouseLeave;
public
{ public declarations }
end;
var
frmDrawSettings: TfrmDrawSettings;
implementation
uses
UGameResources, UHue, UfrmHueSettings;
{ TfrmDrawSettings }
procedure TfrmDrawSettings.FormClose(Sender: TObject;
var CloseAction: TCloseAction);
begin
CloseAction := caHide;
end;
procedure TfrmDrawSettings.FormDeactivate(Sender: TObject);
begin
if not frmHueSettings.Visible then
Close;
end;
procedure TfrmDrawSettings.FormShow(Sender: TObject);
begin
Left := Mouse.CursorPos.x - 8;
Top := Mouse.CursorPos.y - 8;
end;
procedure TfrmDrawSettings.pbHueClick(Sender: TObject);
var
msg: TLMessage;
begin
frmHueSettings.Left := Mouse.CursorPos.x - 8;
frmHueSettings.Top := Mouse.CursorPos.y - 8;
frmHueSettings.ShowModal;
pbHue.Repaint;
MouseLeave(msg);
end;
procedure TfrmDrawSettings.pbHuePaint(Sender: TObject);
var
hue: THue;
begin
if frmHueSettings <> nil then
begin
if frmHueSettings.lbHue.ItemIndex > 0 then
hue := ResMan.Hue.Hues[frmHueSettings.lbHue.ItemIndex - 1]
else
hue := nil;
TfrmHueSettings.DrawHue(hue, pbHue.Canvas, pbHue.Canvas.ClipRect,
frmHueSettings.lbHue.Items.Strings[frmHueSettings.lbHue.ItemIndex]);
end;
end;
procedure TfrmDrawSettings.seForceAltitudeChange(Sender: TObject);
begin
cbForceAltitude.Checked := True;
end;
procedure TfrmDrawSettings.seRandomHeightChange(Sender: TObject);
begin
cbRandomHeight.Checked := True;
end;
procedure TfrmDrawSettings.MouseLeave(var msg: TLMessage);
begin
try
if (not frmHueSettings.Visible) and (not PtInRect(ClientRect, ScreenToClient(Mouse.CursorPos))) then
Close;
except
Close;
end;
end;
initialization
{$I UfrmDrawSettings.lrs}
end.
seRandomHeight: TSpinEdit;
procedure pbHueClick(Sender: TObject);
procedure pbHuePaint(Sender: TObject);
procedure seForceAltitudeChange(Sender: TObject);
procedure seRandomHeightChange(Sender: TObject);
public
{ public declarations }
end;
var
frmDrawSettings: TfrmDrawSettings;
implementation
uses
UGameResources, UHue, UfrmHueSettings;
{ TfrmDrawSettings }
procedure TfrmDrawSettings.pbHueClick(Sender: TObject);
var
msg: TLMessage;
begin
frmHueSettings.Left := Mouse.CursorPos.x - 8;
frmHueSettings.Top := Mouse.CursorPos.y - 8;
frmHueSettings.ShowModal;
pbHue.Repaint;
MouseLeave(msg);
end;
procedure TfrmDrawSettings.pbHuePaint(Sender: TObject);
var
hue: THue;
begin
if frmHueSettings <> nil then
begin
if frmHueSettings.lbHue.ItemIndex > 0 then
hue := ResMan.Hue.Hues[frmHueSettings.lbHue.ItemIndex - 1]
else
hue := nil;
TfrmHueSettings.DrawHue(hue, pbHue.Canvas, pbHue.Canvas.ClipRect,
frmHueSettings.lbHue.Items.Strings[frmHueSettings.lbHue.ItemIndex]);
end;
end;
procedure TfrmDrawSettings.seForceAltitudeChange(Sender: TObject);
begin
cbForceAltitude.Checked := True;
end;
procedure TfrmDrawSettings.seRandomHeightChange(Sender: TObject);
begin
cbRandomHeight.Checked := True;
end;
//TODO : canclose ---> hue settings
initialization
{$I UfrmDrawSettings.lrs}
end.

View File

@ -1,120 +1,92 @@
object frmElevateSettings: TfrmElevateSettings
Left = 290
Height = 115
Top = 171
Width = 231
HorzScrollBar.Page = 230
HorzScrollBar.Range = 122
VertScrollBar.Page = 114
VertScrollBar.Range = 59
ActiveControl = rbRaise
AutoScroll = False
BorderIcons = []
BorderStyle = bsToolWindow
Caption = 'Elevate'
ClientHeight = 115
ClientWidth = 231
Font.Height = -11
OnClose = FormClose
OnDeactivate = FormDeactivate
LCLVersion = '0.9.25'
object Panel1: TPanel
Left = 8
Height = 67
Top = 8
Width = 215
Align = alTop
BorderSpacing.Around = 8
BevelOuter = bvNone
ClientHeight = 67
ClientWidth = 215
TabOrder = 0
object Panel2: TPanel
Height = 67
Width = 162
Align = alClient
BevelOuter = bvNone
ClientHeight = 67
ClientWidth = 162
ParentFont = True
TabOrder = 0
object rbRaise: TRadioButton
Height = 21
Width = 162
Align = alTop
Caption = 'Raise'
Checked = True
State = cbChecked
TabOrder = 2
end
object rbLower: TRadioButton
Height = 21
Top = 21
Width = 162
Align = alTop
Caption = 'Lower'
ParentFont = True
TabOrder = 0
end
object rbSet: TRadioButton
Height = 21
Top = 42
Width = 162
Align = alTop
Caption = 'Set'
ParentFont = True
TabOrder = 1
end
end
object Panel3: TPanel
Left = 162
Height = 67
Width = 53
Align = alRight
BevelOuter = bvNone
ClientHeight = 67
ClientWidth = 53
TabOrder = 1
object seZ: TSpinEdit
Left = 7
Height = 23
Top = 20
Width = 47
MaxValue = 127
MinValue = -128
ParentFont = True
TabOrder = 0
Value = 1
end
end
end
object Panel4: TPanel
Left = 8
Height = 23
Top = 83
Width = 215
Align = alTop
BorderSpacing.Around = 8
BevelOuter = bvNone
ClientHeight = 23
ClientWidth = 215
TabOrder = 1
object cbRandomHeight: TCheckBox
Height = 23
Width = 168
Align = alClient
Caption = 'Add Random Altitude'
ParentFont = True
TabOrder = 0
end
object seRandomHeight: TSpinEdit
Left = 168
Height = 23
Width = 47
Align = alRight
OnChange = seRandomHeightChange
ParentFont = True
TabOrder = 1
end
end
end
inherited frmElevateSettings: TfrmElevateSettings
Left = 290
Height = 114
Top = 171
Width = 250
Caption = 'Elevate'
ClientHeight = 114
ClientWidth = 250
object rbRaise: TRadioButton[0]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
Left = 8
Height = 19
Top = 8
Width = 47
BorderSpacing.Left = 8
BorderSpacing.Top = 8
Caption = 'Raise'
Checked = True
State = cbChecked
TabOrder = 2
end
object rbLower: TRadioButton[1]
AnchorSideLeft.Control = rbRaise
AnchorSideTop.Control = rbRaise
AnchorSideTop.Side = asrBottom
Left = 8
Height = 19
Top = 27
Width = 52
Caption = 'Lower'
TabOrder = 0
TabStop = False
end
object rbSet: TRadioButton[2]
AnchorSideLeft.Control = rbLower
AnchorSideTop.Control = rbLower
AnchorSideTop.Side = asrBottom
Left = 8
Height = 19
Top = 46
Width = 36
Caption = 'Set'
TabOrder = 1
TabStop = False
end
object cbRandomHeight: TCheckBox[3]
AnchorSideLeft.Control = rbSet
AnchorSideTop.Control = rbSet
AnchorSideTop.Side = asrBottom
Left = 8
Height = 19
Top = 81
Width = 135
BorderSpacing.Top = 16
Caption = 'Add Random Altitude'
TabOrder = 3
end
object seRandomHeight: TSpinEdit[4]
AnchorSideLeft.Control = seZ
AnchorSideTop.Control = cbRandomHeight
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 197
Height = 25
Top = 78
Width = 45
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 8
BorderSpacing.Bottom = 8
OnChange = seRandomHeightChange
TabOrder = 4
end
object seZ: TSpinEdit[5]
AnchorSideLeft.Control = rbSet
AnchorSideTop.Control = rbLower
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 197
Height = 25
Top = 24
Width = 45
Anchors = [akTop, akRight]
BorderSpacing.Right = 8
MaxValue = 127
MinValue = -128
TabOrder = 5
Value = 1
end
end

View File

@ -21,7 +21,7 @@
* CDDL HEADER END
*
*
* Portions Copyright 2008 Andreas Schneider
* Portions Copyright 2009 Andreas Schneider
*)
unit UfrmElevateSettings;
@ -30,29 +30,21 @@ unit UfrmElevateSettings;
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, LMessages,
LCLIntf, StdCtrls, Spin, ExtCtrls;
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
Spin, ExtCtrls, UfrmToolWindow;
type
{ TfrmElevateSettings }
TfrmElevateSettings = class(TForm)
TfrmElevateSettings = class(TfrmToolWindow)
cbRandomHeight: TCheckBox;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
rbRaise: TRadioButton;
rbLower: TRadioButton;
rbRaise: TRadioButton;
rbSet: TRadioButton;
seRandomHeight: TSpinEdit;
seZ: TSpinEdit;
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormDeactivate(Sender: TObject);
procedure seRandomHeightChange(Sender: TObject);
protected
procedure MouseLeave(var msg: TLMessage); message CM_MouseLeave;
public
{ public declarations }
end;
@ -64,28 +56,11 @@ implementation
{ TfrmElevateSettings }
procedure TfrmElevateSettings.FormClose(Sender: TObject;
var CloseAction: TCloseAction);
begin
CloseAction := caHide;
end;
procedure TfrmElevateSettings.FormDeactivate(Sender: TObject);
begin
Close;
end;
procedure TfrmElevateSettings.seRandomHeightChange(Sender: TObject);
begin
cbRandomHeight.Checked := True;
end;
procedure TfrmElevateSettings.MouseLeave(var msg: TLMessage);
begin
if not PtInRect(ClientRect, ScreenToClient(Mouse.CursorPos)) then
Close;
end;
initialization
{$I UfrmElevateSettings.lrs}

View File

@ -1,48 +1,59 @@
object frmHueSettings: TfrmHueSettings
Left = 290
Height = 208
Top = 171
Width = 217
BorderIcons = []
BorderStyle = bsToolWindow
Caption = 'Hue Settings'
ClientHeight = 208
ClientWidth = 217
Font.Height = -11
FormStyle = fsStayOnTop
OnClose = FormClose
OnCreate = FormCreate
OnDeactivate = FormDeactivate
LCLVersion = '0.9.25'
object lblHue: TLabel
Left = 8
Height = 13
Top = 16
Width = 27
Caption = 'Hue:'
ParentColor = False
ParentFont = True
end
object edHue: TEdit
Left = 48
Height = 23
Top = 10
Width = 80
OnEditingDone = edHueEditingDone
ParentFont = True
TabOrder = 0
end
object lbHue: TListBox
Left = 8
Height = 160
Top = 40
Width = 200
ItemHeight = 16
OnDrawItem = lbHueDrawItem
OnSelectionChange = lbHueSelectionChange
ParentFont = True
Style = lbOwnerDrawFixed
TabOrder = 1
TopIndex = -1
end
end
inherited frmHueSettings: TfrmHueSettings
Left = 290
Height = 209
Top = 171
Width = 217
Caption = 'Hue Settings'
ClientHeight = 209
ClientWidth = 217
OnCreate = FormCreate
object lblHue: TLabel[0]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = edHue
AnchorSideTop.Side = asrCenter
Left = 8
Height = 16
Top = 12
Width = 26
BorderSpacing.Left = 8
Caption = 'Hue:'
ParentColor = False
end
object edHue: TEdit[1]
AnchorSideLeft.Control = lblHue
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Owner
Left = 42
Height = 25
Top = 8
Width = 80
BorderSpacing.Left = 8
BorderSpacing.Top = 8
OnEditingDone = edHueEditingDone
TabOrder = 0
end
object lbHue: TListBox[2]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = edHue
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 8
Height = 160
Top = 41
Width = 201
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 8
ItemHeight = 16
OnDrawItem = lbHueDrawItem
OnSelectionChange = lbHueSelectionChange
Style = lbOwnerDrawFixed
TabOrder = 1
end
inherited tmClose: TTimer[3]
left = 152
top = 112
end
end

View File

@ -21,7 +21,7 @@
* CDDL HEADER END
*
*
* Portions Copyright 2007 Andreas Schneider
* Portions Copyright 2009 Andreas Schneider
*)
unit UfrmHueSettings;
@ -31,25 +31,21 @@ interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
LMessages, LCLIntf, UHue;
UfrmToolWindow, UHue;
type
{ TfrmHueSettings }
TfrmHueSettings = class(TForm)
TfrmHueSettings = class(TfrmToolWindow)
edHue: TEdit;
lblHue: TLabel;
lbHue: TListBox;
procedure edHueEditingDone(Sender: TObject);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormDeactivate(Sender: TObject);
procedure lbHueDrawItem(Control: TWinControl; Index: Integer; ARect: TRect;
State: TOwnerDrawState);
procedure lbHueSelectionChange(Sender: TObject; User: boolean);
protected
procedure MouseLeave(var msg: TLMessage); message CM_MouseLeave;
public
class procedure DrawHue(AHue: THue; ACanvas: TCanvas; ARect: TRect;
ACaption: string);
@ -65,12 +61,6 @@ uses
{ TfrmHueSettings }
procedure TfrmHueSettings.FormClose(Sender: TObject;
var CloseAction: TCloseAction);
begin
CloseAction := caHide;
end;
procedure TfrmHueSettings.edHueEditingDone(Sender: TObject);
var
hueID: Integer;
@ -98,11 +88,6 @@ begin
lbHue.ItemIndex := 0;
end;
procedure TfrmHueSettings.FormDeactivate(Sender: TObject);
begin
Close;
end;
procedure TfrmHueSettings.lbHueDrawItem(Control: TWinControl; Index: Integer;
ARect: TRect; State: TOwnerDrawState);
var
@ -120,16 +105,6 @@ begin
edHue.Text := Format('$%x', [lbHue.ItemIndex]);
end;
procedure TfrmHueSettings.MouseLeave(var msg: TLMessage);
begin
try
if not PtInRect(ClientRect, ScreenToClient(Mouse.CursorPos)) then
Close;
except
Close;
end;
end;
class procedure TfrmHueSettings.DrawHue(AHue: THue; ACanvas: TCanvas; ARect: TRect;
ACaption: string);
var

View File

@ -1,439 +1,481 @@
object frmMoveSettings: TfrmMoveSettings
Left = 290
Height = 113
Top = 171
Width = 236
ActiveControl = cbAsk
BorderIcons = []
BorderStyle = bsToolWindow
Caption = 'Move settings'
ClientHeight = 113
ClientWidth = 236
Font.Height = -11
FormStyle = fsStayOnTop
OnClose = FormClose
OnDeactivate = FormDeactivate
OnShow = FormShow
LCLVersion = '0.9.25'
object cbAsk: TCheckBox
Left = 128
Height = 21
Top = 16
Width = 102
Caption = 'Ask each time'
Checked = True
ParentFont = True
State = cbChecked
TabOrder = 0
end
object gbDirection: TGroupBox
Left = 8
Height = 96
Top = 8
Width = 105
ClientHeight = 92
ClientWidth = 101
ParentFont = True
TabOrder = 1
object btnTopLeft: TSpeedButton
Left = 6
Height = 22
Width = 23
Color = clBtnFace
Down = True
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000404040FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000004040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000404040FF4040
40FF404040FF404040FF404040FF000000000000000000000000000000000000
00000000000000000000000000000000000000000000404040FF404040FF4040
40FF404040FF404040FF00000000000000000000000000000000000000000000
0000404040FF000000000000000000000000404040FF404040FF404040FF4040
40FF404040FF0000000000000000000000000000000000000000000000000000
0000404040FF404040FF00000000404040FF404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF404040FF0000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF404040FF0000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
GroupIndex = 1
NumGlyphs = 0
OnClick = btnTopLeftClick
ParentFont = True
end
object btnTop: TSpeedButton
Left = 38
Height = 22
Width = 23
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000404040FF404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF404040FF000000000000000000000000000000000000
00000000000000000000404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF00000000000000000000000000000000000000000000
0000000000000000000000000000404040FF404040FF404040FF404040FF4040
40FF404040FF0000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000404040FF404040FF0000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
GroupIndex = 1
NumGlyphs = 0
OnClick = btnTopLeftClick
ParentFont = True
end
object btnTopRight: TSpeedButton
Left = 70
Height = 22
Width = 23
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000404040FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000404040FF404040FF404040FF404040FF404040FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000404040FF404040FF404040FF404040FF404040FF0000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000404040FF404040FF404040FF404040FF4040
40FF000000000000000000000000404040FF0000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF404040FF00000000404040FF404040FF0000000000000000000000000000
00000000000000000000000000000000000000000000404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000004040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
00000000000000000000000000000000000000000000404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
GroupIndex = 1
NumGlyphs = 0
OnClick = btnTopLeftClick
ParentFont = True
end
object btnRight: TSpeedButton
Left = 70
Height = 22
Top = 32
Width = 23
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF404040FF00000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF404040FF00000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
GroupIndex = 1
NumGlyphs = 0
OnClick = btnTopLeftClick
ParentFont = True
end
object btnBottomRight: TSpeedButton
Left = 70
Height = 22
Top = 64
Width = 23
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000004040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
00000000000000000000000000000000000000000000404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF404040FF00000000404040FF404040FF0000000000000000000000000000
0000000000000000000000000000404040FF404040FF404040FF404040FF4040
40FF000000000000000000000000404040FF0000000000000000000000000000
00000000000000000000404040FF404040FF404040FF404040FF404040FF0000
0000000000000000000000000000000000000000000000000000000000000000
000000000000404040FF404040FF404040FF404040FF404040FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000404040FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
GroupIndex = 1
NumGlyphs = 0
OnClick = btnTopLeftClick
ParentFont = True
end
object btnBottom: TSpeedButton
Left = 38
Height = 22
Top = 64
Width = 23
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000404040FF404040FF0000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000404040FF404040FF404040FF404040FF4040
40FF404040FF0000000000000000000000000000000000000000000000000000
00000000000000000000404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF00000000000000000000000000000000000000000000
000000000000404040FF404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF404040FF000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
GroupIndex = 1
NumGlyphs = 0
OnClick = btnTopLeftClick
ParentFont = True
end
object btnBottomLeft: TSpeedButton
Left = 6
Height = 22
Top = 64
Width = 23
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF404040FF0000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF404040FF0000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF00000000404040FF404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
0000404040FF000000000000000000000000404040FF404040FF404040FF4040
40FF404040FF0000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000404040FF404040FF4040
40FF404040FF404040FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000404040FF4040
40FF404040FF404040FF404040FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000004040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000404040FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
GroupIndex = 1
NumGlyphs = 0
OnClick = btnTopLeftClick
ParentFont = True
end
object btnLeft: TSpeedButton
Left = 6
Height = 22
Top = 32
Width = 23
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000004040
40FF404040FF404040FF404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000004040
40FF404040FF404040FF404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
000000000000404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
GroupIndex = 1
NumGlyphs = 0
OnClick = btnTopLeftClick
ParentFont = True
end
object seOffset: TSpinEdit
Left = 33
Height = 23
Hint = 'Offset'
Top = 32
Width = 34
MaxValue = 8
MinValue = 1
ParentFont = True
ParentShowHint = False
ShowHint = True
TabOrder = 0
Value = 1
end
end
object btnCancel: TButton
Left = 128
Height = 25
Top = 80
Width = 103
BorderSpacing.InnerBorder = 4
Cancel = True
Caption = 'Cancel'
ModalResult = 2
ParentFont = True
TabOrder = 2
end
end
inherited frmMoveSettings: TfrmMoveSettings
Left = 290
Height = 120
Top = 171
Width = 232
ActiveControl = cbAsk
AutoSize = True
Caption = 'Move settings'
ClientHeight = 120
ClientWidth = 232
object cbAsk: TCheckBox[0]
AnchorSideLeft.Control = gbDirection
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = gbDirection
Left = 121
Height = 19
Top = 20
Width = 94
BorderSpacing.Left = 8
BorderSpacing.Top = 16
BorderSpacing.Right = 8
Caption = 'Ask each time'
Checked = True
State = cbChecked
TabOrder = 0
end
object gbDirection: TGroupBox[1]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
Left = 8
Height = 108
Top = 4
Width = 105
AutoSize = True
BorderSpacing.Left = 4
BorderSpacing.Bottom = 4
BorderSpacing.Around = 4
ClientHeight = 90
ClientWidth = 101
TabOrder = 1
object btnTopLeft: TSpeedButton
AnchorSideLeft.Control = gbDirection
AnchorSideTop.Control = gbDirection
Left = 8
Height = 22
Top = 0
Width = 23
BorderSpacing.Left = 8
Color = clBtnFace
Down = True
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000404040FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000004040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000404040FF4040
40FF404040FF404040FF404040FF000000000000000000000000000000000000
00000000000000000000000000000000000000000000404040FF404040FF4040
40FF404040FF404040FF00000000000000000000000000000000000000000000
0000404040FF000000000000000000000000404040FF404040FF404040FF4040
40FF404040FF0000000000000000000000000000000000000000000000000000
0000404040FF404040FF00000000404040FF404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF404040FF0000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF404040FF0000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
GroupIndex = 1
NumGlyphs = 0
OnClick = btnTopLeftClick
end
object btnTop: TSpeedButton
AnchorSideLeft.Control = btnTopLeft
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = gbDirection
Left = 39
Height = 22
Top = 0
Width = 23
BorderSpacing.Left = 8
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000404040FF404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF404040FF000000000000000000000000000000000000
00000000000000000000404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF00000000000000000000000000000000000000000000
0000000000000000000000000000404040FF404040FF404040FF404040FF4040
40FF404040FF0000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000404040FF404040FF0000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
GroupIndex = 1
NumGlyphs = 0
OnClick = btnTopLeftClick
end
object btnTopRight: TSpeedButton
AnchorSideLeft.Control = btnTop
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = gbDirection
Left = 70
Height = 22
Top = 0
Width = 23
BorderSpacing.Left = 8
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000404040FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000404040FF404040FF404040FF404040FF404040FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000404040FF404040FF404040FF404040FF404040FF0000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000404040FF404040FF404040FF404040FF4040
40FF000000000000000000000000404040FF0000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF404040FF00000000404040FF404040FF0000000000000000000000000000
00000000000000000000000000000000000000000000404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000004040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
00000000000000000000000000000000000000000000404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
GroupIndex = 1
NumGlyphs = 0
OnClick = btnTopLeftClick
end
object btnRight: TSpeedButton
AnchorSideLeft.Control = btnTopRight
AnchorSideTop.Control = btnTopRight
AnchorSideTop.Side = asrBottom
Left = 70
Height = 22
Top = 30
Width = 23
BorderSpacing.Top = 8
BorderSpacing.Right = 8
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF404040FF00000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF404040FF00000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
GroupIndex = 1
NumGlyphs = 0
OnClick = btnTopLeftClick
end
object btnBottomRight: TSpeedButton
AnchorSideLeft.Control = btnRight
AnchorSideTop.Control = btnRight
AnchorSideTop.Side = asrBottom
Left = 70
Height = 22
Top = 60
Width = 23
BorderSpacing.Top = 8
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000004040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
00000000000000000000000000000000000000000000404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF404040FF00000000404040FF404040FF0000000000000000000000000000
0000000000000000000000000000404040FF404040FF404040FF404040FF4040
40FF000000000000000000000000404040FF0000000000000000000000000000
00000000000000000000404040FF404040FF404040FF404040FF404040FF0000
0000000000000000000000000000000000000000000000000000000000000000
000000000000404040FF404040FF404040FF404040FF404040FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000404040FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
GroupIndex = 1
NumGlyphs = 0
OnClick = btnTopLeftClick
end
object btnBottom: TSpeedButton
AnchorSideLeft.Control = btnBottomLeft
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = btnBottomLeft
Left = 39
Height = 22
Top = 60
Width = 23
BorderSpacing.Left = 8
BorderSpacing.Bottom = 8
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000404040FF404040FF0000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000404040FF404040FF404040FF404040FF4040
40FF404040FF0000000000000000000000000000000000000000000000000000
00000000000000000000404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF00000000000000000000000000000000000000000000
000000000000404040FF404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF404040FF000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
GroupIndex = 1
NumGlyphs = 0
OnClick = btnTopLeftClick
end
object btnBottomLeft: TSpeedButton
AnchorSideLeft.Control = btnLeft
AnchorSideTop.Control = btnLeft
AnchorSideTop.Side = asrBottom
Left = 8
Height = 22
Top = 60
Width = 23
BorderSpacing.Top = 8
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF404040FF0000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF404040FF0000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF00000000404040FF404040FF404040FF404040FF4040
40FF000000000000000000000000000000000000000000000000000000000000
0000404040FF000000000000000000000000404040FF404040FF404040FF4040
40FF404040FF0000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000404040FF404040FF4040
40FF404040FF404040FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000404040FF4040
40FF404040FF404040FF404040FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000004040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000404040FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
GroupIndex = 1
NumGlyphs = 0
OnClick = btnTopLeftClick
end
object btnLeft: TSpeedButton
AnchorSideLeft.Control = btnTopLeft
AnchorSideTop.Control = btnTop
AnchorSideTop.Side = asrBottom
Left = 8
Height = 22
Top = 30
Width = 23
BorderSpacing.Top = 8
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000004040
40FF404040FF404040FF404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000004040
40FF404040FF404040FF404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
0000404040FF404040FF404040FF404040FF404040FF404040FF404040FF4040
40FF404040FF404040FF404040FF404040FF0000000000000000000000000000
000000000000404040FF404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000404040FF404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000404040FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
GroupIndex = 1
NumGlyphs = 0
OnClick = btnTopLeftClick
end
object seOffset: TSpinEdit
AnchorSideLeft.Control = btnTop
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = btnTop
AnchorSideTop.Side = asrBottom
Left = 33
Height = 25
Hint = 'Offset'
Top = 30
Width = 34
BorderSpacing.Top = 8
MaxValue = 8
MinValue = 1
ParentShowHint = False
ShowHint = True
TabOrder = 0
Value = 1
end
end
object btnCancel: TButton[2]
AnchorSideLeft.Control = gbDirection
AnchorSideLeft.Side = asrBottom
AnchorSideBottom.Control = gbDirection
AnchorSideBottom.Side = asrBottom
Left = 121
Height = 25
Top = 83
Width = 103
Anchors = [akLeft, akBottom]
BorderSpacing.Left = 8
BorderSpacing.Right = 8
BorderSpacing.Bottom = 4
BorderSpacing.InnerBorder = 4
Cancel = True
Caption = 'Cancel'
ModalResult = 2
TabOrder = 2
end
end

View File

@ -1,152 +1,147 @@
(*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at
* http://www.opensource.org/licenses/cddl1.php.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at
* http://www.opensource.org/licenses/cddl1.php. If applicable,
* add the following below this CDDL HEADER, with the fields enclosed
* by brackets "[]" replaced with your own identifying * information:
* Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*
*
* Portions Copyright 2007 Andreas Schneider
*)
unit UfrmMoveSettings;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
Buttons, Spin, LMessages, LCLIntf, math;
type
{ TfrmMoveSettings }
TfrmMoveSettings = class(TForm)
btnCancel: TButton;
cbAsk: TCheckBox;
gbDirection: TGroupBox;
btnTopLeft: TSpeedButton;
btnTop: TSpeedButton;
btnTopRight: TSpeedButton;
btnRight: TSpeedButton;
btnBottomRight: TSpeedButton;
btnBottom: TSpeedButton;
btnBottomLeft: TSpeedButton;
btnLeft: TSpeedButton;
seOffset: TSpinEdit;
procedure btnTopLeftClick(Sender: TObject);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormDeactivate(Sender: TObject);
procedure FormShow(Sender: TObject);
protected
procedure MouseLeave(var msg: TLMessage); message CM_MouseLeave;
public
function GetOffsetX: Integer;
function GetOffsetY: Integer;
end;
var
frmMoveSettings: TfrmMoveSettings;
implementation
uses
UdmNetwork, UfrmMain, UEnums;
{ TfrmMoveSettings }
procedure TfrmMoveSettings.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
CloseAction := caHide;
end;
procedure TfrmMoveSettings.FormDeactivate(Sender: TObject);
begin
if not (fsModal in FormState) then
Close;
end;
procedure TfrmMoveSettings.FormShow(Sender: TObject);
begin
btnCancel.Visible := (fsModal in FormState);
if dmNetwork.AccessLevel = alAdministrator then
seOffset.MaxValue := Max(frmMain.Landscape.CellWidth, frmMain.Landscape.CellHeight);
end;
procedure TfrmMoveSettings.MouseLeave(var msg: TLMessage);
begin
if Visible and (not (fsModal in FormState)) and
(not PtInRect(ClientRect, ScreenToClient(Mouse.CursorPos))) then
Close;
end;
function TfrmMoveSettings.GetOffsetX: Integer;
begin
if btnTopLeft.Down then
Result := -seOffset.Value
else if btnTop.Down then
Result := -seOffset.Value
else if btnTopRight.Down then
Result := 0
else if btnRight.Down then
Result := seOffset.Value
else if btnBottomRight.Down then
Result := seOffset.Value
else if btnBottom.Down then
Result := seOffset.Value
else if btnBottomLeft.Down then
Result := 0
else if btnLeft.Down then
Result := -seOffset.Value
else
Result := 0;
end;
function TfrmMoveSettings.GetOffsetY: Integer;
begin
if btnTopLeft.Down then
Result := 0
else if btnTop.Down then
Result := -seOffset.Value
else if btnTopRight.Down then
Result := -seOffset.Value
else if btnRight.Down then
Result := -seOffset.Value
else if btnBottomRight.Down then
Result := 0
else if btnBottom.Down then
Result := seOffset.Value
else if btnBottomLeft.Down then
Result := seOffset.Value
else if btnLeft.Down then
Result := seOffset.Value
else
Result := 0;
end;
procedure TfrmMoveSettings.btnTopLeftClick(Sender: TObject);
begin
ModalResult := mrYes;
end;
initialization
{$I UfrmMoveSettings.lrs}
end.
(*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at
* http://www.opensource.org/licenses/cddl1.php.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at
* http://www.opensource.org/licenses/cddl1.php. If applicable,
* add the following below this CDDL HEADER, with the fields enclosed
* by brackets "[]" replaced with your own identifying * information:
* Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*
*
* Portions Copyright 2009 Andreas Schneider
*)
unit UfrmMoveSettings;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
Buttons, Spin, ExtCtrls, Math, UfrmToolWindow;
type
{ TfrmMoveSettings }
TfrmMoveSettings = class(TfrmToolWindow)
btnCancel: TButton;
cbAsk: TCheckBox;
gbDirection: TGroupBox;
btnTopLeft: TSpeedButton;
btnTop: TSpeedButton;
btnTopRight: TSpeedButton;
btnRight: TSpeedButton;
btnBottomRight: TSpeedButton;
btnBottom: TSpeedButton;
btnBottomLeft: TSpeedButton;
btnLeft: TSpeedButton;
seOffset: TSpinEdit;
procedure btnTopLeftClick(Sender: TObject);
procedure FormDeactivate(Sender: TObject); override;
procedure FormShow(Sender: TObject); override;
protected
function CanClose: Boolean; override;
public
function GetOffsetX: Integer;
function GetOffsetY: Integer;
end;
var
frmMoveSettings: TfrmMoveSettings;
implementation
uses
UdmNetwork, UfrmMain, UEnums;
{ TfrmMoveSettings }
procedure TfrmMoveSettings.FormDeactivate(Sender: TObject);
begin
if not (fsModal in FormState) then
inherited FormDeactivate(Sender);
end;
procedure TfrmMoveSettings.FormShow(Sender: TObject);
begin
btnCancel.Visible := (fsModal in FormState);
if dmNetwork.AccessLevel = alAdministrator then
seOffset.MaxValue := Max(frmMain.Landscape.CellWidth, frmMain.Landscape.CellHeight);
inherited FormShow(Sender);
end;
function TfrmMoveSettings.CanClose: Boolean;
begin
Result := Visible and (not (fsModal in FormState)) and
inherited CanClose;
end;
function TfrmMoveSettings.GetOffsetX: Integer;
begin
if btnTopLeft.Down then
Result := -seOffset.Value
else if btnTop.Down then
Result := -seOffset.Value
else if btnTopRight.Down then
Result := 0
else if btnRight.Down then
Result := seOffset.Value
else if btnBottomRight.Down then
Result := seOffset.Value
else if btnBottom.Down then
Result := seOffset.Value
else if btnBottomLeft.Down then
Result := 0
else if btnLeft.Down then
Result := -seOffset.Value
else
Result := 0;
end;
function TfrmMoveSettings.GetOffsetY: Integer;
begin
if btnTopLeft.Down then
Result := 0
else if btnTop.Down then
Result := -seOffset.Value
else if btnTopRight.Down then
Result := -seOffset.Value
else if btnRight.Down then
Result := -seOffset.Value
else if btnBottomRight.Down then
Result := 0
else if btnBottom.Down then
Result := seOffset.Value
else if btnBottomLeft.Down then
Result := seOffset.Value
else if btnLeft.Down then
Result := seOffset.Value
else
Result := 0;
end;
procedure TfrmMoveSettings.btnTopLeftClick(Sender: TObject);
begin
ModalResult := mrYes;
end;
initialization
{$I UfrmMoveSettings.lrs}
end.

View File

@ -0,0 +1,21 @@
object frmToolWindow: TfrmToolWindow
Left = 282
Height = 300
Top = 157
Width = 400
BorderIcons = []
BorderStyle = bsToolWindow
Caption = 'ToolWindow'
FormStyle = fsStayOnTop
OnClose = FormClose
OnDeactivate = FormDeactivate
OnShow = FormShow
ShowInTaskBar = stNever
LCLVersion = '0.9.29'
object tmClose: TTimer
Enabled = False
OnTimer = tmCloseTimer
left = 8
top = 8
end
end

View File

@ -0,0 +1,103 @@
(*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at
* http://www.opensource.org/licenses/cddl1.php.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at
* http://www.opensource.org/licenses/cddl1.php. If applicable,
* add the following below this CDDL HEADER, with the fields enclosed
* by brackets "[]" replaced with your own identifying * information:
* Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*
*
* Portions Copyright 2009 Andreas Schneider
*)
unit UfrmToolWindow;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
LCLIntf, LMessages, ExtCtrls;
type
{ TfrmToolWindow }
TfrmToolWindow = class(TForm)
tmClose: TTimer;
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormDeactivate(Sender: TObject); virtual;
procedure FormShow(Sender: TObject); virtual;
procedure tmCloseTimer(Sender: TObject);
protected
function CanClose: Boolean; virtual;
procedure MouseLeave(var msg: TLMessage); message CM_MouseLeave;
public
{ public declarations }
end;
var
frmToolWindow: TfrmToolWindow;
implementation
{ TfrmToolWindow }
procedure TfrmToolWindow.FormDeactivate(Sender: TObject);
begin
Close;
end;
procedure TfrmToolWindow.FormClose(Sender: TObject;
var CloseAction: TCloseAction);
begin
CloseAction := caHide;
end;
procedure TfrmToolWindow.FormShow(Sender: TObject);
begin
Top := Mouse.CursorPos.y - 8;
Left := Mouse.CursorPos.x - 8;
OnDeactivate := nil;
tmClose.Enabled := True;
end;
procedure TfrmToolWindow.tmCloseTimer(Sender: TObject);
begin
tmClose.Enabled := False;
OnDeactivate := @FormDeactivate;
if CanClose then
Close;
end;
function TfrmToolWindow.CanClose: Boolean;
begin
Result := not PtInRect(ClientRect, ScreenToClient(Mouse.CursorPos));
end;
procedure TfrmToolWindow.MouseLeave(var msg: TLMessage);
begin
if CanClose then
Close;
end;
initialization
{$I UfrmToolWindow.lrs}
end.

View File

@ -1,61 +1,56 @@
object frmVirtualLayer: TfrmVirtualLayer
Left = 290
Height = 80
Top = 171
Width = 212
BorderIcons = []
BorderStyle = bsToolWindow
Caption = 'Virtual Layer'
ClientHeight = 80
ClientWidth = 212
Font.Height = -11
OnClose = FormClose
OnDeactivate = FormDeactivate
LCLVersion = '0.9.25'
object tbZ: TTrackBar
Left = 8
Height = 33
Top = 39
Width = 196
Frequency = 10
Max = 127
Min = -128
OnChange = tbZChange
PageSize = 1
ScalePos = trTop
Align = alTop
BorderSpacing.Around = 8
TabOrder = 0
end
object Panel1: TPanel
Left = 8
Height = 23
Top = 8
Width = 196
Align = alTop
BorderSpacing.Around = 8
BevelOuter = bvNone
ClientHeight = 23
ClientWidth = 196
ParentFont = True
TabOrder = 1
object seZ: TSpinEdit
Left = 146
Height = 23
Width = 50
Align = alRight
MaxValue = 127
MinValue = -128
ParentFont = True
TabOrder = 0
end
object cbShowLayer: TCheckBox
Height = 23
Width = 146
Align = alClient
Caption = 'Show Layer at Z:'
ParentFont = True
TabOrder = 1
end
end
end
inherited frmVirtualLayer: TfrmVirtualLayer
Left = 290
Height = 82
Top = 171
Width = 210
Caption = 'Virtual Layer'
ClientHeight = 82
ClientWidth = 210
object tbZ: TTrackBar[0]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = seZ
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 8
Height = 33
Top = 41
Width = 194
Frequency = 10
Max = 127
Min = -128
OnChange = tbZChange
PageSize = 1
Position = 0
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 8
TabOrder = 0
end
object cbShowLayer: TCheckBox[1]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = seZ
AnchorSideTop.Side = asrCenter
Left = 8
Height = 19
Top = 11
Width = 106
BorderSpacing.Left = 8
Caption = 'Show Layer at Z:'
TabOrder = 1
end
object seZ: TSpinEdit[2]
AnchorSideTop.Control = Owner
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 152
Height = 25
Top = 8
Width = 50
Anchors = [akTop, akRight]
BorderSpacing.Top = 8
BorderSpacing.Right = 8
MaxValue = 127
MinValue = -128
TabOrder = 2
end
end

View File

@ -1,93 +1,71 @@
(*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at
* http://www.opensource.org/licenses/cddl1.php.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at
* http://www.opensource.org/licenses/cddl1.php. If applicable,
* add the following below this CDDL HEADER, with the fields enclosed
* by brackets "[]" replaced with your own identifying * information:
* Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*
*
* Portions Copyright 2007 Andreas Schneider
*)
unit UfrmVirtualLayer;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, LCLIntf,
LMessages, StdCtrls, Spin, ComCtrls, ExtCtrls;
type
{ TfrmVirtualLayer }
TfrmVirtualLayer = class(TForm)
(*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at
* http://www.opensource.org/licenses/cddl1.php.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at
* http://www.opensource.org/licenses/cddl1.php. If applicable,
* add the following below this CDDL HEADER, with the fields enclosed
* by brackets "[]" replaced with your own identifying * information:
* Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*
*
* Portions Copyright 2009 Andreas Schneider
*)
unit UfrmVirtualLayer;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
Spin, ComCtrls, ExtCtrls, UfrmToolWindow;
type
{ TfrmVirtualLayer }
TfrmVirtualLayer = class(TfrmToolWindow)
cbShowLayer: TCheckBox;
Panel1: TPanel;
seZ: TSpinEdit;
tbZ: TTrackBar;
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormDeactivate(Sender: TObject);
procedure seZChange(Sender: TObject);
procedure tbZChange(Sender: TObject);
protected
procedure MouseLeave(var msg: TLMessage); message CM_MouseLeave;
public
{ public declarations }
end;
var
frmVirtualLayer: TfrmVirtualLayer;
implementation
{ TfrmVirtualLayer }
procedure TfrmVirtualLayer.FormClose(Sender: TObject;
var CloseAction: TCloseAction);
begin
CloseAction := caHide;
end;
procedure TfrmVirtualLayer.FormDeactivate(Sender: TObject);
begin
Close;
end;
procedure TfrmVirtualLayer.seZChange(Sender: TObject);
begin
tbZ.Position := seZ.Value;
end;
procedure TfrmVirtualLayer.tbZChange(Sender: TObject);
begin
seZ.Value := tbZ.Position;
end;
procedure TfrmVirtualLayer.MouseLeave(var msg: TLMessage);
begin
if not PtInRect(ClientRect, ScreenToClient(Mouse.CursorPos)) then
Close;
end;
initialization
{$I UfrmVirtualLayer.lrs}
end.
seZ: TSpinEdit;
tbZ: TTrackBar;
procedure seZChange(Sender: TObject);
procedure tbZChange(Sender: TObject);
public
{ public declarations }
end;
var
frmVirtualLayer: TfrmVirtualLayer;
implementation
{ TfrmVirtualLayer }
procedure TfrmVirtualLayer.seZChange(Sender: TObject);
begin
tbZ.Position := seZ.Value;
end;
procedure TfrmVirtualLayer.tbZChange(Sender: TObject);
begin
seZ.Value := tbZ.Position;
end;
initialization
{$I UfrmVirtualLayer.lrs}
end.

View File

@ -5,7 +5,7 @@ object frmMain: TfrmMain
Width = 766
ActiveControl = oglGameWindow
Caption = 'UO CentrED'
ClientHeight = 580
ClientHeight = 583
ClientWidth = 766
Constraints.MinHeight = 603
Constraints.MinWidth = 766
@ -17,12 +17,12 @@ object frmMain: TfrmMain
OnDestroy = FormDestroy
Position = poScreenCenter
ShowInTaskBar = stAlways
LCLVersion = '0.9.27'
LCLVersion = '0.9.29'
WindowState = wsMaximized
object pnlBottom: TPanel
Left = 0
Height = 31
Top = 549
Top = 552
Width = 766
Align = alBottom
BevelOuter = bvNone
@ -33,7 +33,7 @@ object frmMain: TfrmMain
Left = 11
Height = 14
Top = 7
Width = 11
Width = 10
Caption = 'X:'
ParentColor = False
end
@ -41,7 +41,7 @@ object frmMain: TfrmMain
Left = 88
Height = 14
Top = 7
Width = 10
Width = 9
Caption = 'Y:'
ParentColor = False
end
@ -54,10 +54,10 @@ object frmMain: TfrmMain
ParentColor = False
end
object lblTip: TLabel
Left = 528
Left = 534
Height = 31
Top = 0
Width = 230
Width = 224
Align = alRight
Alignment = taRightJustify
BorderSpacing.Right = 8
@ -66,10 +66,10 @@ object frmMain: TfrmMain
ParentColor = False
end
object lblTipC: TLabel
Left = 498
Left = 511
Height = 31
Top = 0
Width = 30
Width = 23
Align = alRight
Caption = 'Tip: '
Font.Height = -11
@ -80,7 +80,7 @@ object frmMain: TfrmMain
end
object edX: TSpinEdit
Left = 24
Height = 19
Height = 23
Top = 3
Width = 55
MaxValue = 100000
@ -88,7 +88,7 @@ object frmMain: TfrmMain
end
object edY: TSpinEdit
Left = 104
Height = 19
Height = 23
Top = 3
Width = 52
MaxValue = 100000
@ -107,7 +107,7 @@ object frmMain: TfrmMain
end
object pcLeft: TPageControl
Left = 0
Height = 525
Height = 528
Top = 24
Width = 224
ActivePage = tsTiles
@ -116,13 +116,13 @@ object frmMain: TfrmMain
TabOrder = 1
object tsTiles: TTabSheet
Caption = 'Tiles'
ClientHeight = 492
ClientWidth = 218
ClientHeight = 502
ClientWidth = 216
object lblFilter: TLabel
AnchorSideLeft.Control = cbTerrain
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = cbTerrain
Left = 81
Left = 75
Height = 14
Top = 8
Width = 30
@ -139,9 +139,9 @@ object frmMain: TfrmMain
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = spTileList
Left = 4
Height = 250
Top = 56
Width = 210
Height = 266
Top = 50
Width = 208
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Left = 4
BorderSpacing.Top = 4
@ -193,13 +193,13 @@ object frmMain: TfrmMain
AnchorSideBottom.Side = asrBottom
Left = 0
Height = 181
Top = 311
Width = 218
Top = 321
Width = 216
Align = alBottom
Anchors = [akTop, akLeft, akRight, akBottom]
Caption = 'Random pool'
ClientHeight = 167
ClientWidth = 216
ClientHeight = 163
ClientWidth = 212
TabOrder = 1
object btnAddRandom: TSpeedButton
AnchorSideLeft.Control = gbRandom
@ -359,10 +359,10 @@ object frmMain: TfrmMain
object btnRandomPresetSave: TSpeedButton
AnchorSideTop.Control = cbRandomPreset
AnchorSideRight.Control = btnRandomPresetDelete
Left = 164
Left = 160
Height = 22
Hint = 'Save Preset'
Top = 134
Top = 138
Width = 22
Anchors = [akTop, akRight]
BorderSpacing.Right = 4
@ -413,10 +413,10 @@ object frmMain: TfrmMain
AnchorSideTop.Control = btnRandomPresetSave
AnchorSideRight.Control = gbRandom
AnchorSideRight.Side = asrBottom
Left = 190
Left = 186
Height = 22
Hint = 'Delete Preset'
Top = 134
Top = 138
Width = 22
Anchors = [akTop, akRight]
BorderSpacing.Right = 4
@ -473,9 +473,9 @@ object frmMain: TfrmMain
AnchorSideBottom.Control = cbRandomPreset
Cursor = 63
Left = 4
Height = 106
Height = 110
Top = 24
Width = 208
Width = 204
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Left = 4
BorderSpacing.Top = 2
@ -519,14 +519,14 @@ object frmMain: TfrmMain
AnchorSideBottom.Control = gbRandom
AnchorSideBottom.Side = asrBottom
Left = 4
Height = 29
Top = 134
Width = 156
Height = 21
Top = 138
Width = 152
Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Left = 4
BorderSpacing.Right = 4
BorderSpacing.Bottom = 4
ItemHeight = 0
ItemHeight = 13
OnChange = cbRandomPresetChange
Style = csDropDownList
TabOrder = 1
@ -539,8 +539,8 @@ object frmMain: TfrmMain
Cursor = crVSplit
Left = 0
Height = 5
Top = 306
Width = 218
Top = 316
Width = 216
Align = alNone
Anchors = [akLeft, akRight, akBottom]
ResizeAnchor = akBottom
@ -550,10 +550,10 @@ object frmMain: TfrmMain
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = vdtTiles
AnchorSideBottom.Side = asrBottom
Left = 110
Height = 19
Left = 108
Height = 23
Hint = 'Append S or T to restrict the search to Statics or Terrain.'
Top = 279
Top = 285
Width = 96
Anchors = [akRight, akBottom]
BorderSpacing.Right = 8
@ -572,10 +572,10 @@ object frmMain: TfrmMain
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = tsTiles
AnchorSideRight.Side = asrBottom
Left = 81
Height = 19
Left = 75
Height = 23
Top = 22
Width = 121
Width = 125
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 16
OnEditingDone = edFilterEditingDone
@ -586,10 +586,10 @@ object frmMain: TfrmMain
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = cbTerrain
AnchorSideTop.Side = asrBottom
Left = 4
Height = 22
Top = 30
Width = 60
Left = 5
Height = 19
Top = 27
Width = 53
Caption = 'Statics'
Checked = True
OnChange = cbStaticsChange
@ -600,9 +600,9 @@ object frmMain: TfrmMain
AnchorSideLeft.Control = tsTiles
AnchorSideTop.Control = tsTiles
Left = 4
Height = 22
Height = 19
Top = 8
Width = 61
Width = 55
BorderSpacing.Left = 4
BorderSpacing.Top = 8
Caption = 'Terrain'
@ -614,26 +614,25 @@ object frmMain: TfrmMain
end
object tsClients: TTabSheet
Caption = 'Clients'
ClientHeight = 492
ClientWidth = 218
ClientHeight = 502
ClientWidth = 216
object lbClients: TListBox
Left = 0
Height = 492
Height = 502
Top = 0
Width = 218
Width = 216
Align = alClient
ItemHeight = 0
OnDblClick = mnuGoToClientClick
PopupMenu = pmClients
Sorted = True
TabOrder = 0
TopIndex = -1
end
end
object tsLocations: TTabSheet
Caption = 'Locations'
ClientHeight = 492
ClientWidth = 218
ClientHeight = 502
ClientWidth = 216
object btnClearLocations: TSpeedButton
AnchorSideLeft.Control = btnDeleteLocation
AnchorSideLeft.Side = asrBottom
@ -641,7 +640,7 @@ object frmMain: TfrmMain
Left = 128
Height = 22
Hint = 'Clear'
Top = 450
Top = 460
Width = 23
BorderSpacing.Left = 4
Color = clBtnFace
@ -694,7 +693,7 @@ object frmMain: TfrmMain
Left = 101
Height = 22
Hint = 'Delete'
Top = 450
Top = 460
Width = 23
Anchors = [akLeft, akBottom]
BorderSpacing.Bottom = 4
@ -746,7 +745,7 @@ object frmMain: TfrmMain
Left = 74
Height = 22
Hint = 'Add'
Top = 450
Top = 460
Width = 23
Anchors = [akTop, akRight]
BorderSpacing.Right = 4
@ -800,9 +799,9 @@ object frmMain: TfrmMain
AnchorSideBottom.Control = btnDeleteLocation
Cursor = 63
Left = 4
Height = 428
Height = 438
Top = 18
Width = 210
Width = 208
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 4
BorderStyle = bsSingle
@ -817,7 +816,7 @@ object frmMain: TfrmMain
item
Position = 1
Text = 'Name'
Width = 131
Width = 129
end>
Header.DefaultHeight = 17
Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoVisible]
@ -1012,7 +1011,7 @@ object frmMain: TfrmMain
AnchorSideBottom.Control = spChat
Left = 224
Height = 22
Top = 413
Top = 416
Width = 542
Anchors = [akLeft, akRight, akBottom]
BevelInner = bvRaised
@ -1025,7 +1024,7 @@ object frmMain: TfrmMain
Left = 10
Height = 18
Top = 2
Width = 104
Width = 101
Align = alLeft
BorderSpacing.Left = 8
Caption = 'Chat and Messages'
@ -1046,7 +1045,7 @@ object frmMain: TfrmMain
AnchorSideBottom.Control = pnlBottom
Left = 224
Height = 109
Top = 440
Top = 443
Width = 542
Anchors = [akTop, akLeft, akRight, akBottom]
BevelOuter = bvNone
@ -1057,7 +1056,7 @@ object frmMain: TfrmMain
object vstChat: TVirtualStringTree
Cursor = 63
Left = 0
Height = 90
Height = 86
Top = 0
Width = 542
Align = alClient
@ -1095,8 +1094,8 @@ object frmMain: TfrmMain
end
object edChat: TEdit
Left = 0
Height = 19
Top = 90
Height = 23
Top = 86
Width = 542
Align = alBottom
OnKeyPress = edChatKeyPress
@ -1111,7 +1110,7 @@ object frmMain: TfrmMain
Cursor = crVSplit
Left = 224
Height = 5
Top = 435
Top = 438
Width = 542
Align = alNone
Anchors = [akLeft, akRight, akBottom]
@ -1128,7 +1127,7 @@ object frmMain: TfrmMain
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = pnlChatHeader
Left = 224
Height = 389
Height = 392
Top = 24
Width = 542
Anchors = [akTop, akLeft, akRight, akBottom]

View File

@ -886,8 +886,6 @@ end;
procedure TfrmMain.acVirtualLayerExecute(Sender: TObject);
begin
frmVirtualLayer.Left := Mouse.CursorPos.x - 8;
frmVirtualLayer.Top := Mouse.CursorPos.y - 8;
frmVirtualLayer.Show;
end;
@ -896,8 +894,6 @@ begin
acDraw.Checked := True;
tbDrawTile.Down := True;
mnuDraw.Checked := True;
frmDrawSettings.Left := Mouse.CursorPos.x - 8;
frmDrawSettings.Top := Mouse.CursorPos.y - 8;
frmDrawSettings.ShowModal;
ProcessToolState;
end;
@ -912,8 +908,6 @@ end;
procedure TfrmMain.acBoundariesExecute(Sender: TObject);
begin
frmBoundaries.Left := Mouse.CursorPos.x - 8;
frmBoundaries.Top := Mouse.CursorPos.y - 8;
frmBoundaries.Show;
end;
@ -923,8 +917,6 @@ begin
tbElevateTile.Down := True;
mnuElevate.Checked := True;
ProcessToolState;
frmElevateSettings.Left := Mouse.CursorPos.x - 8;
frmElevateSettings.Top := Mouse.CursorPos.y - 8;
frmElevateSettings.Show;
end;
@ -951,8 +943,6 @@ begin
tbSetHue.Down := True;
mnuSetHue.Checked := True;
ProcessToolState;
frmHueSettings.Left := Mouse.CursorPos.x - 8;
frmHueSettings.Top := Mouse.CursorPos.y - 8;
frmHueSettings.Show;
end;
@ -962,8 +952,6 @@ begin
tbMoveTile.Down := True;
mnuMove.Checked := True;
ProcessToolState;
frmMoveSettings.Left := Mouse.CursorPos.x - 8;
frmMoveSettings.Top := Mouse.CursorPos.y - 8;
frmMoveSettings.Show;
end;
@ -2573,8 +2561,6 @@ function TfrmMain.ConfirmAction: Boolean;
begin
if acMove.Checked and frmMoveSettings.cbAsk.Checked then
begin
frmMoveSettings.Left := Mouse.CursorPos.x - 8;
frmMoveSettings.Top := Mouse.CursorPos.y - 8;
Result := frmMoveSettings.ShowModal = mrYes;
end else
begin
@ -2582,6 +2568,7 @@ begin
frmConfirmation.Top := Mouse.CursorPos.y - frmConfirmation.btnYes.Top - frmConfirmation.btnYes.Height div 2;
Result := frmConfirmation.ShowModal = mrYes;
end;
if not oglGameWindow.MouseEntered then
oglGameWindowMouseLeave(nil);
end;

View File

@ -1,64 +1,69 @@
object frmTileInfo: TfrmTileInfo
Left = 290
Height = 107
Top = 171
Width = 250
HorzScrollBar.Page = 249
VertScrollBar.Page = 106
AutoSize = True
BorderIcons = []
BorderStyle = bsNone
Caption = 'Tile info'
ClientHeight = 107
ClientWidth = 250
Color = clInfoBk
Constraints.MinWidth = 250
Font.Color = clInfoText
FormStyle = fsStayOnTop
OnShow = FormShow
object lblTileID: TLabel
Left = 8
Height = 17
Top = 27
Width = 234
Align = alTop
BorderSpacing.Left = 8
BorderSpacing.Top = 2
BorderSpacing.Right = 8
BorderSpacing.Bottom = 8
Font.Color = clInfoText
Font.Style = [fsItalic]
ParentColor = False
end
object lblFlags: TLabel
Left = 8
Height = 47
Top = 52
Width = 234
Align = alTop
BorderSpacing.Around = 8
Font.Color = clInfoText
ParentColor = False
WordWrap = True
end
object lblName: TLabel
Left = 8
Height = 17
Top = 8
Width = 234
Align = alTop
BorderSpacing.Left = 8
BorderSpacing.Top = 8
BorderSpacing.Right = 8
BorderSpacing.Bottom = 2
Font.Style = [fsBold]
ParentColor = False
end
object tmHide: TTimer
Enabled = False
Interval = 5000
OnTimer = tmHideTimer
left = 216
top = 8
end
end
object frmTileInfo: TfrmTileInfo
Left = 290
Height = 59
Top = 171
Width = 250
HorzScrollBar.Page = 249
VertScrollBar.Page = 106
AutoSize = True
BorderIcons = []
BorderStyle = bsNone
Caption = 'Tile info'
ClientHeight = 59
ClientWidth = 250
Color = clInfoBk
Constraints.MinWidth = 250
Font.Color = clInfoText
FormStyle = fsStayOnTop
OnShow = FormShow
ShowInTaskBar = stNever
LCLVersion = '0.9.29'
object lblTileID: TLabel
Left = 8
Height = 16
Top = 26
Width = 234
Align = alTop
BorderSpacing.Left = 8
BorderSpacing.Top = 2
BorderSpacing.Right = 8
BorderSpacing.Bottom = 8
Font.Color = clInfoText
Font.Style = [fsItalic]
ParentColor = False
ParentFont = False
end
object lblFlags: TLabel
Left = 8
Height = 1
Top = 50
Width = 234
Align = alTop
BorderSpacing.Around = 8
Font.Color = clInfoText
ParentColor = False
ParentFont = False
WordWrap = True
end
object lblName: TLabel
Left = 8
Height = 16
Top = 8
Width = 234
Align = alTop
BorderSpacing.Left = 8
BorderSpacing.Top = 8
BorderSpacing.Right = 8
BorderSpacing.Bottom = 2
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
end
object tmHide: TTimer
Enabled = False
Interval = 5000
OnTimer = tmHideTimer
left = 216
top = 8
end
end

View File

@ -1,186 +1,186 @@
(*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at
* http://www.opensource.org/licenses/cddl1.php.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at
* http://www.opensource.org/licenses/cddl1.php. If applicable,
* add the following below this CDDL HEADER, with the fields enclosed
* by brackets "[]" replaced with your own identifying * information:
* Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*
*
* Portions Copyright 2007 Andreas Schneider
*)
unit UfrmTileInfo;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
ExtCtrls, LCLIntf, LCLType, LMessages, strutils;
type
{ TfrmTileInfo }
TfrmTileInfo = class(TForm)
lblName: TLabel;
lblFlags: TLabel;
lblTileID: TLabel;
tmHide: TTimer;
procedure FormShow(Sender: TObject);
procedure tmHideTimer(Sender: TObject);
private
{ private declarations }
public
procedure Update(ATileID: Word);
//procedure Show; overload; reintroduce;
procedure Show(ATileID: Word); overload;
end;
var
frmTileInfo: TfrmTileInfo;
implementation
uses
UGameResources, UTiledata;
{ TfrmTileInfo }
procedure TfrmTileInfo.tmHideTimer(Sender: TObject);
begin
tmHide.Enabled := False;
Hide;
end;
procedure TfrmTileInfo.FormShow(Sender: TObject);
begin
tmHide.Enabled := True;
Left := Mouse.CursorPos.x + 8;
Top := Mouse.CursorPos.y + 8;
end;
procedure TfrmTileInfo.Update(ATileID: Word);
var
tileData: TTiledata;
prefix, flags: string;
procedure UpdateFlags(AFlag: LongWord; AName: string);
begin
if tileData.HasFlag(AFlag) then
begin
if flags <> '' then
flags := flags + ', ' + AName
else
flags := AName;
end;
end;
begin
if Visible then
begin
Left := Mouse.CursorPos.x + 8;
Top := Mouse.CursorPos.y + 8;
end;
flags := '';
if ATileID < $4000 then
begin
tileData := ResMan.Tiledata.LandTiles[ATileID];
if TLandTiledata(tileData).TextureID > 0 then
flags := 'Stretchable';
end else
begin
Dec(ATileID, $4000);
tileData := ResMan.Tiledata.StaticTiles[ATileID];
end;
if tileData.HasFlag(tdfArticleA) then
prefix := 'a '
else if tileData.HasFlag(tdfArticleAn) then
prefix := 'an '
else
prefix := '';
lblName.Caption := AnsiProperCase(Format('%s%s', [prefix, tileData.TileName]), [' ']);
lblTileID.Caption := Format('Tile ID: $%x (%0:d)', [ATileID]);
UpdateFlags(tdfBackground, 'Background');
UpdateFlags(tdfWeapon, 'Weapon');
UpdateFlags(tdfTransparent, 'Transparent');
UpdateFlags(tdfTranslucent, 'Translucent');
UpdateFlags(tdfWall, 'Wall');
UpdateFlags(tdfDamaging, 'Damaging');
UpdateFlags(tdfImpassable, 'Impassable');
UpdateFlags(tdfWet, 'Wet');
UpdateFlags(tdfSurface, 'Surface');
UpdateFlags(tdfBridge, 'Bridge');
UpdateFlags(tdfGeneric, 'Generic');
UpdateFlags(tdfWindow, 'Window');
UpdateFlags(tdfNoShoot, 'NoShoot');
UpdateFlags(tdfInternal, 'Internal');
UpdateFlags(tdfFoliage, 'Foliage');
UpdateFlags(tdfPartialHue, 'PartialHue');
UpdateFlags(tdfMap, 'Map');
UpdateFlags(tdfContainer, 'Container');
UpdateFlags(tdfWearable, 'Wearable');
UpdateFlags(tdfLightSource, 'Lightsource');
UpdateFlags(tdfAnimation, 'Animation');
UpdateFlags(tdfNoDiagonal, 'NoDiagonal');
UpdateFlags(tdfArmor, 'Armor');
UpdateFlags(tdfRoof, 'Roof');
UpdateFlags(tdfDoor, 'Door');
UpdateFlags(tdfStairBack, 'StairBack');
UpdateFlags(tdfStairRight, 'StairRight');
lblFlags.Caption := Format('Flags = [%s]', [flags]);
if tmHide.Enabled then
begin
tmHide.Enabled := False;
tmHide.Enabled := True; //Refresh timer
end;
end;
{procedure TfrmTileInfo.Show;
begin
ShowWindow(Handle, SW_SHOWNOACTIVATE);
Include(FormState, fsVisible);
VisibleChanging;
try
Perform(CM_VISIBLECHANGED, WParam(Ord(True)), 0);
AdjustSize;
RequestAlign;
finally
VisibleChanged;
end;
//FormShow(Self);
end;}
procedure TfrmTileInfo.Show(ATileID: Word);
begin
Update(ATileID);
Show;
end;
initialization
{$I UfrmTileInfo.lrs}
end.
(*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at
* http://www.opensource.org/licenses/cddl1.php.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at
* http://www.opensource.org/licenses/cddl1.php. If applicable,
* add the following below this CDDL HEADER, with the fields enclosed
* by brackets "[]" replaced with your own identifying * information:
* Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*
*
* Portions Copyright 2007 Andreas Schneider
*)
unit UfrmTileInfo;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
ExtCtrls, LCLIntf, LCLType, LMessages, strutils;
type
{ TfrmTileInfo }
TfrmTileInfo = class(TForm)
lblName: TLabel;
lblFlags: TLabel;
lblTileID: TLabel;
tmHide: TTimer;
procedure FormShow(Sender: TObject);
procedure tmHideTimer(Sender: TObject);
private
{ private declarations }
public
procedure Update(ATileID: Word);
//procedure Show; overload; reintroduce;
procedure Show(ATileID: Word); overload;
end;
var
frmTileInfo: TfrmTileInfo;
implementation
uses
UGameResources, UTiledata;
{ TfrmTileInfo }
procedure TfrmTileInfo.tmHideTimer(Sender: TObject);
begin
tmHide.Enabled := False;
Hide;
end;
procedure TfrmTileInfo.FormShow(Sender: TObject);
begin
tmHide.Enabled := True;
Left := Mouse.CursorPos.x + 8;
Top := Mouse.CursorPos.y + 8;
end;
procedure TfrmTileInfo.Update(ATileID: Word);
var
tileData: TTiledata;
prefix, flags: string;
procedure UpdateFlags(AFlag: LongWord; AName: string);
begin
if tileData.HasFlag(AFlag) then
begin
if flags <> '' then
flags := flags + ', ' + AName
else
flags := AName;
end;
end;
begin
if Visible then
begin
Left := Mouse.CursorPos.x + 8;
Top := Mouse.CursorPos.y + 8;
end;
flags := '';
if ATileID < $4000 then
begin
tileData := ResMan.Tiledata.LandTiles[ATileID];
if TLandTiledata(tileData).TextureID > 0 then
flags := 'Stretchable';
end else
begin
Dec(ATileID, $4000);
tileData := ResMan.Tiledata.StaticTiles[ATileID];
end;
if tileData.HasFlag(tdfArticleA) then
prefix := 'a '
else if tileData.HasFlag(tdfArticleAn) then
prefix := 'an '
else
prefix := '';
lblName.Caption := AnsiProperCase(Format('%s%s', [prefix, tileData.TileName]), [' ']);
lblTileID.Caption := Format('Tile ID: $%x (%0:d)', [ATileID]);
UpdateFlags(tdfBackground, 'Background');
UpdateFlags(tdfWeapon, 'Weapon');
UpdateFlags(tdfTransparent, 'Transparent');
UpdateFlags(tdfTranslucent, 'Translucent');
UpdateFlags(tdfWall, 'Wall');
UpdateFlags(tdfDamaging, 'Damaging');
UpdateFlags(tdfImpassable, 'Impassable');
UpdateFlags(tdfWet, 'Wet');
UpdateFlags(tdfSurface, 'Surface');
UpdateFlags(tdfBridge, 'Bridge');
UpdateFlags(tdfGeneric, 'Generic');
UpdateFlags(tdfWindow, 'Window');
UpdateFlags(tdfNoShoot, 'NoShoot');
UpdateFlags(tdfInternal, 'Internal');
UpdateFlags(tdfFoliage, 'Foliage');
UpdateFlags(tdfPartialHue, 'PartialHue');
UpdateFlags(tdfMap, 'Map');
UpdateFlags(tdfContainer, 'Container');
UpdateFlags(tdfWearable, 'Wearable');
UpdateFlags(tdfLightSource, 'Lightsource');
UpdateFlags(tdfAnimation, 'Animation');
UpdateFlags(tdfNoDiagonal, 'NoDiagonal');
UpdateFlags(tdfArmor, 'Armor');
UpdateFlags(tdfRoof, 'Roof');
UpdateFlags(tdfDoor, 'Door');
UpdateFlags(tdfStairBack, 'StairBack');
UpdateFlags(tdfStairRight, 'StairRight');
lblFlags.Caption := Format('Flags = [%s]', [flags]);
if tmHide.Enabled then
begin
tmHide.Enabled := False;
tmHide.Enabled := True; //Refresh timer
end;
end;
{procedure TfrmTileInfo.Show;
begin
ShowWindow(Handle, SW_SHOWNOACTIVATE);
Include(FormState, fsVisible);
VisibleChanging;
try
Perform(CM_VISIBLECHANGED, WParam(Ord(True)), 0);
AdjustSize;
RequestAlign;
finally
VisibleChanged;
end;
//FormShow(Self);
end;}
procedure TfrmTileInfo.Show(ATileID: Word);
begin
Update(ATileID);
Show;
end;
initialization
{$I UfrmTileInfo.lrs}
end.