Changeset 4 for trunk/UOptions.pas


Ignore:
Timestamp:
Feb 3, 2011, 8:01:00 AM (13 years ago)
Author:
chronos
Message:
  • Fixed: Add and edit operations.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/UOptions.pas

    r3 r4  
    77uses
    88  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
    9   ComCtrls, DOM, XMLWrite, XMLRead, HTTPSend;
     9  ComCtrls, ExtCtrls, DOM, XMLWrite, XMLRead, HTTPSend, USource, UInstance;
    1010
    1111type
     
    1717    ButtonCancel: TButton;
    1818    ButtonOk: TButton;
     19    Edit1: TEdit;
    1920    Label1: TLabel;
    2021    Label2: TLabel;
     22    Label3: TLabel;
    2123    ListView1: TListView;
    2224    ListView2: TListView;
     25    Panel1: TPanel;
     26    Panel2: TPanel;
     27    Panel3: TPanel;
     28    procedure ButtonCancelClick(Sender: TObject);
     29    procedure ButtonOkClick(Sender: TObject);
    2330    procedure ButtonUpdateSourceClick(Sender: TObject);
     31    procedure FormCreate(Sender: TObject);
     32    procedure FormDestroy(Sender: TObject);
     33    procedure FormShow(Sender: TObject);
     34    procedure ListView1Data(Sender: TObject; Item: TListItem);
     35    procedure ListView2Data(Sender: TObject; Item: TListItem);
    2436  private
    2537    procedure ReloadList;
    2638  public
    27     { public declarations }
    28   end;
     39    Instance: TInstance;
     40    FPCSources: TSourceList;
     41    IDESources: TSourceList;
     42  end;
    2943
    3044var
     
    5468end;
    5569
     70procedure TOptionsForm.ButtonOkClick(Sender: TObject);
     71begin
     72  Instance.Name := Edit1.Text;
     73  if Assigned(ListView1.Selected) then
     74    Instance.FPCSource := TSource(ListView1.Selected.Data)
     75    else Instance.FPCSource := nil;
     76  if Assigned(ListView2.Selected) then
     77    Instance.IDESource := TSource(ListView2.Selected.Data)
     78    else Instance.IDESource := nil;
     79end;
     80
     81procedure TOptionsForm.ButtonCancelClick(Sender: TObject);
     82begin
     83  Instance.Free;
     84end;
     85
     86procedure TOptionsForm.FormCreate(Sender: TObject);
     87begin
     88  FPCSources := TSourceList.Create;
     89  FPCSources.OwnsObjects := False;
     90  IDESources := TSourceList.Create;
     91  IDESources.OwnsObjects := False;
     92end;
     93
     94procedure TOptionsForm.FormDestroy(Sender: TObject);
     95begin
     96  FPCSources.Free;
     97  IDESources.Free;
     98end;
     99
     100procedure TOptionsForm.FormShow(Sender: TObject);
     101begin
     102  ReloadList;
     103  if not Assigned(Instance) then begin
     104    Instance := TInstance.Create;
     105    Instance.Id := MainForm.Instances.GetNewId;
     106    Instance.Name := 'Instance ' + IntToStr(Instance.Id);
     107  end;
     108  //    ListView1.Items[;
     109  Edit1.Text := Instance.Name;
     110end;
     111
     112procedure TOptionsForm.ListView1Data(Sender: TObject; Item: TListItem);
     113begin
     114  if Item.Index < FPCSources.Count then
     115  with TSource(FPCSources[Item.Index]) do begin
     116    Item.Caption := Name;
     117    Item.Data := FPCSources[Item.Index];
     118    Item.SubItems.Add(VersionType);
     119    Item.SubItems.Add(VersionNumber);
     120    Item.SubItems.Add('');
     121    Item.SubItems.Add('');
     122    Item.SubItems.Add(SubversionURL);
     123  end;
     124end;
     125
     126procedure TOptionsForm.ListView2Data(Sender: TObject; Item: TListItem);
     127begin
     128  if Item.Index < IDESources.Count then
     129  with TSource(IDESources[Item.Index]) do begin
     130    Item.Caption := Name;
     131    Item.Data := IDESources[Item.Index];
     132    Item.SubItems.Add(VersionType);
     133    Item.SubItems.Add(VersionNumber);
     134    Item.SubItems.Add('');
     135    Item.SubItems.Add('');
     136    Item.SubItems.Add(SubversionURL);
     137  end;
     138end;
     139
    56140procedure TOptionsForm.ReloadList;
     141var
     142  I: Integer;
    57143begin
    58   ListView1.Items.Count := MainForm.Sources.Count;
     144  FPCSources.Clear;
     145  for I := 0 to MainForm.Sources.Count - 1 do
     146    if TSource(MainForm.Sources[I]).Name = 'FPC' then
     147      FPCSources.Add(MainForm.Sources[I]);
     148  ListView1.Items.Count := FPCSources.Count;
    59149  ListView1.Refresh;
     150  IDESources.Clear;
     151  for I := 0 to MainForm.Sources.Count - 1 do
     152    if TSource(MainForm.Sources[I]).Name = 'Lazarus' then
     153      IDESources.Add(MainForm.Sources[I]);
     154  ListView2.Items.Count := IDESources.Count;
     155  ListView2.Refresh;
    60156end;
    61157
Note: See TracChangeset for help on using the changeset viewer.