diff --git a/Client/Tools/UfrmBoundaries.lfm b/Client/Tools/UfrmBoundaries.lfm index 3c2230d..41d70ff 100644 --- a/Client/Tools/UfrmBoundaries.lfm +++ b/Client/Tools/UfrmBoundaries.lfm @@ -1,116 +1,114 @@ -object frmBoundaries: TfrmBoundaries - Left = 290 - Height = 154 - Top = 171 - Width = 212 - ActiveControl = tbMinZ - BorderIcons = [] - BorderStyle = bsToolWindow - Caption = 'Boundaries' - ClientHeight = 154 - ClientWidth = 212 - Font.Height = -11 - OnClose = FormClose - OnDeactivate = FormDeactivate - LCLVersion = '0.9.25' - object tbMinZ: TTrackBar - Left = 8 - Height = 34 - Top = 39 - Width = 196 - Frequency = 10 - Max = 127 - Min = -128 - OnChange = tbMinZChange - PageSize = 1 - Position = -128 - ScalePos = trTop - Align = alTop - BorderSpacing.Around = 8 - TabOrder = 0 - end - object tbMaxZ: TTrackBar - Left = 8 - Height = 34 - Top = 112 - Width = 196 - Frequency = 10 - Max = 127 - Min = -128 - OnChange = tbMaxZChange - PageSize = 1 - Position = 127 - ScalePos = trTop - Align = alTop - 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 - ParentFont = True - TabOrder = 2 - object lblMinZ: TLabel - Height = 23 - Width = 148 - Align = alClient - Caption = 'Minimum Z:' - Layout = tlCenter - ParentColor = False - ParentFont = True - end - object seMinZ: TSpinEdit - Left = 148 - Height = 23 - Width = 48 - Align = alRight - MaxValue = 127 - MinValue = -128 - OnChange = seMinZChange - ParentFont = True - TabOrder = 0 - Value = -128 - end - end - object Panel2: TPanel - Left = 8 - Height = 23 - Top = 81 - Width = 196 - Align = alTop - BorderSpacing.Around = 8 - BevelOuter = bvNone - ClientHeight = 23 - ClientWidth = 196 - ParentFont = True - TabOrder = 3 - object lblMaxZ: TLabel - Height = 23 - Width = 148 - Align = alClient - Caption = 'Maximum Z:' - Layout = tlCenter - ParentColor = False - ParentFont = True - end - object seMaxZ: TSpinEdit - Left = 148 - Height = 23 - Width = 48 - Align = alRight - MaxValue = 127 - MinValue = -128 - OnChange = seMaxZChange - ParentFont = True - TabOrder = 0 - Value = 127 - end - end -end +object frmBoundaries: TfrmBoundaries + Left = 290 + Height = 154 + Top = 171 + Width = 212 + ActiveControl = Panel1 + BorderIcons = [] + BorderStyle = bsToolWindow + Caption = 'Boundaries' + ClientHeight = 154 + ClientWidth = 212 + Font.Height = -11 + OnClose = FormClose + OnDeactivate = FormDeactivate + LCLVersion = '0.9.27' + object tbMinZ: TTrackBar + Left = 8 + Height = 36 + Top = 39 + Width = 196 + Frequency = 10 + Max = 127 + Min = -128 + OnChange = tbMinZChange + PageSize = 1 + Position = -128 + Align = alTop + BorderSpacing.Around = 8 + TabOrder = 0 + end + object tbMaxZ: TTrackBar + Left = 8 + Height = 36 + Top = 114 + Width = 196 + Frequency = 10 + Max = 127 + Min = -128 + OnChange = tbMaxZChange + PageSize = 1 + Position = 127 + Align = alTop + 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 + 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 + end + object Panel2: TPanel + Left = 8 + Height = 23 + Top = 83 + Width = 196 + Align = alTop + BorderSpacing.Around = 8 + BevelOuter = bvNone + ClientHeight = 23 + ClientWidth = 196 + 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 + end +end diff --git a/Client/Tools/UfrmBoundaries.pas b/Client/Tools/UfrmBoundaries.pas index d471fee..65a7cb0 100644 --- a/Client/Tools/UfrmBoundaries.pas +++ b/Client/Tools/UfrmBoundaries.pas @@ -1,109 +1,112 @@ -(* - * 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 UfrmBoundaries; - -{$mode objfpc}{$H+} - -interface - -uses - Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, LMessages, - LCLIntf, StdCtrls, ComCtrls, Spin, ExtCtrls; - -type - - { TfrmBoundaries } - +(* + * 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 UfrmBoundaries; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, LMessages, + LCLIntf, StdCtrls, ComCtrls, Spin, ExtCtrls; + +type + + { TfrmBoundaries } + TfrmBoundaries = class(TForm) 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; - -var - frmBoundaries: TfrmBoundaries; - -implementation - -{ 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; -end; - -procedure TfrmBoundaries.seMinZChange(Sender: TObject); -begin - tbMinZ.Position := seMinZ.Value; -end; - -procedure TfrmBoundaries.tbMaxZChange(Sender: TObject); -begin - seMaxZ.Value := tbMaxZ.Position; -end; - -procedure TfrmBoundaries.tbMinZChange(Sender: TObject); -begin - seMinZ.Value := tbMinZ.Position; -end; - -procedure TfrmBoundaries.MouseLeave(var msg: TLMessage); -begin - if not PtInRect(ClientRect, ScreenToClient(Mouse.CursorPos)) then - Close; -end; - -initialization - {$I UfrmBoundaries.lrs} - -end. - + 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; + +var + frmBoundaries: TfrmBoundaries; + +implementation + +uses + UfrmMain; + +{ 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; +end; + +procedure TfrmBoundaries.seMinZChange(Sender: TObject); +begin + tbMinZ.Position := seMinZ.Value; +end; + +procedure TfrmBoundaries.tbMaxZChange(Sender: TObject); +begin + seMaxZ.Value := tbMaxZ.Position; +end; + +procedure TfrmBoundaries.tbMinZChange(Sender: TObject); +begin + seMinZ.Value := tbMinZ.Position; +end; + +procedure TfrmBoundaries.MouseLeave(var msg: TLMessage); +begin + if not PtInRect(ClientRect, ScreenToClient(Mouse.CursorPos)) then + Close; +end; + +initialization + {$I UfrmBoundaries.lrs} + +end. + diff --git a/Client/Tools/UfrmFilter.lfm b/Client/Tools/UfrmFilter.lfm index f1c7aa7..3caf6b1 100644 --- a/Client/Tools/UfrmFilter.lfm +++ b/Client/Tools/UfrmFilter.lfm @@ -2,13 +2,13 @@ object frmFilter: TfrmFilter Left = 290 Height = 492 Top = 171 - Width = 236 + Width = 232 ActiveControl = rgFilterType.RadioButton0 BorderIcons = [biSystemMenu, biMinimize] BorderStyle = bsToolWindow Caption = 'Filter' ClientHeight = 492 - ClientWidth = 236 + ClientWidth = 232 Font.Height = -11 OnCreate = FormCreate OnDestroy = FormDestroy @@ -18,7 +18,7 @@ object frmFilter: TfrmFilter Left = 4 Height = 40 Top = 4 - Width = 228 + Width = 224 Align = alTop AutoFill = True BorderSpacing.Around = 4 @@ -32,7 +32,7 @@ object frmFilter: TfrmFilter ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.ControlsPerLine = 2 ClientHeight = 26 - ClientWidth = 226 + ClientWidth = 222 Columns = 2 ItemIndex = 0 Items.Strings = ( @@ -45,32 +45,151 @@ object frmFilter: TfrmFilter Left = 4 Height = 259 Top = 48 - Width = 228 + Width = 224 Align = alClient BorderSpacing.Around = 4 Caption = 'Tile filter' ClientHeight = 245 - ClientWidth = 226 + ClientWidth = 222 TabOrder = 1 object Label1: TLabel + AnchorSideLeft.Control = GroupBox1 + AnchorSideTop.Control = cbTileFilter + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = GroupBox1 + AnchorSideRight.Side = asrBottom Left = 4 Height = 30 Top = 30 - Width = 218 - Align = alTop + Width = 214 + Anchors = [akTop, akLeft, akRight] BorderSpacing.Around = 4 Caption = 'Drag and Drop static tiles from the tile list on this list to add them to the filter.' ParentColor = False WordWrap = True end + object btnClear: TSpeedButton + AnchorSideLeft.Control = btnDelete + AnchorSideLeft.Side = asrBottom + AnchorSideRight.Control = GroupBox1 + AnchorSideRight.Side = asrCenter + AnchorSideBottom.Control = btnDelete + AnchorSideBottom.Side = asrBottom + Left = 30 + Height = 22 + Hint = 'Clear' + Top = 219 + Width = 22 + Anchors = [akLeft, akBottom] + Color = clBtnFace + Glyph.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 20000000000000040000640000006400000000000000000000003ADCFE004800 + 3A00FEFF4800FCFF1C00FCFF1C0080FF9C00003BD700AF9AFF00002CC600FDEB + 9B000000000000000000000000000000000000000000000000000EECFF00B2FC + FF000046C00078D0FF000000F1FF0000F1FF0000F1FF0000F1FF0000EFFF0000 + EFFF0000EDFF0000EDFFCBF3FC008905000024AEEF00E4A81C000000DB00B29E + FF0088000D000000F5FF1A20F5FF3C4CF9FF3A49F8FF3847F8FF3545F8FF3443 + F7FF3242F7FF141BF1FF0000EDFFFCFF1C00FCFF1C0080FF9C0004000000FFBC + 00000000F7FF1D23F9FF4453FAFF2429F9FF1212F7FF0F0FF6FF0C0CF5FF0909 + F5FF161BF5FF3343F7FF141BF1FF0000EDFFE4FF5C000050FF004C0000000000 + F9FF1F25FAFF4A58FBFF4247FBFFC9C9FDFF3B3BF9FF1313F7FF1010F6FF3333 + F7FFC5C5FDFF3035F7FF3444F7FF141BF2FF0000EDFF000008000052FF000000 + FBFF4F5DFDFF3237FBFFCBCBFEFFF2F2FFFFEBEBFEFF3B3BF9FF3939F8FFEAEA + FEFFF1F1FEFFC5C5FDFF181DF6FF3343F7FF0000EFFF0000CC0088005B000000 + FDFF525FFDFF2828FCFF4747FCFFECECFFFFF2F2FFFFECECFFFFECECFEFFF1F1 + FFFFEAEAFEFF3434F7FF0B0BF5FF3545F8FF0000EFFF00B8FF00E3FFA8000000 + FDFF5562FEFF2C2CFDFF2929FCFF4848FCFFEDEDFFFFF2F2FFFFF2F2FFFFECEC + FEFF3A3AF9FF1212F7FF0F0FF6FF3848F8FF0000F1FF08009000FCFF72000000 + FDFF5764FEFF3030FDFF2D2DFDFF4B4BFCFFEDEDFFFFF2F2FFFFF2F2FFFFECEC + FFFF3D3DF9FF1616F8FF1313F7FF3C4BF8FF0000F1FF02000000E4FF5C000000 + FFFF5A67FEFF3333FEFF5050FDFFEDEDFFFFF3F3FFFFEDEDFFFFEDEDFFFFF2F2 + FFFFECECFEFF3E3EFAFF1717F8FF3F4EF9FF0000F1FFFCFF1C00000000000000 + FFFF5B68FFFF4347FEFFCFCFFFFFF3F3FFFFEDEDFFFF4C4CFCFF4A4AFCFFECEC + FFFFF2F2FFFFCACAFEFF2A2FFAFF4251FAFF0000F3FF00000000CCFF4C000000 + FFFF262BFFFF5D6AFFFF585BFFFFCFCFFFFF5252FEFF2F2FFDFF2C2CFDFF4B4B + FCFFCCCCFEFF484CFBFF4957FBFF1D23F9FF0000F5FF00000000000000000000 + 00000000FFFF262BFFFF5D6AFFFF4347FFFF3434FEFF3232FEFF3030FDFF2D2D + FDFF383CFCFF4F5DFCFF1F25FAFF0000F7FF0000000000000000000000000000 + 0000000000000000FFFF262BFFFF5C69FFFF5B68FFFF5A67FEFF5865FEFF5663 + FEFF5461FEFF2227FCFF0000FBFFFCFF1C00000000000000000008000000EFEF + EF00EFEFEF00EFEFEF000000FFFF0000FFFF0000FFFF0000FFFF0000FDFF0000 + FDFF0000FDFF0000FDFF000000000000000000000000000000009034DE009034 + DE00D86FDF00D86FDF00E0A223004AC6080000000000580000005870DF000C70 + DF000000000000000000000000002070DF000000000000000000 + } + NumGlyphs = 0 + OnClick = btnClearClick + ShowHint = True + ParentShowHint = False + end + object btnDelete: TSpeedButton + AnchorSideLeft.Control = GroupBox1 + AnchorSideBottom.Control = GroupBox1 + AnchorSideBottom.Side = asrBottom + Left = 4 + Height = 22 + Hint = 'Delete' + Top = 219 + Width = 22 + Anchors = [akLeft, akBottom] + BorderSpacing.Around = 4 + Color = clBtnFace + Glyph.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 20000000000000040000640000006400000000000000000000004F91AB005588 + 9C0043718A004E6974003E4B4C00457796003E6A950037556C005C7E8800548B + A00031464100FFFFFF002B3238002D3B430074B9C8007FC4D5004788A7004A92 + B500435E6F002E3040002E3538003D5E7B003853BEFF3551BDFF304BBCFF2E4E + B8FF303B3600FFFFFF00313637002C2D2B00588997007BC3D400365F8400396E + 9A003B6282003A5564004255C6FF3C52CCFF757AE8FF8F92EEFF8F92EEFF7178 + E4FF334DC1FF2B4AB7FFFFFFFF0036423900486B710061B4CE00396F9600375C + 83004085B1004959CBFF5C65E0FFA1A6F5FF7E86EFFF5B63E9FF595DE7FF7D84 + EEFF9EA0F4FF515DD7FF2B4AB7FFFFFFFF00354C4C004D94AF00375D7F003348 + 5C005361CFFF616BE3FFA1ACF5FF545FECFF505CEAFF4D59E9FF4E59E6FF4C56 + E6FF5056E6FF9EA2F4FF5460D6FF2A4AB8FFFFFFFF004A90A6003B5864003D5B + 6A004B56DBFFA2ABF6FF5664F0FF5266EEFF4D59E9FF4D59E9FF4D59E9FF4D59 + E9FF4C58E6FF525AE6FF9FA3F5FF3450C4FF57929C00498BA40047676D005C62 + D7FF818CEEFF7E91F7FF5D73F3FF4D59E9FF4D59E9FF4D59E9FF4D59E9FF4D59 + E9FF4D59E9FF4F5BE9FF7B83F0FF757BE2FF2E4BBAFF54839500FFFFFF005F63 + DAFFA1ABF7FF7086F8FF6882F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF4D59E9FF5C66EAFF969CF1FF3250BCFF6FA2AF00000000006469 + DBFFAFB9F9FF7F93FAFF7085F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF4D59E9FF5E6AEEFF969DF1FF364FBEFF58B2E00000000000676A + DEFFA5AFF5FF9DABFAFF778CF0FF545FECFF545FECFF545FECFF545FECFF545F + ECFF545FECFF6377F2FF818EF4FF787FE9FF3A53C0FF000000000800000000E8 + 1D007D83EAFFCDD4FCFF8B9DFAFF7E93F7FF758AEEFF6C84F6FF6C84F6FF6C84 + F6FF6C84F6FF6379F3FFA4AFF8FF3E4FD0FF000000000000000001000100DB12 + C0006A69E0FFA3A7F3FFD4DBFDFF879AFAFF7F91F0FF7A8EF1FF7F94F8FF7E92 + F9FF768CF8FFA8B6F8FF636EE3FF4557C7FF00000000000000002401AD00BA02 + AE002301AE006A69E0FFAAADF2FFD8DCFDFFAEBAFAFF91A3FAFF8B9DFAFF9CA9 + FBFFBAC7FCFF707BE9FF4C5BCCFFBB02F00000010000D8000000000000000000 + 000008000000010008006A6ADFFF8E93EDFFBEC3F8FFCCD3F9FFC4CBF9FFAAB4 + F4FF6670E2FF535ED1FF5031DE005031DE002501AC00B902AD000D040400F804 + 0500F20005000A0106000C040500F8040600686ADDFF6364DCFF6164DAFF5D63 + D9FFF2000700F804610000000000710900005031DE005031DE004034DE004034 + DE0068B0E00068B0E0000E049300F8049500F2009500070102000F049500F804 + 0200F2000200080104000E040200F8040400F200040009010500 + } + NumGlyphs = 0 + OnClick = btnDeleteClick + ShowHint = True + ParentShowHint = False + end object vdtFilter: TVirtualDrawTree Tag = 1 + AnchorSideLeft.Control = GroupBox1 + AnchorSideTop.Control = Label1 + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = GroupBox1 + AnchorSideRight.Side = asrBottom + AnchorSideBottom.Control = btnDelete Cursor = 63 Left = 4 Height = 151 Top = 64 - Width = 218 - Align = alClient + Width = 214 + Anchors = [akTop, akLeft, akRight, akBottom] BorderSpacing.Around = 4 BorderStyle = bsSingle DefaultNodeHeight = 44 @@ -102,143 +221,34 @@ object frmFilter: TfrmFilter OnDragDrop = vdtFilterDragDrop OnDrawNode = vdtFilterDrawNode end - object pnlControls: TPanel - Left = 4 - Height = 22 - Top = 219 - Width = 218 - Align = alBottom - BorderSpacing.Around = 4 - BevelOuter = bvNone - ClientHeight = 22 - ClientWidth = 218 - TabOrder = 1 - object btnDelete: TSpeedButton - Left = 84 - Height = 22 - Hint = 'Delete' - Top = 0 - Width = 23 - Color = clBtnFace - Glyph.Data = { - 36040000424D3604000000000000360000002800000010000000100000000100 - 20000000000000040000640000006400000000000000000000004F91AB005588 - 9C0043718A004E6974003E4B4C00457796003E6A950037556C005C7E8800548B - A00031464100FFFFFF002B3238002D3B430074B9C8007FC4D5004788A7004A92 - B500435E6F002E3040002E3538003D5E7B003853BEFF3551BDFF304BBCFF2E4E - B8FF303B3600FFFFFF00313637002C2D2B00588997007BC3D400365F8400396E - 9A003B6282003A5564004255C6FF3C52CCFF757AE8FF8F92EEFF8F92EEFF7178 - E4FF334DC1FF2B4AB7FFFFFFFF0036423900486B710061B4CE00396F9600375C - 83004085B1004959CBFF5C65E0FFA1A6F5FF7E86EFFF5B63E9FF595DE7FF7D84 - EEFF9EA0F4FF515DD7FF2B4AB7FFFFFFFF00354C4C004D94AF00375D7F003348 - 5C005361CFFF616BE3FFA1ACF5FF545FECFF505CEAFF4D59E9FF4E59E6FF4C56 - E6FF5056E6FF9EA2F4FF5460D6FF2A4AB8FFFFFFFF004A90A6003B5864003D5B - 6A004B56DBFFA2ABF6FF5664F0FF5266EEFF4D59E9FF4D59E9FF4D59E9FF4D59 - E9FF4C58E6FF525AE6FF9FA3F5FF3450C4FF57929C00498BA40047676D005C62 - D7FF818CEEFF7E91F7FF5D73F3FF4D59E9FF4D59E9FF4D59E9FF4D59E9FF4D59 - E9FF4D59E9FF4F5BE9FF7B83F0FF757BE2FF2E4BBAFF54839500FFFFFF005F63 - DAFFA1ABF7FF7086F8FF6882F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFF4D59E9FF5C66EAFF969CF1FF3250BCFF6FA2AF00000000006469 - DBFFAFB9F9FF7F93FAFF7085F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFF4D59E9FF5E6AEEFF969DF1FF364FBEFF58B2E00000000000676A - DEFFA5AFF5FF9DABFAFF778CF0FF545FECFF545FECFF545FECFF545FECFF545F - ECFF545FECFF6377F2FF818EF4FF787FE9FF3A53C0FF000000000800000000E8 - 1D007D83EAFFCDD4FCFF8B9DFAFF7E93F7FF758AEEFF6C84F6FF6C84F6FF6C84 - F6FF6C84F6FF6379F3FFA4AFF8FF3E4FD0FF000000000000000001000100DB12 - C0006A69E0FFA3A7F3FFD4DBFDFF879AFAFF7F91F0FF7A8EF1FF7F94F8FF7E92 - F9FF768CF8FFA8B6F8FF636EE3FF4557C7FF00000000000000002401AD00BA02 - AE002301AE006A69E0FFAAADF2FFD8DCFDFFAEBAFAFF91A3FAFF8B9DFAFF9CA9 - FBFFBAC7FCFF707BE9FF4C5BCCFFBB02F00000010000D8000000000000000000 - 000008000000010008006A6ADFFF8E93EDFFBEC3F8FFCCD3F9FFC4CBF9FFAAB4 - F4FF6670E2FF535ED1FF5031DE005031DE002501AC00B902AD000D040400F804 - 0500F20005000A0106000C040500F8040600686ADDFF6364DCFF6164DAFF5D63 - D9FFF2000700F804610000000000710900005031DE005031DE004034DE004034 - DE0068B0E00068B0E0000E049300F8049500F2009500070102000F049500F804 - 0200F2000200080104000E040200F8040400F200040009010500 - } - NumGlyphs = 0 - OnClick = btnDeleteClick - ShowHint = True - ParentShowHint = False - end - object btnClear: TSpeedButton - Left = 108 - Height = 22 - Hint = 'Clear' - Top = 0 - Width = 23 - Color = clBtnFace - Glyph.Data = { - 36040000424D3604000000000000360000002800000010000000100000000100 - 20000000000000040000640000006400000000000000000000003ADCFE004800 - 3A00FEFF4800FCFF1C00FCFF1C0080FF9C00003BD700AF9AFF00002CC600FDEB - 9B000000000000000000000000000000000000000000000000000EECFF00B2FC - FF000046C00078D0FF000000F1FF0000F1FF0000F1FF0000F1FF0000EFFF0000 - EFFF0000EDFF0000EDFFCBF3FC008905000024AEEF00E4A81C000000DB00B29E - FF0088000D000000F5FF1A20F5FF3C4CF9FF3A49F8FF3847F8FF3545F8FF3443 - F7FF3242F7FF141BF1FF0000EDFFFCFF1C00FCFF1C0080FF9C0004000000FFBC - 00000000F7FF1D23F9FF4453FAFF2429F9FF1212F7FF0F0FF6FF0C0CF5FF0909 - F5FF161BF5FF3343F7FF141BF1FF0000EDFFE4FF5C000050FF004C0000000000 - F9FF1F25FAFF4A58FBFF4247FBFFC9C9FDFF3B3BF9FF1313F7FF1010F6FF3333 - F7FFC5C5FDFF3035F7FF3444F7FF141BF2FF0000EDFF000008000052FF000000 - FBFF4F5DFDFF3237FBFFCBCBFEFFF2F2FFFFEBEBFEFF3B3BF9FF3939F8FFEAEA - FEFFF1F1FEFFC5C5FDFF181DF6FF3343F7FF0000EFFF0000CC0088005B000000 - FDFF525FFDFF2828FCFF4747FCFFECECFFFFF2F2FFFFECECFFFFECECFEFFF1F1 - FFFFEAEAFEFF3434F7FF0B0BF5FF3545F8FF0000EFFF00B8FF00E3FFA8000000 - FDFF5562FEFF2C2CFDFF2929FCFF4848FCFFEDEDFFFFF2F2FFFFF2F2FFFFECEC - FEFF3A3AF9FF1212F7FF0F0FF6FF3848F8FF0000F1FF08009000FCFF72000000 - FDFF5764FEFF3030FDFF2D2DFDFF4B4BFCFFEDEDFFFFF2F2FFFFF2F2FFFFECEC - FFFF3D3DF9FF1616F8FF1313F7FF3C4BF8FF0000F1FF02000000E4FF5C000000 - FFFF5A67FEFF3333FEFF5050FDFFEDEDFFFFF3F3FFFFEDEDFFFFEDEDFFFFF2F2 - FFFFECECFEFF3E3EFAFF1717F8FF3F4EF9FF0000F1FFFCFF1C00000000000000 - FFFF5B68FFFF4347FEFFCFCFFFFFF3F3FFFFEDEDFFFF4C4CFCFF4A4AFCFFECEC - FFFFF2F2FFFFCACAFEFF2A2FFAFF4251FAFF0000F3FF00000000CCFF4C000000 - FFFF262BFFFF5D6AFFFF585BFFFFCFCFFFFF5252FEFF2F2FFDFF2C2CFDFF4B4B - FCFFCCCCFEFF484CFBFF4957FBFF1D23F9FF0000F5FF00000000000000000000 - 00000000FFFF262BFFFF5D6AFFFF4347FFFF3434FEFF3232FEFF3030FDFF2D2D - FDFF383CFCFF4F5DFCFF1F25FAFF0000F7FF0000000000000000000000000000 - 0000000000000000FFFF262BFFFF5C69FFFF5B68FFFF5A67FEFF5865FEFF5663 - FEFF5461FEFF2227FCFF0000FBFFFCFF1C00000000000000000008000000EFEF - EF00EFEFEF00EFEFEF000000FFFF0000FFFF0000FFFF0000FFFF0000FDFF0000 - FDFF0000FDFF0000FDFF000000000000000000000000000000009034DE009034 - DE00D86FDF00D86FDF00E0A223004AC6080000000000580000005870DF000C70 - DF000000000000000000000000002070DF000000000000000000 - } - NumGlyphs = 0 - OnClick = btnClearClick - ShowHint = True - ParentShowHint = False - end - end object cbTileFilter: TCheckBox + AnchorSideLeft.Control = GroupBox1 + AnchorSideTop.Control = GroupBox1 Left = 4 Height = 22 Top = 4 - Width = 218 - Align = alTop + Width = 85 BorderSpacing.Around = 4 Caption = 'Filter active' - Checked = True - State = cbChecked - TabOrder = 2 + TabOrder = 1 end end object GroupBox2: TGroupBox Left = 4 Height = 168 Top = 320 - Width = 228 + Width = 224 Align = alBottom BorderSpacing.Around = 4 Caption = 'Hue filter' ClientHeight = 154 - ClientWidth = 226 + ClientWidth = 222 TabOrder = 2 object cbHueFilter: TCheckBox Left = 4 Height = 22 Top = 4 - Width = 218 + Width = 214 Align = alTop BorderSpacing.Around = 4 Caption = 'Filter active' @@ -249,7 +259,7 @@ object frmFilter: TfrmFilter Left = 4 Height = 120 Top = 30 - Width = 218 + Width = 214 Align = alClient BorderSpacing.Around = 4 BorderStyle = bsSingle @@ -267,7 +277,7 @@ object frmFilter: TfrmFilter item Position = 2 Text = 'Name' - Width = 158 + Width = 154 end> Header.DefaultHeight = 17 Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoVisible] @@ -287,7 +297,7 @@ object frmFilter: TfrmFilter Left = 0 Height = 5 Top = 311 - Width = 236 + Width = 232 Align = alBottom ResizeAnchor = akBottom end diff --git a/Client/Tools/UfrmFilter.pas b/Client/Tools/UfrmFilter.pas index f6ac5c5..f062056 100644 --- a/Client/Tools/UfrmFilter.pas +++ b/Client/Tools/UfrmFilter.pas @@ -21,7 +21,7 @@ * CDDL HEADER END * * - * Portions Copyright 2007 Andreas Schneider + * Portions Copyright 2009 Andreas Schneider *) unit UfrmFilter; @@ -51,7 +51,6 @@ type Label1: TLabel; mnuUncheckHues: TMenuItem; mnuCheckHues: TMenuItem; - pnlControls: TPanel; pnlRandomPreset: TPanel; pmHues: TPopupMenu; rgFilterType: TRadioGroup; @@ -114,8 +113,8 @@ begin upperLeft := frmMain.pcLeft.ClientToScreen(Point(frmMain.pcLeft.Width, 0)); lowerLeft := frmMain.pcLeft.ClientToScreen(Point(frmMain.pcLeft.Width, frmMain.pcLeft.Height)); - Left := upperLeft.x; - Top := upperLeft.y; + Left := upperLeft.x - 4; + Top := upperLeft.y - 4; Height := lowerLeft.y - upperLeft.y; SetWindowParent(Handle, frmMain.Handle); @@ -160,6 +159,7 @@ begin node := Sender.AddChild(nil); targetTileInfo := Sender.GetNodeData(node); targetTileInfo^.ID := sourceTileInfo^.ID; + cbTileFilter.Checked := True; end; selected := sourceTree.GetNextSelected(selected); end; @@ -190,6 +190,7 @@ var begin hueInfo := Sender.GetNodeData(Node); FCheckedHues.Bits[hueInfo^.ID] := (Sender.CheckState[node] = csCheckedNormal); + cbHueFilter.Checked := True; end; procedure TfrmFilter.vdtHuesDrawNode(Sender: TBaseVirtualTree; diff --git a/Client/UfrmMain.lfm b/Client/UfrmMain.lfm index 99d130b..057ecd6 100644 --- a/Client/UfrmMain.lfm +++ b/Client/UfrmMain.lfm @@ -148,6 +148,7 @@ object frmMain: TfrmMain BorderSpacing.Right = 4 DefaultNodeHeight = 44 DragMode = dmAutomatic + DragOperations = [] DragType = dtVCL Header.AutoSizeIndex = 2 Header.Columns = < @@ -175,7 +176,7 @@ object frmMain: TfrmMain TreeOptions.AutoOptions = [toAutoScroll, toAutoScrollOnExpand, toAutoTristateTracking, toAutoDeleteMovedNodes] TreeOptions.MiscOptions = [toFullRepaintOnResize, toInitOnSave, toToggleOnDblClick, toWheelPanning, toFullRowDrag] TreeOptions.PaintOptions = [toShowButtons, toShowDropmark, toThemeAware, toUseBlendedImages, toStaticBackground] - TreeOptions.SelectionOptions = [toFullRowSelect, toMultiSelect, toCenterScrollIntoView] + TreeOptions.SelectionOptions = [toFullRowSelect, toMultiSelect] OnClick = vdtTilesClick OnDrawNode = vdtTilesDrawNode OnEnter = vdtTilesEnter