From d24d8ac07fe004e8cb049c82766d25993a2a3dc1 Mon Sep 17 00:00:00 2001 From: paul Date: Mon, 8 Jun 2009 04:38:07 +0000 Subject: [PATCH] packager: use ToolBar for buttons in the package editor git-svn-id: trunk@20505 - --- .gitattributes | 1 + images/laz_images.lrs | 28 ++++ images/laz_images_list.txt | 1 + images/packages/pkg_install.png | Bin 0 -> 634 bytes packager/packageeditor.pas | 218 ++++++++++---------------------- 5 files changed, 94 insertions(+), 154 deletions(-) create mode 100644 images/packages/pkg_install.png diff --git a/.gitattributes b/.gitattributes index a07746dd10..2020aeb3b1 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3545,6 +3545,7 @@ images/packages/pkg_files.png -text svneol=unset#image/png images/packages/pkg_graph.png -text svneol=unset#image/png images/packages/pkg_include.png -text svneol=unset#image/png images/packages/pkg_inherited.png -text svneol=unset#image/png +images/packages/pkg_install.png -text svneol=unset#image/png images/packages/pkg_installed.png -text svneol=unset#image/png images/packages/pkg_issues.png -text svneol=unset#image/png images/packages/pkg_lfm.png -text svneol=unset#image/png diff --git a/images/laz_images.lrs b/images/laz_images.lrs index a9876f083a..40f619befa 100644 --- a/images/laz_images.lrs +++ b/images/laz_images.lrs @@ -9727,6 +9727,34 @@ LazarusResources.Add('pkg_inherited','PNG',[ +'.L|'#152#159'N'#254#160#248'#'#29#239#255#198'E'#155#29#189#195#193'c?/'#5#7 +#6#6#148'ry'#175#1'E'#135'Y'#19'+'#152''#24#0#0#0#0'IEND'#174'B`'#130 ]); +LazarusResources.Add('pkg_install','PNG',[ + #137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#16#0#0#0#16#8#6#0#0#0#31#243#255'a' + +#0#0#0#4'gAMA'#0#0#175#200'7'#5#138#233#0#0#0#25'tEXtSoftware'#0'Adobe Image' + +'Readyq'#201'e<'#0#0#2#12'IDAT8'#203#165'SKk'#19'Q'#20#254#146'Nf'#138'tZ' + +#171#129#130#150#148'b'#210#130#136#138#11#11#10'VqQ'#180#27#21'Q$'#205#202 + +'?'#224#198#254#1#151#174#252#3'"'#130#160'+'#165#130'k]'#249'n'#235#162'h3)' + +'>'#16'1mF'#251#152'L'#166's'#231#158#235#153#155#166'Mk'#10#21#7#14#231#222 + +#153#249#190#243#248#206'I('#165#240'?'#143#209'|q'#167#206#220'W'#164#10'1' + +#169'"'#2#136#189#172#159#181'5'#206#146#190#245#142'L'#246#253'E'#192#224'|' + +'W>'#246#128#140''#148#27#22'I'#248#149#183#8#150#28#175#1#222'DPy'#250 + +#150'i'#231#146#224#192#194'}'#12'%"'#144#16'P'#161'@*}'#9#193#226#199#24',' + +#25'l7'#7'MnD'#167#241#246#221'G '#253'O:'#154#18'uK'#165'/ '#244#190#163#182 + +#232#128'$'#13'n'#237#129'&Xxs'#234'rjW'#198'D'#194#132#172#206'h'#2#146#17 + +#218':'#142'q'#22'U'#142'^'#132'\]'#30#205#156#159#158'kI'#192#209#239'q'#250 + +#12#172#178'Ek5GHZ'#25#212'~'#207#198#25#220#204#140'N?k'#165'B'#162#252#242 + +#228'P'#155#153'~e'#247#158'CX'#153#0'q'#205#138'k'#167' '#128#217's'#17#174 + +#243'@q'#215#195#134#2#164#155#171'm)7V'#234'1'#248#195#132'i'#15#240#11#1 + +#163's'#132'}'#164'K'#0#11#161'"Bw'#223#149#132#138#132'UW'#131#224'-LrV'#142 + +'OB'#158#208'*0'#171#229#253'x'#177#218#164#177#246#221#253'W'#173#224#243'#' + +'n'#203'~'#164#246#28#135#239#206#196'@'#200#176'v7W(]_/'#161#213'$~}z'#248 + +'y'#231#190#179#195#134#185#151#179#16'X'#249#249#142#193#197'e&'#31#200#21 + +#230#202#219'N'#226#186#164#146#134#13'+'#141#234#252#7#212#220'Y'#142#234 + +#223#201#230#157#27'-'#155#184'5'#131'/O'#14'M'#181#219#217#163#138'x'#242 + +#220#226'/&;'#200#224#242'v'#187#176#137#128#193#29'P'#201#149#184#15'R'#132 + +#183#179#215#138#227#255#180'L'#12'|'#205#3'4'#207#254#0#131#189#29#173#163 + +#222#188'5+='#28#28'j'#190#239#196#254#0'BJ'#140'd'#231't'#147'%'#0#0#0#0'IE' + +'ND'#174'B`'#130 +]); LazarusResources.Add('pkg_installed','PNG',[ #137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#16#0#0#0#16#8#6#0#0#0#31#243#255'a' +#0#0#3'-IDATx^m'#147'_lSU'#28#199#191#189'k'#187'2'#215'm'#204'8M7'#209'd' diff --git a/images/laz_images_list.txt b/images/laz_images_list.txt index f195bd728f..2418cd19c6 100644 --- a/images/laz_images_list.txt +++ b/images/laz_images_list.txt @@ -183,6 +183,7 @@ debugger/debugger_watches.png packages/pkg_add.png packages/pkg_graph.png packages/pkg_inherited.png +packages/pkg_install.png packages/pkg_installed.png packages/pkg_open.png packages/pkg_properties.png diff --git a/images/packages/pkg_install.png b/images/packages/pkg_install.png new file mode 100644 index 0000000000000000000000000000000000000000..9680afd12f8fadf5b83f827240978446af5962b6 GIT binary patch literal 634 zcmV-=0)_pFP)3kp_oQM4NsQ6$aEKj6mx0hg})10sT;E2V;K zUHNY7qG&TIJ`gc&M*EmdrgP_>>zSLTO=}7j2M*`nnfbo+_|8cvrSLzG(R^{I&fHg| z3Nfi70*Jk=pS3m4lD_qhO!oanz~FpWe?InrjDM6H7D@P(w+NOTuL0gfPQ>)8EiKPO>RV|@%G(EApK7|ni6$Or7s}#zN5D2fFuoW z?SUp(cysDe%D^FVRe!-fK+o2zXp zH&*H~_``&05AX{CqjQ9Pq)Pw`p&~+e-<5=lgjH9A;4MsYR*p|Xp3o{VtL6Q8vD&1u z_TBwgt>E(`Zp(h8_8f=r&cr~-uy!|BC|zGKq17aQeR}wL=f1PUhPjus5Lo&7j={xc zCLhQZ=E~bn;<}`gh7Bu?>ih@P+*yw5-^u2k8!el-HG?lt4o$V&*`tbh^4#JtCOgRB z@^-thiGaZ!P|20J4^o7;v)78_|FldDe9Z$i&;9^|y&bKi-n=y{JsccrzVF2T076QP UWao5~B>(^b07*qoM6N<$g7%3ha{vGU literal 0 HcmV?d00001 diff --git a/packager/packageeditor.pas b/packager/packageeditor.pas index 2999129087..39f291b7df 100644 --- a/packager/packageeditor.pas +++ b/packager/packageeditor.pas @@ -102,16 +102,18 @@ type { TPackageEditorForm } TPackageEditorForm = class(TBasePackageEditor) + // toolbar + ToolBar: TToolBar; // buttons - SaveBitBtn: TBitBtn; - CompileBitBtn: TBitBtn; - AddBitBtn: TBitBtn; - RemoveBitBtn: TBitBtn; - InstallBitBtn: TBitBtn; - OptionsBitBtn: TBitBtn; - CompilerOptionsBitBtn: TBitBtn; - MoreBitBtn: TBitBtn; - HelpBitBtn: TBitBtn; + SaveBitBtn: TToolButton; + CompileBitBtn: TToolButton; + AddBitBtn: TToolButton; + RemoveBitBtn: TToolButton; + InstallBitBtn: TToolButton; + OptionsBitBtn: TToolButton; + CompilerOptionsBitBtn: TToolButton; + MoreBitBtn: TToolButton; + HelpBitBtn: TToolButton; // items FilesTreeView: TTreeView; // properties @@ -151,7 +153,6 @@ type procedure InstallBitBtnClick(Sender: TObject); procedure MaxVersionEditChange(Sender: TObject); procedure MinVersionEditChange(Sender: TObject); - procedure MoreBitBtnClick(Sender: TObject); procedure MoveDependencyDownClick(Sender: TObject); procedure MoveDependencyUpClick(Sender: TObject); procedure MoveFileDownMenuItemClick(Sender: TObject); @@ -162,7 +163,6 @@ type procedure OptionsBitBtnClick(Sender: TObject); procedure PackageEditorFormClose(Sender: TObject; var CloseAction: TCloseAction); procedure PackageEditorFormCloseQuery(Sender: TObject; var CanClose: boolean); - procedure PackageEditorFormResize(Sender: TObject); procedure PublishClick(Sender: TObject); procedure ReAddMenuItemClick(Sender: TObject); procedure RegisteredListBoxDrawItem(Control: TWinControl; Index: Integer; @@ -367,45 +367,6 @@ end; { TPackageEditorForm } -procedure TPackageEditorForm.PackageEditorFormResize(Sender: TObject); -var - x: Integer; - y: Integer; - w: Integer; - h: Integer; - y1: Integer; - y2: Integer; -begin - x:=0; - y:=0; - w:=ClientWidth div 5; - h:=SaveBitBtn.Height; - y1:=y; - y2:=y1+h; - // first column of buttons - SaveBitBtn.SetBounds(x,y1,w,h); - CompileBitBtn.SetBounds(x,y2,w,h); - inc(x,w); - - // second column of buttons - AddBitBtn.SetBounds(x,y1,w,h); - RemoveBitBtn.SetBounds(x,y2,w,h); - inc(x,w); - - // third and forth column of buttons - OptionsBitBtn.SetBounds(x,y1,w,h); - CompilerOptionsBitBtn.SetBounds(x,y2,2*w,h); - inc(x,w); - InstallBitBtn.SetBounds(x,y1,w,h); - inc(x,w); - - // fifth column of buttons - HelpBitBtn.SetBounds(x,y1,ClientWidth-x - 1,h); - MoreBitBtn.SetBounds(x,y2,ClientWidth-x - 1,h); - - FilePropsGroupBox.Height:=120; -end; - procedure TPackageEditorForm.PublishClick(Sender: TObject); begin DoPublishProject; @@ -637,14 +598,6 @@ begin UpdateApplyDependencyButton; end; -procedure TPackageEditorForm.MoreBitBtnClick(Sender: TObject); -var - p: TPoint; -begin - p:=MoreBitBtn.ClientToScreen(Point(0,MoreBitBtn.Height)); - FilesPopupMenu.Popup(p.x,p.y); -end; - procedure TPackageEditorForm.MoveDependencyUpClick(Sender: TObject); var CurDependency: TPkgDependency; @@ -1301,6 +1254,29 @@ begin end; procedure TPackageEditorForm.SetupComponents; + + function CreateToolButton(AName, ACaption, AHint, AImageName: String; AOnClick: TNotifyEvent): TToolButton; + begin + Result := TToolButton.Create(Self); + Result.Name := AName; + Result.Caption := ACaption; + Result.Hint := AHint; + if AImageName <> '' then + Result.ImageIndex := IDEImages.LoadImage(16, AImageName); + Result.ShowHint := True; + Result.OnClick := AOnClick; + Result.AutoSize := True; + Result.Parent := ToolBar; + end; + + function CreateDivider: TToolButton; + begin + Result := TToolButton.Create(Self); + Result.Style := tbsDivider; + Result.Width := 3; + Result.Parent := ToolBar; + end; + begin ImageIndexFiles := IDEImages.LoadImage(16, 'pkg_files'); ImageIndexRemovedFiles := IDEImages.LoadImage(16, 'pkg_removedfiles'); @@ -1316,102 +1292,37 @@ begin ImageIndexBinary := IDEImages.LoadImage(16, 'pkg_binary'); ImageIndexConflict := IDEImages.LoadImage(16, 'pkg_conflict'); - SaveBitBtn:=TBitBtn.Create(Self); - with SaveBitBtn do begin - Name:='SaveBitBtn'; - Parent:=Self; - Caption:=lisMenuSave; - OnClick:=@SaveBitBtnClick; - Hint:=lisPckEditSavePackage; - ShowHint:=true; + ToolBar := TToolBar.Create(Self); + ToolBar.Name := 'ToolBar'; + ToolBar.Images := IDEImages.Images_16; + ToolBar.ShowCaptions := True; + ToolBar.ButtonHeight := 46; + ToolBar.Height := 48; + ToolBar.AutoSize := True; + ToolBar.Parent := Self; + + SaveBitBtn := CreateToolButton('SaveBitBtn', lisMenuSave, lisPckEditSavePackage, 'laz_save', @SaveBitBtnClick); + CompileBitBtn := CreateToolButton('CompileBitBtn', lisPckEditCompile, lisPckEditCompilePackage, 'pkg_compile', @CompileBitBtnClick); + InstallBitBtn := CreateToolButton('InstallBitBtn', lisPckEditInstall, lisPckEditInstallPackageInTheIDE, 'pkg_install', @InstallBitBtnClick); + CreateDivider; + AddBitBtn := CreateToolButton('AddBitBtn', lisCodeTemplAdd, lisPckEditAddAnItem, 'laz_add', @AddBitBtnClick); + RemoveBitBtn := CreateToolButton('RemoveBitBtn', lisExtToolRemove, lisPckEditRemoveSelectedItem, 'laz_delete', @RemoveBitBtnClick); + CreateDivider; + OptionsBitBtn := CreateToolButton('OptionsBitBtn', dlgFROpts, lisPckEditEditGeneralOptions, 'pkg_properties', @OptionsBitBtnClick); + CompilerOptionsBitBtn := CreateToolButton('CompilerOptionsBitBtn', lisPckEditCompOpts, lisPckEditEditOptionsToCompilePackage, 'menu_compiler_options', @CompilerOptionsBitBtnClick); + CreateDivider; + HelpBitBtn := CreateToolButton('HelpBitBtn', GetButtonCaption(idButtonHelp), lisPkgEdThereAreMoreFunctionsInThePopupmenu, 'menu_help', @HelpBitBtnClick); + MoreBitBtn := CreateToolButton('MoreBitBtn', lisPckEditMore, lisPkgEdThereAreMoreFunctionsInThePopupmenu, '', nil); + + FilesPopupMenu := TPopupMenu.Create(Self); + with FilesPopupMenu do + begin + Name := 'FilesPopupMenu'; + OnPopup := @FilesPopupMenuPopup; end; - CompileBitBtn:=TBitBtn.Create(Self); - with CompileBitBtn do begin - Name:='CompileBitBtn'; - Parent:=Self; - Caption:=lisPckEditCompile; - OnClick:=@CompileBitBtnClick; - Hint:=lisPckEditCompilePackage; - ShowHint:=true; - end; - - AddBitBtn:=TBitBtn.Create(Self); - with AddBitBtn do begin - Name:='AddBitBtn'; - Parent:=Self; - Caption:=lisCodeTemplAdd; - OnClick:=@AddBitBtnClick; - Hint:=lisPckEditAddAnItem; - ShowHint:=true; - end; - - RemoveBitBtn:=TBitBtn.Create(Self); - with RemoveBitBtn do begin - Name:='RemoveBitBtn'; - Parent:=Self; - Caption:=lisExtToolRemove; - OnClick:=@RemoveBitBtnClick; - Hint:=lisPckEditRemoveSelectedItem; - ShowHint:=true; - end; - - InstallBitBtn:=TBitBtn.Create(Self); - with InstallBitBtn do begin - Name:='InstallBitBtn'; - Parent:=Self; - Caption:=lisPckEditInstall; - OnClick:=@InstallBitBtnClick; - Hint:=lisPckEditInstallPackageInTheIDE; - ShowHint:=true; - end; - - OptionsBitBtn:=TBitBtn.Create(Self); - with OptionsBitBtn do begin - Name:='OptionsBitBtn'; - Parent:=Self; - Caption:=dlgFROpts; - OnClick:=@OptionsBitBtnClick; - Hint:=lisPckEditEditGeneralOptions; - ShowHint:=true; - end; - - CompilerOptionsBitBtn:=TBitBtn.Create(Self); - with CompilerOptionsBitBtn do begin - Name:='CompilerOptionsBitBtn'; - Parent:=Self; - Caption:=lisPckEditCompOpts; - OnClick:=@CompilerOptionsBitBtnClick; - Hint:=lisPckEditEditOptionsToCompilePackage; - ShowHint:=true; - end; - - HelpBitBtn:=TBitBtn.Create(Self); - with HelpBitBtn do begin - Name:='HelpBitBtn'; - Kind := bkHelp; - Parent:=Self; - OnClick:=@HelpBitBtnClick; - Hint:=lisPkgEdThereAreMoreFunctionsInThePopupmenu; - ShowHint:=true; - end; - - MoreBitBtn:=TBitBtn.Create(Self); - with MoreBitBtn do begin - Name:='MoreBitBtn'; - Parent:=Self; - Caption:=lisPckEditMore; - Enabled:=true; - OnClick:=@MoreBitBtnClick; - Hint:=lisPkgEdThereAreMoreFunctionsInThePopupmenu; - ShowHint:=true; - end; - - FilesPopupMenu:=TPopupMenu.Create(Self); - with FilesPopupMenu do begin - Name:='FilesPopupMenu'; - OnPopup:=@FilesPopupMenuPopup; - end; + //MoreBitBtn.Style := tbsDropDown; + MoreBitBtn.DropdownMenu := FilesPopupMenu; FilesTreeView:=TTreeView.Create(Self); with FilesTreeView do begin @@ -1533,7 +1444,7 @@ begin FilePropsGroupBox.AnchorToNeighbour(akBottom,0,StatusBar); FilePropsGroupBox.Height:=120; - FilesTreeView.AnchorToNeighbour(akTop,0,CompileBitBtn); + FilesTreeView.AnchorToNeighbour(akTop,0,ToolBar); FilesTreeView.AnchorParallel(akLeft,0,Self); FilesTreeView.AnchorParallel(akRight,0,Self); FilesTreeView.AnchorToNeighbour(akBottom,0,FilePropsGroupBox); @@ -2079,7 +1990,6 @@ begin inherited Create(TheOwner); FPlugins:=TStringList.Create; SetupComponents; - OnResize:=@PackageEditorFormResize; OnCloseQuery:=@PackageEditorFormCloseQuery; OnClose:=@PackageEditorFormClose; end;