iphonelazext: fixed menu checker <-> project options relations

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1124 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
skalogryz
2010-01-11 19:14:38 +00:00
parent ecac533472
commit b4cfe90e97
2 changed files with 21 additions and 12 deletions

View File

@@ -23,7 +23,7 @@ uses
Classes, SysUtils, Classes, SysUtils,
Graphics, Controls, Forms, Dialogs, FileUtil, Graphics, Controls, Forms, Dialogs, FileUtil,
{Lazarus Interface} {Lazarus Interface}
LazIDEIntf, MenuIntf, ProjectIntf, IDEOptionsIntf, PackageIntf, IDEMsgIntf, LazIDEIntf, MenuIntf, ProjectIntf, IDEOptionsIntf, IDEMsgIntf,
project_iphone_options, xcodetemplate, project_iphone_options, xcodetemplate,
@@ -44,6 +44,7 @@ type
function ProjectBuilding(Sender: TObject): TModalResult; function ProjectBuilding(Sender: TObject): TModalResult;
function ProjectOpened(Sender: TObject; AProject: TLazProject): TModalResult; function ProjectOpened(Sender: TObject; AProject: TLazProject): TModalResult;
function WriteIconTo(const FullName: String): Boolean; function WriteIconTo(const FullName: String): Boolean;
procedure OnProjOptionsChanged(Sender: TObject);
public public
isiPhoneMenu :TIDEMenuCommand; isiPhoneMenu :TIDEMenuCommand;
constructor Create; constructor Create;
@@ -205,6 +206,7 @@ begin
inherited Create; inherited Create;
LazarusIDE.AddHandlerOnProjectOpened(@ProjectOpened); LazarusIDE.AddHandlerOnProjectOpened(@ProjectOpened);
LazarusIDE.AddHandlerOnProjectBuilding(@ProjectBuilding); LazarusIDE.AddHandlerOnProjectBuilding(@ProjectBuilding);
ProjOptions.OnAfterWrite:=@OnProjOptionsChanged;
RegisterIDEMenuCommand(itmProjectWindowSection, 'mnuiPhoneSeparator', '-', nil, nil); RegisterIDEMenuCommand(itmProjectWindowSection, 'mnuiPhoneSeparator', '-', nil, nil);
@@ -294,6 +296,11 @@ begin
end; end;
end; end;
procedure TiPhoneExtension.OnProjOptionsChanged(Sender: TObject);
begin
isiPhoneMenu.Checked:=ProjOptions.isIPhoneApp;
end;
procedure TiPhoneExtension.UpdateXCode(Sender: TObject); procedure TiPhoneExtension.UpdateXCode(Sender: TObject);
var var
templates : TStringList; templates : TStringList;
@@ -422,8 +429,8 @@ procedure TiPhoneExtension.isProjectClicked(Sender: TObject);
begin begin
if not Assigned(Sender) or not Assigned(LazarusIDE.ActiveProject) then Exit; if not Assigned(Sender) or not Assigned(LazarusIDE.ActiveProject) then Exit;
TIDEMenuCommand(Sender).Checked:=not TIDEMenuCommand(Sender).Checked; TIDEMenuCommand(Sender).Checked:=not TIDEMenuCommand(Sender).Checked;
ProjOptions.isIPhoneApp:=TIDEMenuCommand(Sender).Checked; ProjOptions.isiPhoneApp:=TIDEMenuCommand(Sender).Checked;
//SwitchProject(TIDEMenuCommand(Sender).Checked); ProjOptions.Save;
end; end;
procedure Register; procedure Register;

View File

@@ -40,6 +40,8 @@ type
procedure FrameClick(Sender: TObject); procedure FrameClick(Sender: TObject);
private private
{ private declarations } { private declarations }
fOnChanged : TNotifyEvent;
procedure DoChanged;
public public
{ public declarations } { public declarations }
class function SupportedOptionsClass: TAbstractIDEOptionsClass; override; class function SupportedOptionsClass: TAbstractIDEOptionsClass; override;
@@ -47,18 +49,11 @@ type
procedure Setup(ADialog: TAbstractOptionsEditorDialog); override; procedure Setup(ADialog: TAbstractOptionsEditorDialog); override;
procedure ReadSettings(AOptions: TAbstractIDEOptions); override; procedure ReadSettings(AOptions: TAbstractIDEOptions); override;
procedure WriteSettings(AOptions: TAbstractIDEOptions); override; procedure WriteSettings(AOptions: TAbstractIDEOptions); override;
property OnChanged: TNotifyEvent read fOnChanged write fOnChanged;
end; end;
procedure EnableiPhoneAppProject(project: TLazProject);
implementation implementation
procedure EnableiPhoneAppProject(project: TLazProject);
begin
end;
{ TiPhoneProjectOptionsEditor } { TiPhoneProjectOptionsEditor }
procedure TiPhoneProjectOptionsEditor.cmbSDKsChange(Sender: TObject); procedure TiPhoneProjectOptionsEditor.cmbSDKsChange(Sender: TObject);
@@ -71,6 +66,11 @@ begin
end; end;
procedure TiPhoneProjectOptionsEditor.DoChanged;
begin
if Assigned(fOnChanged) then fOnChanged(Self);
end;
function TiPhoneProjectOptionsEditor.GetTitle: String; function TiPhoneProjectOptionsEditor.GetTitle: String;
begin begin
Result:=strPrjOptTitle; Result:=strPrjOptTitle;
@@ -111,7 +111,7 @@ begin
isIPhoneApp:=chkisPhone.Checked; isIPhoneApp:=chkisPhone.Checked;
SDK:=cmbSDKs.Caption; SDK:=cmbSDKs.Caption;
AppID:=edtAppID.Text; AppID:=edtAppID.Text;
Save; DoChanged;
end; end;
end; end;
@@ -127,5 +127,7 @@ initialization
{$I project_iphone_options.lrs} {$I project_iphone_options.lrs}
RegisterIDEOptionsEditor(iPhonePrjGroup, TiPhoneProjectOptionsEditor, iPhoneOptions); RegisterIDEOptionsEditor(iPhonePrjGroup, TiPhoneProjectOptionsEditor, iPhoneOptions);
finalization
end. end.