/*****************************************************************************
* Copyright (c) 2010 CEA LIST.
*
* 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:
* Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
*****************************************************************************/
package org.eclipse.papyrus.properties.runtime.view.content;
import org.eclipse.papyrus.properties.runtime.Activator;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridLayout;
/**
* Descriptor for GridLayout
*/
public class GridLayoutDescriptor extends LayoutDescriptor {
/** number of columns for the layout */
private final int numColumns;
/** equal columns width */
private final boolean sameWidth;
/**
* Creates a new GridLayoutDescriptor.
*
* @param numColumns
* the number of columns for the grid layout
* @param sameWidth
* boolean true
when columns in the layout should have the same width
*/
public GridLayoutDescriptor(int numColumns, boolean sameWidth) {
this.numColumns = numColumns;
this.sameWidth = sameWidth;
}
/**
* Creates a new GridLayoutDescriptor with default values
*/
public GridLayoutDescriptor() {
this.numColumns = 2;
this.sameWidth = true;
}
/**
* Returns the number of columns
*
* @return the number of columns
*/
public int getNumColumns() {
return numColumns;
}
/**
* Returns true
if the columns in the layout should have the same size
*
* @return true
if the columns in the layout should have the same size
*/
public boolean isSameWidth() {
return sameWidth;
}
/**
* {@inheritDoc}
*/
public String getText() {
return "GridLayout (" + numColumns + ", " + sameWidth + ")";
}
/**
* {@inheritDoc}
*/
public Image getImage() {
return Activator.getImage("/icons/GridLayout.gif");
}
/**
* {@inheritDoc}
*/
@Override
public GridLayout createLayout() {
return new GridLayout(numColumns, sameWidth);
}
/**
* {@inheritDoc}
*/
@Override
public GridLayoutDescriptorState createState(boolean readOnly) {
return new GridLayoutDescriptorState(this, readOnly);
}
}