added checking XML for unrecognized variation/variable values,

various fixes
This commit is contained in:
zueuk 2009-04-20 08:11:31 +00:00
parent 1b0e2c0570
commit f07fd06bdd
2 changed files with 342 additions and 322 deletions

View File

@ -43,7 +43,7 @@ object MainForm: TMainForm
Images = Buttons
ParentShowHint = False
ShowHint = True
TabOrder = 0
TabOrder = 1
object btnOpen: TToolButton
Left = 0
Top = 0
@ -312,20 +312,24 @@ object MainForm: TMainForm
Width = 160
Height = 430
Align = alLeft
BevelOuter = bvNone
Columns = <
item
Caption = 'Title'
Width = 150
end>
HideSelection = False
ParentShowHint = False
PopupMenu = ListPopUp
ShowHint = True
SmallImages = SmallImages
TabOrder = 1
TabOrder = 0
ViewStyle = vsReport
OnChange = ListViewChange
OnChanging = ListViewChanging
OnEdited = ListViewEdited
OnInfoTip = ListViewInfoTip
OnSelectItem = ListViewSelectItem
end
object BackPanel: TPanel
Left = 164
@ -2365,275 +2369,143 @@ object MainForm: TMainForm
Left = 40
Top = 56
Bitmap = {
494C010101000500040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000002000000001002000000000000020
000000000000000000000000000000000000000000009C636300FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF009C636300FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CECE
CE0000000000000000000000000000000000FF6331000000000000000000FF63
310000000000000000000000000000636300639C9C000063630000313100CECE
CE00CEFFFF00FFFFFF009CCECE009CCECE009CCECE0031313100000000000000
00000000000063636300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00CEFFFF00CEFFFF00CEFFFF00CEFFFF00CEFF
FF009CFFFF000000000000000000000000009CCECE000063630031000000CEFF
FF00CECECE00CECECE00CEFFFF00FF6331003131310000000000000000000000
00000000000063636300FFFFFF003100FF003100FF0000006300FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CEFFFF00CEFFFF00CEFF
FF00CEFFFF000000000000000000000000000000000000000000000000000000
00000000000000000000FFFFFF00636363006363630063636300636363006363
6300636363006363630063636300636363006363630063636300636363006363
630063636300000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
000000000000FFFFFF00FF000000FF000000CEFFFF00CEFFFF00CEFFFF00FF00
0000630000009CFFFF009CFFFF0000FFFF0000FFFF0000000000000000000000
000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000009C636300FFFFFF00FFFF
FF00FF9C3100FFFFFF00FFFFFF009C636300FFFFFF00FFFFFF00FF9C3100FF9C
3100FF9C3100FF9C3100FF633100FF633100FF633100FF633100FFFFFF00CECE
CE0000000000000000000000000000000000FF63310000000000000000000000
000000000000000000000000000000636300000000009C636300FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF009C636300FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CECE
CE0000000000000000000000000000000000FF63310000000000000000000000
0000000000000000000000000000006363009CCECE00639C9C00006363000063
6300CEFFFF00CEFFFF00CECECE009CCECE000000000000000000000000000000
00000000000063636300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CEFF
FF00FFFFFF00000000000000000000000000006363009CCECE00639C9C00639C
9C0000636300CECECE00CEFFFF00CECECE003131310000000000000000000000
0000000000006363630063636300636363006363630063636300636363006363
6300636363006363630063636300636363006363630063636300636363006363
6300636363000000000000000000000000000000000000000000000000000000
00009C9C9C00FFFFFF00FFFFFF00FFFFFF0063000000FFFFFF00CEFFFF00CEFF
FF00CEFFFF00FF0000009C0000009CFFFF0000FFFF0000000000000000000000
000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
0000000000009C9C9C009C9C9C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CEFF
FF00CEFFFF00CEFFFF00CEFFFF009CFFFF000000000000000000000000000000
000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000009C636300FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF009C636300FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CECE
CE000000000000000000000000000000000000000000FF633100000000000000
0000000000000000000000000000000000000000000063000000630000006300
0000630000006300000063000000630000006300000063000000630000006300
0000630000006300000063000000630000006300000063000000630000006300
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000006363009CCECE009CCECE00639C
9C00639C9C000063630000636300313131000063630000000000000000000000
494C010102000400040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000001000000001002000000000000010
0000000000000000000000000000000000000000000041414100464646004F4F
4F00585858005C5D5D005F5F5F005D5D5D005B5B5B00575757004F4F4F004444
44003B3B3B000000000000000000000000000000000041414100464646004F4F
4F00585858005C5D5D00425562004A9BB60044869C0044869C0044869C004486
9C0044869C0044869C003E718100000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000636300006363009CCE
CE009CCECE00639C9C00639C9C00006363000063630000000000000000000000
0000000000000000000000000000000000000000000000000000630000009C00
00009C0000006300000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000009C9C9C009C9C9C00FFFFFF00FFFFFF00FFFF
FF00CEFFFF00CEFFFF00CEFFFF00CEFFFF000000000000000000000000000000
000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
000000000000000000000000000000000000000000009C9C9C009C9C9C00FFFF
FF00FFFFFF00FFFFFF00CEFFFF00000000000000000000000000000000000000
000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FF000000FFFF3100FF9C
3100FF9C3100FF633100FF633100FF633100FF633100FF633100FF633100FF63
3100FF633100FF633100FF633100FF633100FF633100FF633100FF633100FF63
3100000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FF000000FF000000FF00
0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000063
6300006363000063630000636300000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000006300
0000CE0031009C00000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000FF6331000000000000000000FF000000CE00
3100CE0031006300000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000009C9C
9C009C9C9C00FFFFFF00CEFFFF00000000000000000000000000000000000000
000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000009C9C9C0000000000000000000000000000000000000000000000
000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000FF633100FF000000FF000000FF00
0000000000009C00000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000084
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000FF0000FFFF000063FF00000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000636300CEFFFF0000CEFF0000CEFF00009CCE0000CE
FF00009CCE0000CEFF00009CCE00009CCE00639C9C00009CCE00639C9C00009C
CE0000000000000000000000000000000000000000000000000000009C000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000009C00000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000CEEFFF00CEEF
FF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEF
FF00CEEFFF00CEEFFF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000FFF7EF00FFF7E700FFF7EF00FFF7EF00FFF7
EF00FFF7F700FFFFF70000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000CEEFFF00CEEF
FF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEF
FF00CEEFFF00CEEFFF000000000000000000000000000000000031638C003163
8C00000000000000000000000000000000000000000000000000DEDEDE00DEDE
DE000000000031638C0000000000000000000000000031638C0031638C000000
0000000000000000000000000000FFF7E700D6632100D6733100D6733100D663
1000D6632100FFF7EF0000000000000000000000000000000000FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000
0000000000000000000000000000000000000000000000000000CEEFFF00CEEF
FF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEF
FF00CEEFFF00CEEFFF000000000000000000000000000000000031638C003163
8C00000000000000000000000000000000000000000000000000DEDEDE00DEDE
DE000000000031638C0000000000000000000000000031638C0031638C000000
0000000000000000000000000000FFEFE700E7A57B00FFFFE700FFF7E700FFAD
6B00E7AD8400FFEFDE0000000000000000000000000000000000FFFFFF006BB5
E700F7FFFF006BB5E7006BB5E7006BB5E700F7FFFF0000000000000000000000
0000000000000000000000000000000000000000000000000000CEEFFF00CEEF
FF00296BAD00296BAD00296BAD00296BAD00296BAD00296BAD00296BAD00296B
AD00CEEFFF00CEEFFF000000000000000000000000000000000031638C003163
8C00000000000000000000000000000000000000000000000000DEDEDE00DEDE
DE000000000031638C0000000000000000000000000031638C0031638C000000
0000000000000000000000000000FFE7DE00E7945A00FFF7EF00FFCEAD00FFCE
AD00E78C4A00FFE7D60000000000000000000000000000000000F7FFFF00EFFF
FF00E7F7FF000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000CEEFFF00CEEF
FF000000000008297B005A9CBD000000000008185A000000000000000000296B
AD00CEEFFF00CEEFFF000000000000000000000000000000000031638C003163
8C00000000000000000000000000000000000000000000000000000000000000
00000000000031638C0000000000000000000000000031638C0031638C000000
0000000000000000000000000000FFE7D600E7844200FFFFFF00FFB59400FFE7
CE00E78C5200FFE7CE0000000000000000000000000000000000F7FFFF0063B5
E70063B5E70000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF000000000000000000000000000000000000000000CEEFFF00CEEF
FF0000000000184A9C004A8CBD00185A9C00397BAD000000080000000000296B
AD00CEEFFF00CEEFFF000000000000000000000000000000000031638C003163
8C0031638C0031638C0031638C0031638C0031638C0031638C0031638C003163
8C0031638C0031638C0000000000000000000000000031638C0031638C003163
8C0031638C0031638C0000000000FFDECE00E7843900FFFFF700FFC69C00FFD6
A500F7B58C00FFDECE0000000000000000000000000000000000EFFFFF00DEF7
FF00CEEFFF0000000000FFFFFF006BB5E700F7FFFF006BB5E7006BB5E7006BB5
E700F7FFFF000000000000000000000000000000000000000000CEEFFF00CEEF
FF0008185A00396BAD00296BAD00185A9C004A8CBD00295A9C0000000000296B
AD00CEEFFF00CEEFFF000000000000000000000000000000000031638C003163
8C00000000000000000000000000000000000000000000000000000000000000
000031638C0031638C0000000000000000000000000031638C0031638C000000
0000000000000000000000000000FFDEC600E78C4200FFFFFF00FFFFF7000000
0000000000000000000000000000000000000000000000000000EFFFFF005AB5
E7005AADE70000000000F7FFFF00EFFFFF00E7F7FF00E7F7FF00E7F7FF00E7F7
FF00E7F7FF000000000000000000000000000000000000000000CEEFFF00CEEF
FF005A9CCE00396BAD0008397B0000081800084A8C008CBDDE00296BAD00296B
AD00CEEFFF00CEEFFF000000000000000000000000000000000031638C000000
0000DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
DE000000000031638C0000000000000000000000000031638C0000000000DEDE
DE00DEDEDE00DEDEDE0000000000FFDEC600D6631800D6733900E77B39000000
0000F7A57B000000000000000000000000000000000000000000EFF7FF00CEEF
FF00BDE7FF0000000000F7FFFF0063B5E70063B5E700DEF7FF0063B5E70063B5
E700DEF7FF000000000000000000000000000000000000000000CEEFFF00CEEF
FF0000000000397BAD00296BAD00396BAD004A7BBD006BADCE0008083900296B
AD00CEEFFF00CEEFFF000000000000000000000000000000000031638C000000
0000DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
DE000000000031638C0000000000000000000000000031638C0000000000DEDE
DE00DEDEDE00DEDEDE0000000000FFE7D600FFDEC600FFD6C600FFD6C6000000
0000000000000000000000000000000000000000000000000000EFFFFF0063B5
E700C6EFFF0000000000EFFFFF00DEF7FF00CEEFFF00CEEFFF00CEEFFF00D6F7
FF00DEF7FF000000000000000000000000000000000000000000CEEFFF00CEEF
FF00000000000000000008296B007BADCE007BADCE00184A9C0000082900296B
AD00CEEFFF00CEEFFF000000000000000000000000000000000031638C000000
0000DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
DE000000000031638C0000000000000000000000000031638C0000000000DEDE
DE00DEDEDE00DEDEDE0000000000000000000000000000000000000000000000
000031638C000000000000000000000000000000000000000000F7FFFF00EFF7
FF00E7F7FF0000000000EFFFFF005AB5E7005AADE700C6EFFF00CEEFFF0063B5
E700EFF7FF000000000000000000000000000000000000000000CEEFFF00CEEF
FF0000000000000000000000000008185A00000818000008290000081800296B
AD00CEEFFF00CEEFFF000000000000000000000000000000000031638C000000
0000DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
DE000000000031638C0000000000000000000000000031638C0000000000DEDE
DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE000000
000031638C000000000000000000000000000000000000000000000000000000
00000000000000000000EFF7FF00CEEFFF00BDE7FF00BDE7FF00000000000000
0000000000000000000000000000000000000000000000000000CEEFFF00CEEF
FF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF000000
000000000000000000000000000000000000000000000000000031638C000000
0000DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
DE00000000000000000000000000000000000000000031638C0000000000DEDE
DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000EFFFFF0063B5E700C6EFFF00C6EFFF0000000000C6EF
FF00000000000000000000000000000000000000000000000000CEEFFF00CEEF
FF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF000000
0000ADCEEF00000000000000000000000000000000000000000031638C000000
0000DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
DE00000000000000000000000000000000000000000031638C0000000000DEDE
DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000F7FFFF00EFF7FF00E7F7FF00E7F7FF00000000000000
0000000000000000000000000000000000000000000000000000CEEFFF00CEEF
FF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000041414100E1E1E100DEDE
DE00DEDEDE00E4E4E400EAEAEA00F2F2F200F5F5F500F7F7F700F9F9F900F8F8
F800454545000000000000000000000000000000000041414100E1E1E100DEDE
DE00DEDEDE00E4E4E40045859B00A9EEFF0089E7FF0089E7FF0089E7FF0089E7
FF00A9EEFF00A9EEFF0044869C00000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000003F3F3F00DCDCDC00DADA
DA00DBDBDB00DEDEDE00E6E6E600EEEEEE00F4F4F400F7F7F700F9F9F900F9F9
F90058585800000000000000000000000000000000003F3F3F00DCDCDC00DADA
DA00DBDBDB00DEDEDE0042556200A9EEFF0089E7FF0089E7FF002D2D2D0089E7
FF0089E7FF00A9EEFF0042556200000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000042424200D5D5D500D3D3
D3008E99A00092B6D20096B4C500778B9B007890AA00F4F4F400F7F7F700F8F8
F8006A6A6A000000000000000000000000000000000042424200D5D5D500D3D3
D3008E99A00092B6D20096B4C50048809600A9EEFF0089E7FF007BCBE00089E7
FF0072E2FF0044869C0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000046464600CDCDCD00747D
8700DFFFFF00B8C7CB006E8DB700EBFFFF007B8689007696B700F4F4F400F5F5
F500747474000000000000000000000000000000000046464600CDCDCD00747D
8700DFFFFF00B8C7CB006E8DB70042556200A9EEFF0089E7FF002D2D2D0089E7
FF0072E2FF004255620000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000004F4F4F00CBCBCB00C2EA
FB00B2CCDD009D95A100E6C5900063668600E9FFFF007C888B0072859700F1F1
F10076767600000000000000000000000000000000004F4F4F00CBCBCB00C2EA
FB00B2CCDD009D95A100E6C59000636686004C7B9100A9EEFF002D2D2D0072E2
FF0044869C000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000005A5B5A00CFCFCF00A8D8
EA00B6AEBB00F7E3C200FFFFFF00FFD8A10063657C00E0FFFF00747D8E00ECEC
EC0073737300000000000000000000000000000000005A5B5A00CFCFCF00A8D8
EA00B6AEBB00F7E3C200FFFFFF00FFD8A10042556200A9EEFF0089E7FF0072E2
FF00425562000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000062626200D8D8D80082A0
B900E2E5DF00EABE9300FFFFFF00FFFFF900C18563007FA0C50099AFBA00E5E5
E500686868000000000000000000000000000000000062626200D8D8D80082A0
B900E2E5DF00EABE9300FFFFFF00FFFFF900C185630050758C00A9EEFF004486
9C00686868000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000068686800E3E3E3006F6F
6F00ACEEFF00FFC09600FFCFA600FDE7BA007C788A00C5E2EC0093B1CA00DDDD
DD00585858000000000000000000000000000000000068686800E3E3E3006F6F
6F00ACEEFF00FFC09600FFCFA600FDE7BA007C788A004255620052748A004255
6200585858000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000006A6A6A00EDEDED00EAEA
EA0063636600B1E5FF00FFECCB00B7AEB800C5DDE900D7FFFF007F98A800D1D1
D10049494900000000000000000000000000000000006A6A6A00EDEDED00EAEA
EA0063636600B1E5FF00FFECCB00B7AEB800C5DDE900D7FFFF007F98A800D1D1
D100494949000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000067676700F4F4F400F2F2
F200EEEEEE006F6F6F007198BC00CAEDF800AAD2E800868D9400CBCBCB00C0C0
C0003E3E3E000000000000000000000000000000000067676700F4F4F400F2F2
F200EEEEEE006F6F6F007198BC00CAEDF800AAD2E800868D9400CBCBCB00C0C0
C0003E3E3E000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000005F5F5F00F7F7F700F5F5
F500F3F3F300F0F0F000ECECEC00E6E6E600DDDDDD00D1D1D100BFBFBF00ADAD
AD003D3D3D00000000000000000000000000000000005F5F5F00F7F7F700F5F5
F500F3F3F300F0F0F000ECECEC00E6E6E600DDDDDD00D1D1D100BFBFBF00ADAD
AD003D3D3D000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000050505000F9F9F900F8F8
F800F7F7F700F4F4F400F1F1F100ECECEC00E1E1E1003B3B3B003D3D3D004343
43003F3F3F000000000000000000000000000000000050505000F9F9F900F8F8
F800F7F7F700F4F4F400F1F1F100ECECEC00E1E1E1003B3B3B003D3D3D004343
43003F3F3F000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000041414100F9F9F900F7F7
F700F7F7F700F6F6F600F3F3F300EEEEEE00E4E4E4004B4B4B00FFFFFF004545
4500000000000000000000000000000000000000000041414100F9F9F900F7F7
F700F7F7F700F6F6F600F3F3F300EEEEEE00E4E4E4004B4B4B00FFFFFF004545
4500000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000037373700F7F7F700F7F7
F700F6F6F600F4F4F400F1F1F100ECECEC00E0E0E000616161005B5B5B000000
0000000000000000000000000000000000000000000037373700F7F7F700F7F7
F700F6F6F600F4F4F400F1F1F100ECECEC00E0E0E000616161005B5B5B000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000373737003E3E3E004949
4900525252005C5C5C0063636300696969006F6F6F0073737300000000000000
00000000000000000000000000000000000000000000373737003E3E3E004949
4900525252005C5C5C0063636300696969006F6F6F0073737300000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000424D3E000000000000003E000000
2800000040000000200000000100010000000000000100000000000000000000
000000000000000000000000FFFFFF00DDE6EA00BBCCD500BBCCD500BBCCD500
BBCCD500BBCCD500BBCCD500BBCCD500BBCCD500BBCCD500BBCCD500BBCCD500
0000000000000000BBCCD500BBCCD500BBCCD500BBCCD500BBCCD500BBCCD500
BBCCD500BBCCD500BBCCD500BBCCD500BBCCD500BBCCD500BBCCD500BBCCD500
BBCCD500BBCCD500BBCCD500BBCCD5008001D500BBCCD5008001D500BBCCD500
8001D500BBCCD5008001D500BBCCD5008001D500BBCCD5008001D500BBCCD500
8001D500BBCCD5008001D500BBCCD5008001EA00BBCCD5008001EA00BBCCD500
8001EA00BBCCD5008001EA00BBCCD5008001EA00BBCCD5008003EA00BBCCD500
8007EA00BBCCD500800FEA00BBCCD50000000000000000000000000000000000
2800000040000000100000000100010000000000800000000000000000000000
000000000000000000000000FFFFFF0080078001000000008007800100000000
8007800100000000800780030000000080078003000000008007800700000000
8007800700000000800780070000000080078007000000008007800700000000
800780070000000080078007000000008007800700000000800F800F00000000
801F801F00000000803F803F0000000000000000000000000000000000000000
000000000000}
end
object MainMenu: TMainMenu
@ -2863,11 +2735,6 @@ object MainForm: TMainForm
Hint = 'Set all weights to the same value'
OnClick = mnuEqualizeClick
end
object mnuNormalWeights: TMenuItem
Caption = 'Compute Weights'
Hint = 'Compute weights from triangle areas'
OnClick = mnuNormalWeightsClick
end
object N7: TMenuItem
Caption = '-'
end
@ -3100,6 +2967,7 @@ object MainForm: TMainForm
object ListXmlScanner: TEasyXmlScanner
Normalize = True
OnStartTag = ListXmlScannerStartTag
OnEmptyTag = ListXmlScannerEmptyTag
Left = 40
Top = 120
end

