/****************************************************************************
* Copyright (c) 2008, 2009 Jeremy Dowdall
* 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:
* Jeremy Dowdall <jeremyd@aspencloud.com> - initial API and implementation
*****************************************************************************/
package org.eclipse.nebula.cwt.v;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
public class VLabel extends VControl {
public VLabel(VPanel panel, int style) {
super(panel, style | SWT.NO_FOCUS);
if(hasStyle(SWT.SEPARATOR)) {
setMargins(0, 0);
}
setPainter(new VLabelPainter());
}
@Override
public Point computeSize(int wHint, int hHint, boolean changed) {
if(hasStyle(SWT.SEPARATOR)) {
return new Point(2,2);
} else {
return super.computeSize(wHint, hHint, changed);
}
}
@Override
public Type getType() {
return VControl.Type.Label;
}
@Override
public void setBounds(int x, int y, int width, int height) {
super.setBounds(
x,
y,
(hasStyle(SWT.SEPARATOR) && !hasStyle(SWT.HORIZONTAL)) ? 2 : width,
(hasStyle(SWT.SEPARATOR) && hasStyle(SWT.HORIZONTAL)) ? 2 : height
);
}
}