1 /******************************************************************************* 2 * Copyright (c) 2007 IBM Corporation and others. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * IBM Corporation - initial API and implementation 10 *******************************************************************************/ 11 package org.eclipse.ui.texteditor.rulers; 12 13 14 /** 15 * Provides support to modify and query the visibility of 16 * ruler columns and test whether a ruler column is supported. 17 * <p> 18 * This interface must not be implemented by clients. 19 * </p> 20 * 21 * @since 3.3 22 */ 23 public interface IColumnSupport { 24 25 /** 26 * Returns <code>true</code> if the column described by <code>descriptor</code> is 27 * currently showing, <code>false</code> if not. 28 * 29 * @param descriptor the column descriptor 30 * @return <code>true</code> if the specified column is currently visible 31 */ 32 boolean isColumnVisible(RulerColumnDescriptor descriptor); 33 34 /** 35 * Attempts to set the visibility of the column described by <code>descriptor</code>. Nothing 36 * happens if the visibility is already as requested, or if the column is not supported by the 37 * editor. 38 * 39 * @param descriptor the column descriptor 40 * @param visible <code>true</code> to show the column, <code>false</code> to hide it 41 */ 42 void setColumnVisible(RulerColumnDescriptor descriptor, boolean visible); 43 44 /** 45 * Returns <code>true</code> if the column described by <code>descriptor</code> is 46 * supported by the receiver's editor, <code>false</code> if <code>id</code> is not the 47 * identifier of a known column contribution, if the column does not target the editor, or if 48 * the editor does not support contributed columns. 49 * 50 * @param descriptor the column descriptor 51 * @return <code>true</code> if the specified column is supported 52 */ 53 boolean isColumnSupported(RulerColumnDescriptor descriptor); 54 55 /** 56 * Removes and disposes all currently visible ruler columns. 57 */ 58 void dispose(); 59 }