- Added UI for random Hue (refs #66)

This commit is contained in:
Andreas Schneider 2011-03-12 17:11:46 +01:00
parent a309caa235
commit 6317841c9c
4 changed files with 458 additions and 82 deletions

View File

@ -20,9 +20,6 @@
<BuildNr Value="209"/>
<StringTable CompanyName="AKS DataBasis" FileDescription="UO CentrED" InternalName="CentrED" LegalCopyright="Andreas Schneider" OriginalFilename="CentrED.exe" ProductName="CentrED" ProductVersion=""/>
</VersionInfo>
<MacroValues Count="1">
<Macro1 Name="LCLWidgetType" Value="gtk2"/>
</MacroValues>
<BuildModes Count="3">
<Item1 Name="default" Default="True"/>
<Item2 Name="Release Win32">
@ -133,25 +130,29 @@
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<RequiredPackages Count="5">
<RequiredPackages Count="6">
<Item1>
<PackageName Value="multiloglaz"/>
<PackageName Value="LCLBase"/>
<MinVersion Major="1" Release="1" Valid="True"/>
</Item1>
<Item2>
<PackageName Value="LazOpenGLContext"/>
<MinVersion Valid="True"/>
<PackageName Value="multiloglaz"/>
</Item2>
<Item3>
<PackageName Value="LCL"/>
<PackageName Value="LazOpenGLContext"/>
<MinVersion Valid="True"/>
</Item3>
<Item4>
<PackageName Value="lnetvisual"/>
<MinVersion Minor="5" Release="3" Valid="True"/>
<PackageName Value="LCL"/>
</Item4>
<Item5>
<PackageName Value="lnetvisual"/>
<MinVersion Minor="5" Release="3" Valid="True"/>
</Item5>
<Item6>
<PackageName Value="virtualtreeview_package"/>
<MinVersion Major="4" Minor="5" Release="1" Valid="True"/>
</Item5>
</Item6>
</RequiredPackages>
<Units Count="46">
<Unit0>
@ -452,6 +453,11 @@
<UseLineInfoUnit Value="False"/>
<GenerateDwarf Value="True"/>
</Debugging>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CompilerMessages>
@ -463,4 +469,4 @@
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
</CONFIG>
</CONFIG>

View File

@ -1,11 +1,13 @@
inherited frmHueSettings: TfrmHueSettings
Left = 290
Height = 209
Height = 426
Top = 171
Width = 217
Width = 225
AutoSize = True
Caption = 'Hue Settings'
ClientHeight = 209
ClientWidth = 217
ClientHeight = 426
ClientWidth = 225
Constraints.MinWidth = 225
OnCreate = FormCreate
object lblHue: TLabel[0]
AnchorSideLeft.Control = Owner
@ -13,7 +15,7 @@ inherited frmHueSettings: TfrmHueSettings
AnchorSideTop.Side = asrCenter
Left = 8
Height = 16
Top = 12
Top = 11
Width = 26
BorderSpacing.Left = 8
Caption = 'Hue:'
@ -24,7 +26,7 @@ inherited frmHueSettings: TfrmHueSettings
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Owner
Left = 42
Height = 25
Height = 23
Top = 8
Width = 80
BorderSpacing.Left = 8
@ -41,18 +43,347 @@ inherited frmHueSettings: TfrmHueSettings
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 8
Height = 160
Top = 41
Width = 201
Anchors = [akTop, akLeft, akRight, akBottom]
Height = 139
Top = 39
Width = 209
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 8
Font.Height = 14
ItemHeight = 16
OnDrawItem = lbHueDrawItem
OnSelectionChange = lbHueSelectionChange
ParentFont = False
Style = lbOwnerDrawFixed
TabOrder = 1
end
inherited tmClose: TTimer[3]
object gbRandom: TGroupBox[3]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = lbHue
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Side = asrBottom
Left = 8
Height = 183
Top = 186
Width = 209
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 8
BorderSpacing.Top = 4
BorderSpacing.Right = 8
BorderSpacing.Bottom = 8
Caption = 'Random pool'
ClientHeight = 165
ClientWidth = 205
TabOrder = 2
Visible = False
object btnAddRandom: TSpeedButton
AnchorSideLeft.Control = gbRandom
AnchorSideTop.Control = gbRandom
Left = 4
Height = 22
Hint = 'Add'
Top = 0
Width = 23
BorderSpacing.Left = 4
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000003A8C44FF368940FF32873CFF2F84
37FF000000000000000000000000000000000000000000000000000000000000
00000000000000000000459653FF419950FF7DC28FFF96D0A6FF96CFA6FF78BE
89FF368D42FF2C8134FF00000000000000000000000000000000000000000000
0000000000004D9C5DFF64B478FFA8DBB5FF87CC98FF66BC7DFF64BA7CFF86CB
98FFA5D9B4FF58AA6BFF2C8134FF000000000000000000000000000000000000
000056A366FF6AB97DFFA8DBB2FF60BC77FF5CBA73FF59B870FF59B56FFF58B5
6FFF5BB774FFA5D9B3FF5AAA6CFF2C8234FF0000000000000000000000000000
000053AB68FFAADDB4FF64C179FF5FBE71FF60BC77FFFFFFFFFFFFFFFFFF59B8
70FF58B56EFF5CB774FFA6DAB4FF388F43FF00000000000000000000000061AC
75FF8ACC98FF89D396FF6BC67AFF63C170FF55AB65FFFFFFFFFFFFFFFFFF59B8
70FF59B870FF5BB972FF85CC97FF7BBE8DFF308539FF000000000000000065AF
7AFFA9DDB3FF7DCF8AFF75CC81FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF59B870FF67BE7DFF9CD4ABFF34883DFF000000000000000069B2
7EFFB6E2BEFF8BD597FF7AC986FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF59B870FF69C17EFF9DD4AAFF388B42FF00000000000000006DB5
83FFACDDB6FFA6DFAFFF81CB8CFF7CC986FF6EBD79FFFFFFFFFFFFFFFFFF5BAC
6AFF60BC77FF5CBA73FF8BD199FF80C592FF3C8E47FF00000000000000000000
000085C797FFD2EED7FF95D9A0FF8AD394FF7FC889FFFFFFFFFFFFFFFFFF79CD
85FF6BC37CFF6FC77EFFACDFB5FF459E57FF0000000000000000000000000000
000070B887FFAADAB7FFD8F1DCFF92D89DFF88CD93FF84CC8EFF8BD496FF8AD4
95FF83D28EFFAFE0B7FF6BB97DFF489856FF0000000000000000000000000000
00000000000070B887FFAFDCBBFFDCF2E0FFB6E4BDFF9BDBA5FF96D9A0FFA5DF
AFFFC0E8C5FF79C28AFF509E5FFF000000000000000000000000000000000000
0000000000000000000071B887FF94CEA4FFC3E6CBFFCFEBD4FFC9E9CEFFAFDD
B8FF6DB97FFF58A569FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000006EB684FF6AB380FF67B17CFF63AE
77FF000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
NumGlyphs = 0
OnClick = btnAddRandomClick
ShowHint = True
ParentShowHint = False
end
object btnDeleteRandom: TSpeedButton
AnchorSideLeft.Control = btnAddRandom
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = btnAddRandom
Left = 31
Height = 22
Hint = 'Delete'
Top = 0
Width = 23
BorderSpacing.Left = 4
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000003853BEFF3551BDFF304BBCFF2E4E
B8FF000000000000000000000000000000000000000000000000000000000000
000000000000000000004255C6FF3C52CCFF757AE8FF8F92EEFF8F92EEFF7178
E4FF334DC1FF2B4AB7FF00000000000000000000000000000000000000000000
0000000000004959CBFF5C65E0FFA1A6F5FF7E86EFFF5B63E9FF595DE7FF7D84
EEFF9EA0F4FF515DD7FF2B4AB7FF000000000000000000000000000000000000
00005361CFFF616BE3FFA1ACF5FF545FECFF505CEAFF4D59E9FF4E59E6FF4C56
E6FF5056E6FF9EA2F4FF5460D6FF2A4AB8FF0000000000000000000000000000
00004B56DBFFA2ABF6FF5664F0FF5266EEFF4D59E9FF4D59E9FF4D59E9FF4D59
E9FF4C58E6FF525AE6FF9FA3F5FF3450C4FF0000000000000000000000005C62
D7FF818CEEFF7E91F7FF5D73F3FF4D59E9FF4D59E9FF4D59E9FF4D59E9FF4D59
E9FF4D59E9FF4F5BE9FF7B83F0FF757BE2FF2E4BBAFF00000000000000005F63
DAFFA1ABF7FF7086F8FF6882F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF4D59E9FF5C66EAFF969CF1FF3250BCFF00000000000000006469
DBFFAFB9F9FF7F93FAFF7085F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF4D59E9FF5E6AEEFF969DF1FF364FBEFF0000000000000000676A
DEFFA5AFF5FF9DABFAFF778CF0FF545FECFF545FECFF545FECFF545FECFF545F
ECFF545FECFF6377F2FF818EF4FF787FE9FF3A53C0FF00000000000000000000
00007D83EAFFCDD4FCFF8B9DFAFF7E93F7FF758AEEFF6C84F6FF6C84F6FF6C84
F6FF6C84F6FF6379F3FFA4AFF8FF3E4FD0FF0000000000000000000000000000
00006A69E0FFA3A7F3FFD4DBFDFF879AFAFF7F91F0FF7A8EF1FF7F94F8FF7E92
F9FF768CF8FFA8B6F8FF636EE3FF4557C7FF0000000000000000000000000000
0000000000006A69E0FFAAADF2FFD8DCFDFFAEBAFAFF91A3FAFF8B9DFAFF9CA9
FBFFBAC7FCFF707BE9FF4C5BCCFF000000000000000000000000000000000000
000000000000000000006A6ADFFF8E93EDFFBEC3F8FFCCD3F9FFC4CBF9FFAAB4
F4FF6670E2FF535ED1FF00000000000000000000000000000000000000000000
000000000000000000000000000000000000686ADDFF6364DCFF6164DAFF5D63
D9FF000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
NumGlyphs = 0
OnClick = btnDeleteRandomClick
ShowHint = True
ParentShowHint = False
end
object btnClearRandom: TSpeedButton
AnchorSideLeft.Control = btnDeleteRandom
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = btnDeleteRandom
Left = 58
Height = 22
Hint = 'Clear'
Top = 0
Width = 23
BorderSpacing.Left = 4
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000F1FF0000F1FF0000F1FF0000F1FF0000EFFF0000
EFFF0000EDFF0000EDFF00000000000000000000000000000000000000000000
0000000000000000F5FF1A20F5FF3C4CF9FF3A49F8FF3847F8FF3545F8FF3443
F7FF3242F7FF141BF1FF0000EDFF000000000000000000000000000000000000
00000000F7FF1D23F9FF4453FAFF2429F9FF1212F7FF0F0FF6FF0C0CF5FF0909
F5FF161BF5FF3343F7FF141BF1FF0000EDFF0000000000000000000000000000
F9FF1F25FAFF4A58FBFF4247FBFFC9C9FDFF3B3BF9FF1313F7FF1010F6FF3333
F7FFC5C5FDFF3035F7FF3444F7FF141BF2FF0000EDFF00000000000000000000
FBFF4F5DFDFF3237FBFFCBCBFEFFF2F2FFFFEBEBFEFF3B3BF9FF3939F8FFEAEA
FEFFF1F1FEFFC5C5FDFF181DF6FF3343F7FF0000EFFF00000000000000000000
FDFF525FFDFF2828FCFF4747FCFFECECFFFFF2F2FFFFECECFFFFECECFEFFF1F1
FFFFEAEAFEFF3434F7FF0B0BF5FF3545F8FF0000EFFF00000000000000000000
FDFF5562FEFF2C2CFDFF2929FCFF4848FCFFEDEDFFFFF2F2FFFFF2F2FFFFECEC
FEFF3A3AF9FF1212F7FF0F0FF6FF3848F8FF0000F1FF00000000000000000000
FDFF5764FEFF3030FDFF2D2DFDFF4B4BFCFFEDEDFFFFF2F2FFFFF2F2FFFFECEC
FFFF3D3DF9FF1616F8FF1313F7FF3C4BF8FF0000F1FF00000000000000000000
FFFF5A67FEFF3333FEFF5050FDFFEDEDFFFFF3F3FFFFEDEDFFFFEDEDFFFFF2F2
FFFFECECFEFF3E3EFAFF1717F8FF3F4EF9FF0000F1FF00000000000000000000
FFFF5B68FFFF4347FEFFCFCFFFFFF3F3FFFFEDEDFFFF4C4CFCFF4A4AFCFFECEC
FFFFF2F2FFFFCACAFEFF2A2FFAFF4251FAFF0000F3FF00000000000000000000
FFFF262BFFFF5D6AFFFF585BFFFFCFCFFFFF5252FEFF2F2FFDFF2C2CFDFF4B4B
FCFFCCCCFEFF484CFBFF4957FBFF1D23F9FF0000F5FF00000000000000000000
00000000FFFF262BFFFF5D6AFFFF4347FFFF3434FEFF3232FEFF3030FDFF2D2D
FDFF383CFCFF4F5DFCFF1F25FAFF0000F7FF0000000000000000000000000000
0000000000000000FFFF262BFFFF5C69FFFF5B68FFFF5A67FEFF5865FEFF5663
FEFF5461FEFF2227FCFF0000FBFF000000000000000000000000000000000000
000000000000000000000000FFFF0000FFFF0000FFFF0000FFFF0000FDFF0000
FDFF0000FDFF0000FDFF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
NumGlyphs = 0
OnClick = btnClearRandomClick
ShowHint = True
ParentShowHint = False
end
object btnRandomPresetSave: TSpeedButton
AnchorSideTop.Control = cbRandomPreset
AnchorSideRight.Control = btnRandomPresetDelete
Left = 153
Height = 22
Hint = 'Save Preset'
Top = 138
Width = 22
Anchors = [akTop, akRight]
BorderSpacing.Right = 4
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
000000000000000000000000000000000000BA6833FFC38458FFD38B68FFE18F
70FFDC8D6CFFDA8B6DFFD78A6EFFCD8B6CFFAB6D44FFA65F2EFF00000000BA65
30FFBB6631FFBA6630FFBA6630FFBA6530FFC68355FFEFCEBAFFDDFFFFFF87EE
C7FFA2F4D7FFA2F6D7FF8CEEC7FFE0FFFFFFDDA285FFAB6A3EFFBC6933FFF8F1
EAFFF7ECDFFFF6EADEFFF6EADCFFF6EADCFFC37F51FFEFB69AFFEAF3E8FF51BF
84FF6FC998FF71C999FF54BF84FFE4F4E9FFDD9C7BFFAA693AFFBF7138FFF5EB
DFFFFDBF68FFFBBE65FFFCBE64FFFCBE64FFC48154FFEAB697FFF3F3EAFFEDF1
E6FFEFF1E6FFEFF0E6FFEDF1E5FFF3F5EDFFD59C79FFB07044FFC1783CFFF7ED
E3FFFDC26EFFFFD79EFFFFD69BFFFFD798FFC98B61FFE6B592FFE2A781FFE1A7
81FFDEA37DFFDCA17BFFDB9F79FFD99E77FFD49A73FFBB7E57FFC47C40FFF7F0
E6FFF8B455FFF7B554FFF8B453FFF8B253FFCA8D65FFEAB899FFDDA57EFFDDA6
80FFDBA37CFFD9A07AFFD9A079FFD89F78FFD89E78FFBF845DFFC58245FFF8F2
EBFFFEE7D6FFFDE7D6FFFDE7D6FFFDE6D5FFC8885DFFEFBFA1FFFDFCFAFFFEFC
FBFFFEFDFDFFFEFDFCFFFDFBFAFFFDFCFBFFDDA885FFC17F53FFC68447FFF9F3
ECFFFEE8D6FFFDE7D6FFFDE7D6FFFDE7D5FFC7865BFFEFC09EFFFFFFFFFFCC93
6EFFFFFFFFFFFFFFFFFFFFFBF7FFFFF8F1FFE4AF8CFFC78A61FFC68849FFF9F4
EDFFFEE8D8FFFEE8D7FFFEE7D6FFFDE5D3FFCC8D65FFF3CDB0FFFFFFFFFFE3C7
B3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEABFA1FFC98960FFC6884AFFF9F4
EFFFFEE7D7FFFDE7D5FFFDE6D4FFFCE6D2FFD4976EFFD49E7BFFD09871FFD6A4
82FFCD8E68FFCD9069FFD09A75FFD19973FFC88B62FF00000000C6894BFFF9F4
F0FFFCE6D3FFFDE7D3FFFCE4D1FFFBE3CDFFFAE0C8FFF8DCC2FFF5D6BBFFF3D4
B5FFF1D2B3FFF8F4F0FFC48246FF000000000000000000000000C6894BFFF9F5
F1FFFCE3CFFFFCE4CFFFFCE3CDFFFAE1CAFFF9DDC4FFF6D9BCFFF4E9DFFFF7F2
ECFFFBF7F3FFF5EFE9FFC27E45FF000000000000000000000000C6894CFFF9F5
F1FFFCE3CDFFFBE3CDFFFBE2CBFFF9E0C8FFF8DCC2FFF5D6BAFFFDFBF8FFFCE6
CDFFFAE5C9FFE2B684FFBF7942FF000000000000000000000000C5884BFFFAF6
F2FFFAE0C7FFFBE2C9FFFBE0C8FFF9DFC5FFF8DBC1FFF4D6B8FFFFFBF8FFF6D8
B4FFE1B07DFFDB9264FF00000000000000000000000000000000C48549FFF7F2
ECFFF8F4EEFFF8F3EDFFF8F3EDFFF8F3EDFFF8F2ECFFF7F2ECFFF2E6D7FFE2B2
7DFFDB9465FF000000000000000000000000000000000000000000000000C88B
4DFFC88C4FFFC88C4FFFC88C4FFFC88D4FFFC98C4FFFC78B4FFFC5894BFFC476
3BFF000000000000000000000000000000000000000000000000
}
NumGlyphs = 0
ShowCaption = False
ShowHint = True
ParentShowHint = False
end
object btnRandomPresetDelete: TSpeedButton
AnchorSideTop.Control = btnRandomPresetSave
AnchorSideRight.Control = gbRandom
AnchorSideRight.Side = asrBottom
Left = 179
Height = 22
Hint = 'Delete Preset'
Top = 138
Width = 22
Anchors = [akTop, akRight]
BorderSpacing.Right = 4
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
0000BA6530FFBB6631FFBA6630FFBA6630FFBA6630FFBA6530FFBA652FFFB965
2EFF6E5E76FF1949A8FF0542BBFF1348ADFF394E8FFF0000000000000000BC69
33FFF8F1EAFFF7ECDFFFF6EBDEFFF6EADEFFF6EADCFFF6EADCFFFAF3EBFF8AA5
D7FF2866CAFF2177E6FF0579EAFF0164DDFF064DBBFF0000000000000000BF71
38FFF5EBDFFFFDBF68FFFCBD67FFFBBE65FFFCBE64FFFCBE64FFFCBD62FF1E52
B0FF639DF4FF187FFFFF0076F8FF0076EEFF0368E1FF0345B9FF00000000C178
3CFFF7EDE3FFFDC26EFFFFD8A0FFFFD79EFFFFD69BFFFFD798FFFFD696FF0543
BCFFAECDFEFFFFFFFFFFFFFFFFFFFFFFFFFF187FEFFF0442BCFF00000000C47C
40FFF7F0E6FFF8B455FFF7B456FFF7B554FFF8B453FFF8B253FFF7B352FF2453
ABFF8DB5F6FF4D92FFFF1177FFFF2186FFFF408AEBFF0344B9FF00000000C580
42FFF8F1E8FFFEE5D5FFFDE5D3FFFDE5D3FFFCE5D3FFFCE5D3FFFCE4D1FF94A1
C9FF3D76D1FF8DB5F7FFB8D6FEFF72A8F5FF2F6BC9FF0000000000000000C582
45FFF8F2EBFFFEE7D6FFFDE7D6FFFDE7D6FFFDE7D6FFFDE6D5FFFDE5D3FFFCE4
D1FF94A1C9FF2A5EC1FF0543BCFF1F59BFFF686279FF0000000000000000C684
47FFF9F3ECFFFEE8D6FFFEE8D7FFFDE7D6FFFDE7D6FFFDE7D5FFFDE5D3FFFBE4
D0FFFBE3CCFFFADFC7FFFADFC6FFFAF2EAFFC68042FF0000000000000000C688
49FFF9F4EDFFFEE8D8FFFEE8D8FFFEE8D7FFFEE7D6FFFDE5D3FFFCE4D1FFFBE1
CCFFFAE0C7FFF9DDC3FFF8DCC2FFFAF4EDFFC68245FF0000000000000000C688
4AFFF9F4EFFFFEE7D7FFFDE7D6FFFDE7D5FFFDE6D4FFFCE6D2FFFBE1CCFFFADF
C7FFF8DCC2FFF6DABDFFF6D8BBFFFAF4EFFFC68346FF0000000000000000C689
4BFFF9F4F0FFFCE6D3FFFCE6D4FFFDE7D3FFFCE4D1FFFBE3CDFFFAE0C8FFF8DC
C2FFF5D6BBFFF3D4B5FFF1D2B3FFF8F4F0FFC48246FF0000000000000000C689
4BFFF9F5F1FFFCE3CFFFFBE4D0FFFCE4CFFFFCE3CDFFFAE1CAFFF9DDC4FFF6D9
BCFFF4E9DFFFF7F2ECFFFBF7F3FFF5EFE9FFC27E45FF0000000000000000C689
4CFFF9F5F1FFFCE3CDFFFBE3CEFFFBE3CDFFFBE2CBFFF9E0C8FFF8DCC2FFF5D6
BAFFFDFBF8FFFCE6CDFFFAE5C9FFE2B684FFBF7942FF0000000000000000C588
4BFFFAF6F2FFFAE0C7FFFBE1C9FFFBE2C9FFFBE0C8FFF9DFC5FFF8DBC1FFF4D6
B8FFFFFBF8FFF6D8B4FFE1B07DFFDB9264FF000000000000000000000000C485
49FFF7F2ECFFF8F4EEFFF8F4EDFFF8F3EDFFF8F3EDFFF8F3EDFFF8F2ECFFF7F2
ECFFF2E6D7FFE2B27DFFDB9465FF000000000000000000000000000000000000
0000C88B4DFFC88C4FFFC88C4FFFC88C4FFFC88C4FFFC88D4FFFC98C4FFFC78B
4FFFC5894BFFC4763BFF00000000000000000000000000000000
}
NumGlyphs = 0
ShowCaption = False
ShowHint = True
ParentShowHint = False
end
object cbRandomPreset: TComboBox
AnchorSideLeft.Control = gbRandom
AnchorSideRight.Control = btnRandomPresetSave
AnchorSideBottom.Control = gbRandom
AnchorSideBottom.Side = asrBottom
Left = 4
Height = 23
Top = 138
Width = 145
Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Left = 4
BorderSpacing.Right = 4
BorderSpacing.Bottom = 4
ItemHeight = 15
Sorted = True
Style = csDropDownList
TabOrder = 0
end
object lbRandom: TListBox
AnchorSideLeft.Control = gbRandom
AnchorSideTop.Control = btnAddRandom
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = gbRandom
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = cbRandomPreset
Left = 4
Height = 108
Top = 26
Width = 197
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 4
ItemHeight = 0
MultiSelect = True
OnDrawItem = lbHueDrawItem
TabOrder = 1
end
end
object cbRandom: TCheckBox[4]
AnchorSideTop.Control = edHue
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = gbRandom
AnchorSideRight.Side = asrBottom
Left = 152
Height = 19
Top = 10
Width = 65
Anchors = [akTop, akRight]
Caption = 'Random'
OnChange = cbRandomChange
TabOrder = 3
end
inherited tmClose: TTimer[5]
left = 152
top = 112
end

