/******************************************************************************* * Copyright (c) 2007, 2009 Intel Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Intel Corporation - initial API and implementation * IBM Corporation *******************************************************************************/ package org.eclipse.cdt.ui.newui; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.TableColumn; import org.eclipse.cdt.core.resources.IPathEntryStoreListener; import org.eclipse.cdt.core.resources.PathEntryStoreChangedEvent; import org.eclipse.cdt.core.settings.model.CLibraryPathEntry; import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry; import org.eclipse.cdt.core.settings.model.ICSettingEntry; import org.eclipse.cdt.internal.ui.newui.Messages; /** * @noextend This class is not intended to be subclassed by clients. */ public class LibraryPathTab extends AbstractLangsListTab implements IPathEntryStoreListener { private static final int[] PRIVATE_SASH_WEIGHTS = new int[] { 0, 30 }; @Override public void additionalTableSet() { columnToFit = new TableColumn(table, SWT.NONE); } @Override public void createControls(Composite parent) { super.createControls(parent); sashForm.setWeights(PRIVATE_SASH_WEIGHTS); langTree.setVisible(false); } public void pathEntryStoreChanged(PathEntryStoreChangedEvent event) { updateData(getResDesc()); } @Override public ICLanguageSettingEntry doAdd() { IncludeDialog dlg = new IncludeDialog( usercomp.getShell(), IncludeDialog.NEW_DIR, Messages.LibraryPathTab_1, EMPTY_STR, getResDesc().getConfiguration(), 0); if (dlg.open() && dlg.text1.trim().length() > 0 ) { toAllCfgs = dlg.check1; toAllLang = dlg.check3; int flags = 0; if (dlg.check2) flags = ICSettingEntry.VALUE_WORKSPACE_PATH; return new CLibraryPathEntry(dlg.text1, flags); } return null; } @Override public ICLanguageSettingEntry doEdit(ICLanguageSettingEntry ent) { IncludeDialog dlg = new IncludeDialog( usercomp.getShell(), IncludeDialog.OLD_DIR, Messages.LibraryPathTab_2, ent.getValue(), getResDesc().getConfiguration(), (ent.getFlags() & ICSettingEntry.VALUE_WORKSPACE_PATH)); if (dlg.open() && dlg.text1.trim().length() > 0 ) { int flags = 0; if (dlg.check2) flags = ICSettingEntry.VALUE_WORKSPACE_PATH; return new CLibraryPathEntry(dlg.text1, flags); } return null; } @Override public int getKind() { return ICSettingEntry.LIBRARY_PATH; } @Override protected boolean isHeaderVisible() { return false; } }