Changeset 46 for trunk/Forms


Ignore:
Timestamp:
Jul 12, 2012, 7:47:58 AM (12 years ago)
Author:
chronos
Message:
  • Modified: Source code and target code splited to units.
Location:
trunk/Forms
Files:
7 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Forms/UFormMain.lfm

    r45 r46  
    11object MainForm: TMainForm
    2   Left = 501
    3   Height = 414
    4   Top = 170
    5   Width = 665
     2  Left = 213
     3  Height = 430
     4  Top = 98
     5  Width = 670
    66  Caption = 'LazFuck'
    7   ClientHeight = 395
    8   ClientWidth = 665
     7  ClientHeight = 411
     8  ClientWidth = 670
    99  Menu = MainMenu1
    1010  OnCloseQuery = FormCloseQuery
     
    1717    Left = 0
    1818    Height = 20
    19     Top = 375
    20     Width = 665
     19    Top = 391
     20    Width = 670
    2121    Panels = <   
    2222      item
     
    3535    Height = 26
    3636    Top = 0
    37     Width = 665
     37    Width = 670
    3838    Images = ImageList1
    3939    ParentShowHint = False
     
    118118  end
    119119  object PageControlRight: TPageControl
    120     Left = 272
    121     Height = 349
     120    Left = 277
     121    Height = 365
    122122    Top = 26
    123123    Width = 393
     
    129129    object TabSheetDebug: TTabSheet
    130130      Caption = 'Debug'
    131       ClientHeight = 341
     131      ClientHeight = 357
    132132      ClientWidth = 365
    133133      object PanelInput: TPanel
     
    180180        Left = 0
    181181        Height = 5
    182         Top = 341
     182        Top = 357
    183183        Width = 365
    184184        Align = alTop
     
    188188        Left = 0
    189189        Height = 0
    190         Top = 341
     190        Top = 357
    191191        Width = 365
    192192        Align = alClient
     
    197197  end
    198198  object Splitter1: TSplitter
    199     Left = 267
    200     Height = 349
     199    Left = 272
     200    Height = 365
    201201    Top = 26
    202202    Width = 5
     
    206206  object PanelLeft: TPanel
    207207    Left = 0
    208     Height = 349
     208    Height = 365
    209209    Top = 26
    210     Width = 267
     210    Width = 272
    211211    Align = alClient
    212212    BevelOuter = bvNone
    213     ClientHeight = 349
    214     ClientWidth = 267
     213    ClientHeight = 365
     214    ClientWidth = 272
    215215    TabOrder = 4
    216216    object PageControlMain: TPageControl
    217217      Left = 0
    218       Height = 226
     218      Height = 242
    219219      Top = 0
    220       Width = 267
     220      Width = 272
    221221      ActivePage = TabSheetSource
    222222      Align = alClient
     
    226226      object TabSheetSource: TTabSheet
    227227        Caption = 'Source code'
    228         ClientHeight = 200
    229         ClientWidth = 259
    230         object MemoSource: TMemo
    231           Left = 0
    232           Height = 200
    233           Top = 0
    234           Width = 259
    235           Align = alClient
    236           Font.Height = -12
    237           Font.Name = 'Courier New'
    238           OnChange = MemoSourceChange
    239           OnKeyDown = MemoSourceKeyDown
    240           OnKeyPress = MemoSourceKeyPress
    241           OnKeyUp = MemoSourceKeyUp
    242           OnMouseDown = MemoSourceMouseDown
    243           ParentFont = False
    244           PopupMenu = PopupMenuSource
    245           ScrollBars = ssAutoBoth
    246           TabOrder = 0
    247         end
    248228      end
    249229      object TabSheetTarget: TTabSheet
    250230        Caption = 'Target code'
    251         ClientHeight = 192
    252         ClientWidth = 265
    253         object MemoTarget: TMemo
    254           Left = 0
    255           Height = 387
    256           Top = 0
    257           Width = 583
    258           Align = alClient
    259           PopupMenu = PopupMenuTarget
    260           ReadOnly = True
    261           ScrollBars = ssAutoBoth
    262           TabOrder = 0
    263         end
    264231      end
    265232    end
     
    267234      Left = 0
    268235      Height = 118
    269       Top = 231
    270       Width = 267
     236      Top = 247
     237      Width = 272
    271238      ActivePage = TabSheetMessages
    272239      Align = alBottom
     
    282249      Left = 0
    283250      Height = 5
    284       Top = 226
    285       Width = 267
     251      Top = 242
     252      Width = 272
    286253      Align = alBottom
    287254      ResizeAnchor = akBottom
     
    291258    Images = ImageList1
    292259    left = 216
    293     top = 128
     260    top = 136
    294261    object MenuItem1: TMenuItem
    295262      Caption = 'Project'
     
    17531720    top = 184
    17541721  end
    1755   object PopupMenuSource: TPopupMenu
    1756     Images = ImageList1
    1757     left = 56
    1758     top = 128
    1759     object MenuItem23: TMenuItem
    1760       Action = ABreakpointToggle
    1761       Bitmap.Data = {
    1762         36040000424D3604000000000000360000002800000010000000100000000100
    1763         2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
    1764         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1765         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1766         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1767         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1768         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1769         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1770         FF000000810000007500000064200000607E000060B2000060C8000060B20000
    1771         607E000064200000750000008100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1772         FF00000081000000784102027DC10A0AA8E70F0FCAF81111D5FE0F0FCAF80A0A
    1773         A8E702027DC10000784100008100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1774         FF0000008420030389C11515BFF31212CDFF1111CCFF1111CCFF1111CCFF1111
    1775         CCFF0E0EBCF3020288C100008420FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1776         FF000000897E1818AFE61414C1FF1111BFFF1111BFFF1111BFFF1111BFFF1111
    1777         BFFF1111BFFF0A0AA6E60000897EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1778         FF0000008FB23434C3F81414B2FF1111B1FF1111B1FF1111B1FF1111B1FF1111
    1779         B1FF1111B1FF1414B0F800008FB2FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1780         FF00000095C84848D0FE2E2EB8FF1D1DADFF1212A5FF1111A4FF1111A4FF1111
    1781         A4FF1111A4FF1B1BADFE000095C8FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1782         FF0000009AB24A4AD4F83737BFFF3737BFFF3131BAFF2727B0FF1C1CA6FF1616
    1783         A0FF12129CFF2323AEF800009AB2FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1784         FF0000009E7E3939CCE64A4AD2FF4545CDFF4545CDFF4545CDFF4545CDFF4545
    1785         CDFF4848D0FF3131C3E600009E7EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1786         FF000000A3200A0AABC15555E3F35A5AE2FF5656DEFF5656DEFF5656DEFF5959
    1787         E1FF5050DEF30909AAC10000A320FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1788         FF000000A4000000A6410A0AAEC13F3FD5E76060EDF86A6AF3FE6060ECF83E3E
    1789         D4E70A0AADC10000A6410000A400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1790         FF000000A4000000A6000000A9200000AA7E0000AAB20000AAC80000AAB20000
    1791         AA7E0000A9200000A6000000A400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1792         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1793         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1794         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1795         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
    1796       }
    1797     end
    1798     object MenuItem26: TMenuItem
    1799       Action = AFormatSource
    1800     end
    1801     object MenuItem21: TMenuItem
    1802       Action = AShrinkSource
    1803     end
    1804     object MenuItem29: TMenuItem
    1805       Action = AGenerateNumber
    1806       Bitmap.Data = {
    1807         36040000424D3604000000000000360000002800000010000000100000000100
    1808         2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
    1809         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1810         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1811         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1812         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1813         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1814         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1815         FF000000008B000000B7FFFFFF000000008B000000FF000000FF000000FF0000
    1816         008BFFFFFF00000000B7000000FF000000B7FFFFFF00FFFFFF00FFFFFF00FFFF
    1817         FF000000008B000000B7FFFFFF0000000063000000FF00000063FFFFFF00FFFF
    1818         FF0000000063000000B700000020000000FF00000063FFFFFF00FFFFFF00FFFF
    1819         FF000000008B000000B7FFFFFF00FFFFFF00000000FF000000FF00000020FFFF
    1820         FF00FFFFFF00FFFFFF00FFFFFF00000000FF0000008BFFFFFF00FFFFFF00FFFF
    1821         FF000000008B000000B7FFFFFF00FFFFFF0000000040000000FF000000B7FFFF
    1822         FF00FFFFFF00FFFFFF00FFFFFF00000000FF00000063FFFFFF00FFFFFF00FFFF
    1823         FF000000008B000000B7FFFFFF00FFFFFF00FFFFFF000000008B000000FF0000
    1824         0040FFFFFF00FFFFFF00000000FF00000040FFFFFF00FFFFFF00000000200000
    1825         00B70000008B000000B7FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000FF0000
    1826         008BFFFFFF00FFFFFF0000000020000000FF00000020FFFFFF00000000200000
    1827         00FF000000FF000000B7FFFFFF00FFFFFF00FFFFFF00FFFFFF000000008B0000
    1828         008BFFFFFF00FFFFFF00FFFFFF00000000FF00000040FFFFFF00FFFFFF000000
    1829         0040000000FF000000B7FFFFFF0000000063000000B7FFFFFF00000000B70000
    1830         0063000000630000008B00000020000000FF00000020FFFFFF00FFFFFF00FFFF
    1831         FF0000000063000000B7FFFFFF00FFFFFF00000000FF000000FF000000B7FFFF
    1832         FF00FFFFFF00000000FF000000FF0000008BFFFFFF00FFFFFF00FFFFFF00FFFF
    1833         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1834         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1835         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1836         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1837         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1838         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1839         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
    1840         FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
    1841       }
    1842     end
    1843     object MenuItem36: TMenuItem
    1844       Action = AShowTargetPosition
    1845     end
    1846   end
    1847   object PopupMenuTarget: TPopupMenu
    1848     left = 56
    1849     top = 72
    1850     object MenuItem20: TMenuItem
    1851       Action = AShowSourcePosition
    1852     end
    1853   end
    18541722  object TimerRefresh: TTimer
    18551723    OnTimer = TimerRefreshTimer
  • trunk/Forms/UFormMain.pas

    r45 r46  
    4949    ImageList1: TImageList;
    5050    MainMenu1: TMainMenu;
    51     MemoSource: TMemo;
    52     MemoTarget: TMemo;
    5351    MenuItem1: TMenuItem;
    5452    MenuItem10: TMenuItem;
     
    6260    MenuItem18: TMenuItem;
    6361    MenuItem2: TMenuItem;
    64     MenuItem20: TMenuItem;
    65     MenuItem21: TMenuItem;
    6662    MenuItem22: TMenuItem;
    67     MenuItem23: TMenuItem;
    6863    MenuItem24: TMenuItem;
    6964    MenuItem25: TMenuItem;
    70     MenuItem26: TMenuItem;
    7165    MenuItem27: TMenuItem;
    7266    MenuItem28: TMenuItem;
    73     MenuItem29: TMenuItem;
    7467    MenuItem30: TMenuItem;
    7568    MenuItem31: TMenuItem;
     
    7871    MenuItem34: TMenuItem;
    7972    MenuItem35: TMenuItem;
    80     MenuItem36: TMenuItem;
    8173    MenuItemOpenRecent: TMenuItem;
    8274    MenuItemTarget: TMenuItem;
     
    9789    PanelOutput: TPanel;
    9890    PanelInput: TPanel;
    99     PopupMenuTarget: TPopupMenu;
    100     PopupMenuSource: TPopupMenu;
    10191    SaveDialog1: TSaveDialog;
    10292    Splitter1: TSplitter;
     
    200190  UFormCPU, UFormOptions, UFormMessages, UTargetJava,
    201191  UTargetDelphi, UTargetPHP, UTargetC, UFormTargets, UFormOutput, UFormInput,
    202   UFormMemory;
     192  UFormMemory, UFormSourceCode, UFormTargetCode;
    203193
    204194resourcestring
     
    214204procedure TMainForm.FormShow(Sender: TObject);
    215205begin
     206  LoadFromRegistry(RegistryRoot, ApplicationInfo.RegistryKey);
    216207  PageControlMain.TabIndex := 0;
    217208  if OpenProjectOnStart and (LastOpenedList.Items.Count > 0) then
     
    287278begin
    288279  AProjectClose.Execute;
    289   MemoSource.Lines.LoadFromFile(UTF8Decode(FileName));
     280  FormSourceCode.MemoSource.Lines.LoadFromFile(UTF8Decode(FileName));
    290281  LastOpenedList.AddItem(FileName);
    291282  ProjectFileName := FileName;
     
    318309procedure TMainForm.DockInit;
    319310begin
     311  FormSourceCode.ManualDock(TabSheetSource, nil, alClient);
     312  FormSourceCode.Align := alClient;
     313  FormSourceCode.Show;
     314  FormTargetCode.ManualDock(TabSheetTarget, nil, alClient);
     315  FormTargetCode.Align := alClient;
     316  FormTargetCode.Show;
    320317  FormCPU.ManualDock(PanelCPU, nil, alClient);
    321318  FormCPU.Align := alClient;
     
    387384begin
    388385  AProjectSave.Enabled := Modified;
    389   Title := ApplicationInfo.Name;
     386  Title := ApplicationInfo.AppName;
    390387  if ProjectFileName <> '' then Title := ProjectFileName + ' - ' + Title;
    391388  if Modified then Title := Title + ' *';
    392389  Caption := Title;
    393   MemoSource.Enabled := ProjectFileName <> '';
     390  FormSourceCode.MemoSource.Enabled := ProjectFileName <> '';
    394391  AProjectClose.Enabled := ProjectFileName <> '';
    395392  AProgramRun.Enabled := (tcRun in CurrentTarget.Capabilities) and
     
    418415procedure TMainForm.UpdateStatusBar;
    419416begin
    420   StatusBarMain.Panels[0].Text := IntToStr(MemoSource.CaretPos.X) + ', ' + IntToStr(MemoSource.CaretPos.Y);
     417  StatusBarMain.Panels[0].Text := IntToStr(FormSourceCode.MemoSource.CaretPos.X) +
     418    ', ' + IntToStr(FormSourceCode.MemoSource.CaretPos.Y);
    421419end;
    422420
     
    447445  LastOpenedList := TLastOpenedList.Create(nil);
    448446  LastOpenedList.OnChange := LastOpenedListChange;
    449   LoadFromRegistry(RegistryRoot, ApplicationInfo.RegistryKey);
    450447end;
    451448
     
    470467  DebugStep: TDebugStep;
    471468begin
    472   DebugStep := CurrentTarget.DebugSteps.SearchByTargetPos(MemoTarget.SelStart);
     469  DebugStep := CurrentTarget.DebugSteps.SearchByTargetPos(FormTargetCode.MemoTarget.SelStart);
    473470  if Assigned(DebugStep) then begin
    474     MemoSource.SelStart := DebugStep.SourcePosition;
     471    FormSourceCode.MemoSource.SelStart := DebugStep.SourcePosition;
    475472    PageControlMain.TabIndex := 0;
    476473  end;
     
    481478  DebugStep: TDebugStep;
    482479begin
    483   DebugStep := CurrentTarget.DebugSteps.SearchBySourcePos(MemoSource.SelStart);
     480  DebugStep := CurrentTarget.DebugSteps.SearchBySourcePos(FormSourceCode.MemoSource.SelStart);
    484481  if Assigned(DebugStep) then begin
    485     MemoTarget.SelStart := DebugStep.TargetPosition;
     482    FormTargetCode.MemoTarget.SelStart := DebugStep.TargetPosition;
    486483    PageControlMain.TabIndex := 1;
    487484  end;
     
    494491  I: Integer;
    495492begin
    496   Source := MemoSource.Text;
     493  Source := FormSourceCode.MemoSource.Text;
    497494  Pos := 1;
    498495  for I := 1 to Length(Source) do begin
     
    503500  end;
    504501  SetLength(Source, Pos - 1);
    505   MemoSource.Text := Source;
     502  FormSourceCode.MemoSource.Text := Source;
    506503end;
    507504
     
    535532  IndentText = '  ';
    536533begin
    537   Source := MemoSource.Text;
     534  Source := FormSourceCode.MemoSource.Text;
    538535  NewSource := '';
    539536  Indent := 0;
     
    551548      NewSource := NewSource + Source[I];
    552549  end;
    553   MemoSource.Text := NewSource;
     550  FormSourceCode.MemoSource.Text := NewSource;
    554551end;
    555552
     
    565562    for I := 0 to Number - 1 do
    566563      NumberText := NumberText + '+';
    567     MemoSource.Text := MemoSource.Text + NumberText;
     564    FormSourceCode.MemoSource.Text := FormSourceCode.MemoSource.Text + NumberText;
    568565  end;
    569566end;
     
    582579    AProgramStop.Execute;
    583580    Optimization := coNormal;
    584     SourceCode := MemoSource.Text;
     581    SourceCode := FormSourceCode.MemoSource.Text;
    585582    ProjectFileName := Self.ProjectFileName;
    586583    ProgramName := ExtractFileNameOnly(Self.ProjectFileName);
     
    588585    Compile;
    589586    CurrentTarget.Messages.AppendMessage('done');
    590     MemoTarget.Text := TargetCode;
     587    FormTargetCode.MemoTarget.Text := TargetCode;
    591588    UpdateInterface;
    592589  end;
     
    598595  BreakPoint: TBreakPoint;
    599596begin
    600   DebugStep := CurrentTarget.DebugSteps.SearchBySourcePos(MemoSource.SelStart);
     597  DebugStep := CurrentTarget.DebugSteps.SearchBySourcePos(FormSourceCode.MemoSource.SelStart);
    601598  if Assigned(DebugStep) then begin
    602599    BreakPoint := CurrentTarget.BreakPoints.SearchByTargetPos(DebugStep.TargetPosition);
     
    618615  if CurrentTarget.State = rsStopped then begin
    619616    if not CurrentTarget.Compiled then AProgramCompile.Execute;
    620     DebugStep := CurrentTarget.DebugSteps.SearchBySourcePos(MemoSource.SelStart);
     617    DebugStep := CurrentTarget.DebugSteps.SearchBySourcePos(FormSourceCode.MemoSource.SelStart);
    621618    CurrentTarget.BreakPoints.SetSystem(DebugStep.TargetPosition);
    622619    AProgramRun.Execute;
    623620  end else begin
    624     DebugStep := CurrentTarget.DebugSteps.SearchBySourcePos(MemoSource.SelStart);
     621    DebugStep := CurrentTarget.DebugSteps.SearchBySourcePos(FormSourceCode.MemoSource.SelStart);
    625622    CurrentTarget.RunToCursor(DebugStep.TargetPosition);
    626623  end;
     
    632629begin
    633630  DebugStep := CurrentTarget.DebugSteps.SearchByTargetPos(CurrentTarget.ExecutionPosition);
    634   MemoSource.SelStart := DebugStep.SourcePosition;
    635   MemoTarget.SelStart := DebugStep.TargetPosition;
    636   if PageControlMain.TabIndex = 0 then MemoSource.SetFocus;
    637   if PageControlMain.TabIndex = 1 then MemoTarget.SetFocus;
     631  FormSourceCode.MemoSource.SelStart := DebugStep.SourcePosition;
     632  FormTargetCode.MemoTarget.SelStart := DebugStep.TargetPosition;
     633  if PageControlMain.TabIndex = 0 then FormSourceCode.MemoSource.SetFocus;
     634  if PageControlMain.TabIndex = 1 then FormTargetCode.MemoTarget.SetFocus;
    638635end;
    639636
     
    671668  Modified := False;
    672669  ProjectFileName := '';
    673   MemoSource.Clear;
     670  FormSourceCode.MemoSource.Clear;
    674671  UpdateInterface;
    675672end;
     
    679676  AProjectClose.Execute;
    680677  ProjectFileName := 'Examples' + DirectorySeparator + SNewProject + '.b';
    681   MemoSource.Clear;
     678  FormSourceCode.MemoSource.Clear;
    682679  Modified := False;
    683680  CurrentTarget.Compiled := False;
     
    702699  SaveDialog1.FileName := ProjectFileName;
    703700  if SaveDialog1.Execute then begin
    704     MemoSource.Lines.SaveToFile(UTF8Decode(SaveDialog1.FileName));
     701    FormSourceCode.MemoSource.Lines.SaveToFile(UTF8Decode(SaveDialog1.FileName));
    705702    ProjectFileName := SaveDialog1.FileName;
    706703    LastOpenedList.AddItem(SaveDialog1.FileName);
Note: See TracChangeset for help on using the changeset viewer.