use of org.talend.commons.ui.gmf.util.ColorPalettePopup in project tdi-studio-se by Talend.
the class BasicNotePropertyComposite method createFontsGroup.
/**
* Create font tool bar group
*
* @param parent - parent composite
* @return - font tool bar
*/
protected Composite createFontsGroup(Composite parent) {
Composite familySize = getWidgetFactory().createComposite(parent);
GridLayout layout = new GridLayout(2, false);
layout.horizontalSpacing = 0;
layout.verticalSpacing = 0;
layout.marginHeight = 0;
layout.marginWidth = 0;
familySize.setLayout(layout);
fontFamilyCombo = getWidgetFactory().createCCombo(familySize, SWT.DROP_DOWN | SWT.READ_ONLY | SWT.BORDER);
fontFamilyCombo.setItems(FontHelper.getFontNames());
fontFamilyCombo.setText((String) note.getPropertyValue(EParameterName.NOTE_FONT.getName()));
fontFamilyCombo.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
updateFontFamily();
}
});
fontSizeCombo = getWidgetFactory().createCCombo(familySize, SWT.DROP_DOWN | SWT.READ_ONLY | SWT.BORDER);
fontSizeCombo.setItems(FontHelper.getFontSizes());
fontSizeCombo.setText((String) note.getPropertyValue(EParameterName.FONT_SIZE.getName()));
fontSizeCombo.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
updateFontSize();
}
});
Composite toolBar = new Composite(parent, SWT.SHADOW_NONE);
toolBar.setLayout(new GridLayout(7, false));
toolBar.setBackground(parent.getBackground());
fontBoldButton = new Button(toolBar, SWT.TOGGLE);
fontBoldButton.setImage(ImageProvider.getImage(EImage.BOLD_ICON));
fontBoldButton.getAccessible().addAccessibleListener(new AccessibleAdapter() {
@Override
public void getName(AccessibleEvent e) {
e.result = "Bold";
}
});
fontItalicButton = new Button(toolBar, SWT.TOGGLE);
fontItalicButton.setImage(ImageProvider.getImage(EImage.ITALIC_ICON));
fontItalicButton.getAccessible().addAccessibleListener(new AccessibleAdapter() {
@Override
public void getName(AccessibleEvent e) {
e.result = "Italic";
}
});
fontBoldButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
updateFontBold();
}
});
fontItalicButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
updateFontItalic();
}
});
new Label(toolBar, SWT.LEFT);
fontColorButton = new Button(toolBar, SWT.PUSH);
Image overlyedImage = new ColorOverlayImageDescriptor(ImageProvider.getImageDesc(EImage.FONT_COLOR_ICON).getImageData(), ColorUtils.stringToRGB((String) note.getPropertyValue(EParameterName.NOTETXT_COLOR.getName()))).createImage();
fontColorButton.setImage(overlyedImage);
fontColorButton.getAccessible().addAccessibleListener(new AccessibleAdapter() {
@Override
public void getName(AccessibleEvent e) {
e.result = "Font Color";
}
});
fontColorButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
ColorPalettePopup popup = new ColorPalettePopup(fontColorButton.getParent().getShell(), IDialogConstants.BUTTON_BAR_HEIGHT);
Rectangle r = fontColorButton.getBounds();
Point location = fontColorButton.getParent().toDisplay(r.x, r.y);
popup.open(new Point(location.x, location.y + r.height));
if (popup.getSelectedColor() == null && !popup.useDefaultColor()) {
return;
}
// selectedColor should be null if we are to use the default color
RGB selectedColor = popup.getSelectedColor();
if (popup.useDefaultColor()) {
selectedColor = new RGB(0, 0, 0);
}
if (selectedColor != null) {
//$NON-NLS-1$ //$NON-NLS-2$
String value = selectedColor.red + ";" + selectedColor.green + ";" + selectedColor.blue;
Command cmd = new PropertyChangeCommand(note, EParameterName.NOTETXT_COLOR.getName(), value);
getCommandStack().execute(cmd);
note.refresh();
Image overlyedImage = new ColorOverlayImageDescriptor(ImageProvider.getImageDesc(EImage.FONT_COLOR_ICON).getImageData(), selectedColor).createImage();
fontColorButton.setImage(overlyedImage);
text.setForeground(new Color(null, ColorUtils.stringToRGB((String) note.getPropertyValue(EParameterName.NOTETXT_COLOR.getName()))));
}
}
});
new Label(toolBar, SWT.LEFT);
lineColorButton = new Button(toolBar, SWT.PUSH);
overlyedImage = new ColorOverlayImageDescriptor(ImageProvider.getImageDesc(EImage.LINE_COLOR_ICON).getImageData(), ColorUtils.stringToRGB((String) note.getPropertyValue(EParameterName.NOTE_LINECOLOR.getName()))).createImage();
lineColorButton.setImage(overlyedImage);
lineColorButton.getAccessible().addAccessibleListener(new AccessibleAdapter() {
@Override
public void getName(AccessibleEvent e) {
e.result = "Line Color";
}
});
lineColorButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
ColorPalettePopup popup = new ColorPalettePopup(lineColorButton.getParent().getShell(), IDialogConstants.BUTTON_BAR_HEIGHT);
Rectangle r = lineColorButton.getBounds();
Point location = lineColorButton.getParent().toDisplay(r.x, r.y);
popup.open(new Point(location.x, location.y + r.height));
if (popup.getSelectedColor() == null && !popup.useDefaultColor()) {
return;
}
// selectedColor should be null if we are to use the default color
RGB selectedColor = popup.getSelectedColor();
if (popup.useDefaultColor()) {
selectedColor = new RGB(237, 201, 122);
}
if (selectedColor != null) {
//$NON-NLS-1$ //$NON-NLS-2$
String value = selectedColor.red + ";" + selectedColor.green + ";" + selectedColor.blue;
Command cmd = new PropertyChangeCommand(note, EParameterName.NOTE_LINECOLOR.getName(), value);
getCommandStack().execute(cmd);
note.refresh();
Image overlyedImage = new ColorOverlayImageDescriptor(ImageProvider.getImageDesc(EImage.LINE_COLOR_ICON).getImageData(), selectedColor).createImage();
lineColorButton.setImage(overlyedImage);
}
}
});
fillColorButton = new Button(toolBar, SWT.PUSH);
overlyedImage = new ColorOverlayImageDescriptor(ImageProvider.getImageDesc(EImage.FILL_COLOR_ICON).getImageData(), ColorUtils.stringToRGB((String) note.getPropertyValue(EParameterName.NOTE_COLOR.getName()))).createImage();
fillColorButton.setImage(overlyedImage);
fillColorButton.getAccessible().addAccessibleListener(new AccessibleAdapter() {
@Override
public void getName(AccessibleEvent e) {
e.result = "Fill Color";
}
});
fillColorButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
ColorPalettePopup popup = new ColorPalettePopup(fillColorButton.getParent().getShell(), IDialogConstants.BUTTON_BAR_HEIGHT);
Rectangle r = fillColorButton.getBounds();
Point location = fillColorButton.getParent().toDisplay(r.x, r.y);
popup.open(new Point(location.x, location.y + r.height));
if (popup.getSelectedColor() == null && !popup.useDefaultColor()) {
return;
}
// selectedColor should be null if we are to use the default color
RGB selectedColor = popup.getSelectedColor();
if (popup.useDefaultColor()) {
selectedColor = new RGB(255, 255, 203);
}
if (selectedColor != null) {
//$NON-NLS-1$ //$NON-NLS-2$
String value = selectedColor.red + ";" + selectedColor.green + ";" + selectedColor.blue;
Command cmd = new PropertyChangeCommand(note, EParameterName.NOTE_COLOR.getName(), value);
getCommandStack().execute(cmd);
note.refresh();
Image overlyedImage = new ColorOverlayImageDescriptor(ImageProvider.getImageDesc(EImage.FILL_COLOR_ICON).getImageData(), selectedColor).createImage();
fillColorButton.setImage(overlyedImage);
}
}
});
return toolBar;
}
Aggregations