Ignore:
Timestamp:
Jul 12, 2012, 9:15:02 AM (12 years ago)
Author:
chronos
Message:
  • Added: Tool button with drop down menu of available targets.
  • Added Target list have icons.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Target/UTarget.pas

    r47 r48  
    77uses
    88  Classes, SysUtils, StrUtils, Registry, URegistry, SpecializedList, Dialogs,
    9   FileUtil, Process;
     9  FileUtil, Process, Menus;
    1010
    1111type
     
    8686    Name: string;
    8787    ProgramName: string;
     88    ImageIndex: Integer;
    8889    Optimization: TCompilerOptimization;
    8990    CompilerPath: string;
     
    126127    procedure SaveToRegistry(Root: HKEY; Key: string);
    127128    function FindByName(Name: string): TTarget;
     129    procedure LoadToMenuItem(MenuItem: TMenuItem; Action: TNotifyEvent;
     130      CurrentTarget: TTarget);
    128131  end;
    129132
     
    286289  if I < Count then Result := TTarget(Items[I])
    287290    else Result := nil;
     291end;
     292
     293procedure TTargetList.LoadToMenuItem(MenuItem: TMenuItem; Action: TNotifyEvent
     294  ; CurrentTarget: TTarget);
     295var
     296  NewMenuItem: TMenuItem;
     297  I: Integer;
     298begin
     299  if Assigned(MenuItem) then begin
     300    MenuItem.Clear;
     301    for I := 0 to Count - 1 do begin
     302      NewMenuItem := TMenuItem.Create(MenuItem);
     303      NewMenuItem.Caption := TTarget(Items[I]).Name;
     304      NewMenuItem.OnClick := Action;
     305      NewMenuItem.ImageIndex := TTarget(Items[I]).ImageIndex;
     306      if TTarget(Items[I]) = CurrentTarget then NewMenuItem.Checked := True;
     307      MenuItem.Add(NewMenuItem);
     308    end;
     309  end;
    288310end;
    289311
Note: See TracChangeset for help on using the changeset viewer.