View File

@ -42,7 +42,7 @@ const
RS_XO = 2;
RS_VO = 3;
AppVersionString = 'Apophysis 2.08 beta 2';
AppVersionString = 'Apophysis 2.09 pre-beta 1';
randFilename = 'apophysis.rand';
undoFilename = 'apophysis.undo';
@ -73,7 +73,6 @@ type
mnuCopyUPR: TMenuItem;
mnuEditor: TMenuItem;
mnuRandom: TMenuItem;
mnuNormalWeights: TMenuItem;
mnuEqualize: TMenuItem;
mnuRWeights: TMenuItem;
mnuOptions: TMenuItem;
@ -208,7 +207,6 @@ type
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure mnuHelpTopicsClick(Sender: TObject);
procedure mnuRefreshClick(Sender: TObject);
procedure mnuNormalWeightsClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure mnuCopyUPRClick(Sender: TObject);
procedure mnuItemDeleteClick(Sender: TObject);
@ -293,6 +291,10 @@ type
Change: TItemChange; var AllowChange: Boolean);
procedure ListViewInfoTip(Sender: TObject; Item: TListItem;
var InfoTip: String);
procedure ListXmlScannerEmptyTag(Sender: TObject; TagName: String;
Attributes: TAttrList);
procedure ListViewSelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
private
Renderer: TRenderThread;
@ -338,6 +340,7 @@ type
procedure LoadXMLFlame(filename, name: string); overload;
procedure LoadXMLFlame(filename: string; index: integer); overload;
procedure CheckXMLFlame(filename: string; index: integer); overload;
procedure DisableFavorites;
procedure EnableFavorites;
procedure ParseXML(var cp1: TControlPoint; const params: PCHAR);
@ -387,26 +390,32 @@ function GetWinVersion: TWin32Version;
var
MainForm: TMainForm;
pname, ptime: string;
nxform: integer;
MainCp: TControlPoint;
ParseCp: TControlPoint;
mainCPindex: integer;
implementation
uses
{$IFDEF DEBUG}
JclDebug, ExceptForm,
//JclDebug, ExceptForm,
{$ENDIF}
Editor, Options, Regstry, Render,
FullScreen, FormRender, Mutate, Adjust, Browser, Save, About, CmapData,
HtmlHlp, ScriptForm, FormFavorites, FormExport, msMultiPartFormData,
ImageColoring, RndFlame,
HtmlHlp, ScriptForm, FormFavorites, FormExport, RndFlame,
{msMultiPartFormData,} ImageColoring,
Tracer, Types;
{$R *.DFM}
var
nxform: integer;
mainCPindex: integer;
pxformnum: integer;
pversion: string;
xmlErrorsList: TStringList;
procedure NormalizeVariations(var cp1: TControlPoint);
var
totvar: double;
@ -614,10 +623,10 @@ begin
cp.xform[i].vars[j] := 0;
repeat
a := random(NRVAR);
until Variations[a];
until RandomVariations[a];
repeat
b := random(NRVAR);
until Variations[b];
until RandomVariations[b];
if (a = b) then
begin
cp.xform[i].vars[a] := 1;
@ -1083,7 +1092,7 @@ begin
d := cp.xform[i].c[1][1];
e := cp.xform[i].c[2][0];
f := cp.xform[i].c[2][1];
p := cp.xform[i].density;
p := cp.xform[i].weight;
Strings.Add(Format('%.6g %.6g %.6g %.6g %.6g %.6g %.6g',
[a, b, c, d, e, f, p]));
end;
@ -1187,7 +1196,7 @@ begin
MainCp.xform[sTransforms].c[1][1] := d;
MainCp.xform[sTransforms].c[2][0] := e;
MainCp.xform[sTransforms].c[2][1] := f;
MainCp.xform[sTransforms].density := p;
MainCp.xform[sTransforms].weight := p;
inc(sTransforms);
end
else
@ -1243,7 +1252,7 @@ begin
d := cp.xform[m].c[1][1];
e := cp.xform[m].c[2][0];
f := cp.xform[m].c[2][1];
p := cp.xform[m].density;
p := cp.xform[m].weight;
Write(IFile, Format('%.6g %.6g %.6g %.6g %.6g %.6g %.6g',
[a, b, c, d, e, f, p]));
WriteLn(IFile, '');
@ -1356,7 +1365,7 @@ begin
format('scale="%g" ', [cp1.pixels_per_unit]);
if cp1.FAngle <> 0 then
parameters := parameters + format('angle="%g" ', [cp1.FAngle]) +
parameters := parameters + //format('angle="%g" ', [cp1.FAngle]) +
format('rotate="%g" ', [-180 * cp1.FAngle/Pi]);
if cp1.zoom <> 0 then
parameters := parameters + format('zoom="%g" ', [cp1.zoom]);
@ -1942,7 +1951,7 @@ begin
AssignFile(F, AppPath + randFilename);
OpenFile := AppPath + randFilename;
ReWrite(F);
WriteLn(F, '<random_batch>');
WriteLn(F, '<flames name="random batch">');
for i := 0 to BatchSize - 1 do
begin
inc(RandomIndex);
@ -1963,7 +1972,7 @@ begin
// Write(F, FlameToString(Title));
// WriteLn(F, ' ');
end;
Write(F, '</random_batch>');
Write(F, '</flames>');
CloseFile(F);
except
on EInOutError do Application.MessageBox('Error creating batch', PChar(APP_NAME), 16);
@ -1977,36 +1986,55 @@ end;
procedure ListXML(FileName: string; sel: integer);
{ List .flame file }
var
i, p: integer;
i, j, p: integer;
Title: string;
ListItem: TListItem;
FStrings: TStringList;
FileStrings: TStringList;
ParamStrings: TStringList;
begin
FStrings := TStringList.Create;
FStrings.LoadFromFile(FileName);
FileStrings := TStringList.Create;
FileStrings.LoadFromFile(FileName);
ParamStrings := TStringList.Create;
try
MainForm.ListView.Items.BeginUpdate;
MainForm.ListView.Items.Clear;
if (Pos('<flame ', Lowercase(FStrings.Text)) <> 0) then
if (Pos('<flame ', Lowercase(FileStrings.Text)) <> 0) then
begin
for i := 0 to FStrings.Count - 1 do
i := 0;
while i < FileStrings.Count do
begin
p := Pos('<flame ', LowerCase(FStrings[i]));
p := Pos('<flame ', LowerCase(FileStrings[i]));
if (p <> 0) then
begin
MainForm.ListXMLScanner.LoadFromBuffer(PCHAR(FSTrings[i]));
ParamStrings.Add(FileStrings[i]);
repeat
Inc(i);
ParamStrings.Add(FileStrings[i]);
until pos('</flame>', Lowercase(FileStrings[i])) <> 0;
Assert(xmlErrorsList.Count = 0);
pname := '';
ptime := '';
pversion := '';
MainForm.ListXMLScanner.LoadFromBuffer(PCHAR(ParamStrings.Text));
MainForm.ListXMLScanner.Execute;
if Trim(pname) = '' then
Title := '*untitled ' + ptime
else
Title := Trim(pname);
Title := Trim(pname);
if Title = '' then
Title := '*untitled ' + ptime;
if Title <> '' then
begin { Otherwise bad format }
ListItem := MainForm.ListView.Items.Add;
Listitem.Caption := Title;
ListItem.Caption := Title;
if xmlErrorsList.Count > 0 then begin
ListItem.ImageIndex := 1;
xmlErrorsList.Clear;
end;
end;
ParamStrings.Clear;
end;
Inc(i);
end;
end;
MainForm.ListView.Items.EndUpdate;
@ -2015,7 +2043,8 @@ begin
1: MainForm.ListView.Selected := MainForm.ListView.Items[0];
end;
finally
FStrings.Free;
ParamStrings.Free;
FileStrings.Free;
end;
end;
@ -2033,7 +2062,7 @@ begin
mnuListRename.Enabled := True;
mnuItemDelete.Enabled := True;
OpenFile := OpenDialog.FileName;
MainForm.Caption := AppVersionString + ' - ' + OpenFile; // --Z--
MainForm.Caption := AppVersionString + ' - ' + OpenFile;
OpenFileType := ftXML;
if UpperCase(ExtractFileExt(OpenDialog.FileName)) = '.IFS' then
begin
@ -2127,16 +2156,6 @@ begin
RedrawTimer.enabled := true;
end;
procedure TMainForm.mnuNormalWeightsClick(Sender: TObject);
begin
StopThread;
UpdateUndo;
// TODO: ...something
// ComputeWeights(MainCp, MainTriangles, transforms);
RedrawTimer.Enabled := True;
UpdateWindows;
end;
procedure TMainForm.mnuRWeightsClick(Sender: TObject);
begin
StopThread;
@ -2239,7 +2258,7 @@ begin
d := cp1.xform[m].c[1][1];
e := cp1.xform[m].c[2][0];
f := cp1.xform[m].c[2][1];
p := cp1.xform[m].Density;
p := cp1.xform[m].weight;
if m < Transforms then xf_str := 'p_xf' + inttostr(m)
else begin
if cp1.HasFinalXForm = false then break;
@ -2247,7 +2266,7 @@ begin
end;
Strings.Add(' ' + xf_str + '_p=' + Format('%.6g ', [p]));
Strings.Add(' ' + xf_str + '_c=' + floatTostr(cp1.xform[m].color));
Strings.Add(' ' + xf_str + '_sym=' + floatTostr(cp1.xform[m].symmetry));
Strings.Add(' ' + xf_str + '_sym=' + floatTostr(cp1.xform[m].color_speed));
Strings.Add(' ' + xf_str + '_cfa=' + Format('%.6g ', [a]) +
xf_str + '_cfb=' + Format('%.6g ', [b]) +
xf_str + '_cfc=' + Format('%.6g ', [c]) +
@ -2543,6 +2562,7 @@ begin
tbShowAlpha.Down := ShowTransparency;
DrawSelection := true;
FViewScale := 1; // prevent divide by zero (?)
xmlErrorsList := TStringList.Create;
end;
procedure TMainForm.FormShow(Sender: TObject);
@ -2713,6 +2733,7 @@ begin
MainCP.free;
ParseCp.free;
Favorites.Free;
xmlErrorsList.Free;
end;
procedure TMainForm.FormKeyPress(Sender: TObject; var Key: Char);
@ -2778,6 +2799,7 @@ begin
begin
pname := '';
ptime := '';
pversion := '';
p := Pos('<flame ', LowerCase(FileStrings[i]));
if (p <> 0) then
begin
@ -2847,7 +2869,7 @@ var
i, p: integer;
FileStrings: TStringList;
ParamStrings: TStringList;
Tokens: TStringList;
// Tokens: TStringList;
flameindex: integer;
begin
FileStrings := TStringList.Create;
@ -2860,6 +2882,7 @@ begin
begin
pname := '';
ptime := '';
pversion := '';
p := Pos('<flame ', LowerCase(FileStrings[i]));
if (p <> 0) then
begin
@ -2914,6 +2937,50 @@ begin
end;
end;
procedure TMainForm.CheckXMLFlame(filename: string; index: integer);
var
i, p: integer;
FileStrings: TStringList;
ParamStrings: TStringList;
Tokens: TStringList;
flameindex: integer;
begin
FileStrings := TStringList.Create;
ParamStrings := TStringList.Create;
try
FileStrings.LoadFromFile(filename);
flameindex := 0;
for i := 0 to FileStrings.Count - 1 do
begin
pname := '';
ptime := '';
pversion := '';
p := Pos('<flame ', LowerCase(FileStrings[i]));
if (p <> 0) then
begin
if (flameIndex <> index) then begin
inc(flameIndex);
continue;
end;
ParamStrings.Add(FileStrings[i]);
Break;
end;
end;
repeat
inc(i);
ParamStrings.Add(FileStrings[i]);
until pos('</flame>', Lowercase(FileStrings[i])) <> 0;
Assert(xmlErrorsList.Count = 0);
MainForm.ListXMLScanner.LoadFromBuffer(PCHAR(PAramStrings.Text));
MainForm.ListXMLScanner.Execute;
finally
FileStrings.free;
ParamStrings.free;
end;
end;
procedure TMainForm.ResizeImage;
var
pw, ph: integer;
@ -2961,7 +3028,7 @@ begin
if OpenFileType = ftXML then
begin
LoadXMLFlame(OpenFile, ListView.Selected.Index);
LoadXMLFlame(OpenFile, {ListView.Selected.Index ?}Item.Index);
end
else
begin
@ -3166,7 +3233,8 @@ label
skip;
begin
for i := 0 to mainCP.NumXForms-1 do
if mainCP.xform[i].noPlot = false then goto skip;
if mainCP.xform[i].opacity <> 0 then goto skip;
// No visible xforms - exiting
exit;
skip:
maincp.zoom := 0;
@ -3924,12 +3992,12 @@ begin
if FinalXformLoaded = false then begin
cp1{MainCP}.xform[nxform].Clear;
cp1{MainCP}.xform[nxform].symmetry := 1;
cp1{MainCP}.xform[nxform].color_speed := 1;
end;
if nxform < NXFORMS then
for i := nxform to NXFORMS - 1 do
cp1.xform[i].density := 0;
cp1.xform[i].weight := 0;
// Check for symmetry parameter
if ParseCp.symmetry <> 0 then
@ -4162,8 +4230,56 @@ end;
procedure TMainForm.ListXmlScannerStartTag(Sender: TObject;
TagName: string; Attributes: TAttrList);
begin
pname := Attributes.value('name');
ptime := Attributes.value('time');
if (TagName = 'flame') then begin
pname := Attributes.value('name');
ptime := Attributes.value('time');
pversion := Attributes.Value('version');
pxformnum := 1; // hacky
end;
end;
procedure TMainForm.ListXmlScannerEmptyTag(Sender: TObject;
TagName: String; Attributes: TAttrList);
const
ValidAttributes: array[0..9] of string = (
'coefs', 'post', 'weight', 'color',
'symmetry', 'noplot', 'chaos', 'enabled',
'plotmode', 'opacity'
);
var
i, j: integer;
found: boolean;
attr: string;
begin
if (tagName = 'xform') or (tagName = 'finalxform') then begin
for i := 0 to Attributes.Count-1 do begin
attr := Attributes.Name(i);
found := false;
for j := 0 to High(ValidAttributes) do
if attr = ValidAttributes[j] then begin
found := true;
break;
end;
if found then continue;
for j := 0 to NRVAR-1 do
if attr = Varnames(j) then begin
found := true;
break;
end;
if found then continue;
for j := 0 to GetNrVariableNames-1 do
if attr = GetVariableNameAt(j) then begin
found := true;
break;
end;
if found then continue;
xmlErrorsList.Add('in xform #' + IntToStr(pxformnum) + ' "' + attr + '"');
end;
Inc(pxformnum);
end;
end;
procedure TMainForm.XMLScannerStartTag(Sender: TObject; TagName: string;
@ -4316,7 +4432,7 @@ begin
with ParseCP.xform[nXform] do begin
Clear;
v := Attributes.Value('weight');
if (v <> '') and (TagName = 'xform') then density := StrToFloat(v);
if (v <> '') and (TagName = 'xform') then weight := StrToFloat(v);
if (TagName = 'finalxform') then
begin
v := Attributes.Value('enabled');
@ -4324,12 +4440,14 @@ begin
else ParseCP.finalXformEnabled := true;
end;
if activexformset > 0 then density := 0; // tmp...
if activexformset > 0 then weight := 0; // tmp...
v := Attributes.Value('color');
if v <> '' then color := StrToFloat(v);
v := Attributes.Value('symmetry');
if v <> '' then symmetry := StrToFloat(v);
if v <> '' then color_speed := StrToFloat(v);
v := Attributes.Value('color_speed');
if v <> '' then color_speed := StrToFloat(v);
v := Attributes.Value('coefs');
GetTokens(v, tokens);
if Tokens.Count < 6 then ShowMessage('Not enough coefficients...crash?');
@ -4363,13 +4481,16 @@ begin
v := Attributes.Value('plotmode');
if v <> '' then begin
if v = 'off' then begin
noPlot := true;
opacity := 0; //noPlot := true;
end
else begin
noPlot := false;
opacity := 1; //noPlot := false;
end;
end;
v := Attributes.Value('opacity');
if v <> '' then opacity := StrToFloat(v);
for i := 0 to NRVAR - 1 do
begin
vars[i] := 0;
@ -4616,7 +4737,6 @@ procedure TMainForm.ImageMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
scale: double;
rs: TSRect;
begin
case FMouseMoveState of
msZoomWindowMove:
@ -4824,7 +4944,7 @@ const
cornerSize = 32;
var
bkuPen: TPen;
dx, dy, cx, cy: integer;
dx, dy: integer;
l, r, t, b: integer;
begin
bkuPen := TPen.Create;
@ -4939,7 +5059,7 @@ begin
NewMenuItem.GroupIndex := 2;
NewMenuItem.RadioItem := True;
VarMenus[i] := NewMenuItem;
if i < NumBuiltinVars then
if i < NumBuiltinVariations then
mnuBuiltinVars.Add(NewMenuItem)
else
mnuPluginVars.Add(NewMenuItem);
@ -5074,10 +5194,23 @@ end;
procedure TMainForm.ListViewInfoTip(Sender: TObject; Item: TListItem;
var InfoTip: String);
var
Bitmap: TBitmap;
lcp: TControlPoint;
//var
//Bitmap: TBitmap;
//lcp: TControlPoint;
begin
{
// Show unrecognized variations/variables in the tooltip
CheckXMLFlame(OpenFile, Item.Index);
InfoTip := InfoTip + #13#10 + 'Created with: ' + pversion;
if xmlErrorsList.Count > 0 then begin
InfoTip := InfoTip + #13#10 + 'Unrecognized values:' + #13#10 + xmlErrorsList.Text;
xmlErrorsList.Clear;
end;
}
// flame preview in a tooltip...
{
BitMap := TBitMap.create;
@ -5120,4 +5253,23 @@ begin
}
end;
procedure TMainForm.ListViewSelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
var
i: integer;
str: string;
begin
{
CheckXMLFlame(OpenFile, Item.Index);
if xmlErrorsList.Count > 0 then begin
str := 'Unrecognized values:' + #13#10 + xmlErrorsList.Text;
InfoLabel.Caption := InfoLabel.Caption + #13#10 + str;
InfoLabel.Hint := str;
xmlErrorsList.Clear;
end
}
end;
end.