From 1656612800b93b73009a5f80c3e47230c7ec8b35 Mon Sep 17 00:00:00 2001 From: Andrew Gvozdev Date: Mon, 21 Sep 2009 16:19:16 +0000 Subject: [PATCH] bug 279502: User friendly icons for Paths&Symbols and Includes tree in Project Explorer Added icon for built-in include folders. Also new icon for workspace and using plain folder icon for filesystem folders. --- .../icons/obj16/fldr_sys_obj.gif | Bin 0 -> 238 bytes .../icons/obj16/workspace.gif | Bin 308 -> 918 bytes .../icons/obj16/wsp_includefolder.gif | Bin 598 -> 366 bytes .../cdt/internal/ui/CPluginImages.java | 4 +++ .../cdt/ui/newui/AbstractLangsListTab.java | 30 ++++++++++++++---- .../eclipse/cdt/ui/newui/IncludeDialog.java | 19 ++++++++--- 6 files changed, 41 insertions(+), 12 deletions(-) create mode 100644 core/org.eclipse.cdt.ui/icons/obj16/fldr_sys_obj.gif diff --git a/core/org.eclipse.cdt.ui/icons/obj16/fldr_sys_obj.gif b/core/org.eclipse.cdt.ui/icons/obj16/fldr_sys_obj.gif new file mode 100644 index 0000000000000000000000000000000000000000..07266c0ff29d3dfd69b5453e94e56636a2e61213 GIT binary patch literal 238 zcmZ?wbhEHb6krfwXpv&D39{)4l2K@IRBLe5Z7`mbrm`eY#j(RQ2fcl z$iN`apu+$JAUhpcvmdDUrD$qho2r!ay6c#R#d&5+W=Vyh_umCuR!(71@#*Rj3Sh38 z!LOd<cg5bR=$c;W(4T#H7$8HpAwRg8dbD4pBi-j@-7k a7*-(;VPT=({s<>!)~VB`C&Vc-SOWm1lxK$k literal 0 HcmV?d00001 diff --git a/core/org.eclipse.cdt.ui/icons/obj16/workspace.gif b/core/org.eclipse.cdt.ui/icons/obj16/workspace.gif index eb7b90c76711ac9cfcea0843bccf09b78457fa7f..b5a0012761769fc0f0201cbc2d94d8cc4239ad0c 100644 GIT binary patch literal 918 zcmXw&Ur1AN6vw}ta~n}KetA=s&(Gi-@YAGD_Z7B2Q6sVQ;Et!p4b zu!})HME-dQi#n1Hej zgjWOus1tNq(ugp4#Q)EYG_xoL6n9w6#OA{2J5Ud_i(J1tTD!cK2ou6X8{{t2bdl&K z?sqGF0Z&5e7ddMf&0|~cPyH- zt*L5RSM#bVee3hn=9T0us4HI@6*wg(cxp<_%b={S9^AQf z_vXdxSI*tOe&OcT^Ow$@`Tzev11*8#PZmZ71_cHkkR>2LF|Y+XOepZsk?Qw&_$)yq zW0Is>iqu3CgJZm{r`9HPa`*qjtQ zJ9*!fDx13UrE}^`mNc0xX){?-aePgi$(k;cEnOy?I?itHJhyz|jzbHsZ{M{4%BGxi zo9_SKHs#8xEl*DM+`fL{&&{n*-u-#=>CcyMf4=64g(N?{KUZ4 zePDh;gl3q=(S<<~niJJL5pTv_Cw7N89XWgU^aXE625SHjQo=g` literal 598 zcmZ?wbhEHb6krfwc*ejmwXtJrV`ov}GsdK~P=LNGghC!cK7R#-`{`!UU}{3%Bw$CUi-1};on~`=l%b9==_O|(`(HqRa^9x zTmFB&c}1J?(iW2?%_a+)Oy@V5&Z!3?vuQQv4^H&|f4bz#sSTUD4AyrTu4y+~*=l@c zQ^u7|ng4Hf-r8I9|NgZ97fb(Nt-ZP_^TL|S|Ns9p3@A|i$->CM5Xztfas?<(7}z&A zgf@kGw6?W2cZPaO_4fICbTxSyPMzi-Jh98xVD3Cue;@D85PL~Ud39a+HS%^%j0|Ru zYFk%rRg-pT;x{*Ul0B%dr>?Fl>)ga-V`Hg&{;2X1WtS#)H#aL4o!k0y`Z{v%O`HJ% z))FkNubJ7HSvgok`TYDWxJ`fl`o$G06ci+NVTNLJTTe5qB*!iR)+R1d&9D^_jY&tl gIGQy=9vpCV;Sf-CDcQ0hqv_;i4b_z)k{k@y0GZ6?fB*mh diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CPluginImages.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CPluginImages.java index c0e1947b03a..f5420eb5059 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CPluginImages.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CPluginImages.java @@ -98,6 +98,7 @@ public class CPluginImages { public static final String IMG_OBJS_TUNIT_RESOURCE_H= NAME_PREFIX + "ch_resource_obj.gif"; //$NON-NLS-1$ public static final String IMG_OBJS_TUNIT_RESOURCE_A= NAME_PREFIX + "asm_resource_obj.gif"; //$NON-NLS-1$ public static final String IMG_OBJS_SOURCE_ROOT= NAME_PREFIX + "sroot_obj.gif"; // $NON-NLS-1$ //$NON-NLS-1$ + public static final String IMG_OBJS_FOLDER= NAME_PREFIX + "fldr_obj.gif"; // $NON-NLS-1$ //$NON-NLS-1$ public static final String IMG_OBJS_CFOLDER= NAME_PREFIX + "cfolder_obj.gif"; // $NON-NLS-1$ //$NON-NLS-1$ public static final String IMG_OBJS_CONFIG = NAME_PREFIX + "config.gif"; // $NON-NLS-1$ //$NON-NLS-1$ public static final String IMG_OBJS_ARCHIVE= NAME_PREFIX + "ar_obj.gif"; //$NON-NLS-1$ @@ -114,6 +115,7 @@ public class CPluginImages { public static final String IMG_OBJS_INCLUDES_CONTAINER = NAME_PREFIX + "includes_container.gif"; //$NON-NLS-1$ public static final String IMG_OBJS_INCLUDES_FOLDER = NAME_PREFIX + "hfolder_obj.gif"; //$NON-NLS-1$ public static final String IMG_OBJS_QUOTE_INCLUDES_FOLDER = NAME_PREFIX + "hfolder_quote_obj.gif"; //$NON-NLS-1$ + public static final String IMG_OBJS_INCLUDES_FOLDER_SYSTEM = NAME_PREFIX + "fldr_sys_obj.gif"; //$NON-NLS-1$ public static final String IMG_OBJS_INCLUDES_FOLDER_WORKSPACE = NAME_PREFIX + "wsp_includefolder.gif"; //$NON-NLS-1$ public static final String IMG_OBJS_ORDER= NAME_PREFIX + "cp_order_obj.gif"; //$NON-NLS-1$ public static final String IMG_OBJS_EXCLUDSION_FILTER_ATTRIB= NAME_PREFIX + "exclusion_filter_attrib.gif"; //$NON-NLS-1$ @@ -180,6 +182,7 @@ public class CPluginImages { public static final ImageDescriptor DESC_OBJS_TUNIT_RESOURCE_H= createManaged(T_OBJ, IMG_OBJS_TUNIT_RESOURCE_H); public static final ImageDescriptor DESC_OBJS_TUNIT_RESOURCE_A= createManaged(T_OBJ, IMG_OBJS_TUNIT_RESOURCE_A); public static final ImageDescriptor DESC_OBJS_SOURCE_ROOT= createManaged(T_OBJ, IMG_OBJS_SOURCE_ROOT); + public static final ImageDescriptor DESC_OBJS_FOLDER= createManaged(T_OBJ, IMG_OBJS_FOLDER); public static final ImageDescriptor DESC_OBJS_CFOLDER= createManaged(T_OBJ, IMG_OBJS_CFOLDER); public static final ImageDescriptor DESC_OBJS_CONFIG = createManaged(T_OBJ, IMG_OBJS_CONFIG); public static final ImageDescriptor DESC_OBJS_ARCHIVE= createManaged(T_OBJ, IMG_OBJS_ARCHIVE); @@ -197,6 +200,7 @@ public class CPluginImages { public static final ImageDescriptor DESC_OBJS_INCLUDES_CONTAINER= createManaged(T_OBJ, IMG_OBJS_INCLUDES_CONTAINER); public static final ImageDescriptor DESC_OBJS_INCLUDES_FOLDER= createManaged(T_OBJ, IMG_OBJS_INCLUDES_FOLDER); public static final ImageDescriptor DESC_OBJS_QUOTE_INCLUDES_FOLDER= createManaged(T_OBJ, IMG_OBJS_QUOTE_INCLUDES_FOLDER); + public static final ImageDescriptor DESC_OBJS_INCLUDES_FOLDER_SYSTEM = createManaged(T_OBJ, IMG_OBJS_INCLUDES_FOLDER_SYSTEM); public static final ImageDescriptor DESC_OBJS_INCLUDES_FOLDER_WORKSPACE= createManaged(T_OBJ, IMG_OBJS_INCLUDES_FOLDER_WORKSPACE); public static final ImageDescriptor DESC_OBJS_ORDER= createManaged(T_OBJ, IMG_OBJS_ORDER); public static final ImageDescriptor DESC_OBJS_EXCLUSION_FILTER_ATTRIB = createManaged(T_OBJ, IMG_OBJS_EXCLUDSION_FILTER_ATTRIB); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractLangsListTab.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractLangsListTab.java index b79f1a18325..afba6cbd2be 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractLangsListTab.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractLangsListTab.java @@ -116,9 +116,12 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab { private static final Comparator comp = CDTListComparator.getInstance(); - private final static Image IMG_FS = CPluginImages.get(CPluginImages.IMG_FILESYSTEM); - private final static Image IMG_WS = CPluginImages.get(CPluginImages.IMG_WORKSPACE); - private final static Image IMG_MK = CPluginImages.get(CPluginImages.IMG_OBJS_MACRO); + private final static Image IMG_FOLDER = CPluginImages.get(CPluginImages.IMG_OBJS_FOLDER); + private final static Image IMG_INCLUDES_FOLDER = CPluginImages.get(CPluginImages.IMG_OBJS_INCLUDES_FOLDER); + private final static Image IMG_BUILTIN_FOLDER = CPluginImages.get(CPluginImages.IMG_OBJS_INCLUDES_FOLDER_SYSTEM); + private final static Image IMG_WORKSPACE = CPluginImages.get(CPluginImages.IMG_WORKSPACE); + private final static Image IMG_INCLUDES_FOLDER_WORKSPACE = CPluginImages.get(CPluginImages.IMG_OBJS_INCLUDES_FOLDER_WORKSPACE); + private final static Image IMG_MACRO = CPluginImages.get(CPluginImages.IMG_OBJS_MACRO); private static final int[] DEFAULT_SASH_WEIGHTS = new int[] { 10, 30 }; @Override @@ -683,12 +686,25 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab { public Image getColumnImage(Object element, int columnIndex) { if (columnIndex > 0) return null; if (! (element instanceof ICLanguageSettingEntry)) return null; + ICLanguageSettingEntry le = (ICLanguageSettingEntry) element; if (le.getKind() == ICSettingEntry.MACRO) - return IMG_MK; - if ((le.getFlags() & ICSettingEntry.VALUE_WORKSPACE_PATH) != 0) - return IMG_WS; - return IMG_FS; + return IMG_MACRO; + if ((le.getFlags() & ICSettingEntry.BUILTIN) != 0) + return IMG_BUILTIN_FOLDER; + + boolean isWorkspacePath = (le.getFlags() & ICSettingEntry.VALUE_WORKSPACE_PATH) != 0; + if (le.getKind() == ICSettingEntry.INCLUDE_PATH || le.getKind() == ICSettingEntry.INCLUDE_FILE) { + if (isWorkspacePath) + return IMG_INCLUDES_FOLDER_WORKSPACE; + else + return IMG_INCLUDES_FOLDER; + } else { + if (isWorkspacePath) + return IMG_WORKSPACE; + else + return IMG_FOLDER; + } } @Override public String getText(Object element) { diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/IncludeDialog.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/IncludeDialog.java index e4bdb6046cf..242a5d4b1d1 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/IncludeDialog.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/IncludeDialog.java @@ -10,13 +10,13 @@ *******************************************************************************/ package org.eclipse.cdt.ui.newui; -//import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.graphics.Image; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; @@ -30,6 +30,8 @@ import org.eclipse.cdt.core.settings.model.ICConfigurationDescription; import org.eclipse.cdt.core.settings.model.ICMultiConfigDescription; import org.eclipse.cdt.core.settings.model.ICSettingEntry; +import org.eclipse.cdt.internal.ui.CPluginImages; + /** * @noextend This class is not intended to be subclassed by clients. */ @@ -125,9 +127,9 @@ public class IncludeDialog extends AbstractPropertyDialog { c_wsp.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { - c_wsp.setImage(AbstractExportTab.getWspImage(c_wsp.getSelection())); + c_wsp.setImage(getWspImage(c_wsp.getSelection())); }}); - c_wsp.setImage(AbstractExportTab.getWspImage(isWsp)); + c_wsp.setImage(getWspImage(isWsp)); // Buttons Composite c2 = new Composite (c, SWT.NONE); @@ -187,7 +189,7 @@ public class IncludeDialog extends AbstractPropertyDialog { s = strip_wsp(s); text.setText(s); c_wsp.setSelection(true); - c_wsp.setImage(AbstractExportTab.getWspImage(c_wsp.getSelection())); + c_wsp.setImage(getWspImage(c_wsp.getSelection())); } } else if (e.widget.equals(b_file)) { if ((mode & DIR_MASK)== DIR_MASK) @@ -197,11 +199,18 @@ public class IncludeDialog extends AbstractPropertyDialog { if (s != null) { text.setText(s); c_wsp.setSelection(false); - c_wsp.setImage(AbstractExportTab.getWspImage(c_wsp.getSelection())); + c_wsp.setImage(getWspImage(c_wsp.getSelection())); } } else if (e.widget.equals(b_vars)) { s = AbstractCPropertyTab.getVariableDialog(shell, cfgd); if (s != null) text.insert(s); } } + + static private Image getWspImage(boolean isWsp) { + final Image IMG_WORKSPACE = CPluginImages.get(CPluginImages.IMG_WORKSPACE); + final Image IMG_FILESYSTEM = CPluginImages.get(CPluginImages.IMG_OBJS_FOLDER); + return isWsp ? IMG_WORKSPACE : IMG_FILESYSTEM; + } + }