fixed makros in componentpalette

git-svn-id: trunk@7885 -
This commit is contained in:
mattias 2005-10-02 10:19:20 +00:00
parent cca423b1d7
commit 0b40ab4bb7
5 changed files with 47 additions and 3 deletions

View File

@ -163,6 +163,7 @@ var
PkgComponent: TPkgComponent;
APackage: TLazPackage;
UnitFilename: String;
ShownFilename: String;
begin
PkgComponent:=TPkgComponent(FindButton(PopupMenu.PopupComponent));
APackage:=nil;
@ -174,11 +175,16 @@ begin
end else begin
OpenPackageMenuItem.Caption:='Open Package '+APackage.IDAsString;
OpenPackageMenuItem.Visible:=true;
UnitFilename:=PkgComponent.PkgFile.Filename;
if not FileExists(UnitFilename) then
ShownFilename:=PkgComponent.PkgFile.Filename;
UnitFilename:=APackage.SubstitutePkgMacro(ShownFilename);
LazarusIDE.SubstituteMakros(UnitFilename);
if not FileExists(UnitFilename) then begin
UnitFilename:=LazarusIDE.FindSourceFile(ExtractFilename(UnitFilename),
APackage.Directory,[]);
OpenUnitMenuItem.Caption:='Open Unit '+UnitFilename;
if FileExists(UnitFilename) then
UnitFilename:=ShownFilename;
end;
OpenUnitMenuItem.Caption:='Open Unit '+ShownFilename;
OpenUnitMenuItem.Visible:=true;
OpenUnitMenuItem.Enabled:=FileExists(UnitFilename);
end;

View File

@ -804,6 +804,9 @@ type
procedure SaveEnvironment; override;
procedure LoadDesktopSettings(TheEnvironmentOptions: TEnvironmentOptions);
procedure SaveDesktopSettings(TheEnvironmentOptions: TEnvironmentOptions);
// makros
function SubstituteMakros(var s: string): boolean; override;
end;
@ -3157,6 +3160,11 @@ begin
end;
end;
function TMainIDE.SubstituteMakros(var s: string): boolean;
begin
Result:=MacroList.SubstituteStr(s);
end;
procedure TMainIDE.LoadDesktopSettings(
TheEnvironmentOptions: TEnvironmentOptions);
begin

View File

@ -123,6 +123,8 @@ type
function CreateNewUniqueFilename(const Prefix, Ext: string;
NewOwner: TObject; Flags: TSearchIDEFileFlags;
TryWithoutNumber: boolean): string; virtual; abstract;
function SubstituteMakros(var s: string): boolean; virtual; abstract;
public
property ActiveProject: TLazProject read GetActiveProject;

View File

@ -748,6 +748,9 @@ const
);
type
{ TDBCustomNavigator }
TDBCustomNavigator = class(TCustomPanel)
private
FBeforeAction: TDBNavClickEvent;
@ -762,6 +765,8 @@ type
FHints: TStrings;
FUpdateButtonsNeeded: boolean;
FUpdateButtonsLock: integer;
FOriginalHints: String;
procedure DefaultHintsChanged(Sender: TObject);
function GetDataSource: TDataSource;
function GetHints: TStrings;
procedure SetDataSource(const AValue: TDataSource);

View File

@ -53,6 +53,26 @@ end;
{ TDBCustomNavigator }
procedure TDBCustomNavigator.DefaultHintsChanged(Sender: TObject);
var
OldNotify: TNotifyEvent;
begin
if FDefaultHints.Text = FOriginalHints then
exit;
OldNotify := TStringList(FHints).OnChange;
TStringlist(FHints).OnChange := nil;
TStringList(FDefaultHints).OnChange := nil;
try
FHints.Assign(FDefaultHints);
FDefaultHints.Clear;
UpdateHints;
finally
TStringlist(FHints).OnChange := OldNotify;
end;
end;
function TDBCustomNavigator.GetDataSource: TDataSource;
begin
Result:=FDataLink.DataSource;
@ -282,8 +302,11 @@ var
i: Integer;
begin
if (FDefaultHints.Count=0) then begin
TStringList(FDefaultHints).OnChange:=nil;
for CurButton:=Low(Buttons) to High(Buttons) do
FDefaultHints.Add(GetDBNavButtonHint(CurButton));
FOriginalHints := FDefaultHints.Text;
TStringList(FDefaultHints).OnChange:=@DefaultHintsChanged;
end;
i:=0;
for CurButton:=Low(Buttons) to High(Buttons) do begin