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 *******************************************************************************/
11package org.eclipse.wb.internal.core.model.property.editor.presentation;
12
13import org.eclipse.wb.internal.core.model.property.Property;
14import org.eclipse.wb.internal.core.model.property.editor.PropertyEditor;
15import 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 */
24public 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