1 /******************************************************************************* 2 * Copyright (c) 2011 Google, Inc. 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 * Google, Inc. - initial API and implementation 10 *******************************************************************************/ 11 package org.eclipse.wb.internal.core.model.property.editor.presentation; 12 13 import org.eclipse.wb.internal.core.model.property.Property; 14 import org.eclipse.wb.internal.core.model.property.editor.PropertyEditor; 15 import org.eclipse.wb.internal.core.model.property.table.PropertyTable; 16 17 /** 18 * Implementations of {@link PropertyEditorPresentation} are used to show some presentation for 19 * visible, but not activated yet {@link PropertyEditor}. 20 * 21 * @author scheglov_ke 22 * @coverage core.model.property.editor 23 */ 24 public abstract class PropertyEditorPresentation { 25 /** 26 * Shows presentation for given {@link Property}. 27 * 28 * @return the width that this presentation occupies on the right of given rectangle. 29 */ 30 public abstract int show(PropertyTable propertyTable, 31 Property property, 32 int x, 33 int y, 34 int width, 35 int height); 36 37 /** 38 * Hides presentation. 39 */ 40 public abstract void hide(PropertyTable propertyTable, Property property); 41 } 42