From b4270454a95d89243b412d99cf734c07f681bcfd Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Mon, 26 Jul 2004 20:52:26 +0000 Subject: [PATCH] 2004-07-24 Chris Wiebe Major clean up patch on the wizards. New button to access them. --- core/org.eclipse.cdt.ui/ChangeLog | 5 + .../CBrowsingPerspectiveFactory.java | 23 +-- .../icons/full/ctool16/newclass_wiz.gif | Bin 238 -> 598 bytes .../icons/full/ctool16/newcprj_wiz.gif | Bin 360 -> 185 bytes .../icons/full/ctool16/newfile_wiz.gif | Bin 227 -> 353 bytes .../icons/full/ctool16/newfolder_wiz.gif | Bin 182 -> 349 bytes .../icons/full/dtool16/newclass_wiz.gif | Bin 104 -> 571 bytes .../icons/full/dtool16/newcprj_wiz.gif | Bin 104 -> 188 bytes .../icons/full/dtool16/newfile_wiz.gif | Bin 104 -> 219 bytes .../icons/full/dtool16/newfolder_wiz.gif | Bin 0 -> 221 bytes .../icons/full/etool16/newclass_wiz.gif | Bin 143 -> 598 bytes .../icons/full/etool16/newcprj_wiz.gif | Bin 183 -> 185 bytes .../icons/full/etool16/newfile_wiz.gif | Bin 173 -> 353 bytes .../icons/full/etool16/newfolder_wiz.gif | Bin 0 -> 349 bytes .../icons/full/wizban/newclass_wiz.gif | Bin 2328 -> 3298 bytes .../icons/full/wizban/newcprj_wiz.gif | Bin 3192 -> 2886 bytes .../icons/full/wizban/newfile_wiz.gif | Bin 0 -> 2932 bytes .../icons/full/wizban/newfolder_wiz.gif | Bin 0 -> 2819 bytes core/org.eclipse.cdt.ui/plugin.properties | 18 ++- core/org.eclipse.cdt.ui/plugin.xml | 46 +++--- .../cdt/internal/ui/CPerspectiveFactory.java | 11 +- .../eclipse/cdt/internal/ui/CUIStatus.java | 8 ++ .../cdt/internal/ui/ICHelpContextIds.java | 1 + .../ui/wizards}/AbstractOpenWizardAction.java | 8 +- .../wizards/AbstractWizardDropDownAction.java | 136 ++++++++++++++++++ .../ui/wizards/NewProjectDropDownAction.java | 102 +++++++++++++ .../ui/wizards/NewTypeDropDownAction.java | 74 ++++++++++ .../ui/wizards/OpenNewWizardAction.java | 73 ++++++++++ .../src/org/eclipse/cdt/ui/CUIPlugin.java | 61 +++++++- .../cdt/ui/actions/OpenClassWizardAction.java | 26 ---- 30 files changed, 525 insertions(+), 67 deletions(-) create mode 100644 core/org.eclipse.cdt.ui/icons/full/dtool16/newfolder_wiz.gif create mode 100644 core/org.eclipse.cdt.ui/icons/full/etool16/newfolder_wiz.gif create mode 100644 core/org.eclipse.cdt.ui/icons/full/wizban/newfile_wiz.gif create mode 100644 core/org.eclipse.cdt.ui/icons/full/wizban/newfolder_wiz.gif rename core/org.eclipse.cdt.ui/src/org/eclipse/cdt/{ui/actions => internal/ui/wizards}/AbstractOpenWizardAction.java (97%) create mode 100644 core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/AbstractWizardDropDownAction.java create mode 100644 core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/NewProjectDropDownAction.java create mode 100644 core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/NewTypeDropDownAction.java create mode 100644 core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/OpenNewWizardAction.java delete mode 100644 core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/actions/OpenClassWizardAction.java diff --git a/core/org.eclipse.cdt.ui/ChangeLog b/core/org.eclipse.cdt.ui/ChangeLog index db5c15aeb0d..2a2f2b84cc0 100644 --- a/core/org.eclipse.cdt.ui/ChangeLog +++ b/core/org.eclipse.cdt.ui/ChangeLog @@ -1,3 +1,8 @@ +2004-07-24 Chris Wiebe + + Major clean up patch on the wizards. + New button to access them. + 2004-07-23 Alain Magloire Support for addInclude action, implementation base diff --git a/core/org.eclipse.cdt.ui/browser/org/eclipse/cdt/internal/ui/browser/cbrowsing/CBrowsingPerspectiveFactory.java b/core/org.eclipse.cdt.ui/browser/org/eclipse/cdt/internal/ui/browser/cbrowsing/CBrowsingPerspectiveFactory.java index 9aebaf81ead..5ebbee95b88 100644 --- a/core/org.eclipse.cdt.ui/browser/org/eclipse/cdt/internal/ui/browser/cbrowsing/CBrowsingPerspectiveFactory.java +++ b/core/org.eclipse.cdt.ui/browser/org/eclipse/cdt/internal/ui/browser/cbrowsing/CBrowsingPerspectiveFactory.java @@ -50,7 +50,7 @@ public class CBrowsingPerspectiveFactory implements IPerspectiveFactory { folder3.addView(IPageLayout.ID_OUTLINE); layout.addActionSet(CUIPlugin.SEARCH_ACTION_SET_ID); - layout.addActionSet(CUIPlugin.FOLDER_ACTION_SET_ID); + layout.addActionSet(CUIPlugin.ID_CELEMENT_CREATION_ACTION_SET); // views - build console layout.addShowViewShortcut(IConsoleConstants.ID_CONSOLE_VIEW); @@ -70,9 +70,13 @@ public class CBrowsingPerspectiveFactory implements IPerspectiveFactory { layout.addShowInPart(IPageLayout.ID_RES_NAV); // new actions - C project creation wizard + String[] wizIDs = CUIPlugin.getCProjectWizardIDs(); + for (int i = 0; i < wizIDs.length; ++i) { + layout.addNewWizardShortcut(wizIDs[i]); + } layout.addNewWizardShortcut(CUIPlugin.CLASS_WIZARD_ID); - layout.addNewWizardShortcut(CUIPlugin.FILE_WIZARD_ID); layout.addNewWizardShortcut(CUIPlugin.FOLDER_WIZARD_ID); + layout.addNewWizardShortcut(CUIPlugin.FILE_WIZARD_ID); } public void createInitialLayout(IPageLayout layout) { @@ -83,14 +87,13 @@ public class CBrowsingPerspectiveFactory implements IPerspectiveFactory { // action sets layout.addActionSet(CUIPlugin.SEARCH_ACTION_SET_ID); - layout.addActionSet(CUIPlugin.FOLDER_ACTION_SET_ID); // layout.addActionSet(IDebugUIConstants.LAUNCH_ACTION_SET); // layout.addActionSet(JavaUI.ID_ACTION_SET); -// layout.addActionSet(JavaUI.ID_ELEMENT_CREATION_ACTION_SET); + layout.addActionSet(CUIPlugin.ID_CELEMENT_CREATION_ACTION_SET); layout.addActionSet(IPageLayout.ID_NAVIGATE_ACTION_SET); // views - java -// layout.addShowViewShortcut(CUIPlugin.ID_TYPE_HIERARCHY); + layout.addShowViewShortcut(CUIPlugin.ID_TYPE_HIERARCHY); layout.addShowViewShortcut(CUIPlugin.CVIEW_ID); layout.addShowViewShortcut(CUIPlugin.ID_PROJECTS_VIEW); layout.addShowViewShortcut(CUIPlugin.ID_NAMESPACES_VIEW); @@ -111,9 +114,13 @@ public class CBrowsingPerspectiveFactory implements IPerspectiveFactory { layout.addShowViewShortcut(IPageLayout.ID_RES_NAV); // new actions - C project creation wizard + String[] wizIDs = CUIPlugin.getCProjectWizardIDs(); + for (int i = 0; i < wizIDs.length; ++i) { + layout.addNewWizardShortcut(wizIDs[i]); + } layout.addNewWizardShortcut(CUIPlugin.CLASS_WIZARD_ID); - layout.addNewWizardShortcut(CUIPlugin.FILE_WIZARD_ID); layout.addNewWizardShortcut(CUIPlugin.FOLDER_WIZARD_ID); + layout.addNewWizardShortcut(CUIPlugin.FILE_WIZARD_ID); } private void createVerticalLayout(IPageLayout layout) { @@ -121,7 +128,7 @@ public class CBrowsingPerspectiveFactory implements IPerspectiveFactory { int relativePos= IPageLayout.LEFT; IPlaceholderFolderLayout placeHolderLeft= layout.createPlaceholderFolder("left", IPageLayout.LEFT, (float)0.25, IPageLayout.ID_EDITOR_AREA); //$NON-NLS-1$ -// placeHolderLeft.addPlaceholder(JavaUI.ID_TYPE_HIERARCHY); + placeHolderLeft.addPlaceholder(CUIPlugin.ID_TYPE_HIERARCHY); placeHolderLeft.addPlaceholder(IPageLayout.ID_OUTLINE); placeHolderLeft.addPlaceholder(CUIPlugin.CVIEW_ID); placeHolderLeft.addPlaceholder(IPageLayout.ID_RES_NAV); @@ -166,7 +173,7 @@ public class CBrowsingPerspectiveFactory implements IPerspectiveFactory { layout.addView(CUIPlugin.ID_MEMBERS_VIEW, IPageLayout.RIGHT, (float)0.50, CUIPlugin.ID_TYPES_VIEW); IPlaceholderFolderLayout placeHolderLeft= layout.createPlaceholderFolder("left", IPageLayout.LEFT, (float)0.25, IPageLayout.ID_EDITOR_AREA); //$NON-NLS-1$ -// placeHolderLeft.addPlaceholder(JavaUI.ID_TYPE_HIERARCHY); + placeHolderLeft.addPlaceholder(CUIPlugin.ID_TYPE_HIERARCHY); placeHolderLeft.addPlaceholder(IPageLayout.ID_OUTLINE); placeHolderLeft.addPlaceholder(CUIPlugin.CVIEW_ID); placeHolderLeft.addPlaceholder(IPageLayout.ID_RES_NAV); diff --git a/core/org.eclipse.cdt.ui/icons/full/ctool16/newclass_wiz.gif b/core/org.eclipse.cdt.ui/icons/full/ctool16/newclass_wiz.gif index 901d55d7a33706a12541f2e1a5cca08fdedbd1ee..a1c6545cd644ed7ecea4a95cf17dbd3934180840 100644 GIT binary patch literal 598 zcmZ?wbhEHb6krfwc*ekxv!ZdqiFL+JzGlt-4xJHB-BE7+aUnCZqGlJw%qh%RR@1b3 zl1iDKUX7b&TR_B|+}L@A$&1PxH%(Y{a-D9Ci(aj(eyy89ottr^r}v};uL*JG>)LnR zIB3-1Zr$#0-x-v>qPlPIEW3^XyY>LLzHs;ch@fdn*~_c?_su$d_vEAZPlKio{2vS$s00*$vM@3*q%-J%%mc*<1N-KN z^rq&P*0%Q8_HY47J}H5)*oe*+ZaxQ3PcO&ln24B|W^P%Z(BKf?a6WJU zv~AmxlHw8*nmC*Sw*~pxqy@yM#5c2l~9o3IxQ!i zrX{beEUeG3%GNBXWMYwKpstu^ucyt>yw0Fwpu_s9SLAAkS;{Qvju_s@@? z4-||C%Gm$^|9}7f{qyI~Z)j*>U|;}pfh2yQ_>+Z^fkA{p2c!&SCj)D?f@;@EB_$rG zg|8ya)Ry*q_R#AqS+*^gL3r*O_D&9#miP_shDw|PO9NOO<>YQS3t5=P@wOaPJ|(Ki z+s{z4H+J6T94AMXhJbrn-|jrCZ8%ya=n@veAH`Z`>zB>S+Tk0OIL E0Q`JS>;M1& diff --git a/core/org.eclipse.cdt.ui/icons/full/ctool16/newcprj_wiz.gif b/core/org.eclipse.cdt.ui/icons/full/ctool16/newcprj_wiz.gif index 812cf45870979cd154dbd100da27236650efffa6..658939436d0764fda90568108e10a08ea0a1b7c7 100644 GIT binary patch literal 185 zcmV;q07m~uNk%w1VGsZi0J8u9YmmGsVwU*$@z>S5{qoGUk|Wp2o}zsi{^+a!-H-p$ zc-5gp#E37ib||rKApigWA^8LW000jFEC2ui01yBW000DL@X1N5y~VQ4Xc5`u2&CXh z#g|G9;<{u(%yY)j1P}niaUebxEwCf@5(fgyHP|5x21HM=SUv-Tmy3YtJQ#^Y6Oe$0 n!`{Z3s0*AE4M{^mZxRP|di*iZ`~7=-4TFS*fftC07ZCtE0`pO3 literal 360 zcmZ?wbhEHb6krfwxXQp_Z@)i2e!snae0}}?`SbTLJM|%c{{H><_wUwq!pOj&z@P)N0^}zKwpND;1s*z5vSJIF7BlG1c1}^_?BZGL zx@6hn6scB$gYD6}YUeluDssNWNKE!})>Y#c?q+40Xm9_@nNymlSz26LSg1ZnfwP63 znUPs&3U78y6AvQ;8w0~sCnlL*9@aU+tgH)M`dAoPg*UEl6k5i%VwFg-3pX#v?70ja Ryxj2$tg{(ek2x|}0|1@8WV`?X diff --git a/core/org.eclipse.cdt.ui/icons/full/ctool16/newfile_wiz.gif b/core/org.eclipse.cdt.ui/icons/full/ctool16/newfile_wiz.gif index 6baa03787f45bcfc8dc2a62cb84525763d9319c2..9d050885be6d125c6f3a8ee61f770af463945b9d 100644 GIT binary patch literal 353 zcmZ?wbhEHb6krfwxXQrr>Fe)rKmPps{rBguKlfhzc=G1w^LIbre)@Ii`S<%Te>{Bk z12|TpyR{>mrI{2JXHL%C7O09Mu>554H9&1sF`=rV`q@7GGB8G zKfk`Pt2BF0FFPY+r;7~t)M?XXTxEIZ%$>s~>nhH=Wa(0IS4pnbYt~4*N^x%5yop81 WRg`1b?%krUA_op05^-{5um%7kHK6(c literal 227 zcmZ?wbhEHb6krfwIKseSZy(Rl&=5a={`~#>|NoD_e}De}`}X_i$N#@Se}26E{&@R% zd;9swl*%xbT&R zY?r2_^4qTCpXRLm@yEWMMd0RHH-47npA9_S+mBD`ED-9ob8|S5;k4$$o03;GQcI&7 r6Aoz1R=xD`l5Ng`t*=Udt4+H+u_7y{zBaj~AilG+rl(g)k--`O(-BlK diff --git a/core/org.eclipse.cdt.ui/icons/full/ctool16/newfolder_wiz.gif b/core/org.eclipse.cdt.ui/icons/full/ctool16/newfolder_wiz.gif index 2b49c1b36aa44b5c7107bf2d2120fdd33c23c394..310eb18e34b54187ce9f74d8a8ee20a63238ac82 100644 GIT binary patch literal 349 zcmZ?wbhEHb6krfwxXQrr@9+CRA9nozdgkw!^Z$Rp{`qp_-_Pf_PE_7HNqN_FwLi}n z|NnSsUZvQwMyX{@QcIhp)^*AMzT5oi{)+#vH_t2){{M8z|685^?@xPkdCvcjm;Qgg z`Tt_+|EsnCf4q8nV&a|c4Idt!-d=0Czu9Dei^=W=Mgkl|gJdGP&bYaT%!1t)dk_KprI5h-;i zCDDnKCQFJcJE@4znmuQhij%h3qQy%VDLQG&tXjQhm8O%9^rp>QHfcC(?cB9{r~AJB I2OJr!0UV)~X8-^I literal 182 zcmZ?wbhEHb6krfw*v!CSZy!IJy;_y7O@|G#j0_B13_2h|kQodt$pI%lSBpAIC0uzoIYD8jQcIYiLi@4EAV!t7k+K!qm&KHL zn3$Y4uJ+_>b6A*QAT!1IaiYUgu5~SsHgf5(aNk^!l=U_3AbVtD%)h4ADJu``t~sop W*|cw;yq_CKV^foYL7T83gEat)3qXzl diff --git a/core/org.eclipse.cdt.ui/icons/full/dtool16/newclass_wiz.gif b/core/org.eclipse.cdt.ui/icons/full/dtool16/newclass_wiz.gif index 859df2976b557e8486e1a24288394313993cd477..ee6692635ddc448dc201b2fa5110784c382c9c9e 100644 GIT binary patch literal 571 zcmZ?wbhEHb6krfwc*el6Y{ROZ2lvcgHhc5Yg~W8<2w>sD`Bd;ZFWvzN|Y zzH#N!^~)EpT{?B)^vUz54xc=7@c5y9NB8eNvTx7fy$6mTIDPT-iE}3opFDj3@%>x( zZr!|l^W~eD&tE-%_VU@2=T9Czef0A6%b&k~e*f|P+xKr@zJB@i`P1d=mwx^F@%hu+ z4QuADSuuOXlIaWQPJD3Z;)|zuH>{qwWd7t8i>Dttc<}%K|G$3y0+I|v3Ml?$VPs%% zWzYe+8WblC>@yl%o0?l%+uEHvoVt6Q%sX40I2F{?H1+K*%`GRmI&rIN=xCc*Su9`P zIY~{|dEGi|YdgmYPKsLV^vookjT~&}ItlGCRX(P!qHlAMTgushhl7KMi=XWv3#+q< z7&EglJEO=!ab*{0HhF1hLq4H{OoDQz>y2dunC8yo6;+azkacljSl~ZFfK5n2W6FUA Q4;Hxf@Oheua4=W{06!Dc%>V!Z literal 104 zcmZ?wbhEHb6krfwn8?7efB*jZ^XLEn|DS<@LGdRGBLf2ygAR}llobH7EvLw{F>b15 z@qTwegSpn?)m`0L9pg#c!b^E+)6*U; HZU$=r%6=rL diff --git a/core/org.eclipse.cdt.ui/icons/full/dtool16/newcprj_wiz.gif b/core/org.eclipse.cdt.ui/icons/full/dtool16/newcprj_wiz.gif index 82450711805a2264e0cc3c11932c124ba0342e55..c5cd7f044ea6dfeab6183607a20acbb05fa522a8 100644 GIT binary patch literal 188 zcmV;t07L&rNk%w1VGsZi0J8u9|NsB_`T6zr_3Z5I;^N}m+}zmM*vH4myu7@%wY9FU zu8N9^eSLj+czASlbpQYVA^8LW000jFEC2ui01yBW000DO@X1N5z000`=mOcK03@JD z%a=+=5D3CRekJ%Eb;2Y7!wf!F$){rg8ihuHUFu)naq!eZU5%MN;_aVAH`jc*%^|rYy2~Oba+a!+xIVDzy134 zzHx!b1_eeC`m>evz`>$l^6o{Kaezwo(`Grub+JW^!C%oHyhT>d;0j!n^%uty?D4{$@GPDCqB4y z@#V97FP`50@b1Nu`IA>Hp8n|Gl?S&kJbQHW;l1m>ety4qVaBcO6I(oGuOVH!MJut=9X(|EDm=Z3q*v^csZyn zGiqK^#NePH(I1`cH8)6x>-gCNZ_9K!Pv<)7&DQUpopLsBeg1?UHFEo1-~IUWH|*u_ R|FwoX%`NI}?H!5?)&MBocUb@c literal 0 HcmV?d00001 diff --git a/core/org.eclipse.cdt.ui/icons/full/etool16/newclass_wiz.gif b/core/org.eclipse.cdt.ui/icons/full/etool16/newclass_wiz.gif index a34cb30b8d4e45be518a27a0ecddbd6bf959ad69..a1c6545cd644ed7ecea4a95cf17dbd3934180840 100644 GIT binary patch literal 598 zcmZ?wbhEHb6krfwc*ekxv!ZdqiFL+JzGlt-4xJHB-BE7+aUnCZqGlJw%qh%RR@1b3 zl1iDKUX7b&TR_B|+}L@A$&1PxH%(Y{a-D9Ci(aj(eyy89ottr^r}v};uL*JG>)LnR zIB3-1Zr$#0-x-v>qPlPIEW3^XyY>LLzHs;ch@fdn*~_c?_su$d_vEAZPlKio{2vS$s00*$vM@3*q%-J%%mc*<1N-KN z^rq&P*0%Q8_HY47J}H5)*oe*+ZaxQ3PcO&ln24B|W^P%Z(BKf?a6WJU zv~AmxlHw8*nmC*Sw*~pxqy@yM#5c2l~9o3IxQ!i zrX{beEUeG3%GNBXWMYwKpstu^ucyt>yw0Fwe;!hSv1_pKp9R?r( zsbydesaWM`l`5kVuAR4Tmml*{;nLWI27XHc*0e<`-GX1F^ENNI{=9Yri(|6FgM$Vx uvo1+EiA`r|KBQ3SwAip`!UU5aE+%&;d;Quvh0S@{9S5{qoGUk|Wp2o}zsi{^+a!-H-p$ zc-5gp#E37ib||rKApigWA^8LW000jFEC2ui01yBW000DL@X1N5y~VQ4Xc5`u2&CXh z#g|G9;<{u(%yY)j1P}niaUebxEwCf@5(fgyHP|5x21HM=SUv-Tmy3YtJQ#^Y6Oe$0 n!`{Z3s0*AE4M{^mZxRP|di*iZ`~7=-4TFS*fftC07ZCtE0`pO3 literal 183 zcmZ?wbhEHb6krfw*v!CSZy!IJy;_y7O@|G=x? zDE?$&WMJT8&;bd9%wS+i2{`GwTGVY?@RfJMWhwVqf+Pwu=BRRZt_pSEd#GqCPcwt| zj;kpt8X`PxfdwbBzp=C~eRSZq3g14aB+so<>yEXkTwEx0f{97dN18>bMQ8RQOZThp XhEJn+)LC+>h_SGTv*>XNGFSruG2uYw diff --git a/core/org.eclipse.cdt.ui/icons/full/etool16/newfile_wiz.gif b/core/org.eclipse.cdt.ui/icons/full/etool16/newfile_wiz.gif index f2fe6e1d036dad796d975572c838db60b473fd28..9d050885be6d125c6f3a8ee61f770af463945b9d 100644 GIT binary patch literal 353 zcmZ?wbhEHb6krfwxXQrr>Fe)rKmPps{rBguKlfhzc=G1w^LIbre)@Ii`S<%Te>{Bk z12|TpyR{>mrI{2JXHL%C7O09Mu>554H9&1sF`=rV`q@7GGB8G zKfk`Pt2BF0FFPY+r;7~t)M?XXTxEIZ%$>s~>nhH=Wa(0IS4pnbYt~4*N^x%5yop81 WRg`1b?%krUA_op05^-{5um%7kHK6(c literal 173 zcmZ?wbhEHb6krfw*v!CSZy!IJy;_y7O@fB*jd^XJcRXlRI!k7rV;^<6&i K+`I3}4AuacB0ggP diff --git a/core/org.eclipse.cdt.ui/icons/full/etool16/newfolder_wiz.gif b/core/org.eclipse.cdt.ui/icons/full/etool16/newfolder_wiz.gif new file mode 100644 index 0000000000000000000000000000000000000000..310eb18e34b54187ce9f74d8a8ee20a63238ac82 GIT binary patch literal 349 zcmZ?wbhEHb6krfwxXQrr@9+CRA9nozdgkw!^Z$Rp{`qp_-_Pf_PE_7HNqN_FwLi}n z|NnSsUZvQwMyX{@QcIhp)^*AMzT5oi{)+#vH_t2){{M8z|685^?@xPkdCvcjm;Qgg z`Tt_+|EsnCf4q8nV&a|c4Idt!-d=0Czu9Dei^=W=Mgkl|gJdGP&bYaT%!1t)dk_KprI5h-;i zCDDnKCQFJcJE@4znmuQhij%h3qQy%VDLQG&tXjQhm8O%9^rp>QHfcC(?cB9{r~AJB I2OJr!0UV)~X8-^I literal 0 HcmV?d00001 diff --git a/core/org.eclipse.cdt.ui/icons/full/wizban/newclass_wiz.gif b/core/org.eclipse.cdt.ui/icons/full/wizban/newclass_wiz.gif index d3e28433c1586c4d367288ef1fea425acbdb96a2..c73ab243fbb9fe409423df1875e6e1d06766dd78 100644 GIT binary patch literal 3298 zcmV<83?1`FNk%w1VM_o)0QUd@|NsBq=J@FD`mEZ7_W1ql@cLP%E9K|v;pq5m!6&V^ zmE`LA`1$>Cv2*P4`?l(Bvfhcz>9g$i<9fkF?(+NG@yqb^{Ke^(-{<(9s()+F9OCNv z!sMZZ$7Z?d+vV)}@%rlL?fQwAX6f$w*X_cHxl`)z`s4J}bBsyS?Y+bFae19hl+jvu zx<-x7RBN+3oYQM%dNNb08)m*8m%Ntg@A~rd^hlK{+xV!s*^{Z+d_9a3c$QLf;u*c< zjMVVLyWy2traG4CHgUQ-`~3dp_1NO+_~7UG`uqNG!Y$_P`Rx4CZM8*|%4DO~X`$9} zZh}7b_x*vwOn{PDbi^@Cq!-uI-8q&F+}q>M)xXH*tLgXNfyqPJ^R?~q`VFrQ%hT%bDfr@oBj%OqDff zlq~)I|90FVrq_Ij%6wF)RQ^!NV%{r>;|{Qmk=o+h^6kLLNvL7flz`uqI+{Bn#xewt-R zofW0mcJKVyjL4H}jWpus*t_fBv&@gt?XUj+{_gPi(Djnf@1d8hZ%33I-|^1Z-p{M> zNN0gFKA05f?fPzzL3oQz$LXra=A>qWFnZcDXq7QRkQI5+E$#97P@*7*qFS5KdyTV! z!N0(fu4Q|=fu!E9zR0kL#Z7CDJOBUwbjLq;#Wkwow|?m$;o<4F;GKrXP>aY=fY>du z@=!U54{ozyA^8LV00000EC2ui080Qu000R8009UbNU)&6g9sBUTu4w3k~m%jFq}xS z;zUbG@VYem`PyB_1f#0Zr84t#57^~!j zTP(1hLXvV5(_Nu;lfTOB~YIvFnBfyFP1_5*%z(L=X-~$f04s*vHDO7O679h-li!P+ZONuVI z%n=3*$Z`M#1Ufv?#3=_@7RR)NhPmTi-F#pK2Hbk+RMSy?{07W>#E(j8UE`0?gAYHQdHGn6;!4Oh#LE!Q*JC1~4eC0b|;=;zb z#t9??bbv%65}|@G3?W_Y(ggs*(K%v4FM8Mj;NHY=y^)PV3N7Ho1g1a|pEwYLw~JNo z6sJC#2}A@f&|o6}9-t2?Ty6_8KANL_j%ah=3SKSvMeDsb4T) zfeWNChF01Ema-IM1RHtF9(F5@^$>zMYcYft95HABXapv1p@nubvze$nCCOmn0#3AG z3}zaSDM8Ly!RoLBO$3j3NvWjVKVD`KJLW;|Zy(XDwb} zfM6V=9^yb`KWQn!^r3MeQ`iJQ{_qD^c%lmVpdScc0f0FS0TaT=X-*;VCmrNsp3>w5 z7dsk^Nl?Ly*(519O$y0@SOW~^xW^yt;EF0VVwghv#1L{ZfUfGmrx%4mMmZr=ga#uR zeVD{1rtrn9__LM(#ib7cfCh3T;U4!ehaC!G0F2F4AdNVLK49>K!irT2FE|8QxyS`q z90IM^NCFr#&{jom)0RvXC;*%xjs#pHuk}bmGSrbt`w1ihEs((>R%?JNRKX3&U~FSO z0a1_ltr+Sv69B?3SKpTLAVK0yM3;DM^H zu!9{8(1&XPq7a&hfh2VM*4_p*mjh8iB{b249wgztco;(pmfJ2|2(2Kb00t8#q1}2+ zqPyiN#|$RRmXY#yslL@L0Bk1Q9%vu|NtgsNn4nx=1#1p-c*QF)9IOr$q8?QE?={M? zgDT8G9J?s6Ta}901fw^-w#P0Y)aVKMFB~ZK#3& z$tyl^i_bgPfn-4uj-baSW-tRR*P#_#zJdW>(1AjCfC)k1#uctmg=DZ{2RrbG0URL@ z1)QeI|8%5Wzj+V^c%uW37)KH`!DmgFx)3tJgQ|(a>MF>f6*4$7qyZ6x4%k8jJi;_w zH4Wv2WMBo005v^4kpNQj`Pjzhb0Hkf20+~427*{bmL!quI6IlwCq+mGc%TP81lti4 z7qGJR%jD7{nm{LGpj3;p8X(ZvZpw zu?|HjKtJ);wRtxk<%?Uw5;n+yBG$nNKCt2u%y5U$8$fh-M1mE3pus6bkPU;y+}ae+ z?282=4Pz7o6*g$Y0q}u^P`CyeG~mNCp5cMAd*B&-AcQHPAc8Ys0U!8~gd}*u3lk8A zyey{oZvkL+R0KlnT(`m+{6P3nWIzPphyeya$1}k9U?FW#1-SIwe zZ0}tfmbiK^{(gY1W5Ei7UxVt`z>YJx{tT;EJ?bwHce&4f^PInS#rG}{IrttUNT^Is zP=ShG^uh)<2!!&d!Tjc*->95aKHQB2S2LBPkw?q9sT7+Fr7KwdyL=w{oaQJ@)s?b@e=h%Eii|FdFOco z^$Y&@f7};<185xuIDUdtFy}{o6K8$v$A9eyf!im6^GAOdXnxZNXB#+ky#@ddcylfY zfblniI$?q3cYhj~eo^OQH1mNV2!G!vg9ccFHi&{a$bmZeP1)yyJt%^>aTY;Xg9&(p g`8Q`Y2LMT^gfRGnO;~{kh=C`lVkxM9G#3y6JIEn8Pyhe` literal 2328 zcmds$`#;l*AICqNVY#erE;&>-jmYI8y67O6W;Wdr$6R8JB9vS8AUv4+eOqD5-I8le z!ihAO+A!J>#b|a$$mEjh^gZX{dz|lo@qIm>kN1zS$NTkoyk3q3oW&Xc^T4mbcVJJu zySwX~Kh`(DcMVL9Oo&G&79=ZM(#;>1UOCp@xz^q}w!ZnczIpb31@@$ZbN*BZG9Bwr z#gXYaG7TSe|6)kd=XWhLT1 zUVYbCb2tBK51-XL-rhIa&3WHDG}Ffuas;B0N%82Eg#Te_Y+5og`{~`>%A90?TwEla<0#zmvke@qBJy_;WoFIxS$^kq&WofUunyzy=I%g(ZN`^)x^^{wwq zYul35&E@s4(yjm1qvM&Xya?FR@S~ZXXKjKu1XH~z> z0h49<+{hXZ@!&biAe2=zMAf#*_sNRF3>BM_VJAvl7I9RI=v9b;;Z#zEjV>XZaD_Zt zc>2~l&%kgQsG{Qu2@cOy2{q>KYQEO8jCb7f6MYL37#-9YA6hCs=b_+uIoMA zr0*hMbWr2<0VLC%YI4V_!3{G}>-?$ciCyEu~EOZ9Mh8ulkm>S*fk^3xu4j-g`c#SUhP2cb%;z0Q=!>d{HI0Zs8P ztQ4RQ{}^K&(mqt6tft+Rxr_LEW6enSuAd{$^~{jeu_2#pGtSN2CbrDr7us~3X{C(@ zkpKp7<;p#57=d=sYGLS#d=p2nmE7wXy$(sho)BkYQ}WsXwxRnj9q3=eJ6<34%g@{BV(LWbxeE5X=AtwGWgcW;5-zBtuA$Q) zkpmj8(6;O&1WY8B9=h6vVMOZbT*qn(wqy@jn-)(1j`?D4al+w%Omwmwh^yq22~tc` z@A$BkA7QpT#AM!g!e-@EEKlmfbYu7+xsyLowdhm`Vh}}HPD)pM;1=s_?<5*C( zfssQzh}|KK>b9@vg29=}+VKc>d|1Ec=O$SU1*#*9GDGOQGdHv^#g2iUI#bzZ046-_ zQ4(tbyyXZx<}4aW!}a_OX11U5WDh=&qsquxhRu)=bBC!|hJ9CSI9hghGebL))XG69 zTPhuIR=FJJ1X8I&;EGU-1|q1ie}lky1a;wZDVd>d+KECqSaVE0uy5b*Z;*w^^AWso zM3&O#QM7%qcY7cHd)0vQQKG2s1)^K=7O0jH#YL;xw1SamY4$t%I*O$`70JlmBpJY= zBDWouAZhKFITKgCK5~5I0t>sZoq9Dz&y_6&+bf|VEQlgCjZ@`m3#bv(0*Q zRz(*$SB!5Tm#WEy!PciMKf~j+6MCq&6A%M_KL~733C1W!+)I;|Y30Q%cjwI6uhhOh zwlZV(R_QJQ#GT`opXb4Xw@Le9)(h!J#>h=s#E+OB^OmzTwWDETgE|eLO8|%?HtAXi zln#9`r9M6VI*X7=eZYe)bUaM!+b`=%*RiEhZptCk~w|JkS zg$YCCQ3^p5>DCV;gCTx=yE-LwyJVk|ykjE@(C?FhRVzW3?2Bur7SB$43Vt)uOs&AV zL&4Dg9HA4?d8ZZo%M8hLRAIrEgibepUkQ&*)H&Fj=~vo+vG-Hpknsp-9INcIyg5on79uGB&VAy4)2wnwznXT6*ata- z`Y8C>+I?u_Qo6ZCvKkMI!Y15sIrRdqWobau_GCj&1F49=`Hq5%X0RY{P&6c#svDoF zWX`wyGjQ1nm}e^oMhK7rs#@Pr4Y(Ut-USwJf2$DN(cpu&Daui%7JAuIIdfYXc?=uX zEpfno`^!yF@UAW462_d*0z=*4@>)V$dDJ^Q7<^UkL`!h#Ii;B0TV8jT|HVik>c5ql_7t$@iiCMhepHx7@>3slSyIt{+D1b9c6!_kOj z1tQU0ooIpIr!mCyz9L3;Mah~p&~gGu)x^#ztU<0Z&o2n%*|N6tj6H$$_uBG!84zSz Xt;-Ag&kaw0oS9+a?dA($Fkty#?0xd| diff --git a/core/org.eclipse.cdt.ui/icons/full/wizban/newcprj_wiz.gif b/core/org.eclipse.cdt.ui/icons/full/wizban/newcprj_wiz.gif index 60ccf9c7c6a4b42efbf8c649990bede88fdce1bc..73fffdcc6e50a69a874fbc919560befa09eb4c9b 100644 GIT binary patch literal 2886 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 VyV} + + + %NewWizards.class.description @@ -497,17 +499,27 @@ - + id="org.eclipse.cdt.ui.CElementCreationActionSet"> + + - - - - + id="org.eclipse.cdt.ui.actions.NewProjectDropDown" + toolbarPath="Normal/CCWizards" + class="org.eclipse.cdt.internal.ui.wizards.NewProjectDropDownAction" + disabledIcon="icons/full/dtool16/newcprj_wiz.gif" + icon="icons/full/etool16/newcprj_wiz.gif" + label="%OpenProjectWizardAction.label" + pulldown="true" + tooltip="%OpenProjectWizardAction.tooltip"> diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CPerspectiveFactory.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CPerspectiveFactory.java index f03da8c8783..8069321cfcb 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CPerspectiveFactory.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CPerspectiveFactory.java @@ -5,7 +5,8 @@ package org.eclipse.cdt.internal.ui; * All Rights Reserved. */ -import org.eclipse.cdt.ui.*; +import org.eclipse.cdt.ui.CUIPlugin; +import org.eclipse.cdt.ui.wizards.NewCProjectWizard; import org.eclipse.search.ui.SearchUI; import org.eclipse.ui.IFolderLayout; import org.eclipse.ui.IPageLayout; @@ -41,7 +42,7 @@ public class CPerspectiveFactory implements IPerspectiveFactory { folder3.addView(IPageLayout.ID_OUTLINE); layout.addActionSet(CUIPlugin.SEARCH_ACTION_SET_ID); - layout.addActionSet(CUIPlugin.FOLDER_ACTION_SET_ID); + layout.addActionSet(CUIPlugin.ID_CELEMENT_CREATION_ACTION_SET); // views - build console layout.addShowViewShortcut(IConsoleConstants.ID_CONSOLE_VIEW); @@ -61,8 +62,12 @@ public class CPerspectiveFactory implements IPerspectiveFactory { layout.addShowInPart(IPageLayout.ID_RES_NAV); // new actions - C project creation wizard + String[] wizIDs = CUIPlugin.getCProjectWizardIDs(); + for (int i = 0; i < wizIDs.length; ++i) { + layout.addNewWizardShortcut(wizIDs[i]); + } layout.addNewWizardShortcut(CUIPlugin.CLASS_WIZARD_ID); - layout.addNewWizardShortcut(CUIPlugin.FILE_WIZARD_ID); layout.addNewWizardShortcut(CUIPlugin.FOLDER_WIZARD_ID); + layout.addNewWizardShortcut(CUIPlugin.FILE_WIZARD_ID); } } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CUIStatus.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CUIStatus.java index 79c66b75d93..c7f2201b57d 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CUIStatus.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CUIStatus.java @@ -22,6 +22,14 @@ public class CUIStatus extends Status { super(severity, CUIPlugin.getPluginId(), code, message, throwable); } + public static IStatus createError(int code, Throwable throwable) { + String message= throwable.getMessage(); + if (message == null) { + message= throwable.getClass().getName(); + } + return new CUIStatus(IStatus.ERROR, code, message, throwable); + } + public static IStatus createError(int code, String message, Throwable throwable) { return new CUIStatus(IStatus.ERROR, code, message, throwable); } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/ICHelpContextIds.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/ICHelpContextIds.java index efca3a2d2c3..1679cd7ca6d 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/ICHelpContextIds.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/ICHelpContextIds.java @@ -21,6 +21,7 @@ public interface ICHelpContextIds { public static final String NEW_LAUNCH_WIZARD_PAGE = PREFIX + "new_launch_wizard_page_context"; //$NON-NLS-1$ public static final String NEW_CLASS_WIZARD_PAGE = PREFIX + "new_class_wizard_page_context"; //$NON-NLS-1$ public static final String OPEN_CLASS_WIZARD_ACTION = PREFIX + "open_class_wizard_action"; //$NON-NLS-1$ + public static final String OPEN_PROJECT_WIZARD_ACTION = PREFIX + "open_project_wizard_action"; //$NON-NLS-1$ // Actions diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/actions/AbstractOpenWizardAction.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/AbstractOpenWizardAction.java similarity index 97% rename from core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/actions/AbstractOpenWizardAction.java rename to core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/AbstractOpenWizardAction.java index 6a1d8a52c55..96c83eb3501 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/actions/AbstractOpenWizardAction.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/AbstractOpenWizardAction.java @@ -8,13 +8,13 @@ * Contributors: * Rational Software - initial implementation ******************************************************************************/ -package org.eclipse.cdt.ui.actions; +package org.eclipse.cdt.internal.ui.wizards; import java.util.Iterator; +import org.eclipse.cdt.core.model.ICElement; import org.eclipse.cdt.internal.ui.util.ExceptionHandler; import org.eclipse.cdt.internal.ui.util.PixelConverter; -import org.eclipse.cdt.internal.ui.wizards.NewWizardMessages; import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.ResourcesPlugin; @@ -37,7 +37,6 @@ public abstract class AbstractOpenWizardAction extends Action implements IWorkbe private Class[] fActivatedOnTypes; private boolean fAcceptEmptySelection; - private boolean fNoChecking; /** * Creates a AbstractOpenWizardAction. @@ -59,7 +58,6 @@ public abstract class AbstractOpenWizardAction extends Action implements IWorkbe super(label); fActivatedOnTypes= activatedOnTypes; fAcceptEmptySelection= acceptEmptySelection; - fNoChecking= false; } /** @@ -69,7 +67,6 @@ public abstract class AbstractOpenWizardAction extends Action implements IWorkbe protected AbstractOpenWizardAction() { fActivatedOnTypes= null; fAcceptEmptySelection= true; - fNoChecking= true; } protected IWorkbench getWorkbench() { @@ -209,5 +206,4 @@ public abstract class AbstractOpenWizardAction extends Action implements IWorkbe } return true; } - } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/AbstractWizardDropDownAction.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/AbstractWizardDropDownAction.java new file mode 100644 index 00000000000..951dda03bbd --- /dev/null +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/AbstractWizardDropDownAction.java @@ -0,0 +1,136 @@ +/******************************************************************************* + * Copyright (c) 2000, 2004 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.cdt.internal.ui.wizards; + +import java.util.ArrayList; + +import org.eclipse.cdt.ui.CUIPlugin; +import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.core.runtime.IExtensionPoint; +import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.ActionContributionItem; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.action.IMenuCreator; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.IWorkbenchWindowPulldownDelegate2; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.internal.IWorkbenchConstants; + +public abstract class AbstractWizardDropDownAction extends Action implements IMenuCreator, IWorkbenchWindowPulldownDelegate2 { + + private final static String TAG_WIZARD = "wizard"; //$NON-NLS-1$ + private final static String ATT_CATEGORY = "category";//$NON-NLS-1$ + private Menu fMenu; + + public AbstractWizardDropDownAction() { + fMenu= null; + setMenuCreator(this); + } + + public void dispose() { + if (fMenu != null) { + fMenu.dispose(); + fMenu= null; + } + } + + public Menu getMenu(Menu parent) { + return null; + } + + public Menu getMenu(Control parent) { + if (fMenu == null) { + fMenu= new Menu(parent); + + Action[] actions= getActionFromDescriptors(); + for (int i= 0; i < actions.length; i++) { + ActionContributionItem item= new ActionContributionItem(actions[i]); + item.fill(fMenu, -1); + } + + } + return fMenu; + } + + public void run() { + // for now, just run the first available action + Action[] actions = getActionFromDescriptors(); + if (actions != null) { + for (int i = 0; i < actions.length; ++i) { + AbstractOpenWizardAction action = (AbstractOpenWizardAction) actions[0]; + if (action.isEnabled()) { + action.run(); + return; + } + } + } + } + + public Action[] getActionFromDescriptors() { + ArrayList CActions = new ArrayList(); + ArrayList CCActions = new ArrayList(); + + IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(PlatformUI.PLUGIN_ID, IWorkbenchConstants.PL_NEW); + if (extensionPoint != null) { + IConfigurationElement[] elements = extensionPoint.getConfigurationElements(); + for (int i = 0; i < elements.length; i++) { + IConfigurationElement element= elements[i]; + if (element.getName().equals(TAG_WIZARD)) { + String category = element.getAttribute(ATT_CATEGORY); + if (category != null) { + if (category.equals(CUIPlugin.CCWIZARD_CATEGORY_ID)) { + AbstractOpenWizardAction action = createWizardAction(element); + if (action != null) { + CCActions.add(action); + } + } else if (category.equals(CUIPlugin.CWIZARD_CATEGORY_ID)) { + AbstractOpenWizardAction action = createWizardAction(element); + if (action != null) { + CActions.add(action); + } + } + } + } + } + } + + //TODO: check for duplicate actions + // show C actions, then C++ Actions + CActions.addAll(CCActions); + return (Action[]) CActions.toArray(new Action[CActions.size()]); + } + + public abstract AbstractOpenWizardAction createWizardAction(IConfigurationElement element); + + /* (non-Javadoc) + * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow) + */ + public void init(IWorkbenchWindow window) { + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) + */ + public void run(IAction action) { + run(); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection) + */ + public void selectionChanged(IAction action, ISelection selection) { + } + +} diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/NewProjectDropDownAction.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/NewProjectDropDownAction.java new file mode 100644 index 00000000000..026679f343d --- /dev/null +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/NewProjectDropDownAction.java @@ -0,0 +1,102 @@ +/******************************************************************************* + * Copyright (c) 2000, 2004 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.cdt.internal.ui.wizards; + +import org.eclipse.cdt.internal.ui.ICHelpContextIds; +import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.ui.help.WorkbenchHelp; +import org.eclipse.ui.internal.IWorkbenchConstants; + +/* + * + * + * + * + * + * My C Wizard + * + * + * + * for backward compatibility: + * + * + * My C Wizard + * + * + */ +public class NewProjectDropDownAction extends AbstractWizardDropDownAction { + + private final static String ATT_PROJECT = "project";//$NON-NLS-1$ + private final static String TAG_PARAMETER = "parameter";//$NON-NLS-1$ + private final static String TAG_NAME = "name";//$NON-NLS-1$ + private final static String TAG_VALUE = "value";//$NON-NLS-1$ + private final static String ATT_CPROJECT = "cproject";//$NON-NLS-1$ + private final static String ATT_CCPROJECT = "ccproject";//$NON-NLS-1$ + + public NewProjectDropDownAction() { + super(); + WorkbenchHelp.setHelp(this, ICHelpContextIds.OPEN_PROJECT_WIZARD_ACTION); + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.internal.ui.wizards.AbstractWizardDropDownAction#createWizardAction(org.eclipse.core.runtime.IConfigurationElement) + */ + public AbstractOpenWizardAction createWizardAction(IConfigurationElement element) { + if (isProjectWizard(element)) { + return new OpenNewWizardAction(element); + } + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.internal.ui.wizards.AbstractWizardDropDownAction#isValidWizard(org.eclipse.core.runtime.IConfigurationElement) + */ + private static boolean isProjectWizard(IConfigurationElement element) { + boolean isProject = false; + String project = element.getAttribute(ATT_PROJECT); + if (project != null) + isProject = Boolean.valueOf(project).booleanValue(); + if (!isProject) + return false; + + IConfigurationElement[] classElements = element.getChildren(IWorkbenchConstants.TAG_CLASS); + if (classElements.length > 0) { + for (int i = 0; i < classElements.length; i++) { + IConfigurationElement[] paramElements = classElements[i].getChildren(TAG_PARAMETER); + for (int k = 0; k < paramElements.length; k++) { + IConfigurationElement curr = paramElements[k]; + String name = curr.getAttribute(TAG_NAME); + if (name != null && (name.equals(ATT_CPROJECT) || name.equals(ATT_CCPROJECT))) { + String value = curr.getAttribute(TAG_VALUE); + if (value != null) + return Boolean.valueOf(value).booleanValue(); + } + } + } + return false; + } else { + // fall back, if no element found then assume it's a project wizard + return true; + } + } +} diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/NewTypeDropDownAction.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/NewTypeDropDownAction.java new file mode 100644 index 00000000000..325a93b5d08 --- /dev/null +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/NewTypeDropDownAction.java @@ -0,0 +1,74 @@ +/******************************************************************************* + * Copyright (c) 2000, 2004 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.cdt.internal.ui.wizards; + +import org.eclipse.cdt.internal.ui.ICHelpContextIds; +import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.ui.help.WorkbenchHelp; +import org.eclipse.ui.internal.IWorkbenchConstants; + +/** + * + * + * + * + * My C Wizard + * + * + */ +public class NewTypeDropDownAction extends AbstractWizardDropDownAction { + + private final static String ATT_CTYPE = "ctype";//$NON-NLS-1$ + private final static String TAG_PARAMETER = "parameter";//$NON-NLS-1$ + private final static String TAG_NAME = "name";//$NON-NLS-1$ + private final static String TAG_VALUE = "value";//$NON-NLS-1$ + + public NewTypeDropDownAction() { + super(); + WorkbenchHelp.setHelp(this, ICHelpContextIds.OPEN_CLASS_WIZARD_ACTION); + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.internal.ui.wizards.AbstractWizardDropDownAction#createWizardAction(org.eclipse.core.runtime.IConfigurationElement) + */ + public AbstractOpenWizardAction createWizardAction(IConfigurationElement element) { + if (isTypeWizard(element)) { + return new OpenNewWizardAction(element); + } + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.internal.ui.wizards.AbstractWizardDropDownAction#isValidWizard(org.eclipse.core.runtime.IConfigurationElement) + */ + private static boolean isTypeWizard(IConfigurationElement element) { + IConfigurationElement[] classElements = element.getChildren(IWorkbenchConstants.TAG_CLASS); + if (classElements.length > 0) { + for (int i = 0; i < classElements.length; i++) { + IConfigurationElement[] paramElements = classElements[i].getChildren(TAG_PARAMETER); + for (int k = 0; k < paramElements.length; k++) { + IConfigurationElement curr = paramElements[k]; + String name = curr.getAttribute(TAG_NAME); + if (name != null && name.equals(ATT_CTYPE)) { + String value = curr.getAttribute(TAG_VALUE); + if (value != null) + return Boolean.valueOf(value).booleanValue(); + } + } + } + } + return false; + } +} diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/OpenNewWizardAction.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/OpenNewWizardAction.java new file mode 100644 index 00000000000..485867b7ad9 --- /dev/null +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/OpenNewWizardAction.java @@ -0,0 +1,73 @@ +/******************************************************************************* + * Copyright (c) 2000, 2004 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.cdt.internal.ui.wizards; + +import java.net.MalformedURLException; +import java.net.URL; + +import org.eclipse.cdt.internal.ui.util.CoreUtility; +import org.eclipse.cdt.ui.CUIPlugin; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.wizard.Wizard; + + +public class OpenNewWizardAction extends AbstractOpenWizardAction { + + private static final String TAG_DESCRIPTION = "description"; //$NON-NLS-1$ + private final static String ATT_NAME = "name";//$NON-NLS-1$ + private final static String ATT_CLASS = "class";//$NON-NLS-1$ + private final static String ATT_ICON = "icon";//$NON-NLS-1$ + + private IConfigurationElement fConfigurationElement; + + public OpenNewWizardAction(IConfigurationElement element) { + fConfigurationElement= element; + setText(element.getAttribute(ATT_NAME)); + + String description= getDescriptionFromConfig(fConfigurationElement); + setDescription(description); + setToolTipText(description); + setImageDescriptor(getIconFromConfig(fConfigurationElement)); + } + + private String getDescriptionFromConfig(IConfigurationElement config) { + IConfigurationElement [] children = config.getChildren(TAG_DESCRIPTION); + if (children.length>=1) { + return children[0].getValue(); + } + return ""; //$NON-NLS-1$ + } + + private ImageDescriptor getIconFromConfig(IConfigurationElement config) { + try { + String iconName = config.getAttribute(ATT_ICON); + if (iconName != null) { + URL pluginInstallUrl = Platform.getBundle(config.getDeclaringExtension().getNamespace()).getEntry("/"); //$NON-NLS-1$ + return ImageDescriptor.createFromURL(new URL(pluginInstallUrl, iconName)); + } + return null; + } catch (MalformedURLException exception) { + CUIPlugin.getDefault().logErrorMessage("Unable to load wizard icon"); //$NON-NLS-1$ + } + return ImageDescriptor.getMissingImageDescriptor(); + + } + + /* (non-Javadoc) + * @see org.eclipse.jdt.internal.ui.wizards.AbstractOpenWizardAction#createWizard() + */ + protected Wizard createWizard() throws CoreException { + return (Wizard) CoreUtility.createExtension(fConfigurationElement, ATT_CLASS); + } +} diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CUIPlugin.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CUIPlugin.java index 4de101c9e19..9229666fc1b 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CUIPlugin.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CUIPlugin.java @@ -50,9 +50,11 @@ import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IAdapterManager; import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.core.runtime.IExtensionPoint; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Status; +import org.eclipse.jface.action.Action; import org.eclipse.jface.action.GroupMarker; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.Separator; @@ -67,7 +69,9 @@ import org.eclipse.ui.IEditorReference; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PlatformUI; import org.eclipse.ui.editors.text.EditorsUI; +import org.eclipse.ui.internal.IWorkbenchConstants; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.eclipse.ui.texteditor.ChainedPreferenceStore; import org.eclipse.ui.texteditor.ConfigurationElementSorter; @@ -86,11 +90,13 @@ public class CUIPlugin extends AbstractUIPlugin { public static final String C_PROJECT_WIZARD_ID = PLUGIN_ID + ".wizards.StdCWizard"; //$NON-NLS-1$ public static final String CPP_PROJECT_WIZARD_ID = PLUGIN_ID + ".wizards.StdCCWizard"; //$NON-NLS-1$ + public final static String CWIZARD_CATEGORY_ID = "org.eclipse.cdt.ui.newCWizards"; //$NON-NLS-1$ + public final static String CCWIZARD_CATEGORY_ID = "org.eclipse.cdt.ui.newCCWizards"; //$NON-NLS-1$ + public static final String FILE_WIZARD_ID = "org.eclipse.ui.wizards.new.file"; //$NON-NLS-1$ public static final String FOLDER_WIZARD_ID = "org.eclipse.ui.wizards.new.folder"; //$NON-NLS-1$ public static final String CLASS_WIZARD_ID = "org.eclipse.cdt.ui.wizards.NewClassWizard"; //$NON-NLS-1$ public static final String SEARCH_ACTION_SET_ID = PLUGIN_ID + ".SearchActionSet"; //$NON-NLS-1$ - public static final String FOLDER_ACTION_SET_ID = PLUGIN_ID + ".CFolderActionSet"; //$NON-NLS-1$ public static final String BUILDER_ID = PLUGIN_CORE_ID + ".cbuilder"; //$NON-NLS-1$ private static CUIPlugin fgCPlugin; @@ -178,6 +184,14 @@ public class CUIPlugin extends AbstractUIPlugin { public static final String ID_TYPE_HIERARCHY = "org.eclipse.cdt.ui.TypeHierarchyView"; //$NON-NLS-1$ + /** + * The id of the C Element Creation action set + * (value "org.eclipse.cdt.ui.CElementCreationActionSet"). + * + * @since 2.0 + */ + public static final String ID_CELEMENT_CREATION_ACTION_SET= "org.eclipse.cdt.ui.CElementCreationActionSet"; //$NON-NLS-1$ + // -------- static methods -------- static { @@ -647,5 +661,50 @@ public class CUIPlugin extends AbstractUIPlugin { fCEditorTextHoverDescriptors= null; } + private final static String TAG_WIZARD = "wizard"; //$NON-NLS-1$ + private final static String ATT_CATEGORY = "category";//$NON-NLS-1$ + private final static String ATT_PROJECT = "project";//$NON-NLS-1$ + + /** + * Returns IDs of all C project wizards contributed to the workbench. + * + * @return an array of wizard ids + */ + public static String[] getCProjectWizardIDs() { + ArrayList CActions = new ArrayList(); + ArrayList CCActions = new ArrayList(); + + IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(PlatformUI.PLUGIN_ID, IWorkbenchConstants.PL_NEW); + if (extensionPoint != null) { + IConfigurationElement[] elements = extensionPoint.getConfigurationElements(); + for (int i = 0; i < elements.length; i++) { + IConfigurationElement element= elements[i]; + if (element.getName().equals(TAG_WIZARD)) { + String category = element.getAttribute(ATT_CATEGORY); + if (category != null && (category.equals(CUIPlugin.CCWIZARD_CATEGORY_ID) + || category.equals(CUIPlugin.CWIZARD_CATEGORY_ID))) { + String project = element.getAttribute(ATT_PROJECT); + if (project != null && Boolean.valueOf(project).booleanValue()) { + String id = element.getAttribute(IWorkbenchConstants.TAG_ID); + if (id != null) { + if (category.equals(CUIPlugin.CWIZARD_CATEGORY_ID)) { + if (!CActions.contains(id)) + CActions.add(id); + } else { + if (!CCActions.contains(id)) + CCActions.add(id); + } + } + } + } + } + } + } + + //TODO: check for duplicate actions + // show C actions, then C++ Actions + CActions.addAll(CCActions); + return (String[]) CActions.toArray(new String[CActions.size()]); + } } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/actions/OpenClassWizardAction.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/actions/OpenClassWizardAction.java deleted file mode 100644 index 0acff18e787..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/actions/OpenClassWizardAction.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.eclipse.cdt.ui.actions; - -import org.eclipse.cdt.internal.ui.ICHelpContextIds; -import org.eclipse.cdt.ui.wizards.NewClassWizard; -import org.eclipse.jface.wizard.Wizard; -import org.eclipse.ui.IWorkbenchWindowActionDelegate; -import org.eclipse.ui.help.WorkbenchHelp; - -/** - * TODO: Provide description for "OpenClassWizardAction". - * @see IWorkbenchWindowActionDelegate - */ -public class OpenClassWizardAction extends AbstractOpenWizardAction implements IWorkbenchWindowActionDelegate { - public OpenClassWizardAction() { - WorkbenchHelp.setHelp(this, ICHelpContextIds.OPEN_CLASS_WIZARD_ACTION); - } - - public OpenClassWizardAction(String label, Class[] acceptedTypes) { - super(label, acceptedTypes, false); - WorkbenchHelp.setHelp(this, ICHelpContextIds.OPEN_CLASS_WIZARD_ACTION); - } - - protected Wizard createWizard() { - return new NewClassWizard(); - } -}