- Added UfrmToolWindow

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -21,7 +21,7 @@
* CDDL HEADER END * CDDL HEADER END
* *
* *
* Portions Copyright 2007 Andreas Schneider * Portions Copyright 2009 Andreas Schneider
*) *)
unit UfrmDrawSettings; unit UfrmDrawSettings;
@ -31,32 +31,25 @@ interface
uses uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
Spin, ExtCtrls, LMessages, LCLIntf; Spin, ExtCtrls, LMessages, UfrmToolWindow;
type type
{ TfrmDrawSettings } { TfrmDrawSettings }
TfrmDrawSettings = class(TForm) TfrmDrawSettings = class(TfrmToolWindow)
cbForceAltitude: TCheckBox; cbForceAltitude: TCheckBox;
cbRandomHeight: TCheckBox; cbRandomHeight: TCheckBox;
gbHue: TGroupBox; gbHue: TGroupBox;
Panel1: TPanel;
Panel2: TPanel;
pbHue: TPaintBox; pbHue: TPaintBox;
rbRandom: TRadioButton; rbRandom: TRadioButton;
rbTileList: TRadioButton; rbTileList: TRadioButton;
seForceAltitude: TSpinEdit; seForceAltitude: TSpinEdit;
seRandomHeight: TSpinEdit; seRandomHeight: TSpinEdit;
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormDeactivate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure pbHueClick(Sender: TObject); procedure pbHueClick(Sender: TObject);
procedure pbHuePaint(Sender: TObject); procedure pbHuePaint(Sender: TObject);
procedure seForceAltitudeChange(Sender: TObject); procedure seForceAltitudeChange(Sender: TObject);
procedure seRandomHeightChange(Sender: TObject); procedure seRandomHeightChange(Sender: TObject);
protected
procedure MouseLeave(var msg: TLMessage); message CM_MouseLeave;
public public
{ public declarations } { public declarations }
end; end;
@ -71,24 +64,6 @@ uses
{ TfrmDrawSettings } { 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); procedure TfrmDrawSettings.pbHueClick(Sender: TObject);
var var
msg: TLMessage; msg: TLMessage;
@ -125,15 +100,7 @@ begin
cbRandomHeight.Checked := True; cbRandomHeight.Checked := True;
end; end;
procedure TfrmDrawSettings.MouseLeave(var msg: TLMessage); //TODO : canclose ---> hue settings
begin
try
if (not frmHueSettings.Visible) and (not PtInRect(ClientRect, ScreenToClient(Mouse.CursorPos))) then
Close;
except
Close;
end;
end;
initialization initialization
{$I UfrmDrawSettings.lrs} {$I UfrmDrawSettings.lrs}

View File

@ -1,120 +1,92 @@
object frmElevateSettings: TfrmElevateSettings inherited frmElevateSettings: TfrmElevateSettings
Left = 290 Left = 290
Height = 115 Height = 114
Top = 171 Top = 171
Width = 231 Width = 250
HorzScrollBar.Page = 230
HorzScrollBar.Range = 122
VertScrollBar.Page = 114
VertScrollBar.Range = 59
ActiveControl = rbRaise
AutoScroll = False
BorderIcons = []
BorderStyle = bsToolWindow
Caption = 'Elevate' Caption = 'Elevate'
ClientHeight = 115 ClientHeight = 114
ClientWidth = 231 ClientWidth = 250
Font.Height = -11 object rbRaise: TRadioButton[0]
OnClose = FormClose AnchorSideLeft.Control = Owner
OnDeactivate = FormDeactivate AnchorSideTop.Control = Owner
LCLVersion = '0.9.25'
object Panel1: TPanel
Left = 8 Left = 8
Height = 67 Height = 19
Top = 8 Top = 8
Width = 215 Width = 47
Align = alTop BorderSpacing.Left = 8
BorderSpacing.Around = 8 BorderSpacing.Top = 8
BevelOuter = bvNone Caption = 'Raise'
ClientHeight = 67 Checked = True
ClientWidth = 215 State = cbChecked
TabOrder = 0 TabOrder = 2
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 end
object Panel4: TPanel object rbLower: TRadioButton[1]
AnchorSideLeft.Control = rbRaise
AnchorSideTop.Control = rbRaise
AnchorSideTop.Side = asrBottom
Left = 8 Left = 8
Height = 23 Height = 19
Top = 83 Top = 27
Width = 215 Width = 52
Align = alTop Caption = 'Lower'
BorderSpacing.Around = 8 TabOrder = 0
BevelOuter = bvNone TabStop = False
ClientHeight = 23 end
ClientWidth = 215 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 TabOrder = 1
object cbRandomHeight: TCheckBox TabStop = False
Height = 23 end
Width = 168 object cbRandomHeight: TCheckBox[3]
Align = alClient AnchorSideLeft.Control = rbSet
Caption = 'Add Random Altitude' AnchorSideTop.Control = rbSet
ParentFont = True AnchorSideTop.Side = asrBottom
TabOrder = 0 Left = 8
end Height = 19
object seRandomHeight: TSpinEdit Top = 81
Left = 168 Width = 135
Height = 23 BorderSpacing.Top = 16
Width = 47 Caption = 'Add Random Altitude'
Align = alRight TabOrder = 3
OnChange = seRandomHeightChange end
ParentFont = True object seRandomHeight: TSpinEdit[4]
TabOrder = 1 AnchorSideLeft.Control = seZ
end 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
end end

