Packager: improve menus of Package Editor.

git-svn-id: trunk@34962 -
This commit is contained in:
juha 2012-01-26 17:54:41 +00:00
parent 2fece37489
commit 886d3e9169
4 changed files with 54 additions and 42 deletions

View File

@ -4024,7 +4024,7 @@ resourcestring
lisPEMoveFileUp = 'Move file up'; lisPEMoveFileUp = 'Move file up';
lisPEMoveFileDown = 'Move file down'; lisPEMoveFileDown = 'Move file down';
lisPckEditReAddFile = 'Re-Add file'; lisPckEditReAddFile = 'Re-Add file';
lisPESortFiles = 'Sort Files'; lisPESortFiles = 'Sort Files Permanently';
lisPEFixFilesCase = 'Fix Files Case'; lisPEFixFilesCase = 'Fix Files Case';
lisPEShowMissingFiles = 'Show Missing Files'; lisPEShowMissingFiles = 'Show Missing Files';
lisPckEditRemoveDependency = 'Remove dependency'; lisPckEditRemoveDependency = 'Remove dependency';

View File

@ -424,15 +424,16 @@ var
// Package editor(s) // Package editor(s)
PackageEditorMenuRoot: TIDEMenuSection = nil; PackageEditorMenuRoot: TIDEMenuSection = nil;
PkgEditMenuSectionFile: TIDEMenuSection; // e.g. open file, remove file, move file up/down
PkgEditMenuSectionDirectory: TIDEMenuSection; // e.g. change all properties of all files in a directory and ub directories
PkgEditMenuSectionDependency: TIDEMenuSection; // e.g. open package, remove dependency
PkgEditMenuSectionFiles: TIDEMenuSection; // e.g. sort files, clean up files PkgEditMenuSectionFiles: TIDEMenuSection; // e.g. sort files, clean up files
PkgEditMenuSectionUse: TIDEMenuSection; // e.g. install, add to project PkgEditMenuSectionUse: TIDEMenuSection; // e.g. install, add to project
PkgEditMenuSectionSave: TIDEMenuSection; // e.g. save as, revert, publish PkgEditMenuSectionSave: TIDEMenuSection; // e.g. save as, revert, publish
PkgEditMenuSectionCompile: TIDEMenuSection; // e.g. build clean, create Makefile PkgEditMenuSectionCompile: TIDEMenuSection; // e.g. build clean, create Makefile
PkgEditMenuSectionAddRemove: TIDEMenuSection; // e.g. add unit, add dependency PkgEditMenuSectionAddRemove: TIDEMenuSection; // e.g. add unit, add dependency
PkgEditMenuSectionMisc: TIDEMenuSection; // e.g. options PkgEditMenuSectionMisc: TIDEMenuSection; // e.g. options
PackageEditorMenuFilesRoot: TIDEMenuSection = nil;
PkgEditMenuSectionFile: TIDEMenuSection; // e.g. open file, remove file, move file up/down
PkgEditMenuSectionDirectory: TIDEMenuSection; // e.g. change all properties of all files in a directory and ub directories moved ..
PkgEditMenuSectionDependency: TIDEMenuSection; // e.g. open package, remove dependency
function RegisterIDEMenuRoot(const Name: string; MenuItem: TMenuItem = nil function RegisterIDEMenuRoot(const Name: string; MenuItem: TMenuItem = nil
): TIDEMenuSection; ): TIDEMenuSection;

View File

@ -201,6 +201,7 @@ inherited PackageEditorForm: TPackageEditorForm
Align = alBottom Align = alBottom
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Top = 3 BorderSpacing.Top = 3
DefaultItemHeight = 16
PopupMenu = FilesPopupMenu PopupMenu = FilesPopupMenu
ReadOnly = True ReadOnly = True
RightClickSelect = True RightClickSelect = True

View File

