Changeset 75 for trunk/IDE/Forms


Ignore:
Timestamp:
Jun 4, 2024, 12:22:49 AM (6 months ago)
Author:
chronos
Message:
  • Modified: Removed U prefix from unit names.
  • Modified: Updated Common package.
Location:
trunk/IDE/Forms
Files:
22 deleted
24 moved

Legend:

Unmodified
Added
Removed
  • trunk/IDE/Forms/FormCodeTree.pas

    r74 r75  
    1 unit UFormCodeTree;
    2 
    3 {$mode Delphi}{$H+}
     1unit FormCodeTree;
    42
    53interface
     
    2018  end;
    2119
    22 var
    23   FormCodeTree: TFormCodeTree;
    2420
    2521implementation
  • trunk/IDE/Forms/FormExternalProducerOutput.pas

    r74 r75  
    1 unit UFormExternalProducerOutput;
    2 
    3 {$mode delphi}
     1unit FormExternalProducerOutput;
    42
    53interface
     
    2018  end;
    2119
    22 var
    23   FormExternalProducerOutput: TFormExternalProducerOutput;
    2420
    2521implementation
  • trunk/IDE/Forms/FormMain.lfm

    r74 r75  
    11object FormMain: TFormMain
    22  Left = 799
    3   Height = 501
     3  Height = 752
    44  Top = 435
    5   Width = 695
     5  Width = 1042
    66  Caption = 'Transpascal IDE'
    7   ClientHeight = 467
    8   ClientWidth = 695
    9   Font.Height = -11
     7  ClientHeight = 752
     8  ClientWidth = 1042
     9  DesignTimePPI = 144
     10  Font.Height = -17
    1011  Font.Name = 'Tahoma'
    1112  Menu = MainMenu
     
    1516  OnShow = FormShow
    1617  Position = poDesktopCenter
    17   LCLVersion = '1.8.0.4'
     18  LCLVersion = '3.2.0.0'
    1819  object Splitter3: TSplitter
    1920    Cursor = crVSplit
    2021    Left = 0
    21     Height = 5
    22     Top = 462
    23     Width = 695
     22    Height = 8
     23    Top = 744
     24    Width = 1042
    2425    Align = alBottom
    2526    ResizeAnchor = akBottom
     
    2728  object ToolBar1: TToolBar
    2829    Left = 0
    29     Height = 26
     30    Height = 39
    3031    Top = 0
    31     Width = 695
     32    Width = 1042
    3233    Images = ImageList1
    3334    ParentShowHint = False
     
    4041    end
    4142    object ToolButton2: TToolButton
    42       Left = 24
     43      Left = 36
    4344      Top = 2
    4445      Action = AProjectOpen
     
    4748    end
    4849    object ToolButton3: TToolButton
    49       Left = 59
     50      Left = 89
    5051      Top = 2
    5152      Action = AProjectSave
    5253    end
    5354    object ToolButton4: TToolButton
    54       Left = 82
     55      Left = 124
    5556      Top = 2
    5657      Action = AProjectClose
    5758    end
    5859    object ToolButton5: TToolButton
    59       Left = 105
    60       Height = 22
     60      Left = 159
     61      Height = 33
    6162      Top = 2
    6263      Style = tbsSeparator
    6364    end
    6465    object ToolButton6: TToolButton
    65       Left = 113
     66      Left = 167
    6667      Top = 2
    6768      Action = AViewOptions
    6869    end
    6970    object ToolButton7: TToolButton
    70       Left = 136
     71      Left = 202
    7172      Top = 2
    7273      Action = ABuild
    7374    end
    7475    object ToolButton8: TToolButton
    75       Left = 159
     76      Left = 237
    7677      Top = 2
    7778      Action = ARun
    7879    end
    7980    object ToolButton9: TToolButton
    80       Left = 182
     81      Left = 272
    8182      Top = 2
    8283      Action = APause
    8384    end
    8485    object ToolButton10: TToolButton
    85       Left = 205
     86      Left = 307
    8687      Top = 2
    8788      Action = AStop
    8889    end
    8990    object ComboBoxTarget: TComboBox
    90       Left = 228
     91      Left = 342
    9192      Height = 40
    9293      Top = 2
    93       Width = 100
     94      Width = 150
    9495      ItemHeight = 0
    95       OnChange = ComboBoxTargetChange
    9696      Style = csDropDownList
    9797      TabOrder = 0
     98      OnChange = ComboBoxTargetChange
    9899    end
    99100    object ToolButton11: TToolButton
    100       Left = 328
     101      Left = 492
    101102      Top = 2
    102103      Action = AViewTargets
     
    104105  end
    105106  object Splitter1: TSplitter
    106     Left = 490
    107     Height = 330
    108     Top = 26
    109     Width = 5
     107    Left = 734
     108    Height = 545
     109    Top = 39
     110    Width = 8
    110111    Align = alRight
    111112    ResizeAnchor = akRight
    112113  end
    113114  object PageControlRight: TPageControl
    114     Left = 495
    115     Height = 330
    116     Top = 26
    117     Width = 200
     115    Left = 742
     116    Height = 545
     117    Top = 39
     118    Width = 300
    118119    ActivePage = TabSheetExternalProducer
    119120    Align = alRight
     
    136137  object PageControlBottom: TPageControl
    137138    Left = 0
    138     Height = 101
    139     Top = 361
    140     Width = 695
     139    Height = 152
     140    Top = 592
     141    Width = 1042
    141142    ActivePage = TabSheetMessages
    142143    Align = alBottom
     
    154155    Cursor = crVSplit
    155156    Left = 0
    156     Height = 5
    157     Top = 356
    158     Width = 695
     157    Height = 8
     158    Top = 584
     159    Width = 1042
    159160    Align = alBottom
    160161    ResizeAnchor = akBottom
     
    162163  object PageControlMain: TPageControl
    163164    Left = 0
    164     Height = 330
    165     Top = 26
    166     Width = 490
    167     ActivePage = TabSheetSource
     165    Height = 545
     166    Top = 39
     167    Width = 734
     168    ActivePage = TabSheetTarget
    168169    Align = alClient
    169     TabIndex = 0
     170    TabIndex = 1
    170171    TabOrder = 6
    171172    object TabSheetSource: TTabSheet
     
    178179  object MainMenu: TMainMenu
    179180    Images = ImageList1
    180     left = 115
    181     top = 160
     181    Left = 173
     182    Top = 240
    182183    object MenuItem1: TMenuItem
    183184      Caption = 'Project'
     
    288289  object ActionList1: TActionList
    289290    Images = ImageList1
    290     left = 112
    291     top = 216
     291    Left = 168
     292    Top = 324
    292293    object AProjectNew: TAction
    293294      Category = 'Project'
     
    448449    DefaultExt = '.tppr'
    449450    Filter = 'Project file (*.tppr)|*.tppr|Any file (*.*)|*.*'
    450     left = 115
    451     top = 54
     451    Left = 173
     452    Top = 81
    452453  end
    453454  object SaveDialogProject: TSaveDialog
    454455    DefaultExt = '.tppr'
    455456    Filter = 'Project file (*.tppr)|*.tppr|Any file (*.*)|*.*'
    456     left = 115
    457     top = 104
     457    Left = 173
     458    Top = 156
    458459  end
    459460  object ImageList1: TImageList
    460     left = 112
    461     top = 272
     461    Left = 168
     462    Top = 408
    462463    Bitmap = {
    463       4C690F0000001000000010000000000000000000000000000000000000000000
    464       0000000000000000000000000000000000000000000000000000000000000000
    465       0000000000000000000000000000000000000000000000000000000000000000
    466       0000000000000000000000000000000000000000000000000000000000000000
    467       0000000000000000000000000000000000000000000000000000000000000000
    468       0000000000000000000000000000000000000000000000000000000000000000
    469       0000000000000000000000000000000000000000000000000000000000000000
    470       0000000000000000000000000000000000000000000000000000000000000000
    471       0000000000000000000000000000000000000000000000000000000000000000
    472       FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
    473       0000000000000000000000000000000000000000000000000000000000000000
    474       FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
    475       0000000000000000000000000000000000000000000000000000000000000000
    476       FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
    477       0000000000000000000000000000000000000000000000000000000000000000
    478       FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
    479       0000000000000000000000000000000000000000000000000000000000000000
    480       FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
    481       0000000000000000000000000000000000000000000000000000000000000000
    482       FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
    483       0000000000000000000000000000000000000000000000000000000000000000
    484       FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
    485       0000000000000000000000000000000000000000000000000000000000000000
    486       FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
    487       0000000000000000000000000000000000000000000000000000000000000000
    488       0000000000000000000000000000000000000000000000000000000000000000
    489       0000000000000000000000000000000000000000000000000000000000000000
    490       0000000000000000000000000000000000000000000000000000000000000000
    491       0000000000000000000000000000000000000000000000000000000000000000
    492       0000000000000000000000000000000000000000000000000000000000000000
    493       0000000000000000000000000000000000000000000000000000000000000000
    494       0000000000000000000000000000000000000000000000000000000000000000
    495       0000000000000000000000000000000000000000000000000000000000000000
    496       0000000000000000000000000000000000000000000000000000000000000000
    497       0000000000000000000000000000000000000000000000000000000000000000
    498       00000000000000000000000000FF000000FF0000000000000000000000000000
    499       0000000000000000000000000000000000000000000000000000000000000000
    500       0000000000FF000000FF800080FF800080FF000000FF00000000000000000000
    501       0000000000000000000000000000000000000000000000000000000000FF0000
    502       00FF800080FF800080FF800080FF800080FF800080FF000000FF000000000000
    503       000000000000000000000000000000000000000000FF000000FF800080FF8000
    504       80FF800080FF800080FF800080FF800080FF800080FF800080FF000000FF0000
    505       0000000000000000000000000000000000FFC0C0C0FF800080FF800080FF8000
    506       80FF800080FF800080FF800080FF800080FF800080FF800080FF800080FF0000
    507       00FF000000000000000000000000000000FF800080FFC0C0C0FF800080FF8000
    508       80FF800080FF800080FF800080FF800080FF800080FF800080FF800080FF8000
    509       80FF000000FF0000000000000000000000FF800080FF800080FFC0C0C0FF8000
    510       80FF800080FF800080FF800080FF800080FF800080FF800080FF800080FF8000
    511       80FF800080FF000000FF00000000000000FF800080FF800080FF800080FFC0C0
    512       C0FF800080FF800080FF800080FF800080FF800080FF800080FF800080FF8000
    513       80FF800080FF000000FF000000FF000000FF800080FF800080FF800080FF8000
    514       80FFC0C0C0FF800080FF800080FF800080FF800080FF800080FF800080FF0000
    515       00FF000000FF808080FF0000000000000000000000FF800080FF800080FF8000
    516       80FF800080FFC0C0C0FF800080FF800080FF800080FF000000FF000000FF8080
    517       80FFFFFFFFFF808080FF000000000000000000000000000000FF800080FF8000
    518       80FF800080FF800080FFC0C0C0FF000000FF000000FF808080FFC0C0C0FFFFFF
    519       FFFFC0C0C0FF000000FF000000FF000000000000000000000000000000FF8000
    520       80FF800080FF800080FF000000FF808080FFFFFFFFFFC0C0C0FFFFFFFFFFC0C0
    521       C0FF000000FF000000FF00000000000000000000000000000000000000000000
    522       00FF800080FF800080FF000000FFFFFFFFFFC0C0C0FFFFFFFFFF000000FF0000
    523       00FF000000000000000000000000000000000000000000000000000000000000
    524       0000000000FF800080FF000000FF808080FF000000FF000000FF000000000000
    525       0000000000000000000000000000000000000000000000000000000000000000
    526       000000000000000000FF000000FF000000FF0000000000000000000000000000
    527       0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    528       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    529       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    530       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    531       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000A4000000A6000000
    532       A9200000AA7E0000AAB20000AAC80000AAB20000AA7E0000A9200000A6000000
    533       A400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000A4000000A6410A0A
    534       AEC13F3FD5E76060EDF86A6AF3FE6060ECF83E3ED4E70A0AADC10000A6410000
    535       A400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000A3200A0AABC15555
    536       E3F35A5AE2FF5656DEFF5656DEFF5656DEFF5959E1FF5050DEF30909AAC10000
    537       A320FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000009E7E3939CCE64A4A
    538       D2FF4545CDFF4545CDFF4545CDFF4545CDFF4545CDFF4848D0FF3131C3E60000
    539       9E7EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000009AB24A4AD4F83737
    540       BFFF3737BFFF3131BAFF2727B0FF1C1CA6FF1616A0FF12129CFF2323AEF80000
    541       9AB2FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000095C84848D0FE2E2E
    542       B8FF1D1DADFF1212A5FF1111A4FF1111A4FF1111A4FF1111A4FF1B1BADFE0000
    543       95C8FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000008FB23434C3F81414
    544       B2FF1111B1FF1111B1FF1111B1FF1111B1FF1111B1FF1111B1FF1414B0F80000
    545       8FB2FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000897E1818AFE61414
    546       C1FF1111BFFF1111BFFF1111BFFF1111BFFF1111BFFF1111BFFF0A0AA6E60000
    547       897EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000008420030389C11515
    548       BFF31212CDFF1111CCFF1111CCFF1111CCFF1111CCFF0E0EBCF3020288C10000
    549       8420FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000008100000078410202
    550       7DC10A0AA8E70F0FCAF81111D5FE0F0FCAF80A0AA8E702027DC1000078410000
    551       8100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000008100000075000000
    552       64200000607E000060B2000060C8000060B20000607E00006420000075000000
    553       8100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    554       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    555       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    556       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    557       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    558       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    559       FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
    560       0000000000000000000000000000000000000000000000000000000000000000
    561       0000000000000000000000000000000000000000000000000000000000000000
    562       0000000000000000000000000000000000000000000000000000000000000000
    563       000000000000000000000000000000000000000000001818C0FF1818C0FFC0C0
    564       C0FF000000000000000000000000000000000000000000000000000000000000
    565       00001818C0FF1818C0FFC0C0C0FF00000000000000002020C8FF2020C8FF2020
    566       C8FF2020C8FFC0C0C0FF00000000000000000000000000000000000000002020
    567       C8FF2020C8FFC0C0C0FF000000000000000000000000000000002626CEFF2626
    568       CEFF2626CEFF2626CEFFC0C0C0FF0000000000000000000000002626CEFF2626
    569       CEFFC0C0C0FF0000000000000000000000000000000000000000000000000000
    570       00002929D1FF2929D1FF2929D1FFC0C0C0FF000000002929D1FFC0C0C0FF0000
    571       0000000000000000000000000000000000000000000000000000000000000000
    572       0000000000002C2CD4FF2C2CD4FF2C2CD4FF2C2CD4FF2C2CD4FFC0C0C0FF0000
    573       0000000000000000000000000000000000000000000000000000000000000000
    574       000000000000000000002F2FD7FF2F2FD7FF2F2FD7FFC0C0C0FF000000000000
    575       0000000000000000000000000000000000000000000000000000000000000000
    576       0000000000003232DAFF3232DAFF3232DAFF3232DAFF3232DAFFC0C0C0FF0000
    577       0000000000000000000000000000000000000000000000000000000000000000
    578       00003535DDFF3535DDFF3535DDFFC0C0C0FF000000003535DDFF3535DDFFC0C0
    579       C0FF000000000000000000000000000000000000000000000000000000003838
    580       E0FF3838E0FF3838E0FFC0C0C0FF0000000000000000000000003838E0FF3838
    581       E0FFC0C0C0FF00000000000000000000000000000000000000003A3AE2FF3A3A
    582       E2FF3A3AE2FFC0C0C0FF00000000000000000000000000000000000000003A3A
    583       E2FFC0C0C0FF00000000000000000000000000000000000000003A3AE2FF3A3A
    584       E2FF3A3AE2FFC0C0C0FF00000000000000000000000000000000000000000000
    585       00003A3AE2FFC0C0C0FF00000000000000000000000000000000000000003A3A
    586       E2FFC0C0C0FF0000000000000000000000000000000000000000000000000000
    587       0000000000000000000000000000000000000000000000000000000000000000
    588       0000000000000000000000000000000000000000000000000000000000000000
    589       0000000000003A3AE2FFC0C0C0FF000000000000000000000000000000000000
    590       0000000000000000000000000000000000000000000000000000000000000000
    591       0000000000000000000000000000000000000000000000000000000000000000
    592       0000000000000000000000000000000000000000000000000000000000000000
    593       000000000000000000000000000000000000000000FF000000FF000000FF0000
    594       00FF000000FF000000FF000000FF000000FF0000000000000000000000000000
    595       000000000000000000000000000000000000000000FF000000FFFFFFFFFFFFFF
    596       FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000000000000000000000000000
    597       000000000000000000000000000000000000000000FF008484FF000000FFFFFF
    598       FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000000000000000000000000000
    599       0000840000FF000000000000000000000000000000FF008484FF008484FF0000
    600       00FFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000000000000000000000008400
    601       00FF840000FF000000000000000000000000000000FF008484FF008484FF0084
    602       84FF000000FFFFFFFFFFFFFFFFFF000000FF0000000000000000840000FF8400
    603       00FF840000FF840000FF840000FF00000000000000FF008484FF008484FF0084
    604       84FF000000FFFFFFFFFFFFFFFFFF000000FF00000000840000FF840000FF8400
    605       00FF840000FF840000FF840000FF00000000000000FF008484FF008484FF0084
    606       84FF000000FFFFFFFFFFFFFFFFFF000000FF0000000000000000840000FF8400
    607       00FF840000FF840000FF840000FF00000000000000FF008484FF008484FF0084
    608       84FF000000FFFFFFFFFFFFFFFFFF000000FF0000000000000000000000008400
    609       00FF840000FF000000000000000000000000000000FF008484FF008484FF0000
    610       00FF000000FFFFFFFFFFFFFFFFFF000000FF0000000000000000000000000000
    611       0000840000FF000000000000000000000000000000FF008484FF008484FF0084
    612       84FF000000FFFFFFFFFFFFFFFFFF000000FF0000000000000000000000000000
    613       0000000000000000000000000000000000FF000000FF008484FF008484FF0084
    614       84FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
    615       00FF0000000000000000000000000000000000000000000000FF008484FF0084
    616       84FF000000FF0000000000000000000000000000000000000000000000000000
    617       0000000000000000000000000000000000000000000000000000000000FF0084
    618       84FF000000FF0000000000000000000000000000000000000000000000000000
    619       0000000000000000000000000000000000000000000000000000000000000000
    620       00FF000000FF0000000000000000000000000000000000000000000000000000
    621       0000000000000000000000000000000000000000000000000000000000000000
    622       0000000000FF0000000000000000000000000000000000000000000000000000
    623       0000000000000000000000000000000000000000000000000000000000000000
    624       0000000000000000000000000000000000000000000000000000000000000000
    625       000000000000000000000000000000000000000000000000000000000000C584
    626       44FFC28342FFD89C6DFFD69668FFD49463FFD69668FFB2793CFFB1783BFF0000
    627       0000000000000000000000000000000000000000000000000000C58442FFDCA2
    628       77FFF3DAC7FFFCF7F1FFFFFEFEFFFFFEFEFFFCF4EDFFF1D6C0FFC7935DFFA66F
    629       33FF0000000000000000000000000000000000000000C48443FFE5B999FFFCF4
    630       EDFFFBD2C1FFFAA887FFFD8757FFFD8454FFF8A582FFF7CEBDFFFAF1E7FFD2A7
    631       7AFFA36A2AFF000000000000000000000000C48445FFDCA277FFFCF4EDFFFABF
    632       A6FFFF7A43FFFFBB9EFFFFF6F3FFFFFEFEFFFEEDE5FFFA9970FFF3B69CFFF8F0
    633       E6FFBB8B56FF986426FF0000000000000000C48341FFF0DAC3FFFAD1C0FFFF79
    634       40FFFF986EFFFFFEFEFFFFC9B2FFFD9164FFFAC6AFFFFEF5F1FFF5773DFFEDC5
    635       B2FFE4CBB3FF905D21FF0000000000000000D1834CFFFCF7F1FFFAA582FFFF73
    636       3AFFFF844EFFFFAE8AFFFE6C2DFFF76727FFF19268FFFFFEFEFFE98354FFD785
    637       60FFF8F1ECFF81551FFF0000000000000000CD844EFFFFFEFEFFFC814CFFFF70
    638       31FFFF6B2CFFFD6928FFF86523FFF49265FFFDF5F1FFF4D4C5FFC65018FFBA59
    639       27FFFEFEFDFF834A1CFF0000000000000000CD8147FFFFFEFEFFF87A46FFF968
    640       29FFF66525FFF16020FFF18653FFFFFEFEFFF0BFA8FFC55A24FFB64C15FFB757
    641       24FFFEFEFDFF7F481AFF0000000000000000CD7F45FFFCF4EDFFEC9772FFE860
    642       21FFE05A1DFFDB5819FFEDAA89FFFFFEFEFFC84E12FFB94C11FFB34C13FFC77B
    643       53FFF6F0ECFF7A4319FF0000000000000000B4793AFFEFD6C1FFEDC5B2FFDD5A
    644       1AFFD55617FFD25313FFD87D4DFFE3A686FFBB4C11FFB34A12FFB64A10FFDEB9
    645       A6FFDCC9B8FF563C0DFF0000000000000000B67734FFD6996BFFF9F0E7FFDDA4
    646       88FFC75013FFC04E11FFDCA688FFFFFEFEFFB54911FFB64A10FFD59E82FFF3EC
    647       E7FF9A7352FF49340DFF000000000000000000000000B2702BFFDBAB80FFF8EF
    648       E7FFE2BBA6FFCC7E56FFC15823FFC05722FFC97F56FFDEBAA7FFF2EBE7FFB393
    649       76FF483108FF0000000000000000000000000000000000000000A1692CFFC088
    650       58FFE0C9B4FFF7F1ECFFFEFDFCFFFEFDFCFFF5F0ECFFDCC9B8FF9E7857FF4731
    651       08FF000000000000000000000000000000000000000000000000000000009164
    652       29FF855A24FF885015FF824A1DFF7E4719FF794417FF583C0EFF49340DFF0000
    653       0000000000000000000000000000000000000000000000000000000000000000
    654       0000000000000000000000000000000000000000000000000000000000000000
    655       0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    656       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    657       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    658       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    659       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    660       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    661       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    662       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    663       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000063000000B7FFFF
    664       FF00FFFFFF00000000FF000000FF000000B7FFFFFF00FFFFFF00000000FF0000
    665       00FF0000008BFFFFFF00FFFFFF00FFFFFF0000000040000000FF000000B7FFFF
    666       FF0000000063000000B7FFFFFF00000000B700000063000000630000008B0000
    667       0020000000FF00000020FFFFFF0000000020000000FF000000FF000000B7FFFF
    668       FF00FFFFFF00FFFFFF00FFFFFF000000008B0000008BFFFFFF00FFFFFF00FFFF
    669       FF00000000FF00000040FFFFFF0000000020000000B70000008B000000B7FFFF
    670       FF00FFFFFF00FFFFFF00FFFFFF00000000FF0000008BFFFFFF00FFFFFF000000
    671       0020000000FF00000020FFFFFF00FFFFFF00FFFFFF000000008B000000B7FFFF
    672       FF00FFFFFF00FFFFFF000000008B000000FF00000040FFFFFF00FFFFFF000000
    673       00FF00000040FFFFFF00FFFFFF00FFFFFF00FFFFFF000000008B000000B7FFFF
    674       FF00FFFFFF0000000040000000FF000000B7FFFFFF00FFFFFF00FFFFFF00FFFF
    675       FF00000000FF00000063FFFFFF00FFFFFF00FFFFFF000000008B000000B7FFFF
    676       FF00FFFFFF00000000FF000000FF00000020FFFFFF00FFFFFF00FFFFFF00FFFF
    677       FF00000000FF0000008BFFFFFF00FFFFFF00FFFFFF000000008B000000B7FFFF
    678       FF0000000063000000FF00000063FFFFFF00FFFFFF0000000063000000B70000
    679       0020000000FF00000063FFFFFF00FFFFFF00FFFFFF000000008B000000B7FFFF
    680       FF000000008B000000FF000000FF000000FF0000008BFFFFFF00000000B70000
    681       00FF000000B7FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    682       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    683       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    684       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    685       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    686       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    687       FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
    688       0000000000000000000000000000000000000000000000000000000000000000
    689       0000000000000000000000000000000000000000000000000000000000000000
    690       000000000000000000000000000000000000000000FF000000FF000000FF0000
    691       0000000000000000000000000000000000000000000000000000000000000000
    692       0000000000000000000000000000000000FF0000000000000000000000000000
    693       00FF00000000000000FF00000000000000000000000000000000000000000000
    694       0000000000000000000000000000000000000000000000000000000000000000
    695       0000000000FF000000FF0000000000000000000000FF000000FF000000FF0000
    696       0000000000000000000000000000000000000000000000000000000000000000
    697       00FF000000FF000000FF00000000000000FF00FFFFFFFFFFFFFF00FFFFFF0000
    698       00FF000000FF000000FF000000FF000000FF000000FF000000FF000000000000
    699       0000000000000000000000000000000000FFFFFFFFFF00FFFFFFFFFFFFFF00FF
    700       FFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF000000FF000000000000
    701       0000000000000000000000000000000000FF00FFFFFFFFFFFFFF00FFFFFFFFFF
    702       FFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFF000000FF000000000000
    703       0000000000000000000000000000000000FFFFFFFFFF00FFFFFFFFFFFFFF00FF
    704       FFFF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
    705       00FF000000FF000000FF000000FF000000FF00FFFFFFFFFFFFFF00FFFFFF0000
    706       00FF008484FF008484FF008484FF008484FF008484FF008484FF008484FF0084
    707       84FF008484FF000000FF00000000000000FFFFFFFFFF00FFFFFF000000FF0084
    708       84FF008484FF008484FF008484FF008484FF008484FF008484FF008484FF0084
    709       84FF000000FF0000000000000000000000FF00FFFFFF000000FF008484FF0084
    710       84FF008484FF008484FF008484FF008484FF008484FF008484FF008484FF0000
    711       00FF000000000000000000000000000000FF000000FF008484FF008484FF0084
    712       84FF008484FF008484FF008484FF008484FF008484FF008484FF000000FF0000
    713       0000000000000000000000000000000000FF000000FF000000FF000000FF0000
    714       00FF000000FF000000FF000000FF000000FF000000FF000000FF000000000000
    715       0000000000000000000000000000000000000000000000000000000000000000
    716       0000000000000000000000000000000000000000000000000000000000000000
    717       0000000000000000000000000000000000000000000000000000000000000000
    718       0000000000000000000000000000000000000000000000000000000000000000
    719       0000000000000000000000000000000000000000000000000000000000000000
    720       0000000000000000000000000000000000000000000000000000000000000000
    721       0000000000000000000000000000000000000000000000000000000000000000
    722       0000000000000000000000000000000000000000000000000000000000000000
    723       0000000000000000000000000000000000000000000000000000DE9077BFDA8A
    724       70FFD88367FFD57C61FF0000000000000000DE9077BFDA8A70FFD88367FFD57C
    725       61FF000000000000000000000000000000000000000000000000D9866CBFEBB0
    726       9DFFF0BBABFFD27457FF0000000000000000D9866CBFEBB09DFFF0BBABFFD274
    727       57FF000000000000000000000000000000000000000000000000D57C61BFE8A7
    728       93FFEDB6A3FFCD6849FF0000000000000000D57C61BFE8A793FFEDB6A3FFCD68
    729       49FF000000000000000000000000000000000000000000000000D27457BFE5A1
    730       8BFFEBAF9AFFC95E3EFF0000000000000000D27457BFE5A18BFFEBAF9AFFC95E
    731       3EFF000000000000000000000000000000000000000000000000CD6849BFE198
    732       81FFE8A793FFC45432FF0000000000000000CD6849BFE19881FFE8A793FFC454
    733       32FF000000000000000000000000000000000000000000000000C86A4DBFE7A5
    734       90FFE5A18BFFBF4A27FF0000000000000000C86A4DBFE7A590FFE5A18BFFBF4A
    735       27FF000000000000000000000000000000000000000000000000B95435BFE299
    736       84FFE29A85FFB5401DFF0000000000000000B95435BFE29984FFE29A85FFB540
    737       1DFF000000000000000000000000000000000000000000000000BF4A27C0D985
    738       6BFFDF957EFFAA3A18FF0000000000000000BF4A27C0D9856BFFDF957EFFAA3A
    739       18FF000000000000000000000000000000000000000000000000B5401DBFD57C
    740       61FFDE9077FF993414FF0000000000000000B5401DBFD57C61FFDE9077FF9934
    741       14FF000000000000000000000000000000000000000000000000AA3A18BFD375
    742       58FFDC8B71FF8A2C0FFF0000000000000000AA3A18BFD37558FFDC8B71FF8A2C
    743       0FFF000000000000000000000000000000000000000000000000993414BFCF6F
    744       50FFDA886DFF7F270BFF0000000000000000993414BFCF6F50FFDA886DFF7F27
    745       0BFF0000000000000000000000000000000000000000000000008A2C0FBF842A
    746       0EFF7C260BFF7A250AFF00000000000000008A2C0FBF842A0EFF7C260BFF7A25
    747       0AFF000000000000000000000000000000000000000000000000000000000000
    748       0000000000000000000000000000000000000000000000000000000000000000
    749       0000000000000000000000000000000000000000000000000000000000000000
    750       0000000000000000000000000000000000000000000000000000000000000000
    751       0000000000000000000000000000000000000000000000000000000000000000
    752       0000000000000000000000000000000000000000000000000000000000000000
    753       000000000000000000000000000000000000000000FF000000FF000000FF0000
    754       00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
    755       00FF000000FF000000FF0000000000000000000000FF008484FF000000FFFFFF
    756       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
    757       00FFFFFFFFFF000000FF0000000000000000000000FF008484FF000000FFFFFF
    758       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
    759       00FF000000FF000000FF0000000000000000000000FF008484FF000000FFFFFF
    760       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
    761       00FF008484FF000000FF0000000000000000000000FF008484FF000000FFFFFF
    762       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
    763       00FF008484FF000000FF0000000000000000000000FF008484FF000000FFFFFF
    764       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
    765       00FF008484FF000000FF0000000000000000000000FF008484FF000000FFFFFF
    766       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
    767       00FF008484FF000000FF0000000000000000000000FF008484FF008484FF0000
    768       00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0084
    769       84FF008484FF000000FF0000000000000000000000FF008484FF008484FF0084
    770       84FF008484FF008484FF008484FF008484FF008484FF008484FF008484FF0084
    771       84FF008484FF000000FF0000000000000000000000FF008484FF008484FF0000
    772       00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
    773       00FF008484FF000000FF0000000000000000000000FF008484FF008484FF0000
    774       00FF000000FF000000FF000000FF000000FF000000FFFFFFFFFFFFFFFFFF0000
    775       00FF008484FF000000FF0000000000000000000000FF008484FF008484FF0000
    776       00FF000000FF000000FF000000FF000000FF000000FFFFFFFFFFFFFFFFFF0000
    777       00FF008484FF000000FF0000000000000000000000FF008484FF008484FF0000
    778       00FF000000FF000000FF000000FF000000FF000000FFFFFFFFFFFFFFFFFF0000
    779       00FF008484FF000000FF000000000000000000000000000000FF000000FF0000
    780       00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
    781       00FF000000FF000000FF00000000000000000000000000000000000000000000
    782       0000000000000000000000000000000000000000000000000000000000000000
    783       0000000000000000000000000000000000000000000000000000000000000000
    784       0000000000000000000000000000000000000000000000000000000000000000
    785       00000000000000000000000000000000000000000000000000FF000000FF0000
    786       00FF000000FF000000FF000000FF000000FF000000FF000000FF000000000000
    787       00000000000000000000000000000000000000000000000000FFFFFFFFFFFFFF
    788       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FF0000
    789       00000000000000000000000000000000000000000000000000FFFFFFFFFFFFFF
    790       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFBDBDBDFF0000
    791       00FF0000000000000000000000000000000000000000000000FFFFFFFFFFFFFF
    792       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FF0000
    793       00FF000000FF00000000000000000000000000000000000000FFFFFFFFFFFFFF
    794       FFFFFF0000FFFF0000FFFF0000FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    795       FFFF000000FF00000000000000000000000000000000000000FFFFFFFFFFFFFF
    796       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    797       FFFF000000FF00000000000000000000000000000000000000FFFFFFFFFFFFFF
    798       FFFFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFFFFFFFFFFFF
    799       FFFF000000FF00000000000000000000000000000000000000FFFFFFFFFFFFFF
    800       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    801       FFFF000000FF00000000000000000000000000000000000000FFFFFFFFFFFFFF
    802       FFFFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFFFFFFFFFFFF
    803       FFFF000000FF00000000000000000000000000000000000000FFFFFFFFFFFFFF
    804       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    805       FFFF000000FF00000000000000000000000000000000000000FFFFFFFFFFFFFF
    806       FFFFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFFFFFFFFFFFF
    807       FFFF000000FF00000000000000000000000000000000000000FFFFFFFFFFFFFF
    808       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    809       FFFF000000FF00000000000000000000000000000000000000FFFFFFFFFFFFFF
    810       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    811       FFFF000000FF00000000000000000000000000000000000000FF000000FF0000
    812       00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
    813       00FF000000FF0000000000000000000000000000000000000000000000000000
    814       0000000000000000000000000000000000000000000000000000000000000000
    815       0000000000000000000000000000A37B48FFA37B48FFA27A47FFA27946FFA178
    816       45FFA07744FFA07643FF9F7542FF9E7441FF9E7340FF9D723FFF9C713EFF9C70
    817       3DFF9B6F3CFF9A6E3BFF9A6D3AFFA37B48FFBEA27FFFBEA17EFFBDA17DFFBDA0
    818       7CFFBD9F7CFFBC9F7BFFBB9E7AFFBB9D7AFFBB9D79FFBA9C78FFB99B78FFB99A
    819       77FFB89A76FFB89975FF996C39FFA27A47FFFFFFFFFFFFFFFFFFFEFEFEFFFEFE
    820       FEFFFDFDFDFFFDFDFCFFFCFCFBFFFCFBFBFFFBFBFAFFFBFAF9FFFAFAF9FFFAF9
    821       F8FFF9F9F7FFF9F8F7FF986B37FFA17946FFFFFFFFFF878787FF5D5D5DFFA0A0
    822       A0FFFDFCFCFFFCFCFBFFFCFBFBFFFBFBFAFFFBFAF9FFFAFAF9FFFAF9F8FFF9F8
    823       F7FFF8F8F7FFF8F7F6FF976A36FFA17844FFFEFEFEFF5F5F5FFF949494FF5353
    824       53FFFCFCFBFF7B7B7BFF797979FF757575FF727272FF6E6E6EFF6A6A69FF6666
    825       66FF626262FFF7F7F5FF966935FFA07643FFFEFDFDFF8C8C8CFF525252FFA4A4
    826       A4FFFBFBFAFFFBFBFAFFFAFAF9FFFAF9F8FFF9F9F8FFF9F8F7FFF8F8F6FFF8F7
    827       F6FFF7F7F5FFF7F6F4FF966734FF9F7542FFFDFDFCFFFCFCFCFFFCFCFBFFFBFB
    828       FAFFFBFAFAFFFAFAF9FFFAF9F8FFF9F9F8FFF9F8F7FFF8F8F6FFF8F7F6FFF7F6
    829       F5FFF7F6F4FFF6F5F4FF956633FF9E7441FFFCFCFCFFB5B5B5FF848484FFBEBD
    830       BDFFFAFAF9FFFAF9F8FFF9F9F7FFF9F8F7FFF8F8F6FFF8F7F5FFF7F6F5FFF7F6
    831       F4FFF6F5F3FFF6F5F3FF946531FF9D7340FFFCFBFBFF818181FFC4C4C4FF8F8F
    832       8FFFFAF9F8FF7B7B7AFF797979FF757574FF727171FF6D6D6DFF696969FF6666
    833       65FF626261FFF5F4F2FF936430FF9D723EFFFBFBFAFF9F9F9EFF7F7F7FFFAEAE
    834       ADFFF9F8F7FFF8F8F7FFF8F7F6FFF7F7F5FFF7F6F5FFF6F6F4FFF6F5F3FFF5F4
    835       F3FFF5F4F2FFF4F3F1FF92622FFF9C703DFFFAFAF9FFFAF9F9FFF9F9F8FFF9F8
    836       F7FFF8F8F7FFF8F7F6FFF7F7F5FFF7F6F5FFF6F5F4FFF6F5F3FFF5F4F3FFF5F4
    837       F2FFF4F3F1FFF4F3F0FF92612EFF9B6F3CFFFAF9F8FFBEBEBDFF929292FFBCBC
    838       BBFFF8F7F6FFF7F7F5FFF7F6F4FFF6F5F4FFF6F5F3FFF5F4F2FFF5F4F2FFF4F3
    839       F1FFF4F2F0FFF3F2F0FF91602DFF9A6E3BFFF9F9F8FF7C7C7CFFC4C4C4FF8787
    840       87FFF7F6F5FF7A7A7AFF787878FF747474FF717170FF6D6D6CFF696968FF6565
    841       65FF616161FFF2F1EFFF905F2BFF996D3AFFF9F8F7FF959594FF878787FF9B9A
    842       9AFFF7F6F4FFF6F5F3FFF6F5F3FFF5F4F2FFF4F3F1FFF4F3F1FFF3F2F0FFF3F2
    843       EFFFF2F1EFFFF2F1EEFF8F5E2AFF996C38FFF8F7F6FFF8F7F5FFF7F6F5FFF6F6
    844       F4FFF6F5F3FFF5F5F3FFF5F4F2FFF4F3F1FFF4F3F1FFF3F2F0FFF3F2EFFFF2F1
    845       EFFFF2F0EEFFF1F0EDFF8E5D29FF986B37FF976A36FF966935FF966734FF9566
    846       33FF946532FF946531FF936430FF92622FFF92612EFF91602DFF90602CFF905F
    847       2BFF8F5D2AFF8E5C29FF8D5B28FF000000000000000000000000000000000000
    848       0000000000000000000000000000000000000000000000000000000000000000
    849       0000000000000000000000000000000000000000000000000000000000000000
    850       0000000000000000000000000000000000000000000000000000000000000000
    851       0000000000000000000000000000000000000000000000000000000000000000
    852       0000000000000000000000000000000000000000000000000000000000000000
    853       0000000000000000000000000000000000000000000000000000339966FF0000
    854       00000000000066CC99FF009933FF009933FF009933FF339966FF000000000000
    855       0000000000000000000000000000000000000000000000000000009933FF3399
    856       66FF009933FF009933FF009933FF009933FF009933FF339966FF339966FF0000
    857       0000000000000000000000000000000000000000000000000000009933FF0099
    858       33FF009933FF009933FF66CC99FF000000000000000066CC99FF009933FF66CC
    859       99FF000000000000000000000000000000000000000000000000009933FF0099
    860       33FF009933FF339966FF0000000000000000000000000000000066CC99FF0099
    861       33FF000000000000000000000000000000000000000000000000009933FF0099
    862       33FF009933FF009933FF339966FF000000000000000000000000000000000000
    863       0000000000000000000000000000000000000000000000000000000000000000
    864       0000000000000000000000000000000000000000000000000000000000000000
    865       0000000000000000000000000000000000000000000000000000000000000000
    866       0000000000000000000000000000339966FF009933FF009933FF009933FF0099
    867       33FF000000000000000000000000000000000000000000000000009933FF66CC
    868       99FF00000000000000000000000000000000339966FF009933FF009933FF0099
    869       33FF00000000000000000000000000000000000000000000000066CC99FF0099
    870       33FF66CC99FF000000000000000066CC99FF009933FF009933FF009933FF0099
    871       33FF000000000000000000000000000000000000000000000000000000003399
    872       66FF339966FF009933FF009933FF009933FF009933FF009933FF339966FF0099
    873       33FF000000000000000000000000000000000000000000000000000000000000
    874       0000339966FF009933FF009933FF009933FF66CC99FF00000000000000003399
    875       66FF000000000000000000000000000000000000000000000000000000000000
    876       0000000000000000000000000000000000000000000000000000000000000000
    877       0000000000000000000000000000000000000000000000000000000000000000
    878       0000000000000000000000000000000000000000000000000000000000000000
    879       0000000000000000000000000000000000000000000000000000000000000000
    880       0000000000000000000000000000000000000000000000000000000000000000
    881       0000000000000000000000000000000000000000000000000000000000000000
    882       000000FF00FF0000000000000000000000000000000000000000000000000000
    883       0000000000000000000000000000000000000000000000000000000000000000
    884       000000FF00FF00FF00FF00000000000000000000000000000000000000000000
    885       0000000000000000000000000000000000000000000000000000000000000000
    886       000000FF00FF00FF00FF00FF00FF000000000000000000000000000000000000
    887       0000000000000000000000000000000000000000000000000000000000000000
    888       000000FF00FF00FF00FF00FF00FF00FF00FF0000000000000000000000000000
    889       0000000000000000000000000000000000000000000000000000000000000000
    890       000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00000000000000000000
    891       0000000000000000000000000000000000000000000000000000000000000000
    892       000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000000000
    893       0000000000000000000000000000000000000000000000000000000000000000
    894       000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000
    895       0000000000000000000000000000000000000000000000000000000000000000
    896       000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000000000
    897       0000000000000000000000000000000000000000000000000000000000000000
    898       000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00000000000000000000
    899       0000000000000000000000000000000000000000000000000000000000000000
    900       000000FF00FF00FF00FF00FF00FF00FF00FF0000000000000000000000000000
    901       0000000000000000000000000000000000000000000000000000000000000000
    902       000000FF00FF00FF00FF00FF00FF000000000000000000000000000000000000
    903       0000000000000000000000000000000000000000000000000000000000000000
    904       000000FF00FF00FF00FF00000000000000000000000000000000000000000000
    905       0000000000000000000000000000000000000000000000000000000000000000
    906       000000FF00FF0000000000000000000000000000000000000000000000000000
    907       0000000000000000000000000000000000000000000000000000000000000000
    908       0000000000000000000000000000000000000000000000000000000000000000
    909       0000000000000000000000000000000000000000000000000000000000000000
    910       0000000000000000000000000000000000000000000000000000000000000000
    911       0000000000000000000000000000000000000000000000000000000000000000
    912       0000000000000000000000000000000000000000000000000000000000000000
    913       0000000000000000000000000000000000000000000000000000000000000000
    914       000000000000000000003131312F313131FF3030301F00000000000000000000
    915       0000000000000000000000000000000000000000000000000000000000000000
    916       000000000000000000002E2E2E3F2E2E2EFF2E2E2E3F00000000000000000000
    917       0000000000000000000000000000000000000000000000000000000000000000
    918       00002A2A2A7F2A2A2ADF2B2B2BFF2B2B2BFF2B2B2BFF2A2A2ADF2A2A2A7F0000
    919       0000000000000000000000000000000000000000000000000000000000002727
    920       279F272727FF282828AF2828284F272727FF2828284F282828AF272727FF2727
    921       279F0000000000000000000000000000000000000000000000002424247F2424
    922       24FF2424245F0000000000000000242424FF00000000000000002424245F2424
    923       24FF2424247F0000000000000000000000000000000000000000202020DF2020
    924       20AF000000000000000000000000202020FF0000000000000000000000002020
    925       20AF202020DF0000000000000000000000001C1C1C1F1C1C1C3F1D1D1DFF1D1D
    926       1D4F0000000000000000000000001D1D1DFF0000000000000000000000001D1D
    927       1D4F1D1D1DFF1C1C1C3F1C1C1C1F1A1A1A1F1A1A1AFF1A1A1AFF1A1A1AFF1A1A
    928       1AFF1A1A1AFF1A1A1AFF1A1A1AFF1A1A1ABF1A1A1AFF1A1A1AFF1A1A1AFF1A1A
    929       1AFF1A1A1AFF1A1A1AFF1A1A1AFF000000001818182F1818183F161616FF1616
    930       167F1818183F1818183F1818183F161616FF1818183F1818183F1818183F1616
    931       167F161616FF1818183F1818181F000000000000000000000000131313DF1313
    932       13AF000000000000000000000000131313FF0000000000000000000000001313
    933       13AF131313DF00000000000000000000000000000000000000000F0F0F7F0F0F
    934       0FFF0E0E0E5F00000000000000000F0F0FFF00000000000000000E0E0E5F0F0F
    935       0FFF1010106F0000000000000000000000000000000000000000000000000D0D
    936       0D9F0C0C0CFF0C0C0CAF0B0B0B4F0C0C0CFF0B0B0B4F0C0C0CAF0C0C0CFF0D0D
    937       0D9F000000000000000000000000000000000000000000000000000000000000
    938       00000909097F090909DF090909FF090909FF090909FF090909DF0909096F0000
    939       0000000000000000000000000000000000000000000000000000000000000000
    940       000000000000000000000505053F050505FF0505053F00000000000000000000
    941       0000000000000000000000000000000000000000000000000000000000000000
    942       000000000000000000000202022F020202FF0303031F00000000000000000000
    943       0000000000000000000000000000
     464      4C7A0F00000010000000100000008C0A00000000000078DAED9A0B544DF91EC7
     465      CFCAB2D6154A8A89A9A5B98C94A644AEC7186118B40C2D8F3CEE6D3AA1282291
     466      9E3A2244EE44629454485C16998C6772EA62702F732F17638CD7984B73178D4E
     467      A7C7E975BEF7FFDF9D73DA67B7CF3E2F83B1FA9DF5B5CFFEEDDFE7F7FBBFF63E
     468      7BEF88446DA66D80B0DAF8779B6FB3577932A96412B75AB49A911139B438B6F4
     469      E4D0C91990032525257A59811C8CDF8C1C1ABF8939B4FC86E660CD6DAB634239
     470      34CCEAD5BC7DD09583CD51E3F03A73B039BA4F8DED17CAC1AE6700DB2A077331
     471      62B1469C0F5AF54D3C8F0CE268B3DE0689447944F9447F7312890E251015125D
     472      516D139AFDF94C9C003FDAD2F268A9B7F7ED32B1B85C111A2A578AC52F142347
     473      DE2AB3B43C524A8FEBE6F739595A1E2E9D31E367F99C394FE0E7F750A3D9B37F
     474      82AFEF4379870E874A691C3F9F9D306CD8B5673E3E37316EDCF5569A30E1DFF0
     475      F4BCF08CC6F1F399853E3EB71443864841E5E97916CECEC7E0E0908FEEDD73D1
     476      B56B167AF73EAAA071FCFCF62BA486D2DDFD341C1D8F90F8FDB0B1C9D3D2FBEF
     477      1F51D2387E3EB5D0CBEB82C2CEAE90C47ECD2B3BBB630A1AC7CF6F4CB0B72F78
     478      6667574A62A5BCB2B4CC7F46E3F8F924A776ED369676EB269577ED7A9DC45FD3
     479      9295D539B9854572298DE3E71389A2475B58AC2AB5B43C58666DFD0F858DCD6D
     480      25DDD27DEAA7C7699C6E3E92683E596762B2DEC464DD89AFA8B609CDFE48912E
     481      FEF7AAB7C5ECED4B40A5BABE1A1DEBE474056CE9CA2374BC6FDFEFC016374697
     482      9F6B2E2E37A0963A96FDDD107373BB05AE8CE1A979787C0FB58C65070EBC07AE
     483      0CCD3178F003A8A566B8FBBA6CE8D0C7508B1BABCBAFB6E1C39F402DA1187378
     484      4372183BD6A6D8EBAA63C2BD069F0CE2F9CC603E298937071F9FC473DFC7F03C
     485      39B83C6505794E0E36AF66D93294E7638DE1CDAD6F70FF397369F4F8EBA9AF73
     486      ED717813D6239737ED3C308F37E799999BE38DD8A5A4B1F8FBDA31B89B15863B
     487      3B16E256FA3C665B1833025F477F0C61760CEEEF8D82FCDE6534D6CA00A59251
     488      63553964774A70799B3FF2970EE2CD7131E9533C3D93C1C436DC2C45FDC10D68
     489      DA30134D49D3A1D8BF06B5DF15A35E56869B0762B12FD415DAEC38A62E65EBA5
     490      F940ECA7405136502367EA2BCB9FA23E231CF2935950543C43518A1F76CEEFAB
     491      C97171ED6854DCBB80FA1BE4392F6614B0734973DBAF16A269EB7CD47F5B0065
     492      B50CD5519FA0FC5221FEFBCFE3D8E2FF8186BFB17612D3DF7AD24E2C1F0E244D
     493      068E6E8272F147A85DE00C59DA4226DFFFD64EC7F7EBC450C85E2071462F0D7F
     494      9DC6D3714A9C04847B028BDCD014D20F8AA0DEA84A0B4213A95D75EB12BEF5B5
     495      C7D9D9CE24B4096B7D1C5AF8C4F10CAF88FD0C750B5D5013F421646227C8D64F
     496      63FC15D283B834A70F4E4EEA865333FB30BC6442CF165E328E19BB175F45E017
     497      F107783CC7113FCEEA81F2431B19FECAE4AE3833C906C727D9E272DC34D454BC
     498      2043DC43C37F13331C2FEF943263F3604E4FDCF67B0F37A7D9E2EEAACFF173FE
     499      7A1451D6A72B4EFA74C1C333F9B87FF534FC4674D6F027A3BC70276311EA2ACA
     500      F0202F19977D6D5132D906F7F39399FA2726DA30ECEDEC3590BF2843E6F2A998
     501      E8D5596B0D1486F7C78F875743F1B20C4F8AF2712DC10FA5B37AA364E61F7155
     502      E28787670FA0F279198E6F5B89099E7FE05D837B42DC50923C0B8FAF7E835A32
     503      47CAA64646D5A4BFB4CDD9D133315E07ABB6ADF35DB08E8C75B26F37ACF17144
     504      C2F81E8819FB1E668DB06AD5E657F3B61B6D6A7E0E9A47748AB5AFBE0EF3F952
     505      38EC28762C3B17DDAAF6A952E823882AD64975DC89AF162B770A4F3DFACF2816
     506      7F4A15C7C76BB5975B9F53E7148F4F538B5B5B88E78E094F9BE6E9E1C1D74EBE
     507      3E7179D5586BD550CF09ABFFF304F814CEFD420A6B2E79FBD4F6FC6FFEBB4803
     508      EF65F00AEE715ABD4337F65945AB1DEA7B55ED77BC06DF77AA59C1ADD07DAB3E
     509      560FAF23D6707159F6BDB82EB1C6CF0C56D37F1359FEE707C359919163D56602
     510      F6704B94F4DEA670DC5DBB00B7E303A1CFCFB51FD62F963E3FB61B1545877173
     511      C54CE8F3738DE496FE72601BCA4FEEC3F58513A1CFCF35925BFA744F0A9E1764
     512      E2EA1723A1CFCF35925BFAD3CE44D05A17A70F843E3FD7AE847E2E2DDBBF05B4
     513      96D4C719FAFC5C3B337DB0F44946129E64AEC389518ED0E7E71AC95DF2C3BA45
     514      78B43D018786DB439F9F6B24B794CE2F996F6478D9419F9F6B24B7F43F91B370
     515      3F651936B959439F9F6B24B7F45F4B7D712F390C12E78ED0E7E71AC92D4D72B5
     516      427CDF8E88FDD012FAFCEFE0DFF961E2F550E7FB3BBEF7793CBF8746F1E6D6E7
     517      FD0D7A177843DE9DE9FA0D36E4F753E837DCF0777726F1E6F6FF37E645669E3F
     518      BF976B809E5711069DB726F3C5C5C57AEF830DBC6E4090E7FEA733C3FEA60143
     519      CDE8FA9C76B4D5FF8DEB9BC8BF89737F5FDC0450ED8D1D8FBD319F614FF438E4
     520      468D45EECA4F91133906D92B46237BF928EC8EF046D6B291C80AFF04BB968E40
     521      E6928F9119369C61CFEF95E0FC9E0414EF5985E2DC7814E7C4E35C4E1C8AB263
     522      51B49B2A0667B3A27166175166144E67AEC4E98C48642C1EC6D4559B92BE6B27
     523      6A6A6A226A446363031A1B1AD0D0508F86FA3AD453D5295057578B3A452D762E
     524      1A823DA4CDD4366CD8007F7F7FE4E6E6A2A95180259C82AAB6065F85FE89F477
     525      2C5333202000E9E9E998366D1AC3C6C5C521262606919191888888C092254B10
     526      1A1A82E0E060CC9D3B17B5B5D5D811329819272569EFE6CD9B3175EA54E4E5E5
     527      35D7246A69AFBA6E0D5397B2B53555D8B1C08B19E3E6BE36B7B9B9BD026C4D33
     528      5B535D85EDC18398F9A1EC89132790447E57CE936B1C779C9AD96A162B67941E
     529      E489DD646EE938252626E2E2C58B484D4D65D8B8B85855FF572062D932848585
     530      212484F63F88F43F10D55595D8367F005917239936E7E464432291E0E8D1235A
     531      635CABAA5BA3AA5B5D2567D82AB90C69733D98F5D4DCDE3A565F396C756BB64A
     532      5E81B44077662DD2F69E3F5F8CB4B4349C3B57A435C62D6C650B5B590139D156
     533      F147CC3AA675E3E3E399FED375446BC6C6C6223A3A1A2B56ACC0B265E1A4FF8B
     534      49FF1722282808818181A894BDC49680FEC820E7006DF3F6EDE90CBB2B33536B
     535      8C5BDA2B636ACA2B5F326CA5EC57A47EE14ACE81A14C7B15DC7112622B7E85AC
     536      A21C5FFABB30E7005DC7742DD2F544D7447AD040666EE9FCD031A6E344FBBA45
     537      ECC6B439D5DF155FFEC5057FFD73BF77EA59645046B0A63FC1D73220CA18A411
     538      FB984E53C7B13836AF37078761DAC0690FDB27C4F3D5D2F4C9C0FA06F5F975CC
     539      09773C05DACF373EAD72E830BE31E6AE03C1FAAA5A426B401FCFD75E767BDE86
     540      39790D4F02309B372707581F7379537280E7632E6F4C0E087CDE54FD3735FE6F
     541      6AFDB599C8D3D3D3830803060CE8650AEFEEEEEE4D04BA358673757595103DEA
     542      DFBF3FD4A2FBD4AF8F757676CE2142BF7EFD0A88A6A8BE4FA1FBF43B3DAE8BED
     543      D3A78F840844012C1F58DF0354C779DBE1E4E4F488A880E30367BF80C6B17D0E
     544      0E0EBD88BC1D1D1D4134857D8CFA38FB53A88FC653AE67CF9E54109054E838CD
     545      696F6FEF41E4DDBD7B771049E877B5A88FB32F61F9B4D685ADADED23A2028E0F
     546      9CFD021AC7377ED6D6D6122258595905B07C1A9EFAE97E972E5D96EA9AC3CE9D
     547      3BE774EAD40944051D3B769C42BFABB605F43B3DAE6F0D75E8D04142F488082C
     548      D1FDA5C6ACE3F6EDDB7B13816E4D397F2C2C2C3C88D0AE5D3B9DE7DFFF0101C8
     549      8363
    944550    }
    945551  end
    946552  object PopupMenu1: TPopupMenu
    947     left = 196
    948     top = 54
     553    Left = 294
     554    Top = 81
    949555  end
    950556end
  • trunk/IDE/Forms/FormMain.pas

    r74 r75  
    1 unit UFormMain;
    2 
    3 {$MODE Delphi}
     1unit FormMain;
    42
    53interface
     
    75uses
    86  SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,
    9   ComCtrls, ExtCtrls, SynEdit, SynHighlighterPas, Registry,
    10   UProject, FileUtil, Menus, ActnList, DateUtils,
    11   UFormTargetCode, UFormCodeTree, URegistry;
     7  ComCtrls, ExtCtrls, SynEdit, SynHighlighterPas, Registry, Project, FileUtil,
     8  Menus, ActnList, DateUtils, FormTargetCode, FormCodeTree, RegistryEx,
     9  FormMessages, FormSourceCode, FormProject, FormTargetProject, FormTargets,
     10  FormExternalProducerOutput;
    1211
    1312type
     
    145144    procedure UpdateTitle;
    146145    procedure ProducerProcessOutput(Text: string);
     146    procedure ShowProject(ProjectFile: TProjectFile);
     147    procedure ShowTargetCode(ProjectFile: TProjectFile);
    147148  public
     149    FormMessages: TFormMessages;
     150    FormSourceCode: TFormSourceCode;
     151    FormProject: TFormProject;
     152    FormTargetCode: TFormTargetCode;
     153    FormTargetProject: TFormTargetProject;
     154    FormExternalProducerOutput: TFormExternalProducerOutput;
     155    FormTargets: TFormTargets;
     156    FormCodeTree: TFormCodeTree;
    148157    procedure LoadFromRegistry(Root: HKEY; const Key: string);
    149158    procedure SaveToRegistry(Root: HKEY; const Key: string);
     
    162171
    163172uses
    164   UCore, UFormMessages, UFormSourceCode, UFormProject, UCommon, UFormAbout, UFormOptions,
    165   UFormTargets, UTarget, UExecutor, UFormProjectNew,
    166   UFormTargetProject, UFormExternalProducerOutput;
     173  Core, Common, FormAbout, FormOptions, Target, Executor, FormProjectNew;
    167174
    168175resourcestring
     
    175182  FormSourceCode.Save;
    176183  AProjectSave.Execute;
    177   with Core do begin
     184  with Core.Core do begin
    178185    // Compile project file
    179186    Compiler.Init;
     
    214221procedure TFormMain.AResetExecute(Sender: TObject);
    215222begin
    216   Core.Compiler.Target.Executor.Reset;
     223  Core.Core.Compiler.Target.Executor.Reset;
    217224end;
    218225
     
    220227begin
    221228  ABuildExecute(Self);
    222   Core.Compiler.Target.Executor.Run;
     229  Core.Core.Compiler.Target.Executor.Run;
    223230end;
    224231
    225232procedure TFormMain.ARunToCursorExecute(Sender: TObject);
    226233begin
    227   Core.Compiler.Target.Executor.RunToCursor(0); // determine position
     234  Core.Core.Compiler.Target.Executor.RunToCursor(0); // determine position
    228235end;
    229236
    230237procedure TFormMain.AStepInExecute(Sender: TObject);
    231238begin
    232   Core.Compiler.Target.Executor.StepIn;
     239  Core.Core.Compiler.Target.Executor.StepIn;
    233240end;
    234241
    235242procedure TFormMain.AStepOutExecute(Sender: TObject);
    236243begin
    237   Core.Compiler.Target.Executor.StepOut;
     244  Core.Core.Compiler.Target.Executor.StepOut;
    238245end;
    239246
    240247procedure TFormMain.AStepOverExecute(Sender: TObject);
    241248begin
    242   Core.Compiler.Target.Executor.StepOver;
     249  Core.Core.Compiler.Target.Executor.StepOver;
    243250end;
    244251
    245252procedure TFormMain.AStopExecute(Sender: TObject);
    246253begin
    247   Core.Compiler.Target.Executor.Stop;
     254  Core.Core.Compiler.Target.Executor.Stop;
    248255end;
    249256
     
    264271
    265272procedure TFormMain.AViewOptionsExecute(Sender: TObject);
    266 begin
    267   FormOptions.ShowModal;
     273var
     274  FormOptions: TFormOptions;
     275begin
     276  FormOptions := TFormOptions.Create(nil);
     277  try
     278    FormOptions.ShowModal;
     279  finally
     280    FormOptions.Free;
     281  end;
    268282end;
    269283
     
    280294procedure TFormMain.AViewSourceEditorExecute(Sender: TObject);
    281295begin
    282 
    283296end;
    284297
     
    288301  F: TFileStream;
    289302begin
    290   FileName := ExtractFileDir(Core.Project.FileName) + Name + '.pas';
     303  FileName := ExtractFileDir(Core.Core.Project.FileName) + Name + '.pas';
    291304  if FileExists(FileName) then
    292305  try
     
    303316procedure TFormMain.UpdateInterface;
    304317begin
    305   with Core do begin
    306   UpdateTitle;
    307   AProjectClose.Enabled := Assigned(Project);
    308   AProjectSave.Enabled := Assigned(Project) and Project.Modified;
    309   AProjectSaveAs.Enabled := Assigned(Project);
    310   (*AProgramRun.Enabled := Project.Active and (BrainFuckInterpreter.State = rsStopped);
    311   AProgramPause.Enabled := Project.Active and (BrainFuckInterpreter.State = rsRunning);
    312   AProgramStop.Enabled := Project.Active and (BrainFuckInterpreter.State <> rsStopped);*)
    313   ABuild.Enabled := Assigned(Project) and Assigned(Compiler.Target) and
    314     Assigned(Compiler.Target.Producer);
    315   APause.Enabled := Assigned(Project) and Assigned(Compiler.Target) and
    316     Assigned(Compiler.Target.Executor) and (Compiler.Target.Executor.State = rsRunning);
    317   ARun.Enabled := Assigned(Project) and Assigned(Compiler.Target) and
    318     Assigned(Compiler.Target.Executor) and ((Compiler.Target.Executor.State = rsStopped) or
    319     (Compiler.Target.Executor.State = rsPaused));
    320   AStop.Enabled := Assigned(Project) and Assigned(Compiler.Target) and
    321     Assigned(Compiler.Target.Executor) and ((Compiler.Target.Executor.State = rsRunning) or
    322     (Compiler.Target.Executor.State = rsPaused));
    323   AStepIn.Enabled := Assigned(Project) and Assigned(Compiler.Target) and
    324     Assigned(Compiler.Target.Executor) and ((Compiler.Target.Executor.State = rsRunning) or
    325     (Compiler.Target.Executor.State = rsPaused));
    326   AStepOut.Enabled := AStepIn.Enabled;
    327   AStepOver.Enabled := AStepIn.Enabled;
    328   ARunToCursor.Enabled := AStepIn.Enabled;
     318  with Core.Core do begin
     319    UpdateTitle;
     320    AProjectClose.Enabled := Assigned(Project);
     321    AProjectSave.Enabled := Assigned(Project) and Project.Modified;
     322    AProjectSaveAs.Enabled := Assigned(Project);
     323    (*AProgramRun.Enabled := Project.Active and (BrainFuckInterpreter.State = rsStopped);
     324    AProgramPause.Enabled := Project.Active and (BrainFuckInterpreter.State = rsRunning);
     325    AProgramStop.Enabled := Project.Active and (BrainFuckInterpreter.State <> rsStopped);*)
     326    ABuild.Enabled := Assigned(Project) and Assigned(Compiler.Target) and
     327      Assigned(Compiler.Target.Producer);
     328    APause.Enabled := Assigned(Project) and Assigned(Compiler.Target) and
     329      Assigned(Compiler.Target.Executor) and (Compiler.Target.Executor.State = rsRunning);
     330    ARun.Enabled := Assigned(Project) and Assigned(Compiler.Target) and
     331      Assigned(Compiler.Target.Executor) and ((Compiler.Target.Executor.State = rsStopped) or
     332      (Compiler.Target.Executor.State = rsPaused));
     333    AStop.Enabled := Assigned(Project) and Assigned(Compiler.Target) and
     334      Assigned(Compiler.Target.Executor) and ((Compiler.Target.Executor.State = rsRunning) or
     335      (Compiler.Target.Executor.State = rsPaused));
     336    AStepIn.Enabled := Assigned(Project) and Assigned(Compiler.Target) and
     337      Assigned(Compiler.Target.Executor) and ((Compiler.Target.Executor.State = rsRunning) or
     338      (Compiler.Target.Executor.State = rsPaused));
     339    AStepOut.Enabled := AStepIn.Enabled;
     340    AStepOver.Enabled := AStepIn.Enabled;
     341    ARunToCursor.Enabled := AStepIn.Enabled;
    329342  end;
    330343
    331344  UpdateMenu;
    332   Core.Compiler.Targets.LoadToStrings(ComboBoxTarget.Items);
    333   ComboBoxTarget.ItemIndex := Core.Compiler.Targets.IndexOf(Core.Compiler.Target);
     345  Core.Core.Compiler.Targets.LoadToStrings(ComboBoxTarget.Items);
     346  ComboBoxTarget.ItemIndex := Core.Core.Compiler.Targets.IndexOf(Core.Core.Compiler.Target);
    334347  FormSourceCode.UpdateInterface;
    335348  FormTargetCode.UpdateInterface;
     
    435448begin
    436449  with TMenuItem(Sender) do begin
    437     Core.Compiler.Target := TTarget(Core.Compiler.Targets[MenuIndex]);
     450    Core.Core.Compiler.Target := TTarget(Core.Core.Compiler.Targets[MenuIndex]);
    438451    UpdateInterface;
    439452  end;
     
    446459begin
    447460  MenuItemProducer.Clear;
    448   with Core do
     461  with Core.Core do
    449462  for I := 0 to Compiler.Targets.Count - 1 do begin
    450463    NewMenuItem := TMenuItem.Create(MenuItemProducer);
     
    461474  Title: string;
    462475begin
    463   Title := Core.ApplicationInfo.AppName;
    464   if Assigned(Core.Project) then begin
    465     if Core.Project.FileName <> '' then Title := Core.Project.FileName + ' - ' + Title;
    466     if Core.Project.Modified then Title := Title + ' *';
     476  Title := Core.Core.ApplicationInfo.AppName;
     477  if Assigned(Core.Core.Project) then begin
     478    if Core.Core.Project.FileName <> '' then Title := Core.Core.Project.FileName + ' - ' + Title;
     479    if Core.Core.Project.Modified then Title := Title + ' *';
    467480  end;
    468481  Caption := Title;
     
    474487end;
    475488
     489procedure TFormMain.ShowProject(ProjectFile: TProjectFile);
     490begin
     491  FormMain.TabSheetSource.Show;
     492  FormSourceCode.ProjectFile := ProjectFile;
     493end;
     494
     495procedure TFormMain.ShowTargetCode(ProjectFile: TProjectFile);
     496begin
     497  FormTargetCode.ProjectFile := ProjectFile;
     498  FormMain.TabSheetTarget.Show;
     499  FormTargetCode.SynEdit1.Lines.Assign(ProjectFile.Source);
     500end;
     501
    476502procedure TFormMain.FormClose(Sender: TObject; var Action: TCloseAction);
    477503begin
    478504  AProjectClose.Execute;
    479   Core.SaveToRegistry(HKEY(Core.ApplicationInfo.RegistryRoot), Core.ApplicationInfo.RegistryKey);
     505  Core.Core.SaveToRegistry(HKEY(Core.Core.ApplicationInfo.RegistryRoot), Core.Core.ApplicationInfo.RegistryKey);
    480506end;
    481507
     
    484510  I: Integer;
    485511begin
    486   with Core.Compiler.Targets do
     512  FormMessages := TFormMessages.Create(nil);
     513  FormSourceCode := TFormSourceCode.Create(nil);
     514  FormProject := TFormProject.Create(nil);
     515  FormProject.OnShowProject := ShowProject;
     516  FormTargetCode := TFormTargetCode.Create(nil);
     517  FormTargetProject := TFormTargetProject.Create(nil);
     518  FormTargetProject.OnShowTargetCode := ShowTargetCode;
     519  FormExternalProducerOutput := TFormExternalProducerOutput.Create(nil);
     520  FormTargets := TFormTargets.Create(nil);
     521  FormCodeTree := TFormCodeTree.Create(nil);
     522
     523  with Core.Core.Compiler.Targets do
    487524  for I := 0 to Count - 1 do
    488525  with TTarget(Items[I]) do
     
    498535begin
    499536  if Sender is TMenuItem then
    500     Core.ProjectOpen(StringReplace(TMenuItem(Sender).Caption, '&', '', [rfReplaceAll]));
     537    Core.Core.ProjectOpen(StringReplace(TMenuItem(Sender).Caption, '&', '', [rfReplaceAll]));
    501538end;
    502539
    503540procedure TFormMain.FormShow(Sender: TObject);
    504541begin
    505   Core.LoadFromRegistry(HKEY(Core.ApplicationInfo.RegistryRoot), Core.ApplicationInfo.RegistryKey);
     542  Core.Core.LoadFromRegistry(HKEY(Core.Core.ApplicationInfo.RegistryRoot), Core.Core.ApplicationInfo.RegistryKey);
    506543  DockInit;
    507   Core.ProjectTemplatesInit;
    508 
    509   if Core.ReopenLastOpenedFile and (Core.LastOpenedFiles.Items.Count > 0) then
    510   if FileExists(Core.LastOpenedFiles.Items[0]) then
    511     Core.ProjectOpen(Core.LastOpenedFiles.Items[0]);
     544  Core.Core.ProjectTemplatesInit;
     545
     546  if Core.Core.ReopenLastOpenedFile and (Core.Core.LastOpenedFiles.Items.Count > 0) then
     547  if FileExists(Core.Core.LastOpenedFiles.Items[0]) then
     548    Core.Core.ProjectOpen(Core.Core.LastOpenedFiles.Items[0]);
    512549
    513550  WindowState := wsMaximized;
     
    517554procedure TFormMain.AProjectOpenExecute(Sender: TObject);
    518555begin
    519   if Core.LastOpenedFiles.Items.Count > 0 then
    520     OpenDialogProject.FileName := Core.LastOpenedFiles.Items[0]
     556  if Core.Core.LastOpenedFiles.Items.Count > 0 then
     557    OpenDialogProject.FileName := Core.Core.LastOpenedFiles.Items[0]
    521558    else OpenDialogProject.FileName := ExtractFileDir(Application.ExeName);
    522559  if OpenDialogProject.Execute then begin
    523     Core.ProjectOpen(OpenDialogProject.FileName);
     560    Core.Core.ProjectOpen(OpenDialogProject.FileName);
    524561  end;
    525562end;
     
    529566  //if Project.Modified then ;  A
    530567  FormSourceCode.ProjectFile := nil;
    531   FreeAndNil(Core.Project);
     568  FreeAndNil(Core.Core.Project);
    532569  FormProject.UpdateProjectTree;
    533570  UpdateInterface;
     
    540577
    541578procedure TFormMain.AAboutExecute(Sender: TObject);
    542 begin
    543   FormAbout.ShowModal;
     579var
     580  FormAbout: TFormAbout;
     581begin
     582  FormAbout := TFormAbout.Create(nil);
     583  try
     584    FormAbout.ShowModal;
     585  finally
     586    FormAbout.Free;
     587  end;
    544588end;
    545589
    546590procedure TFormMain.AHomepageExecute(Sender: TObject);
    547591begin
    548   OpenWebPage(Core.ApplicationInfo.HomePage);
     592  OpenWebPage(Core.Core.ApplicationInfo.HomePage);
    549593end;
    550594
    551595procedure TFormMain.APauseExecute(Sender: TObject);
    552596begin
    553   Core.Compiler.Target.Executor.Pause;
     597  Core.Core.Compiler.Target.Executor.Pause;
    554598end;
    555599
    556600procedure TFormMain.AProjectNewExecute(Sender: TObject);
    557 begin
     601var
     602  FormProjectNew: TFormProjectNew;
     603begin
     604  FormProjectNew := TFormProjectNew.Create(nil);
    558605  if FormProjectNew.ShowModal = mrOk then begin
    559606    if Assigned(FormProjectNew.ListView1.Selected) then begin
    560607      if TProjectTemplate(FormProjectNew.ListView1.Selected.Data).IsProject then
    561         Core.ProjectNew;
    562       TProjectTemplate(FormProjectNew.ListView1.Selected.Data).InitProject(Core.Project);
     608        Core.Core.ProjectNew;
     609      TProjectTemplate(FormProjectNew.ListView1.Selected.Data).InitProject(Core.Core.Project);
    563610    end;
    564611  end;
     612  FormProjectNew.Free;
    565613  UpdateInterface;
    566614end;
     
    568616procedure TFormMain.AProjectSaveAsExecute(Sender: TObject);
    569617begin
    570   if Core.LastOpenedFiles.Items.Count > 0 then
    571     SaveDialogProject.FileName := Core.LastOpenedFiles.Items[0]
     618  if Core.Core.LastOpenedFiles.Items.Count > 0 then
     619    SaveDialogProject.FileName := Core.Core.LastOpenedFiles.Items[0]
    572620    else SaveDialogProject.FileName := ExtractFileDir(Application.ExeName);
    573   if Assigned(Core.Project) then
     621  if Assigned(Core.Core.Project) then
    574622  if SaveDialogProject.Execute then begin
    575     Core.Project.SaveToFile(SaveDialogProject.FileName);
     623    Core.Core.Project.SaveToFile(SaveDialogProject.FileName);
    576624    FormSourceCode.Save;
    577     Core.Project.Save;
     625    Core.Core.Project.Save;
    578626    UpdateInterface;
    579     Core.LastOpenedFiles.AddItem(SaveDialogProject.FileName);
     627    Core.Core.LastOpenedFiles.AddItem(SaveDialogProject.FileName);
    580628  end;
    581629end;
     
    584632begin
    585633  FormSourceCode.Save;
    586   if not FileExists(Core.Project.FileName) then AProjectSaveAs.Execute
    587     else Core.Project.SaveToFile(Core.Project.FileName);
     634  if not FileExists(Core.Core.Project.FileName) then AProjectSaveAs.Execute
     635    else Core.Core.Project.SaveToFile(Core.Core.Project.FileName);
    588636end;
    589637
     
    591639begin
    592640  with TMenuItem(Sender) do begin
    593     Core.Compiler.Target := TTarget(Core.Compiler.Targets[ComboBoxTarget.ItemIndex]);
     641    Core.Core.Compiler.Target := TTarget(Core.Core.Compiler.Targets[ComboBoxTarget.ItemIndex]);
    594642    UpdateInterface;
    595643  end;
  • trunk/IDE/Forms/FormMessages.pas

    r74 r75  
    1 unit UFormMessages;
    2 
    3 {$mode objfpc}{$H+}
     1unit FormMessages;
    42
    53interface
     
    75uses
    86  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
    9   ComCtrls, UProject, UCompiler;
     7  ComCtrls, Project, Compiler;
    108
    119type
     10  TSelectFileEvent = procedure(FileName: string; Position: TPoint);
    1211
    1312  { TFormMessages }
     
    1514  TFormMessages = class(TForm)
    1615    ListView1: TListView;
    17     procedure ListBoxMessagesSelectionChange(Sender: TObject; User: boolean);
     16    procedure ListBoxMessagesSelectionChange(Sender: TObject; User: Boolean);
    1817    procedure ListView1Click(Sender: TObject);
    1918    procedure ListView1Data(Sender: TObject; Item: TListItem);
     
    2120      Selected: Boolean);
    2221  private
    23     { private declarations }
     22    FOnSelectFile: TSelectFileEvent;
    2423  public
    2524    procedure Reload;
     25    property OnSelectFile: TSelectFileEvent read FOnSelectFile write FOnSelectFile;
    2626  end;
    2727
    28 var
    29   FormMessages: TFormMessages;
    3028
    3129implementation
     
    3432
    3533uses
    36   UCore, UFormMain, UFormSourceCode;
     34  Core, FormMain, FormSourceCode;
    3735
    3836{ TFormMessages }
    3937
    4038procedure TFormMessages.ListBoxMessagesSelectionChange(Sender: TObject;
    41   User: boolean);
     39  User: Boolean);
    4240begin
    43 
    4441end;
    4542
     
    5249procedure TFormMessages.ListView1Data(Sender: TObject; Item: TListItem);
    5350begin
    54   with Core, FormMain, FormSourceCode do
     51  with Core.Core, FormMain.FormMain do
    5552  with TErrorMessage(Compiler.ErrorMessages[Item.Index]) do begin
    5653    if FileName = '' then Item.Caption := ' '
     
    6865  P: TPoint;
    6966begin
    70   with Core, FormSourceCode do
     67  with Core.Core do
    7168  if Assigned(ListView1.Selected) then
    7269  with TErrorMessage(ListView1.Selected.Data) do
    7370  if FileName <> '' then begin
    74     ProjectFile := Project.Files.SearchFile(FileName);
    75     if Assigned(ProjectFile) then
    76       SynEditSource.Lines.Assign(ProjectFile.Source)
    77       else if FileExists(FileName) then
    78         SynEditSource.Lines.LoadFromFile(FileName);
    79     SynEditSource.CaretXY := Position;
    80     TForm(SynEditSource.Owner).Show;
    81     SynEditSource.SetFocus;
     71    if Assigned(FOnSelectFile) then
     72      FOnSelectFile(FileName, Position);
    8273  end;
    8374end;
     
    8576procedure TFormMessages.Reload;
    8677begin
    87   ListView1.Items.Count := Core.Compiler.ErrorMessages.Count;
     78  ListView1.Items.Count := Core.Core.Compiler.ErrorMessages.Count;
    8879  ListView1.Refresh;
    8980end;
  • trunk/IDE/Forms/FormOptions.pas

    r74 r75  
    1 unit UFormOptions;
    2 
    3 {$mode delphi}
     1unit FormOptions;
    42
    53interface
     
    2624  end;
    2725
    28 var
    29   FormOptions: TFormOptions;
    3026
    3127implementation
     
    3430
    3531uses
    36   UCore, UFormMain, ULanguages;
     32  Core, Languages;
    3733
    3834{ TFormOptions }
     
    4137begin
    4238  if ComboBoxLanguage.ItemIndex <> -1 then
    43     Core.CoolTranslator1.Language := TLanguage(ComboBoxLanguage.Items.Objects[ComboBoxLanguage.ItemIndex]);
    44   Core.ReopenLastOpenedFile := CheckBoxReopenProject.Checked;
     39    Core.Core.Translator1.Language := TLanguage(ComboBoxLanguage.Items.Objects[ComboBoxLanguage.ItemIndex]);
     40  Core.Core.ReopenLastOpenedFile := CheckBoxReopenProject.Checked;
    4541end;
    4642
    4743procedure TFormOptions.FormShow(Sender: TObject);
    4844begin
    49   Core.CoolTranslator1.LanguageListToStrings(ComboBoxLanguage.Items);
    50   ComboBoxLanguage.ItemIndex := ComboBoxLanguage.Items.IndexOfObject(Core.CoolTranslator1.Language);
     45  Core.Core.Translator1.LanguageListToStrings(ComboBoxLanguage.Items);
     46  ComboBoxLanguage.ItemIndex := ComboBoxLanguage.Items.IndexOfObject(Core.Core.Translator1.Language);
    5147  if ComboBoxLanguage.ItemIndex = -1 then ComboBoxLanguage.ItemIndex := 0;
    52   CheckBoxReopenProject.Checked := Core.ReopenLastOpenedFile;
     48  CheckBoxReopenProject.Checked := Core.Core.ReopenLastOpenedFile;
    5349end;
    5450
  • trunk/IDE/Forms/FormProject.lfm

    r74 r75  
    11object FormProject: TFormProject
    22  Left = 507
    3   Height = 253
     3  Height = 380
    44  Top = 197
    5   Width = 331
     5  Width = 496
    66  Caption = 'Project manager'
    7   ClientHeight = 253
    8   ClientWidth = 331
    9   LCLVersion = '1.1'
     7  ClientHeight = 380
     8  ClientWidth = 496
     9  DesignTimePPI = 144
     10  LCLVersion = '3.2.0.0'
    1011  object TreeViewProject: TTreeView
    1112    Left = 0
    12     Height = 253
     13    Height = 380
    1314    Top = 0
    14     Width = 331
     15    Width = 496
    1516    Align = alClient
    16     DefaultItemHeight = 16
    1717    PopupMenu = PopupMenuFile
    1818    ReadOnly = True
     
    2424  object PopupMenuFile: TPopupMenu
    2525    Images = FormMain.ImageList1
    26     left = 94
    27     top = 38
     26    Left = 141
     27    Top = 57
    2828    object MenuItem4: TMenuItem
    2929      Action = AShow
     
    4040  end
    4141  object ActionList1: TActionList
    42     left = 184
    43     top = 40
     42    Left = 276
     43    Top = 60
    4444    object AAdd: TAction
    4545      Caption = 'Add'
     
    6060  end
    6161  object OpenDialog1: TOpenDialog
    62     left = 94
    63     top = 98
     62    Left = 141
     63    Top = 147
    6464  end
    6565end
  • trunk/IDE/Forms/FormProject.pas

    r74 r75  
    1 unit UFormProject;
     1unit FormProject;
    22
    33interface
    44
    55uses
    6   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ComCtrls,
    7   Menus, ActnList, UProject;
     6  Classes, SysUtils, LazFileUtils, Forms, Controls, Graphics, Dialogs, ComCtrls,
     7  Menus, ActnList, Project;
    88
    99type
     10  TShowProjectEvent = procedure (ProjectFile: TProjectFile) of object;
    1011
    1112  { TFormProject }
     
    3132    procedure TreeViewProjectDblClick(Sender: TObject);
    3233  private
    33     procedure UpdateProjectFiles(Node: TTreeNode; Files: TProjectFileList);
     34    FOnShowProject: TShowProjectEvent;
     35    procedure UpdateProjectFiles(Node: TTreeNode; Files: TProjectFiles);
    3436  public
    3537    procedure UpdateProjectTree;
    3638    procedure UpdateInterface;
     39    property OnShowProject: TShowProjectEvent read FOnShowProject write FOnShowProject;
    3740  end;
    3841
    3942var
    4043  FormProject: TFormProject;
     44
    4145
    4246implementation
     
    4549
    4650uses
    47   UCore, UFormMain, UFormSourceCode, UFormTargetCode, UFormCodeTree;
     51  Core, FormMain, FormSourceCode, FormTargetCode, FormCodeTree;
    4852
    4953resourcestring
     
    5660  );
    5761begin
    58   with FormMain, FormSourceCode do
    5962  if Assigned(Node) then begin
    6063    if TProjectFile(Node.Data) is TProjectFile then begin
     
    107110begin
    108111  if Assigned(TreeViewProject.Selected) then
    109     Core.Project.Files.Remove(TreeViewProject.Selected.Data);
     112    Core.Core.Project.Files.Remove(TreeViewProject.Selected.Data);
    110113  UpdateProjectTree;
    111114end;
     
    126129begin
    127130  if Assigned(TreeViewProject.Selected) then begin
    128     FormMain.TabSheetSource.Show;
    129     FormSourceCode.ProjectFile := TProjectFile(TreeViewProject.Selected.Data);
     131    if Assigned(FOnShowProject) then
     132      FOnShowProject(TProjectFile(TreeViewProject.Selected.Data));
    130133  end;
    131134end;
     
    135138  NewNode: TTreeNode;
    136139begin
    137   with Core, TreeViewProject, Items do
     140  with Core.Core, TreeViewProject, Items do
    138141  try
    139142    BeginUpdate;
     
    147150      (TreeViewProject.TopItem.Count > 0) then
    148151      TreeViewProject.TopItem.Items[0].Selected := True
    149       else FormSourceCode.ProjectFile := nil;
     152      else begin
     153        if Assigned(FOnShowProject) then
     154          FOnShowProject(nil);
     155      end;
    150156  finally
    151157    EndUpdate;
     
    158164end;
    159165
    160 procedure TFormProject.UpdateProjectFiles(Node: TTreeNode; Files: TProjectFileList);
     166procedure TFormProject.UpdateProjectFiles(Node: TTreeNode; Files: TProjectFiles);
    161167var
    162168  I: Integer;
  • trunk/IDE/Forms/FormProjectNew.pas

    r74 r75  
    1 unit UFormProjectNew;
    2 
    3 {$mode delphi}
     1unit FormProjectNew;
    42
    53interface
     
    2321    procedure ListView1SelectItem(Sender: TObject; Item: TListItem;
    2422      Selected: Boolean);
    25   private
    26     { private declarations }
    2723  public
    2824    procedure UpdateInterface;
    2925  end;
    30 
    31 var
    32   FormProjectNew: TFormProjectNew;
    3326
    3427
     
    3629
    3730uses
    38   UCore, UFormMain, UProject;
     31  Core, FormMain, Project;
    3932
    4033{$R *.lfm}
     
    7265    ListView1.BeginUpdate;
    7366    ListView1.Items.Clear;
    74     with Core do
     67    with Core.Core do
    7568    for I := 0 to ProjectTemplates.Count - 1 do
    7669    with TProjectTemplate(ProjectTemplates[I]) do
    77     if (not Assigned(Core.Project) and IsProject) or Assigned(Core.Project) then begin
     70    if (not Assigned(Core.Core.Project) and IsProject) or
     71    Assigned(Core.Core.Project) then begin
    7872      NewItem := ListView1.Items.Add;
    7973      NewItem.Caption := Name;
  • trunk/IDE/Forms/FormSourceCode.pas

    r74 r75  
    1 unit UFormSourceCode;
    2 
    3 {$mode objfpc}{$H+}
     1unit FormSourceCode;
    42
    53interface
     
    75uses
    86  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
    9   SynEdit, SynHighlighterPas, UProject;
     7  SynEdit, SynHighlighterPas, Project;
    108
    119type
     
    2422    procedure Save;
    2523    procedure UpdateInterface;
     24    procedure SelectFile(FileName: string; Position: TPoint);
    2625  end;
    2726
    28 var
    29   FormSourceCode: TFormSourceCode;
    3027
    3128implementation
    3229
    3330uses
    34   UFormMain, UCore;
     31  FormMain, Core;
    3532
    3633{$R *.lfm}
     
    4138begin
    4239  Save;
    43   if Assigned(Core.Project) and Assigned(ProjectFile) then
     40  if Assigned(Core.Core.Project) and Assigned(ProjectFile) then
    4441    ProjectFile.Modified := True;
    4542end;
     
    6259procedure TFormSourceCode.UpdateInterface;
    6360begin
    64   SynEditSource.Enabled := Assigned(Core.Project);
    65   if not Assigned(Core.Project) then SynEditSource.ClearAll;
     61  SynEditSource.Enabled := Assigned(Core.Core.Project);
     62  if not Assigned(Core.Core.Project) then SynEditSource.ClearAll;
     63end;
     64
     65procedure TFormSourceCode.SelectFile(FileName: string; Position: TPoint);
     66var
     67  ProjectFile: TProjectFile;
     68begin
     69  with Core.Core do begin
     70    ProjectFile := Project.Files.SearchFile(FileName);
     71    if Assigned(ProjectFile) then
     72      SynEditSource.Lines.Assign(ProjectFile.Source)
     73      else if FileExists(FileName) then
     74        SynEditSource.Lines.LoadFromFile(FileName);
     75    SynEditSource.CaretXY := Position;
     76    TForm(SynEditSource.Owner).Show;
     77    SynEditSource.SetFocus;
     78  end;
    6679end;
    6780
  • trunk/IDE/Forms/FormTargetCode.lfm

    r74 r75  
    11object FormTargetCode: TFormTargetCode
    22  Left = 403
    3   Height = 303
     3  Height = 454
    44  Top = 186
    5   Width = 398
     5  Width = 597
    66  Caption = 'Target code'
    7   ClientHeight = 303
    8   ClientWidth = 398
    9   LCLVersion = '0.9.31'
     7  ClientHeight = 454
     8  ClientWidth = 597
     9  DesignTimePPI = 144
     10  LCLVersion = '3.2.0.0'
    1011  inline SynEdit1: TSynEdit
    1112    Left = 0
    12     Height = 303
     13    Height = 454
    1314    Top = 0
    14     Width = 398
     15    Width = 597
    1516    Align = alClient
    16     Font.Height = -13
     17    Font.Height = -20
    1718    Font.Name = 'Courier New'
    1819    Font.Pitch = fpFixed
     
    2122    ParentFont = False
    2223    TabOrder = 0
    23     Gutter.Width = 57
     24    Gutter.Width = 85
    2425    Gutter.MouseActions = <   
    2526      item
     
    527528        Command = emcMouseLink
    528529      end>
     530    MouseTextActions = <>
    529531    MouseSelActions = <   
    530532      item
     
    534536    VisibleSpecialChars = [vscSpace, vscTabAtLast]
    535537    ReadOnly = True
     538    SelectedColor.BackPriority = 50
     539    SelectedColor.ForePriority = 50
     540    SelectedColor.FramePriority = 50
     541    SelectedColor.BoldPriority = 50
     542    SelectedColor.ItalicPriority = 50
     543    SelectedColor.UnderlinePriority = 50
     544    SelectedColor.StrikeOutPriority = 50
    536545    BracketHighlightStyle = sbhsBoth
    537546    BracketMatchColor.Background = clNone
     
    547556    inline SynLeftGutterPartList1: TSynGutterPartList
    548557      object SynGutterMarks1: TSynGutterMarks
    549         Width = 24
     558        Width = 36
    550559        MouseActions = <>
    551560      end
    552561      object SynGutterLineNumber1: TSynGutterLineNumber
    553         Width = 17
     562        Width = 25
    554563        MouseActions = <>
    555564        MarkupInfo.Background = clBtnFace
     
    561570      end
    562571      object SynGutterChanges1: TSynGutterChanges
    563         Width = 4
     572        Width = 6
    564573        MouseActions = <>
    565574        ModifiedColor = 59900
     
    567576      end
    568577      object SynGutterSeparator1: TSynGutterSeparator
    569         Width = 2
     578        Width = 3
    570579        MouseActions = <>
     580        MarkupInfo.Background = clWhite
     581        MarkupInfo.Foreground = clGray
    571582      end
    572583      object SynGutterCodeFolding1: TSynGutterCodeFolding
     584        Width = 15
    573585        MouseActions = <       
    574586          item
     
    625637  object SynPasSyn1: TSynPasSyn
    626638    Enabled = False
    627     AsmAttri.FrameEdges = sfeAround
    628     CommentAttri.FrameEdges = sfeAround
    629     IDEDirectiveAttri.FrameEdges = sfeAround
    630     IdentifierAttri.FrameEdges = sfeAround
    631     KeyAttri.FrameEdges = sfeAround
    632     NumberAttri.FrameEdges = sfeAround
    633     SpaceAttri.FrameEdges = sfeAround
    634     StringAttri.FrameEdges = sfeAround
    635     SymbolAttri.FrameEdges = sfeAround
    636     CaseLabelAttri.FrameEdges = sfeAround
    637     DirectiveAttri.FrameEdges = sfeAround
    638639    CompilerMode = pcmDelphi
    639640    NestedComments = False
    640     left = 174
    641     top = 38
     641    TypeHelpers = True
     642    StringMultilineMode = []
     643    Left = 261
     644    Top = 57
    642645  end
    643646  object SynCppSyn1: TSynCppSyn
    644647    DefaultFilter = 'Soubory C++ (*.c,*.cpp,*.h,*.hpp,*.hh)|*.c;*.cpp;*.h;*.hpp;*.hh'
    645648    Enabled = False
    646     AsmAttri.FrameEdges = sfeAround
    647     CommentAttri.FrameEdges = sfeAround
    648     DirecAttri.FrameEdges = sfeAround
    649     IdentifierAttri.FrameEdges = sfeAround
    650     InvalidAttri.FrameEdges = sfeAround
    651     KeyAttri.FrameEdges = sfeAround
    652     NumberAttri.FrameEdges = sfeAround
    653     SpaceAttri.FrameEdges = sfeAround
    654     StringAttri.FrameEdges = sfeAround
    655     SymbolAttri.FrameEdges = sfeAround
    656     left = 176
    657     top = 85
     649    Left = 264
     650    Top = 128
    658651  end
    659652  object SynXMLSyn1: TSynXMLSyn
    660653    DefaultFilter = 'XML Dokument (*.xml,*.xsd,*.xsl,*.xslt,*.dtd)|*.xml;*.xsd;*.xsl;*.xslt;*.dtd'
    661654    Enabled = False
    662     ElementAttri.FrameEdges = sfeAround
    663     AttributeAttri.FrameEdges = sfeAround
    664     NamespaceAttributeAttri.FrameEdges = sfeAround
    665     AttributeValueAttri.FrameEdges = sfeAround
    666     NamespaceAttributeValueAttri.FrameEdges = sfeAround
    667     TextAttri.FrameEdges = sfeAround
    668     CDATAAttri.FrameEdges = sfeAround
    669     EntityRefAttri.FrameEdges = sfeAround
    670     ProcessingInstructionAttri.FrameEdges = sfeAround
    671     CommentAttri.FrameEdges = sfeAround
    672     DocTypeAttri.FrameEdges = sfeAround
    673     SpaceAttri.FrameEdges = sfeAround
    674     SymbolAttri.FrameEdges = sfeAround
    675655    WantBracesParsed = False
    676     left = 178
    677     top = 133
     656    Left = 267
     657    Top = 200
    678658  end
    679659end
  • trunk/IDE/Forms/FormTargetCode.pas

    r74 r75  
    1 unit UFormTargetCode;
    2 
    3 {$mode Delphi}{$H+}
     1unit FormTargetCode;
    42
    53interface
     
    86  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, SynEdit,
    97  SynHighlighterMulti, SynHighlighterVB, SynHighlighterPas, SynHighlighterCpp,
    10   SynHighlighterXML, UProject;
     8  SynHighlighterXML, Project;
    119
    1210type
     
    2725  end;
    2826
    29 var
    30   FormTargetCode: TFormTargetCode;
    3127
    3228implementation
     
    3531
    3632uses
    37   UCore;
     33  Core;
    3834
    3935procedure TFormTargetCode.SetProjectFile(AValue: TProjectFile);
     
    4844procedure TFormTargetCode.UpdateInterface;
    4945begin
    50   SynEdit1.Enabled := Assigned(Core.Project);
    51   if not Assigned(Core.Project) then SynEdit1.ClearAll;
     46  SynEdit1.Enabled := Assigned(Core.Core.Project);
     47  if not Assigned(Core.Core.Project) then SynEdit1.ClearAll;
    5248end;
    53 
    5449
    5550end.
  • trunk/IDE/Forms/FormTargetOptions.pas

    r74 r75  
    1 unit UFormTargetOptions;
    2 
    3 {$mode delphi}
     1unit FormTargetOptions;
    42
    53interface
     
    75uses
    86  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
    9   UTarget;
     7  Target;
    108
    119type
     
    3432  end;
    3533
    36 var
    37   FormTargetOptions: TFormTargetOptions;
    3834
    3935implementation
  • trunk/IDE/Forms/FormTargetProject.pas

    r74 r75  
    1 unit UFormTargetProject;
    2 
    3 {$mode delphi}
     1unit FormTargetProject;
    42
    53interface
    64
    75uses
    8   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ComCtrls,
    9   UProject;
     6  Classes, SysUtils, LazFileUtils, Forms, Controls, Graphics, Dialogs, ComCtrls,
     7  Project;
    108
    119type
     10  TShowTargetCodeEvent = procedure(ProjectFile: TProjectFile) of object;
    1211
    1312  { TFormTargetProject }
     
    1716    procedure TreeViewProjectChange(Sender: TObject; Node: TTreeNode);
    1817  private
    19     procedure UpdateProjectFiles(Node: TTreeNode; Files: TProjectFileList);
     18    FOnShowTargetCode: TShowTargetCodeEvent;
     19    procedure UpdateProjectFiles(Node: TTreeNode; Files: TProjectFiles);
    2020    procedure UpdateProjectTree;
    2121  public
    2222    procedure UpdateInterface;
     23    property OnShowTargetCode: TShowTargetCodeEvent read FOnShowTargetCode
     24      write FOnShowTargetCode;
    2325  end;
    24 
    25 var
    26   FormTargetProject: TFormTargetProject;
    2726
    2827
     
    3231
    3332uses
    34   UCore, UFormMain, UFormTargetCode;
     33  Core, FormMain, FormTargetCode;
    3534
    3635procedure TFormTargetProject.UpdateProjectTree;
     
    3837  NewNode: TTreeNode;
    3938begin
    40   with Core, FormMain, TreeViewProject, Items do begin
     39  with Core.Core, FormMain.FormMain, TreeViewProject, Items do begin
    4140    BeginUpdate;
    4241    Clear;
     
    5049      (TreeViewProject.TopItem.Count > 0) then
    5150      TreeViewProject.TopItem.Items[0].Selected := True
    52       else FormTargetCode.ProjectFile := nil;
     51      else begin
     52        if Assigned(FOnShowTargetCode) then
     53          FOnShowTargetCode(nil);
     54      end;
    5355  end;
    5456end;
     
    6264  Node: TTreeNode);
    6365begin
    64   with FormMain, FormTargetCode do
     66  with FormMain.FormMain do
    6567  if Assigned(Node) then begin
    6668    if TProjectFile(Node.Data) is TProjectFile then begin
    67       ProjectFile := TProjectFile(Node.Data);
    68       FormMain.TabSheetTarget.Show;
    69       SynEdit1.Lines.Assign(TProjectFile(Node.Data).Source);
     69      if Assigned(FOnShowTargetCode) then
     70        FOnShowTargetCode(TProjectFile(Node.Data))
    7071    end;
    7172  end;
    7273end;
    7374
    74 procedure TFormTargetProject.UpdateProjectFiles(Node: TTreeNode; Files: TProjectFileList);
     75procedure TFormTargetProject.UpdateProjectFiles(Node: TTreeNode; Files: TProjectFiles);
    7576var
    7677  I: Integer;
  • trunk/IDE/Forms/FormTargets.lfm

    r74 r75  
    11object FormTargets: TFormTargets
    22  Left = 292
    3   Height = 343
     3  Height = 514
    44  Top = 138
    5   Width = 522
     5  Width = 783
    66  Caption = 'Targets'
    7   ClientHeight = 343
    8   ClientWidth = 522
     7  ClientHeight = 514
     8  ClientWidth = 783
     9  DesignTimePPI = 144
    910  OnShow = FormShow
    10   LCLVersion = '1.1'
     11  LCLVersion = '3.2.0.0'
    1112  object ListView1: TListView
    12     Left = 8
    13     Height = 327
    14     Top = 8
    15     Width = 508
     13    Left = 12
     14    Height = 490
     15    Top = 12
     16    Width = 762
    1617    Anchors = [akTop, akLeft, akRight, akBottom]
    1718    Columns = <   
    1819      item
    1920        Caption = 'Name'
    20         Width = 80
     21        Width = 120
    2122      end   
    2223      item
    2324        Caption = 'Compiler path'
    24         Width = 200
     25        Width = 300
    2526      end   
    2627      item
    2728        Caption = 'Executor path'
    28         Width = 200
     29        Width = 327
    2930      end>
    3031    OwnerData = True
     
    3940  object PopupMenu1: TPopupMenu
    4041    Images = FormMain.ImageList1
    41     left = 124
    42     top = 69
     42    Left = 186
     43    Top = 104
    4344  end
    4445  object ActionList1: TActionList
    45     left = 200
    46     top = 72
     46    Left = 300
     47    Top = 108
    4748    object ATargetOptions: TAction
    4849      Caption = 'Options'
  • trunk/IDE/Forms/FormTargets.pas

    r74 r75  
    1 unit UFormTargets;
    2 
    3 {$mode objfpc}{$H+}
     1unit FormTargets;
    42
    53interface
     
    2725  end;
    2826
    29 var
    30   FormTargets: TFormTargets;
    3127
    3228implementation
     
    3531
    3632uses
    37   UCore, UFormMain, UCompiler, UProducer, UTarget,
    38   UFormTargetOptions;
     33  Core, FormMain, Compiler, Producer, Target, FormTargetOptions;
    3934
    4035resourcestring
     
    5045
    5146procedure TFormTargets.ATargetOptionsExecute(Sender: TObject);
     47var
     48  FormTargetOptions: TFormTargetOptions;
    5249begin
    5350  if Assigned(ListView1.Selected) then begin
     51    FormTargetOptions := TFormTargetOptions.Create(nil);
    5452    FormTargetOptions.LoadControls(TTarget(ListView1.Selected.Data));
    5553    if FormTargetOptions.ShowModal = mrOk then begin
     
    5755      ReloadList;
    5856    end;
     57    FormTargetOptions.Free;
    5958  end;
    6059end;
     
    6261procedure TFormTargets.ListView1Data(Sender: TObject; Item: TListItem);
    6362begin
    64   if (Item.Index >= 0) and (Item.Index < Core.Compiler.Targets.Count) then
    65   with TTarget(Core.Compiler.Targets[Item.Index]) do begin
     63  if (Item.Index >= 0) and (Item.Index < Core.Core.Compiler.Targets.Count) then
     64  with TTarget(Core.Core.Compiler.Targets[Item.Index]) do begin
    6665    Item.Caption := Name;
    67     Item.Data := Core.Compiler.Targets[Item.Index];
     66    Item.Data := Core.Core.Compiler.Targets[Item.Index];
    6867    //Item.SubItems.Add(Producer.CompilerPath);
    6968  end;
     
    7271procedure TFormTargets.ReloadList;
    7372begin
    74   ListView1.Items.Count := Core.Compiler.Targets.Count;
     73  ListView1.Items.Count := Core.Core.Compiler.Targets.Count;
    7574  ListView1.Refresh;
    7675end;
Note: See TracChangeset for help on using the changeset viewer.