mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-18 08:19:29 +02:00
IDE: Move method OpenFilePopupMenuPopup from MainIDE to MainIDEBar.
git-svn-id: trunk@49493 -
This commit is contained in:
parent
ce0d1dead7
commit
7edc951749
56
ide/main.pp
56
ide/main.pp
@ -385,7 +385,6 @@ type
|
|||||||
procedure mnuPackageClicked(Sender: TObject); // package menu
|
procedure mnuPackageClicked(Sender: TObject); // package menu
|
||||||
// see pkgmanager.pas
|
// see pkgmanager.pas
|
||||||
|
|
||||||
procedure OpenFilePopupMenuPopup(Sender: TObject);
|
|
||||||
procedure mnuOpenFilePopupClick(Sender: TObject);
|
procedure mnuOpenFilePopupClick(Sender: TObject);
|
||||||
procedure SetBuildModePopupMenuPopup(Sender: TObject);
|
procedure SetBuildModePopupMenuPopup(Sender: TObject);
|
||||||
procedure mnuChgBuildModeClicked(Sender: TObject);
|
procedure mnuChgBuildModeClicked(Sender: TObject);
|
||||||
@ -1469,8 +1468,8 @@ begin
|
|||||||
SetupStandardIDEMenuItems;
|
SetupStandardIDEMenuItems;
|
||||||
SetupMainMenu;
|
SetupMainMenu;
|
||||||
MainIDEBar.Setup(OwningComponent);
|
MainIDEBar.Setup(OwningComponent);
|
||||||
|
MainIDEBar.OpenFilePopupHandler := @mnuOpenFilePopupClick;
|
||||||
MainIDEBar.OptionsMenuItem.OnClick := @ToolBarOptionsClick;
|
MainIDEBar.OptionsMenuItem.OnClick := @ToolBarOptionsClick;
|
||||||
MainIDEBar.OpenFilePopupMenu.OnPopup := @OpenFilePopupMenuPopup;
|
|
||||||
MainIDEBar.SetBuildModePopupMenu.OnPopup := @SetBuildModePopupMenuPopup;
|
MainIDEBar.SetBuildModePopupMenu.OnPopup := @SetBuildModePopupMenuPopup;
|
||||||
ConnectMainBarEvents;
|
ConnectMainBarEvents;
|
||||||
finally
|
finally
|
||||||
@ -2691,9 +2690,7 @@ end;
|
|||||||
procedure TMainIDE.SetupWindowsMenu;
|
procedure TMainIDE.SetupWindowsMenu;
|
||||||
begin
|
begin
|
||||||
inherited SetupWindowsMenu;
|
inherited SetupWindowsMenu;
|
||||||
with MainIDEBar do begin
|
MainIDEBar.itmWindowManager.OnClick := @mnuWindowManagerClicked;
|
||||||
itmWindowManager.OnClick := @mnuWindowManagerClicked;
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMainIDE.SetupHelpMenu;
|
procedure TMainIDE.SetupHelpMenu;
|
||||||
@ -3333,55 +3330,6 @@ end;
|
|||||||
|
|
||||||
{------------------------------------------------------------------------------}
|
{------------------------------------------------------------------------------}
|
||||||
|
|
||||||
procedure TMainIDE.OpenFilePopupMenuPopup(Sender: TObject);
|
|
||||||
var
|
|
||||||
CurIndex: integer;
|
|
||||||
OpenMenuItem: TPopupMenu;
|
|
||||||
|
|
||||||
procedure AddFile(const Filename: string);
|
|
||||||
var
|
|
||||||
AMenuItem: TMenuItem;
|
|
||||||
begin
|
|
||||||
if MainIDEBar.OpenFilePopupMenu.Items.Count > CurIndex then
|
|
||||||
AMenuItem := MainIDEBar.OpenFilePopupMenu.Items[CurIndex]
|
|
||||||
else
|
|
||||||
begin
|
|
||||||
AMenuItem := TMenuItem.Create(OwningComponent);
|
|
||||||
AMenuItem.Name := MainIDEBar.OpenFilePopupMenu.Name + 'Recent' + IntToStr(CurIndex);
|
|
||||||
AMenuItem.OnClick := @mnuOpenFilePopupClick;
|
|
||||||
MainIDEBar.OpenFilePopupMenu.Items.Add(AMenuItem);
|
|
||||||
end;
|
|
||||||
AMenuItem.Caption := Filename;
|
|
||||||
inc(CurIndex);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure AddFiles(List: TStringList; MaxCount: integer);
|
|
||||||
var
|
|
||||||
i: integer;
|
|
||||||
begin
|
|
||||||
i := 0;
|
|
||||||
while (i < List.Count) and (i < MaxCount) do
|
|
||||||
begin
|
|
||||||
AddFile(List[i]);
|
|
||||||
inc(i);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
begin
|
|
||||||
// fill the PopupMenu:
|
|
||||||
CurIndex := 0;
|
|
||||||
// first add 8 recent projects
|
|
||||||
AddFiles(EnvironmentOptions.RecentProjectFiles, 8);
|
|
||||||
// add a separator
|
|
||||||
AddFile('-');
|
|
||||||
// add 12 recent files
|
|
||||||
AddFiles(EnvironmentOptions.RecentOpenFiles, 12);
|
|
||||||
OpenMenuItem := MainIDEBar.OpenFilePopupMenu;
|
|
||||||
// remove unused menuitems
|
|
||||||
while OpenMenuItem.Items.Count > CurIndex do
|
|
||||||
OpenMenuItem.Items[OpenMenuItem.Items.Count - 1].Free;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TMainIDE.mnuOpenFilePopupClick(Sender: TObject);
|
procedure TMainIDE.mnuOpenFilePopupClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
TheMenuItem: TMenuItem;
|
TheMenuItem: TMenuItem;
|
||||||
|
@ -50,8 +50,10 @@ type
|
|||||||
TMainIDEBar = class(TForm)
|
TMainIDEBar = class(TForm)
|
||||||
private
|
private
|
||||||
OptionsPopupMenu: TPopupMenu;
|
OptionsPopupMenu: TPopupMenu;
|
||||||
|
FMainOwningComponent: TComponent;
|
||||||
FOldWindowState: TWindowState;
|
FOldWindowState: TWindowState;
|
||||||
FOnActive: TNotifyEvent;
|
FOnActive: TNotifyEvent;
|
||||||
|
FOpenFilePopupHandler: TNotifyEvent;
|
||||||
procedure CreatePopupMenus(TheOwner: TComponent);
|
procedure CreatePopupMenus(TheOwner: TComponent);
|
||||||
procedure NewUnitFormDefaultClick(Sender: TObject);
|
procedure NewUnitFormDefaultClick(Sender: TObject);
|
||||||
procedure NewUnitFormPopupMenuPopup(Sender: TObject);
|
procedure NewUnitFormPopupMenuPopup(Sender: TObject);
|
||||||
@ -381,12 +383,14 @@ type
|
|||||||
procedure MainSplitterMoved(Sender: TObject);
|
procedure MainSplitterMoved(Sender: TObject);
|
||||||
procedure SetMainIDEHeightEvent(Sender: TObject);
|
procedure SetMainIDEHeightEvent(Sender: TObject);
|
||||||
procedure OnMainBarActive(Sender: TObject);
|
procedure OnMainBarActive(Sender: TObject);
|
||||||
|
procedure OpenFilePopupMenuPopup(Sender: TObject);
|
||||||
procedure Setup(TheOwner: TComponent);
|
procedure Setup(TheOwner: TComponent);
|
||||||
procedure SetupHints;
|
procedure SetupHints;
|
||||||
procedure UpdateIDEComponentPalette(IfFormChanged: boolean);
|
procedure UpdateIDEComponentPalette(IfFormChanged: boolean);
|
||||||
procedure HideIDE;
|
procedure HideIDE;
|
||||||
procedure UnhideIDE;
|
procedure UnhideIDE;
|
||||||
property OnActive: TNotifyEvent read FOnActive write FOnActive;
|
property OnActive: TNotifyEvent read FOnActive write FOnActive;
|
||||||
|
property OpenFilePopupHandler: TNotifyEvent read FOpenFilePopupHandler write FOpenFilePopupHandler;
|
||||||
procedure UpdateDockCaption({%H-}Exclude: TControl); override;
|
procedure UpdateDockCaption({%H-}Exclude: TControl); override;
|
||||||
procedure RefreshCoolbar;
|
procedure RefreshCoolbar;
|
||||||
procedure SetMainIDEHeight;
|
procedure SetMainIDEHeight;
|
||||||
@ -608,6 +612,57 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TMainIDEBar.OpenFilePopupMenuPopup(Sender: TObject);
|
||||||
|
var
|
||||||
|
CurIndex: integer;
|
||||||
|
OpenMenuItem: TPopupMenu;
|
||||||
|
|
||||||
|
procedure AddFile(const Filename: string);
|
||||||
|
var
|
||||||
|
AMenuItem: TMenuItem;
|
||||||
|
begin
|
||||||
|
if OpenFilePopupMenu.Items.Count > CurIndex then
|
||||||
|
AMenuItem := OpenFilePopupMenu.Items[CurIndex]
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Assert(Assigned(FMainOwningComponent));
|
||||||
|
AMenuItem := TMenuItem.Create(FMainOwningComponent);
|
||||||
|
AMenuItem.Name := OpenFilePopupMenu.Name + 'Recent' + IntToStr(CurIndex);
|
||||||
|
Assert(Assigned(OpenFilePopupHandler));
|
||||||
|
AMenuItem.OnClick := OpenFilePopupHandler; // mnuOpenFilePopupClick;
|
||||||
|
OpenFilePopupMenu.Items.Add(AMenuItem);
|
||||||
|
end;
|
||||||
|
AMenuItem.Caption := Filename;
|
||||||
|
inc(CurIndex);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure AddFiles(List: TStringList; MaxCount: integer);
|
||||||
|
var
|
||||||
|
i: integer;
|
||||||
|
begin
|
||||||
|
i := 0;
|
||||||
|
while (i < List.Count) and (i < MaxCount) do
|
||||||
|
begin
|
||||||
|
AddFile(List[i]);
|
||||||
|
inc(i);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
// fill the PopupMenu:
|
||||||
|
CurIndex := 0;
|
||||||
|
// first add 8 recent projects
|
||||||
|
AddFiles(EnvironmentOptions.RecentProjectFiles, 8);
|
||||||
|
// add a separator
|
||||||
|
AddFile('-');
|
||||||
|
// add 12 recent files
|
||||||
|
AddFiles(EnvironmentOptions.RecentOpenFiles, 12);
|
||||||
|
OpenMenuItem := OpenFilePopupMenu;
|
||||||
|
// remove unused menuitems
|
||||||
|
while OpenMenuItem.Items.Count > CurIndex do
|
||||||
|
OpenMenuItem.Items[OpenMenuItem.Items.Count - 1].Free;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TMainIDEBar.WndProc(var Message: TLMessage);
|
procedure TMainIDEBar.WndProc(var Message: TLMessage);
|
||||||
begin
|
begin
|
||||||
inherited WndProc(Message);
|
inherited WndProc(Message);
|
||||||
@ -675,6 +730,7 @@ end;
|
|||||||
|
|
||||||
procedure TMainIDEBar.Setup(TheOwner: TComponent);
|
procedure TMainIDEBar.Setup(TheOwner: TComponent);
|
||||||
begin
|
begin
|
||||||
|
FMainOwningComponent := TheOwner;
|
||||||
OnActive:=@OnMainBarActive;
|
OnActive:=@OnMainBarActive;
|
||||||
|
|
||||||
MainSplitter := TSplitter.Create(TheOwner);
|
MainSplitter := TSplitter.Create(TheOwner);
|
||||||
@ -700,12 +756,13 @@ begin
|
|||||||
CoolBar.OnChange := @CoolBarOnChange;
|
CoolBar.OnChange := @CoolBarOnChange;
|
||||||
CreatePopupMenus(TheOwner);
|
CreatePopupMenus(TheOwner);
|
||||||
CoolBar.PopupMenu := OptionsPopupMenu;
|
CoolBar.PopupMenu := OptionsPopupMenu;
|
||||||
|
OpenFilePopupMenu.OnPopup := @OpenFilePopupMenuPopup;
|
||||||
|
|
||||||
// Component palette
|
// Component palette
|
||||||
ComponentPageControl := TPageControl.Create(TheOwner);
|
ComponentPageControl := TPageControl.Create(TheOwner);
|
||||||
ComponentPageControl.Name := 'ComponentPageControl';
|
ComponentPageControl.Name := 'ComponentPageControl';
|
||||||
ComponentPageControl.Align := alClient;
|
ComponentPageControl.Align := alClient;
|
||||||
ComponentPageControl.Visible:=EnvironmentOptions.Desktop.ComponentPaletteOptions.Visible;
|
ComponentPageControl.Visible := EnvironmentOptions.Desktop.ComponentPaletteOptions.Visible;
|
||||||
ComponentPageControl.Parent := Self;
|
ComponentPageControl.Parent := Self;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user