@ -52,6 +52,7 @@ uses
const const
PackageEditorMenuRootName = 'PackageEditor'; PackageEditorMenuRootName = 'PackageEditor';
PackageEditorMenuFilesRootName = 'PackageEditorFiles';
PackageEditorWindowPrefix = 'PackageEditor_'; PackageEditorWindowPrefix = 'PackageEditor_';
var var
PkgEditMenuOpenFile: TIDEMenuCommand; PkgEditMenuOpenFile: TIDEMenuCommand;
@ -80,9 +81,9 @@ var
PkgEditMenuFixFilesCase: TIDEMenuCommand; PkgEditMenuFixFilesCase: TIDEMenuCommand;
PkgEditMenuShowMissingFiles: TIDEMenuCommand; PkgEditMenuShowMissingFiles: TIDEMenuCommand;
PkgEditMenuAddToProject: TIDEMenuCommand; //PkgEditMenuAddToProject: TIDEMenuCommand;
PkgEditMenuInstall: TIDEMenuCommand; //PkgEditMenuInstall: TIDEMenuCommand;
PkgEditMenuUninstall: TIDEMenuCommand; //PkgEditMenuUninstall: TIDEMenuCommand;
PkgEditMenuSave: TIDEMenuCommand; PkgEditMenuSave: TIDEMenuCommand;
PkgEditMenuSaveAs: TIDEMenuCommand; PkgEditMenuSaveAs: TIDEMenuCommand;
@ -94,10 +95,10 @@ var
PkgEditMenuRecompileAllRequired: TIDEMenuCommand; PkgEditMenuRecompileAllRequired: TIDEMenuCommand;
PkgEditMenuCreateMakefile: TIDEMenuCommand; PkgEditMenuCreateMakefile: TIDEMenuCommand;
PkgEditMenuAdd: TIDEMenuCommand; //PkgEditMenuAdd: TIDEMenuCommand;
PkgEditMenuRemove: TIDEMenuCommand; //PkgEditMenuRemove: TIDEMenuCommand;
PkgEditMenuGeneralOptions: TIDEMenuCommand; //PkgEditMenuGeneralOptions: TIDEMenuCommand;
PkgEditMenuViewPackageSource: TIDEMenuCommand; PkgEditMenuViewPackageSource: TIDEMenuCommand;
type type
@ -146,7 +147,6 @@ type
FilterEdit: TTreeFilterEdit; FilterEdit: TTreeFilterEdit;
ItemsPanel: TPanel; ItemsPanel: TPanel;
DummyButton: TSpeedButton; DummyButton: TSpeedButton;
MorePopupMenu: TPopupMenu;
SortAlphabeticallyButton: TSpeedButton; SortAlphabeticallyButton: TSpeedButton;
Splitter1: TSplitter; Splitter1: TSplitter;
// toolbar // toolbar
@ -180,6 +180,7 @@ type
// hidden components // hidden components
UsePopupMenu: TPopupMenu; UsePopupMenu: TPopupMenu;
FilesPopupMenu: TPopupMenu; FilesPopupMenu: TPopupMenu;
MorePopupMenu: TPopupMenu;
procedure AddBitBtnClick(Sender: TObject); procedure AddBitBtnClick(Sender: TObject);
procedure AddToProjectClick(Sender: TObject); procedure AddToProjectClick(Sender: TObject);
procedure AddToUsesPkgSectionCheckBoxChange(Sender: TObject); procedure AddToUsesPkgSectionCheckBoxChange(Sender: TObject);
@ -425,10 +426,11 @@ procedure RegisterStandardPackageEditorMenuItems;
var var
AParent: TIDEMenuSection; AParent: TIDEMenuSection;
begin begin
PackageEditorMenuRoot:=RegisterIDEMenuRoot(PackageEditorMenuRootName); PackageEditorMenuRoot :=RegisterIDEMenuRoot(PackageEditorMenuRootName);
PackageEditorMenuFilesRoot:=RegisterIDEMenuRoot(PackageEditorMenuFilesRootName);
// register the section for operations on single files // register the section for operations on single files
PkgEditMenuSectionFile:=RegisterIDEMenuSection(PackageEditorMenuRoot,'File'); PkgEditMenuSectionFile:=RegisterIDEMenuSection(PackageEditorMenuFilesRoot,'File');
AParent:=PkgEditMenuSectionFile; AParent:=PkgEditMenuSectionFile;
PkgEditMenuOpenFile:=RegisterIDEMenuCommand(AParent,'Open File',lisOpenFile); PkgEditMenuOpenFile:=RegisterIDEMenuCommand(AParent,'Open File',lisOpenFile);
PkgEditMenuRemoveFile:=RegisterIDEMenuCommand(AParent,'Remove File',lisPckEditRemoveFile); PkgEditMenuRemoveFile:=RegisterIDEMenuCommand(AParent,'Remove File',lisPckEditRemoveFile);
@ -439,7 +441,7 @@ begin
PkgEditMenuSectionFileType:=RegisterIDESubMenu(AParent,'File Type',lisAF2PFileType); PkgEditMenuSectionFileType:=RegisterIDESubMenu(AParent,'File Type',lisAF2PFileType);
// register the section for operations on directories // register the section for operations on directories
PkgEditMenuSectionDirectory:=RegisterIDEMenuSection(PackageEditorMenuRoot,'Directory'); PkgEditMenuSectionDirectory:=RegisterIDEMenuSection(PackageEditorMenuFilesRoot,'Directory');
AParent:=PkgEditMenuSectionDirectory; AParent:=PkgEditMenuSectionDirectory;
PkgEditMenuExpandDirectory:=RegisterIDEMenuCommand(AParent,'Expand directory',lisPEExpandDirectory); PkgEditMenuExpandDirectory:=RegisterIDEMenuCommand(AParent,'Expand directory',lisPEExpandDirectory);
PkgEditMenuCollapseDirectory:=RegisterIDEMenuCommand(AParent, 'Collapse directory', lisPECollapseDirectory); PkgEditMenuCollapseDirectory:=RegisterIDEMenuCommand(AParent, 'Collapse directory', lisPECollapseDirectory);
@ -447,7 +449,7 @@ begin
PkgEditMenuUseNoUnitsInDirectory:=RegisterIDEMenuCommand(AParent, 'Use no units in directory', lisPEUseNoUnitsInDirectory); PkgEditMenuUseNoUnitsInDirectory:=RegisterIDEMenuCommand(AParent, 'Use no units in directory', lisPEUseNoUnitsInDirectory);
// register the section for operations on single dependencies // register the section for operations on single dependencies
PkgEditMenuSectionDependency:=RegisterIDEMenuSection(PackageEditorMenuRoot,'Dependency'); PkgEditMenuSectionDependency:=RegisterIDEMenuSection(PackageEditorMenuFilesRoot,'Dependency');
AParent:=PkgEditMenuSectionDependency; AParent:=PkgEditMenuSectionDependency;
PkgEditMenuOpenPackage:=RegisterIDEMenuCommand(AParent,'Open Package',lisMenuOpenPackage); PkgEditMenuOpenPackage:=RegisterIDEMenuCommand(AParent,'Open Package',lisMenuOpenPackage);
PkgEditMenuRemoveDependency:=RegisterIDEMenuCommand(AParent,'Remove Dependency',lisPckEditRemoveDependency); PkgEditMenuRemoveDependency:=RegisterIDEMenuCommand(AParent,'Remove Dependency',lisPckEditRemoveDependency);
@ -461,16 +463,17 @@ begin
// register the section for operations on all files // register the section for operations on all files
PkgEditMenuSectionFiles:=RegisterIDEMenuSection(PackageEditorMenuRoot,'Files'); PkgEditMenuSectionFiles:=RegisterIDEMenuSection(PackageEditorMenuRoot,'Files');
AParent:=PkgEditMenuSectionFiles; AParent:=PkgEditMenuSectionFiles;
PkgEditMenuSortFiles:=RegisterIDEMenuCommand(AParent,'Sort Files',lisPESortFiles); PkgEditMenuSortFiles:=RegisterIDEMenuCommand(AParent,'Sort Files Permanently',lisPESortFiles);
PkgEditMenuFixFilesCase:=RegisterIDEMenuCommand(AParent,'Fix Files Case',lisPEFixFilesCase); PkgEditMenuFixFilesCase:=RegisterIDEMenuCommand(AParent,'Fix Files Case',lisPEFixFilesCase);
PkgEditMenuShowMissingFiles:=RegisterIDEMenuCommand(AParent, 'Show Missing Files', lisPEShowMissingFiles); PkgEditMenuShowMissingFiles:=RegisterIDEMenuCommand(AParent, 'Show Missing Files', lisPEShowMissingFiles);
// register the section for using the package // register the section for using the package
PkgEditMenuSectionUse:=RegisterIDEMenuSection(PackageEditorMenuRoot,'Use'); PkgEditMenuSectionUse:=RegisterIDEMenuSection(PackageEditorMenuRoot,'Use');
AParent:=PkgEditMenuSectionUse; // already provided by toolbutton
PkgEditMenuAddToProject:=RegisterIDEMenuCommand(AParent,'Add To Project',lisPckEditAddToProject); //AParent:=PkgEditMenuSectionUse;
PkgEditMenuInstall:=RegisterIDEMenuCommand(AParent,'Install',lisPckEditInstall); //PkgEditMenuAddToProject:=RegisterIDEMenuCommand(AParent,'Add To Project',lisPckEditAddToProject);
PkgEditMenuUninstall:=RegisterIDEMenuCommand(AParent,'Uninstall',lisPckEditUninstall); //PkgEditMenuInstall:=RegisterIDEMenuCommand(AParent,'Install',lisPckEditInstall);
//PkgEditMenuUninstall:=RegisterIDEMenuCommand(AParent,'Uninstall',lisPckEditUninstall);
// register the section for saving the package // register the section for saving the package
PkgEditMenuSectionSave:=RegisterIDEMenuSection(PackageEditorMenuRoot,'Save'); PkgEditMenuSectionSave:=RegisterIDEMenuSection(PackageEditorMenuRoot,'Save');
@ -490,14 +493,16 @@ begin
// register the section for adding to or removing from package // register the section for adding to or removing from package
PkgEditMenuSectionAddRemove:=RegisterIDEMenuSection(PackageEditorMenuRoot,'AddRemove'); PkgEditMenuSectionAddRemove:=RegisterIDEMenuSection(PackageEditorMenuRoot,'AddRemove');
AParent:=PkgEditMenuSectionCompile; // already provided by toolbutton
PkgEditMenuAdd:=RegisterIDEMenuCommand(AParent,'Add',lisCodeTemplAdd); //AParent:=PkgEditMenuSectionCompile;
PkgEditMenuRemove:=RegisterIDEMenuCommand(AParent,'Remove',lisExtToolRemove); //PkgEditMenuAdd:=RegisterIDEMenuCommand(AParent,'Add',lisCodeTemplAdd);
//PkgEditMenuRemove:=RegisterIDEMenuCommand(AParent,'Remove',lisExtToolRemove);
// register the section for other things // register the section for other things
PkgEditMenuSectionMisc:=RegisterIDEMenuSection(PackageEditorMenuRoot,'Misc'); PkgEditMenuSectionMisc:=RegisterIDEMenuSection(PackageEditorMenuRoot,'Misc');
AParent:=PkgEditMenuSectionMisc; AParent:=PkgEditMenuSectionMisc;
PkgEditMenuGeneralOptions:=RegisterIDEMenuCommand(AParent,'General Options',lisPckEditGeneralOptions); // already provided by toolbutton
// PkgEditMenuGeneralOptions:=RegisterIDEMenuCommand(AParent,'General Options',lisPckEditGeneralOptions);
PkgEditMenuViewPackageSource:=RegisterIDEMenuCommand(AParent,'View Package Source',lisPckEditViewPackageSource); PkgEditMenuViewPackageSource:=RegisterIDEMenuCommand(AParent,'View Package Source',lisPckEditViewPackageSource);
end; end;
@ -599,7 +604,7 @@ var
begin begin
//debugln(['TPackageEditorForm.FilesPopupMenuPopup START ',FilesPopupMenu.Items.Count]); //debugln(['TPackageEditorForm.FilesPopupMenuPopup START ',FilesPopupMenu.Items.Count]);
PackageEditorMenuRoot.MenuItem:=FilesPopupMenu.Items; PackageEditorMenuFilesRoot.MenuItem:=FilesPopupMenu.Items;
//debugln(['TPackageEditorForm.FilesPopupMenuPopup START after connect ',FilesPopupMenu.Items.Count]); //debugln(['TPackageEditorForm.FilesPopupMenuPopup START after connect ',FilesPopupMenu.Items.Count]);
PackageEditorMenuRoot.BeginUpdate; PackageEditorMenuRoot.BeginUpdate;
try try
@ -614,7 +619,7 @@ begin
PkgEditMenuSectionFileType.Clear; PkgEditMenuSectionFileType.Clear;
// items for single files // items for single files, under section PkgEditMenuSectionFile
PkgEditMenuSectionFile.Visible:=CurFile<>nil; PkgEditMenuSectionFile.Visible:=CurFile<>nil;
if (CurFile<>nil) then begin if (CurFile<>nil) then begin
FileIndex:=LazPackage.IndexOfPkgFile(CurFile); FileIndex:=LazPackage.IndexOfPkgFile(CurFile);
@ -622,17 +627,17 @@ begin
SetItem(PkgEditMenuReAddFile,@ReAddMenuItemClick,Removed); SetItem(PkgEditMenuReAddFile,@ReAddMenuItemClick,Removed);
SetItem(PkgEditMenuRemoveFile,@RemoveBitBtnClick,not Removed,RemoveBitBtn.Enabled); SetItem(PkgEditMenuRemoveFile,@RemoveBitBtnClick,not Removed,RemoveBitBtn.Enabled);
SetItem(PkgEditMenuMoveFileUp,@MoveFileUpMenuItemClick,not Removed, SetItem(PkgEditMenuMoveFileUp,@MoveFileUpMenuItemClick,not Removed,
(FileIndex>0) and Writable and (not SortAlphabetically)); (FileIndex>0) and Writable and (not SortAlphabetically));
SetItem(PkgEditMenuMoveFileDown,@MoveFileDownMenuItemClick, SetItem(PkgEditMenuMoveFileDown,@MoveFileDownMenuItemClick,
not Removed, not Removed,
(FileIndex<LazPackage.FileCount-1) and Writable and (not SortAlphabetically)); (FileIndex<LazPackage.FileCount-1) and Writable and (not SortAlphabetically));
PkgEditMenuSectionFileType.Visible:=true; PkgEditMenuSectionFileType.Visible:=true;
AddFileTypeMenuItem; AddFileTypeMenuItem;
SetItem(PkgEditMenuEditVirtualUnit,@EditVirtualUnitMenuItemClick, SetItem(PkgEditMenuEditVirtualUnit,@EditVirtualUnitMenuItemClick,
(CurFile.FileType=pftVirtualUnit) and not Removed,Writable); (CurFile.FileType=pftVirtualUnit) and not Removed,Writable);
end; end;
// items for directories // items for directories, under section PkgEditMenuSectionDirectory
PkgEditMenuSectionDirectory.Visible:=IsDir and ShowDirectoryHierarchy; PkgEditMenuSectionDirectory.Visible:=IsDir and ShowDirectoryHierarchy;
if IsDir and ShowDirectoryHierarchy then begin if IsDir and ShowDirectoryHierarchy then begin
SetItem(PkgEditMenuExpandDirectory,@ExpandDirectoryMenuItemClick); SetItem(PkgEditMenuExpandDirectory,@ExpandDirectoryMenuItemClick);
@ -641,11 +646,7 @@ begin
SetItem(PkgEditMenuUseNoUnitsInDirectory,@UseNoUnitsInDirectoryMenuItemClick); SetItem(PkgEditMenuUseNoUnitsInDirectory,@UseNoUnitsInDirectoryMenuItemClick);
end; end;
// items for all files // items for dependencies, under section PkgEditMenuSectionDependency
SetItem(PkgEditMenuSortFiles,@SortFilesMenuItemClick,(LazPackage.FileCount>1),Writable);
SetItem(PkgEditMenuFixFilesCase,@FixFilesCaseMenuItemClick,(LazPackage.FileCount>1),Writable);
SetItem(PkgEditMenuShowMissingFiles,@ShowMissingFilesMenuItemClick,(LazPackage.FileCount>1),Writable);
if CurDependency<>nil then begin if CurDependency<>nil then begin
PkgEditMenuSectionDependency.Visible:=true; PkgEditMenuSectionDependency.Visible:=true;
SetItem(PkgEditMenuOpenPackage,@OpenFileMenuItemClick,CurDependency.RequiredPackage<>nil); SetItem(PkgEditMenuOpenPackage,@OpenFileMenuItemClick,CurDependency.RequiredPackage<>nil);
@ -695,17 +696,19 @@ begin
PkgEditMenuSectionFileType.Clear; PkgEditMenuSectionFileType.Clear;
// items for all files // under section PkgEditMenuSectionFiles
SetItem(PkgEditMenuSortFiles,@SortFilesMenuItemClick,(LazPackage.FileCount>1),Writable); SetItem(PkgEditMenuSortFiles,@SortFilesMenuItemClick,(LazPackage.FileCount>1),Writable);
SetItem(PkgEditMenuFixFilesCase,@FixFilesCaseMenuItemClick,(LazPackage.FileCount>1),Writable); SetItem(PkgEditMenuFixFilesCase,@FixFilesCaseMenuItemClick,(LazPackage.FileCount>1),Writable);
SetItem(PkgEditMenuShowMissingFiles,@ShowMissingFilesMenuItemClick,(LazPackage.FileCount>1),Writable); SetItem(PkgEditMenuShowMissingFiles,@ShowMissingFilesMenuItemClick,(LazPackage.FileCount>1),Writable);
SetItem(PkgEditMenuAddToProject,@AddToProjectClick,true,CanBeAddedToProject); // under section PkgEditMenuSectionUse
SetItem(PkgEditMenuInstall,@InstallClick,true,(not LazPackage.AutoCreated) //SetItem(PkgEditMenuAddToProject,@AddToProjectClick,true,CanBeAddedToProject);
and (LazPackage.PackageType in [lptDesignTime,lptRunAndDesignTime])); //SetItem(PkgEditMenuInstall,@InstallClick,true,(not LazPackage.AutoCreated)
SetItem(PkgEditMenuUninstall,@UninstallClick,true, // and (LazPackage.PackageType in [lptDesignTime,lptRunAndDesignTime]));
(LazPackage.Installed<>pitNope) or (LazPackage.AutoInstall<>pitNope)); //SetItem(PkgEditMenuUninstall,@UninstallClick,true,
// (LazPackage.Installed<>pitNope) or (LazPackage.AutoInstall<>pitNope));
// under section PkgEditMenuSectionSave
SetItem(PkgEditMenuSave,@SaveBitBtnClick,true,SaveBitBtn.Enabled); SetItem(PkgEditMenuSave,@SaveBitBtnClick,true,SaveBitBtn.Enabled);
SetItem(PkgEditMenuSaveAs,@SaveAsClick,true,not LazPackage.AutoCreated); SetItem(PkgEditMenuSaveAs,@SaveAsClick,true,not LazPackage.AutoCreated);
SetItem(PkgEditMenuRevert,@RevertClick,true, SetItem(PkgEditMenuRevert,@RevertClick,true,
@ -713,11 +716,18 @@ begin
SetItem(PkgEditMenuPublish,@PublishClick,true, SetItem(PkgEditMenuPublish,@PublishClick,true,
(not LazPackage.AutoCreated) and LazPackage.HasDirectory); (not LazPackage.AutoCreated) and LazPackage.HasDirectory);
// under section PkgEditMenuSectionCompile
SetItem(PkgEditMenuCompile,@CompileBitBtnClick,true,CompileBitBtn.Enabled); SetItem(PkgEditMenuCompile,@CompileBitBtnClick,true,CompileBitBtn.Enabled);
SetItem(PkgEditMenuRecompileClean,@CompileCleanClick,true,CompileBitBtn.Enabled); SetItem(PkgEditMenuRecompileClean,@CompileCleanClick,true,CompileBitBtn.Enabled);
SetItem(PkgEditMenuRecompileAllRequired,@CompileAllCleanClick,true,CompileBitBtn.Enabled); SetItem(PkgEditMenuRecompileAllRequired,@CompileAllCleanClick,true,CompileBitBtn.Enabled);
SetItem(PkgEditMenuCreateMakefile,@CreateMakefileClick,true,CompileBitBtn.Enabled); SetItem(PkgEditMenuCreateMakefile,@CreateMakefileClick,true,CompileBitBtn.Enabled);
// under section PkgEditMenuSectionAddRemove
//SetItem(PkgEditMenuAdd,@AddBitBtnClick,true,AddBitBtn.Enabled);
//SetItem(PkgEditMenuRemove,@RemoveBitBtnClick,true,RemoveBitBtn.Enabled);
// under section PkgEditMenuSectionMisc
//SetItem(PkgEditMenuGeneralOptions,@OptionsBitBtnClick,true,OptionsBitBtn.Enabled);
SetItem(PkgEditMenuViewPackageSource,@ViewPkgSourceClick); SetItem(PkgEditMenuViewPackageSource,@ViewPkgSourceClick);
finally finally
PackageEditorMenuRoot.EndUpdate; PackageEditorMenuRoot.EndUpdate;