blob: 15d89163b688d3441d3fd31136155e362ab540ce [file] [log] [blame]
/******************************************************************************
* Copyright (c) 2006 IBM Corporation.
* 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:
* IBM Corporation - Initial Implementation
*
*****************************************************************************/
package org.eclipse.ptp.utils.ui.swt;
/**
* @author Richard Maciel
*
*/
public abstract class GenericControlMold {
int bitmask;
/**
* This field is responsible for alloc bitset fields. It will always
* represent the smaller bitset index available. Its name comes from the
* abbr of exponent, because it indicates the n in the exponentiation
* exp(2,n)
*/
protected static int index = 0;
public static final int NONE = 0;
/** A label is shown above or on the left (default) of the component. */
public static final int HAS_LABEL = 1 << index++;
/** A label is shown above the component. Has effect only when HAS_LABEL is set. */
public static final int LABELABOVE = 1 << index++;
/** A tooltip is shown when the mouse moves over the component. */
public static final int HASTOOLTIP = 1 << index++;
// public static final int EQUALWIDTH = 1 << index++;
/** A button is shown on the right of the component. */
public static final int HASBUTTON = 1 << index++;
public static final int GRID_DATA_ALIGNMENT_FILL = 1 << index++;
public static final int GRID_DATA_GRAB_EXCESS_SPACE = 1 << index++;
public static final int GRID_DATA_SPAN = 1 << index++;
String label = null;
String buttonLabel = null;
String tooltip = null;
/**
* @param hasLabel
*/
public GenericControlMold(int bitmask) {
this.bitmask = bitmask;
}
public GenericControlMold(int bitmask, String label) {
this.bitmask = bitmask;
setLabel(label);
}
public int getBitmask() {
return bitmask;
}
public void addBitmask(int bitmask) {
this.bitmask |= bitmask;
}
public void removeBitmask(int bitmask) {
this.bitmask &= ~bitmask;
}
// public void setBitmask(int bitmask) {
// this.bitmask = bitmask;
// }
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
if (label != null) {
addBitmask(HAS_LABEL);
} else {
removeBitmask(HAS_LABEL);
}
}
public String getTooltip() {
return tooltip;
}
public void setTooltip(String tooltip) {
this.tooltip = tooltip;
if (tooltip != null) {
addBitmask(HASTOOLTIP);
} else {
removeBitmask(HASTOOLTIP);
}
}
public String getButtonLabel() {
return buttonLabel;
}
public void setButtonLabel(String buttonLabel) {
this.buttonLabel = buttonLabel;
if (buttonLabel != null) {
addBitmask(HASBUTTON);
} else {
// not necessary, a button without label is allowed.
}
}
protected boolean hasHeight() {
return false;
}
protected boolean hasWidth() {
return false;
}
protected int getHeight() {
return 0;
}
protected int getWidth() {
return 0;
}
}