Search in sources :

Example 1 with ColorPalettePopup

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;
}
Also used : Composite(org.eclipse.swt.widgets.Composite) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) Color(org.eclipse.swt.graphics.Color) CLabel(org.eclipse.swt.custom.CLabel) Label(org.eclipse.swt.widgets.Label) Rectangle(org.eclipse.swt.graphics.Rectangle) AccessibleAdapter(org.eclipse.swt.accessibility.AccessibleAdapter) ColorPalettePopup(org.talend.commons.ui.gmf.util.ColorPalettePopup) Point(org.eclipse.swt.graphics.Point) Image(org.eclipse.swt.graphics.Image) EImage(org.talend.commons.ui.runtime.image.EImage) RGB(org.eclipse.swt.graphics.RGB) GridLayout(org.eclipse.swt.layout.GridLayout) PropertyChangeCommand(org.talend.designer.core.ui.editor.cmd.PropertyChangeCommand) Button(org.eclipse.swt.widgets.Button) ChangeNoteOpacityCommand(org.talend.designer.core.ui.editor.cmd.ChangeNoteOpacityCommand) ChangeNoteTextCommand(org.talend.designer.core.ui.editor.cmd.ChangeNoteTextCommand) Command(org.eclipse.gef.commands.Command) PropertyChangeCommand(org.talend.designer.core.ui.editor.cmd.PropertyChangeCommand) SelectionEvent(org.eclipse.swt.events.SelectionEvent) AccessibleEvent(org.eclipse.swt.accessibility.AccessibleEvent)

Aggregations

Command (org.eclipse.gef.commands.Command)1 AccessibleAdapter (org.eclipse.swt.accessibility.AccessibleAdapter)1 AccessibleEvent (org.eclipse.swt.accessibility.AccessibleEvent)1 CLabel (org.eclipse.swt.custom.CLabel)1 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)1 SelectionEvent (org.eclipse.swt.events.SelectionEvent)1 Color (org.eclipse.swt.graphics.Color)1 Image (org.eclipse.swt.graphics.Image)1 Point (org.eclipse.swt.graphics.Point)1 RGB (org.eclipse.swt.graphics.RGB)1 Rectangle (org.eclipse.swt.graphics.Rectangle)1 GridLayout (org.eclipse.swt.layout.GridLayout)1 Button (org.eclipse.swt.widgets.Button)1 Composite (org.eclipse.swt.widgets.Composite)1 Label (org.eclipse.swt.widgets.Label)1 ColorPalettePopup (org.talend.commons.ui.gmf.util.ColorPalettePopup)1 EImage (org.talend.commons.ui.runtime.image.EImage)1 ChangeNoteOpacityCommand (org.talend.designer.core.ui.editor.cmd.ChangeNoteOpacityCommand)1 ChangeNoteTextCommand (org.talend.designer.core.ui.editor.cmd.ChangeNoteTextCommand)1 PropertyChangeCommand (org.talend.designer.core.ui.editor.cmd.PropertyChangeCommand)1