View File

@ -31,16 +31,29 @@ interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
UfrmToolWindow, UHue;
ExtCtrls, Buttons, VirtualTrees, UfrmToolWindow, UHue;
type
{ TfrmHueSettings }
TfrmHueSettings = class(TfrmToolWindow)
btnAddRandom: TSpeedButton;
btnClearRandom: TSpeedButton;
btnDeleteRandom: TSpeedButton;
btnRandomPresetDelete: TSpeedButton;
btnRandomPresetSave: TSpeedButton;
cbRandomPreset: TComboBox;
cbRandom: TCheckBox;
edHue: TEdit;
gbRandom: TGroupBox;
lblHue: TLabel;
lbHue: TListBox;
lbRandom: TListBox;
procedure btnAddRandomClick(Sender: TObject);
procedure btnClearRandomClick(Sender: TObject);
procedure btnDeleteRandomClick(Sender: TObject);
procedure cbRandomChange(Sender: TObject);
procedure edHueEditingDone(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure lbHueDrawItem(Control: TWinControl; Index: Integer; ARect: TRect;
@ -73,6 +86,39 @@ begin
lbHue.ItemIndex := hueID;
end;
procedure TfrmHueSettings.btnDeleteRandomClick(Sender: TObject);
var
i: Integer;
begin
lbRandom.Items.BeginUpdate;
for i := lbRandom.Items.Count - 1 downto 0 do
if lbRandom.Selected[i] then
lbRandom.Items.Delete(i);
lbRandom.Items.EndUpdate;
end;
procedure TfrmHueSettings.cbRandomChange(Sender: TObject);
begin
lbHue.MultiSelect := cbRandom.Checked;
gbRandom.Visible := cbRandom.Checked;
end;
procedure TfrmHueSettings.btnClearRandomClick(Sender: TObject);
begin
lbRandom.Items.Clear;
end;
procedure TfrmHueSettings.btnAddRandomClick(Sender: TObject);
var
i: Integer;
begin
lbRandom.Items.BeginUpdate;
for i := 0 to lbHue.Count - 1 do
if lbHue.Selected[i] then
lbRandom.Items.AddObject(lbHue.Items.Strings[i], lbHue.Items.Objects[i]);
lbRandom.Items.EndUpdate;
end;
procedure TfrmHueSettings.FormCreate(Sender: TObject);
var
i: Integer;
@ -97,7 +143,7 @@ begin
hue := ResMan.Hue.Hues[Index-1]
else
hue := nil;
DrawHue(hue, lbHue.Canvas, ARect, lbHue.Items.Strings[Index]);
DrawHue(hue, TListBox(Control).Canvas, ARect, TListBox(Control).Items.Strings[Index]);
end;
procedure TfrmHueSettings.lbHueSelectionChange(Sender: TObject; User: boolean);
@ -121,7 +167,7 @@ begin
ACanvas.MoveTo(ARect.Left + 2 + i, ARect.Top + 1);
ACanvas.LineTo(ARect.Left + 2 + i, ARect.Bottom - 1);
end;
ACanvas.TextOut(ARect.Left + 36, ARect.Top, ACaption);
ACanvas.TextOut(ARect.Left + 36, ARect.Top + 1, ACaption);
end;
initialization

View File

@ -18,7 +18,7 @@ object frmMain: TfrmMain
Position = poScreenCenter
SessionProperties = 'acFlat.Checked;acNoDraw.Checked;Height;Left;mnuFlatShowHeight.Checked;mnuSecurityQuestion.Checked;mnuShowAnimations.Checked;spTileList.Top;tbStatics.Down;tbTerrain.Down;Top;Width;WindowState;mnuWhiteBackground.Checked'
ShowInTaskBar = stAlways
LCLVersion = '0.9.29'
LCLVersion = '0.9.31'
WindowState = wsMaximized
object pnlBottom: TPanel
Left = 0
@ -140,7 +140,7 @@ object frmMain: TfrmMain
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = spTileList
Left = 4
Height = 234
Height = 240
Hint = '-'
Top = 50
Width = 208
@ -191,18 +191,20 @@ object frmMain: TfrmMain
OnScroll = vdtTilesScroll
end
object gbRandom: TGroupBox
AnchorSideLeft.Control = tsTiles
AnchorSideTop.Control = spTileList
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = tsTiles
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = tsTiles
AnchorSideBottom.Side = asrBottom
Left = 0
Height = 189
Top = 289
Height = 183
Top = 295
Width = 216
Align = alBottom
Anchors = [akTop, akLeft, akRight, akBottom]
Caption = 'Random pool'
ClientHeight = 171
ClientHeight = 165
ClientWidth = 212
TabOrder = 1
object btnAddRandom: TSpeedButton
@ -214,7 +216,6 @@ object frmMain: TfrmMain
Top = 0
Width = 23
BorderSpacing.Left = 4
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
@ -266,7 +267,6 @@ object frmMain: TfrmMain
Top = 0
Width = 23
BorderSpacing.Left = 4
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
@ -318,7 +318,6 @@ object frmMain: TfrmMain
Top = 0
Width = 23
BorderSpacing.Left = 4
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
@ -366,11 +365,10 @@ object frmMain: TfrmMain
Left = 160
Height = 22
Hint = 'Save Preset'
Top = 146
Top = 140
Width = 22
Anchors = [akTop, akRight]
BorderSpacing.Right = 4
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
@ -420,11 +418,10 @@ object frmMain: TfrmMain
Left = 186
Height = 22
Hint = 'Delete Preset'
Top = 146
Top = 140
Width = 22
Anchors = [akTop, akRight]
BorderSpacing.Right = 4
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
@ -477,7 +474,7 @@ object frmMain: TfrmMain
AnchorSideBottom.Control = cbRandomPreset
Cursor = 63
Left = 4
Height = 118
Height = 112
Top = 24
Width = 204
Anchors = [akTop, akLeft, akRight, akBottom]
@ -526,7 +523,7 @@ object frmMain: TfrmMain
AnchorSideBottom.Side = asrBottom
Left = 4
Height = 21
Top = 146
Top = 140
Width = 152
Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Left = 4
@ -546,7 +543,7 @@ object frmMain: TfrmMain
Cursor = crVSplit
Left = 0
Height = 5
Top = 284
Top = 290
Width = 216
Align = alNone
Anchors = [akLeft, akRight, akBottom]
@ -560,7 +557,7 @@ object frmMain: TfrmMain
Left = 108
Height = 21
Hint = 'Append S or T to restrict the search to Statics or Terrain.'
Top = 255
Top = 261
Width = 96
Anchors = [akRight, akBottom]
BorderSpacing.Right = 8
@ -650,7 +647,6 @@ object frmMain: TfrmMain
Top = 452
Width = 23
BorderSpacing.Left = 4
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
@ -704,7 +700,6 @@ object frmMain: TfrmMain
Width = 23
Anchors = [akLeft, akBottom]
BorderSpacing.Bottom = 4
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
@ -756,7 +751,6 @@ object frmMain: TfrmMain
Width = 23
Anchors = [akTop, akRight]
BorderSpacing.Right = 4
Color = clBtnFace
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
@ -822,7 +816,7 @@ object frmMain: TfrmMain
item
Position = 1
Text = 'Name'
Width = 133
Width = 129
end>
Header.DefaultHeight = 17
Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoVisible]
@ -857,18 +851,18 @@ object frmMain: TfrmMain
Top = 2
Caption = 'Disconnect'
ImageIndex = 0
OnClick = mnuDisconnectClick
ParentShowHint = False
ShowHint = True
OnClick = mnuDisconnectClick
end
object tbSeparator1: TToolButton
Left = 24
Top = 2
Width = 16
Width = 4
Style = tbsDivider
end
object tbSelect: TToolButton
Left = 40
Left = 28
Top = 2
Action = acSelect
Grouped = True
@ -877,7 +871,7 @@ object frmMain: TfrmMain
Style = tbsCheck
end
object tbDrawTile: TToolButton
Left = 63
Left = 51
Top = 2
Action = acDraw
Grouped = True
@ -886,7 +880,7 @@ object frmMain: TfrmMain
Style = tbsCheck
end
object tbMoveTile: TToolButton
Left = 86
Left = 74
Top = 2
Action = acMove
Grouped = True
@ -895,7 +889,7 @@ object frmMain: TfrmMain
Style = tbsCheck
end
object tbElevateTile: TToolButton
Left = 109
Left = 97
Top = 2
Action = acElevate
Grouped = True
@ -904,7 +898,7 @@ object frmMain: TfrmMain
Style = tbsCheck
end
object tbDeleteTile: TToolButton
Left = 132
Left = 120
Top = 2
Action = acDelete
Grouped = True
@ -913,7 +907,7 @@ object frmMain: TfrmMain
Style = tbsCheck
end
object tbSetHue: TToolButton
Left = 155
Left = 143
Top = 2
Action = acHue
Grouped = True
@ -922,111 +916,111 @@ object frmMain: TfrmMain
Style = tbsCheck
end
object tbSeparator3: TToolButton
Left = 209
Left = 193
Top = 2
Width = 16
Width = 4
Caption = 'tbSeparator3'
Style = tbsDivider
end
object tbBoundaries: TToolButton
Left = 225
Left = 197
Top = 2
Action = acBoundaries
ParentShowHint = False
ShowHint = True
end
object tbSeparator4: TToolButton
Left = 294
Left = 266
Top = 2
Width = 17
Width = 4
Caption = 'tbSeparator4'
Style = tbsDivider
end
object tbTerrain: TToolButton
Left = 311
Left = 270
Hint = 'Show Terrain'
Top = 2
Caption = 'Terrain'
Down = True
ImageIndex = 10
OnClick = tbTerrainClick
ParentShowHint = False
ShowHint = True
Style = tbsCheck
OnClick = tbTerrainClick
end
object tbStatics: TToolButton
Left = 334
Left = 293
Hint = 'Show Statics'
Top = 2
Caption = 'Statics'
Down = True
ImageIndex = 11
OnClick = tbStaticsClick
ParentShowHint = False
ShowHint = True
Style = tbsCheck
OnClick = tbStaticsClick
end
object tbSeparator5: TToolButton
Left = 461
Left = 420
Top = 2
Width = 17
Width = 4
Caption = 'tbSeparator5'
Style = tbsDivider
end
object tbRadarMap: TToolButton
Left = 478
Left = 424
Hint = 'Radar Map'
Top = 2
Caption = 'Radar Map'
ImageIndex = 13
OnClick = tbRadarMapClick
ParentShowHint = False
ShowHint = True
OnClick = tbRadarMapClick
end
object tbVirtualLayer: TToolButton
Left = 248
Left = 220
Top = 2
Action = acVirtualLayer
end
object tbFilter: TToolButton
Left = 271
Left = 243
Top = 2
Action = acFilter
Style = tbsCheck
OnMouseMove = tbFilterMouseMove
Style = tbsCheck
end
object tbFlat: TToolButton
Left = 426
Left = 385
Top = 2
Action = acFlat
DropdownMenu = pmFlatViewSettings
Style = tbsDropDown
end
object tbNoDraw: TToolButton
Left = 357
Left = 316
Top = 2
Action = acNoDraw
Style = tbsCheck
end
object tbSeparator2: TToolButton
Left = 178
Left = 166
Top = 2
Width = 8
Width = 4
Caption = 'tbSeparator2'
Style = tbsDivider
end
object tbUndo: TToolButton
Left = 186
Left = 170
Top = 2
Action = acUndo
end
object tbLightlevel: TToolButton
Left = 403
Left = 362
Top = 2
Action = acLightlevel
end
object tbWalkable: TToolButton
Left = 380
Left = 339
Top = 2
Action = acWalkable
Style = tbsCheck
@ -1106,7 +1100,7 @@ object frmMain: TfrmMain
item
Position = 2
Text = 'Message'
Width = 381
Width = 377
end>
Header.DefaultHeight = 17
Header.MainColumn = 2
@ -1134,14 +1128,13 @@ object frmMain: TfrmMain
end
object spChat: TSplitter
AnchorSideLeft.Control = pcLeft
AnchorSideLeft.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Cursor = crVSplit
Left = 224
Left = 0
Height = 5
Top = 414
Width = 531
Width = 755
Align = alNone
Anchors = [akLeft, akRight, akBottom]
AutoSnap = False