View File

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

View File

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

View File

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

View File

@ -1,44 +1,51 @@
object frmMoveSettings: TfrmMoveSettings inherited frmMoveSettings: TfrmMoveSettings
Left = 290 Left = 290
Height = 113 Height = 120
Top = 171 Top = 171
Width = 236 Width = 232
ActiveControl = cbAsk ActiveControl = cbAsk
BorderIcons = [] AutoSize = True
BorderStyle = bsToolWindow
Caption = 'Move settings' Caption = 'Move settings'
ClientHeight = 113 ClientHeight = 120
ClientWidth = 236 ClientWidth = 232
Font.Height = -11 object cbAsk: TCheckBox[0]
FormStyle = fsStayOnTop AnchorSideLeft.Control = gbDirection
OnClose = FormClose AnchorSideLeft.Side = asrBottom
OnDeactivate = FormDeactivate AnchorSideTop.Control = gbDirection
OnShow = FormShow Left = 121
LCLVersion = '0.9.25' Height = 19
object cbAsk: TCheckBox Top = 20
Left = 128 Width = 94
Height = 21 BorderSpacing.Left = 8
Top = 16 BorderSpacing.Top = 16
Width = 102 BorderSpacing.Right = 8
Caption = 'Ask each time' Caption = 'Ask each time'
Checked = True Checked = True
ParentFont = True
State = cbChecked State = cbChecked
TabOrder = 0 TabOrder = 0
end end
object gbDirection: TGroupBox object gbDirection: TGroupBox[1]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
Left = 8 Left = 8
Height = 96 Height = 108
Top = 8 Top = 4
Width = 105 Width = 105
ClientHeight = 92 AutoSize = True
BorderSpacing.Left = 4
BorderSpacing.Bottom = 4
BorderSpacing.Around = 4
ClientHeight = 90
ClientWidth = 101 ClientWidth = 101
ParentFont = True
TabOrder = 1 TabOrder = 1
object btnTopLeft: TSpeedButton object btnTopLeft: TSpeedButton
Left = 6 AnchorSideLeft.Control = gbDirection
AnchorSideTop.Control = gbDirection
Left = 8
Height = 22 Height = 22
Top = 0
Width = 23 Width = 23
BorderSpacing.Left = 8
Color = clBtnFace Color = clBtnFace
Down = True Down = True
Glyph.Data = { Glyph.Data = {
@ -80,12 +87,16 @@ object frmMoveSettings: TfrmMoveSettings
GroupIndex = 1 GroupIndex = 1
NumGlyphs = 0 NumGlyphs = 0
OnClick = btnTopLeftClick OnClick = btnTopLeftClick
ParentFont = True
end end
object btnTop: TSpeedButton object btnTop: TSpeedButton
Left = 38 AnchorSideLeft.Control = btnTopLeft
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = gbDirection
Left = 39
Height = 22 Height = 22
Top = 0
Width = 23 Width = 23
BorderSpacing.Left = 8
Color = clBtnFace Color = clBtnFace
Glyph.Data = { Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100 36040000424D3604000000000000360000002800000010000000100000000100
@ -126,12 +137,16 @@ object frmMoveSettings: TfrmMoveSettings
GroupIndex = 1 GroupIndex = 1
NumGlyphs = 0 NumGlyphs = 0
OnClick = btnTopLeftClick OnClick = btnTopLeftClick
ParentFont = True
end end
object btnTopRight: TSpeedButton object btnTopRight: TSpeedButton
AnchorSideLeft.Control = btnTop
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = gbDirection
Left = 70 Left = 70
Height = 22 Height = 22
Top = 0
Width = 23 Width = 23
BorderSpacing.Left = 8
Color = clBtnFace Color = clBtnFace
Glyph.Data = { Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100 36040000424D3604000000000000360000002800000010000000100000000100
@ -172,13 +187,17 @@ object frmMoveSettings: TfrmMoveSettings
GroupIndex = 1 GroupIndex = 1
NumGlyphs = 0 NumGlyphs = 0
OnClick = btnTopLeftClick OnClick = btnTopLeftClick
ParentFont = True
end end
object btnRight: TSpeedButton object btnRight: TSpeedButton
AnchorSideLeft.Control = btnTopRight
AnchorSideTop.Control = btnTopRight
AnchorSideTop.Side = asrBottom
Left = 70 Left = 70
Height = 22 Height = 22
Top = 32 Top = 30
Width = 23 Width = 23
BorderSpacing.Top = 8
BorderSpacing.Right = 8
Color = clBtnFace Color = clBtnFace
Glyph.Data = { Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100 36040000424D3604000000000000360000002800000010000000100000000100
@ -219,13 +238,16 @@ object frmMoveSettings: TfrmMoveSettings
GroupIndex = 1 GroupIndex = 1
NumGlyphs = 0 NumGlyphs = 0
OnClick = btnTopLeftClick OnClick = btnTopLeftClick
ParentFont = True
end end
object btnBottomRight: TSpeedButton object btnBottomRight: TSpeedButton
AnchorSideLeft.Control = btnRight
AnchorSideTop.Control = btnRight
AnchorSideTop.Side = asrBottom
Left = 70 Left = 70
Height = 22 Height = 22
Top = 64 Top = 60
Width = 23 Width = 23
BorderSpacing.Top = 8
Color = clBtnFace Color = clBtnFace
Glyph.Data = { Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100 36040000424D3604000000000000360000002800000010000000100000000100
@ -266,13 +288,17 @@ object frmMoveSettings: TfrmMoveSettings
GroupIndex = 1 GroupIndex = 1
NumGlyphs = 0 NumGlyphs = 0
OnClick = btnTopLeftClick OnClick = btnTopLeftClick
ParentFont = True
end end
object btnBottom: TSpeedButton object btnBottom: TSpeedButton
Left = 38 AnchorSideLeft.Control = btnBottomLeft
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = btnBottomLeft
Left = 39
Height = 22 Height = 22
Top = 64 Top = 60
Width = 23 Width = 23
BorderSpacing.Left = 8
BorderSpacing.Bottom = 8
Color = clBtnFace Color = clBtnFace
Glyph.Data = { Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100 36040000424D3604000000000000360000002800000010000000100000000100
@ -313,13 +339,16 @@ object frmMoveSettings: TfrmMoveSettings
GroupIndex = 1 GroupIndex = 1
NumGlyphs = 0 NumGlyphs = 0
OnClick = btnTopLeftClick OnClick = btnTopLeftClick
ParentFont = True
end end
object btnBottomLeft: TSpeedButton object btnBottomLeft: TSpeedButton
Left = 6 AnchorSideLeft.Control = btnLeft
AnchorSideTop.Control = btnLeft
AnchorSideTop.Side = asrBottom
Left = 8
Height = 22 Height = 22
Top = 64 Top = 60
Width = 23 Width = 23
BorderSpacing.Top = 8
Color = clBtnFace Color = clBtnFace
Glyph.Data = { Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100 36040000424D3604000000000000360000002800000010000000100000000100
@ -360,13 +389,16 @@ object frmMoveSettings: TfrmMoveSettings
GroupIndex = 1 GroupIndex = 1
NumGlyphs = 0 NumGlyphs = 0
OnClick = btnTopLeftClick OnClick = btnTopLeftClick
ParentFont = True
end end
object btnLeft: TSpeedButton object btnLeft: TSpeedButton
Left = 6 AnchorSideLeft.Control = btnTopLeft
AnchorSideTop.Control = btnTop
AnchorSideTop.Side = asrBottom
Left = 8
Height = 22 Height = 22
Top = 32 Top = 30
Width = 23 Width = 23
BorderSpacing.Top = 8
Color = clBtnFace Color = clBtnFace
Glyph.Data = { Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100 36040000424D3604000000000000360000002800000010000000100000000100
@ -407,33 +439,43 @@ object frmMoveSettings: TfrmMoveSettings
GroupIndex = 1 GroupIndex = 1
NumGlyphs = 0 NumGlyphs = 0
OnClick = btnTopLeftClick OnClick = btnTopLeftClick
ParentFont = True
end end
object seOffset: TSpinEdit object seOffset: TSpinEdit
AnchorSideLeft.Control = btnTop
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = btnTop
AnchorSideTop.Side = asrBottom
Left = 33 Left = 33
Height = 23 Height = 25
Hint = 'Offset' Hint = 'Offset'
Top = 32 Top = 30
Width = 34 Width = 34
BorderSpacing.Top = 8
MaxValue = 8 MaxValue = 8
MinValue = 1 MinValue = 1
ParentFont = True
ParentShowHint = False ParentShowHint = False
ShowHint = True ShowHint = True
TabOrder = 0 TabOrder = 0
Value = 1 Value = 1
end end
end end
object btnCancel: TButton object btnCancel: TButton[2]
Left = 128 AnchorSideLeft.Control = gbDirection
AnchorSideLeft.Side = asrBottom
AnchorSideBottom.Control = gbDirection
AnchorSideBottom.Side = asrBottom
Left = 121
Height = 25 Height = 25
Top = 80 Top = 83
Width = 103 Width = 103
Anchors = [akLeft, akBottom]
BorderSpacing.Left = 8
BorderSpacing.Right = 8
BorderSpacing.Bottom = 4
BorderSpacing.InnerBorder = 4 BorderSpacing.InnerBorder = 4
Cancel = True Cancel = True
Caption = 'Cancel' Caption = 'Cancel'
ModalResult = 2 ModalResult = 2
ParentFont = True
TabOrder = 2 TabOrder = 2
end end
end end

View File

@ -21,7 +21,7 @@
* CDDL HEADER END * CDDL HEADER END
* *
* *
* Portions Copyright 2007 Andreas Schneider * Portions Copyright 2009 Andreas Schneider
*) *)
unit UfrmMoveSettings; unit UfrmMoveSettings;
@ -31,13 +31,13 @@ interface
uses uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
Buttons, Spin, LMessages, LCLIntf, math; Buttons, Spin, ExtCtrls, Math, UfrmToolWindow;
type type
{ TfrmMoveSettings } { TfrmMoveSettings }
TfrmMoveSettings = class(TForm) TfrmMoveSettings = class(TfrmToolWindow)
btnCancel: TButton; btnCancel: TButton;
cbAsk: TCheckBox; cbAsk: TCheckBox;
gbDirection: TGroupBox; gbDirection: TGroupBox;
@ -51,11 +51,10 @@ type
btnLeft: TSpeedButton; btnLeft: TSpeedButton;
seOffset: TSpinEdit; seOffset: TSpinEdit;
procedure btnTopLeftClick(Sender: TObject); procedure btnTopLeftClick(Sender: TObject);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); procedure FormDeactivate(Sender: TObject); override;
procedure FormDeactivate(Sender: TObject); procedure FormShow(Sender: TObject); override;
procedure FormShow(Sender: TObject);
protected protected
procedure MouseLeave(var msg: TLMessage); message CM_MouseLeave; function CanClose: Boolean; override;
public public
function GetOffsetX: Integer; function GetOffsetX: Integer;
function GetOffsetY: Integer; function GetOffsetY: Integer;
@ -71,15 +70,10 @@ uses
{ TfrmMoveSettings } { TfrmMoveSettings }
procedure TfrmMoveSettings.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
CloseAction := caHide;
end;
procedure TfrmMoveSettings.FormDeactivate(Sender: TObject); procedure TfrmMoveSettings.FormDeactivate(Sender: TObject);
begin begin
if not (fsModal in FormState) then if not (fsModal in FormState) then
Close; inherited FormDeactivate(Sender);
end; end;
procedure TfrmMoveSettings.FormShow(Sender: TObject); procedure TfrmMoveSettings.FormShow(Sender: TObject);
@ -87,13 +81,14 @@ begin
btnCancel.Visible := (fsModal in FormState); btnCancel.Visible := (fsModal in FormState);
if dmNetwork.AccessLevel = alAdministrator then if dmNetwork.AccessLevel = alAdministrator then
seOffset.MaxValue := Max(frmMain.Landscape.CellWidth, frmMain.Landscape.CellHeight); seOffset.MaxValue := Max(frmMain.Landscape.CellWidth, frmMain.Landscape.CellHeight);
inherited FormShow(Sender);
end; end;
procedure TfrmMoveSettings.MouseLeave(var msg: TLMessage); function TfrmMoveSettings.CanClose: Boolean;
begin begin
if Visible and (not (fsModal in FormState)) and Result := Visible and (not (fsModal in FormState)) and
(not PtInRect(ClientRect, ScreenToClient(Mouse.CursorPos))) then inherited CanClose;
Close;
end; end;
function TfrmMoveSettings.GetOffsetX: Integer; function TfrmMoveSettings.GetOffsetX: Integer;

View File

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

View File

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

View File

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

View File

@ -21,7 +21,7 @@
* CDDL HEADER END * CDDL HEADER END
* *
* *
* Portions Copyright 2007 Andreas Schneider * Portions Copyright 2009 Andreas Schneider
*) *)
unit UfrmVirtualLayer; unit UfrmVirtualLayer;
@ -30,24 +30,19 @@ unit UfrmVirtualLayer;
interface interface
uses uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, LCLIntf, Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
LMessages, StdCtrls, Spin, ComCtrls, ExtCtrls; Spin, ComCtrls, ExtCtrls, UfrmToolWindow;
type type
{ TfrmVirtualLayer } { TfrmVirtualLayer }
TfrmVirtualLayer = class(TForm) TfrmVirtualLayer = class(TfrmToolWindow)
cbShowLayer: TCheckBox; cbShowLayer: TCheckBox;
Panel1: TPanel;
seZ: TSpinEdit; seZ: TSpinEdit;
tbZ: TTrackBar; tbZ: TTrackBar;
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormDeactivate(Sender: TObject);
procedure seZChange(Sender: TObject); procedure seZChange(Sender: TObject);
procedure tbZChange(Sender: TObject); procedure tbZChange(Sender: TObject);
protected
procedure MouseLeave(var msg: TLMessage); message CM_MouseLeave;
public public
{ public declarations } { public declarations }
end; end;
@ -59,17 +54,6 @@ implementation
{ TfrmVirtualLayer } { 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); procedure TfrmVirtualLayer.seZChange(Sender: TObject);
begin begin
tbZ.Position := seZ.Value; tbZ.Position := seZ.Value;
@ -80,12 +64,6 @@ begin
seZ.Value := tbZ.Position; seZ.Value := tbZ.Position;
end; end;
procedure TfrmVirtualLayer.MouseLeave(var msg: TLMessage);
begin
if not PtInRect(ClientRect, ScreenToClient(Mouse.CursorPos)) then
Close;
end;
initialization initialization
{$I UfrmVirtualLayer.lrs} {$I UfrmVirtualLayer.lrs}

View File

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

View File

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

View File

@ -1,6 +1,6 @@
object frmTileInfo: TfrmTileInfo object frmTileInfo: TfrmTileInfo
Left = 290 Left = 290
Height = 107 Height = 59
Top = 171 Top = 171
Width = 250 Width = 250
HorzScrollBar.Page = 249 HorzScrollBar.Page = 249
@ -9,17 +9,19 @@ object frmTileInfo: TfrmTileInfo
BorderIcons = [] BorderIcons = []
BorderStyle = bsNone BorderStyle = bsNone
Caption = 'Tile info' Caption = 'Tile info'
ClientHeight = 107 ClientHeight = 59
ClientWidth = 250 ClientWidth = 250
Color = clInfoBk Color = clInfoBk
Constraints.MinWidth = 250 Constraints.MinWidth = 250
Font.Color = clInfoText Font.Color = clInfoText
FormStyle = fsStayOnTop FormStyle = fsStayOnTop
OnShow = FormShow OnShow = FormShow
ShowInTaskBar = stNever
LCLVersion = '0.9.29'
object lblTileID: TLabel object lblTileID: TLabel
Left = 8 Left = 8
Height = 17 Height = 16
Top = 27 Top = 26
Width = 234 Width = 234
Align = alTop Align = alTop
BorderSpacing.Left = 8 BorderSpacing.Left = 8
@ -29,21 +31,23 @@ object frmTileInfo: TfrmTileInfo
Font.Color = clInfoText Font.Color = clInfoText
Font.Style = [fsItalic] Font.Style = [fsItalic]
ParentColor = False ParentColor = False
ParentFont = False
end end
object lblFlags: TLabel object lblFlags: TLabel
Left = 8 Left = 8
Height = 47 Height = 1
Top = 52 Top = 50
Width = 234 Width = 234
Align = alTop Align = alTop
BorderSpacing.Around = 8 BorderSpacing.Around = 8
Font.Color = clInfoText Font.Color = clInfoText
ParentColor = False ParentColor = False
ParentFont = False
WordWrap = True WordWrap = True
end end
object lblName: TLabel object lblName: TLabel
Left = 8 Left = 8
Height = 17 Height = 16
Top = 8 Top = 8
Width = 234 Width = 234
Align = alTop Align = alTop
@ -53,6 +57,7 @@ object frmTileInfo: TfrmTileInfo
BorderSpacing.Bottom = 2 BorderSpacing.Bottom = 2
Font.Style = [fsBold] Font.Style = [fsBold]
ParentColor = False ParentColor = False
ParentFont = False
end end
object tmHide: TTimer object tmHide: TTimer
Enabled = False Enabled = False