- 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:
2009-09-02 03:21:39 +02:00
parent d769c7ddc3
commit b9ef61c0db
21 changed files with 1687 additions and 1700 deletions
+9 -7
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/
+8 -8
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}
+2 -2
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"
+79 -84
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
+5 -26
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}
+120 -134
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
+105 -138
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.
+92 -120
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
+5 -30
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}
+59 -48
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
+3 -28
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
+481 -439
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
+147 -152
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.
+21
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
+103
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.
+56 -61
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
+70 -92
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.
+66 -67
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]
+1 -14
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;
+69 -64
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
+186 -186
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.