Search in sources :

Example 1 with IFontAttribute

use of com.archimatetool.model.IFontAttribute in project archi by archimatetool.

the class FontColorSection method update.

@Override
protected void update() {
    String colorValue = ((IFontAttribute) getFirstSelectedObject()).getFontColor();
    RGB rgb = ColorFactory.convertStringToRGB(colorValue);
    if (rgb != null) {
        fColorChooser.setColorValue(rgb);
    } else {
        // Null is the default system color
        fColorChooser.setColorValue(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_FOREGROUND).getRGB());
    }
    fColorChooser.setEnabled(!isLocked(getFirstSelectedObject()));
    fColorChooser.setIsDefaultColor(colorValue == null);
}
Also used : IFontAttribute(com.archimatetool.model.IFontAttribute) RGB(org.eclipse.swt.graphics.RGB)

Example 2 with IFontAttribute

use of com.archimatetool.model.IFontAttribute in project archi by archimatetool.

the class FontSection method update.

@Override
protected void update() {
    IFontAttribute lastSelected = (IFontAttribute) getFirstSelectedObject();
    fFontChooser.setFontObject(lastSelected);
    fFontChooser.setEnabled(!isLocked(lastSelected));
    fFontChooser.setIsDefaultFont(lastSelected.getFont() == null);
}
Also used : IFontAttribute(com.archimatetool.model.IFontAttribute)

Example 3 with IFontAttribute

use of com.archimatetool.model.IFontAttribute in project archi by archimatetool.

the class FormatPainterTool method createCommand.

protected CompoundCommand createCommand(PaintFormat pf, IDiagramModelComponent targetComponent) {
    CompoundCommand result = new CompoundCommand(Messages.FormatPainterTool_0);
    // IFontAttribute
    if (pf.getSourceComponent() instanceof IFontAttribute && targetComponent instanceof IFontAttribute) {
        IFontAttribute source = (IFontAttribute) pf.getSourceComponent();
        IFontAttribute target = (IFontAttribute) targetComponent;
        Command cmd = new FontStyleCommand(target, source.getFont());
        if (cmd.canExecute()) {
            result.add(cmd);
        }
        cmd = new FontColorCommand(target, source.getFontColor());
        if (cmd.canExecute()) {
            result.add(cmd);
        }
    }
    // ILineObject
    if (pf.getSourceComponent() instanceof ILineObject && targetComponent instanceof ILineObject) {
        ILineObject source = (ILineObject) pf.getSourceComponent();
        ILineObject target = (ILineObject) targetComponent;
        Command cmd = new LineColorCommand(target, source.getLineColor());
        if (cmd.canExecute()) {
            result.add(cmd);
        }
        cmd = new LineWidthCommand(target, source.getLineWidth());
        if (cmd.canExecute()) {
            result.add(cmd);
        }
    }
    // IBorderObject
    if (pf.getSourceComponent() instanceof IBorderObject && targetComponent instanceof IBorderObject) {
        IBorderObject source = (IBorderObject) pf.getSourceComponent();
        IBorderObject target = (IBorderObject) targetComponent;
        Command cmd = new BorderColorCommand(target, source.getBorderColor());
        if (cmd.canExecute()) {
            result.add(cmd);
        }
    }
    // ITextPosition
    if (pf.getSourceComponent() instanceof ITextPosition && targetComponent instanceof ITextPosition) {
        ITextPosition source = (ITextPosition) pf.getSourceComponent();
        ITextPosition target = (ITextPosition) targetComponent;
        Command cmd = new TextPositionCommand(target, source.getTextPosition());
        if (cmd.canExecute()) {
            result.add(cmd);
        }
    }
    // ITextAlignment
    if (pf.getSourceComponent() instanceof ITextAlignment && targetComponent instanceof ITextAlignment) {
        ITextAlignment source = (ITextAlignment) pf.getSourceComponent();
        ITextAlignment target = (ITextAlignment) targetComponent;
        Command cmd = new TextAlignmentCommand(target, source.getTextAlignment());
        if (cmd.canExecute()) {
            result.add(cmd);
        }
    }
    // IDiagramModelObject
    if (pf.getSourceComponent() instanceof IDiagramModelObject && targetComponent instanceof IDiagramModelObject) {
        IDiagramModelObject source = (IDiagramModelObject) pf.getSourceComponent();
        IDiagramModelObject target = (IDiagramModelObject) targetComponent;
        // Source fill colour is null which is "default"
        String fillColorString = source.getFillColor();
        if (fillColorString == null) {
            fillColorString = ColorFactory.convertColorToString(ColorFactory.getDefaultFillColor(source));
        }
        Command cmd = new FillColorCommand(target, fillColorString);
        if (cmd.canExecute()) {
            result.add(cmd);
        }
        // Alpha opacity
        cmd = new DiagramModelObjectAlphaCommand(target, source.getAlpha());
        if (cmd.canExecute()) {
            result.add(cmd);
        }
    }
    // IDiagramModelConnection
    if (pf.getSourceComponent() instanceof IDiagramModelConnection && targetComponent instanceof IDiagramModelConnection) {
        IDiagramModelConnection source = (IDiagramModelConnection) pf.getSourceComponent();
        IDiagramModelConnection target = (IDiagramModelConnection) targetComponent;
        // Connection text position
        Command cmd = new ConnectionTextPositionCommand(target, source.getTextPosition());
        if (cmd.canExecute()) {
            result.add(cmd);
        }
    }
    return result;
}
Also used : TextAlignmentCommand(com.archimatetool.editor.diagram.commands.TextAlignmentCommand) LineColorCommand(com.archimatetool.editor.diagram.commands.LineColorCommand) ITextPosition(com.archimatetool.model.ITextPosition) FillColorCommand(com.archimatetool.editor.diagram.commands.FillColorCommand) IDiagramModelConnection(com.archimatetool.model.IDiagramModelConnection) IDiagramModelObject(com.archimatetool.model.IDiagramModelObject) DiagramModelObjectAlphaCommand(com.archimatetool.editor.diagram.commands.DiagramModelObjectAlphaCommand) ILineObject(com.archimatetool.model.ILineObject) CompoundCommand(org.eclipse.gef.commands.CompoundCommand) BorderColorCommand(com.archimatetool.editor.diagram.commands.BorderColorCommand) IBorderObject(com.archimatetool.model.IBorderObject) FontColorCommand(com.archimatetool.editor.diagram.commands.FontColorCommand) ITextAlignment(com.archimatetool.model.ITextAlignment) FontStyleCommand(com.archimatetool.editor.diagram.commands.FontStyleCommand) DiagramModelObjectAlphaCommand(com.archimatetool.editor.diagram.commands.DiagramModelObjectAlphaCommand) ConnectionTextPositionCommand(com.archimatetool.editor.diagram.commands.ConnectionTextPositionCommand) BorderColorCommand(com.archimatetool.editor.diagram.commands.BorderColorCommand) TextPositionCommand(com.archimatetool.editor.diagram.commands.TextPositionCommand) LineWidthCommand(com.archimatetool.editor.diagram.commands.LineWidthCommand) FontColorCommand(com.archimatetool.editor.diagram.commands.FontColorCommand) TextAlignmentCommand(com.archimatetool.editor.diagram.commands.TextAlignmentCommand) CompoundCommand(org.eclipse.gef.commands.CompoundCommand) FillColorCommand(com.archimatetool.editor.diagram.commands.FillColorCommand) LineColorCommand(com.archimatetool.editor.diagram.commands.LineColorCommand) Command(org.eclipse.gef.commands.Command) IFontAttribute(com.archimatetool.model.IFontAttribute) ConnectionTextPositionCommand(com.archimatetool.editor.diagram.commands.ConnectionTextPositionCommand) TextPositionCommand(com.archimatetool.editor.diagram.commands.TextPositionCommand) LineWidthCommand(com.archimatetool.editor.diagram.commands.LineWidthCommand) FontStyleCommand(com.archimatetool.editor.diagram.commands.FontStyleCommand) ConnectionTextPositionCommand(com.archimatetool.editor.diagram.commands.ConnectionTextPositionCommand)

Example 4 with IFontAttribute

use of com.archimatetool.model.IFontAttribute in project archi by archimatetool.

the class FontAction method run.

@Override
public void run() {
    List<?> selection = getSelectedObjects();
    IFontAttribute model = (IFontAttribute) getFirstValidSelectedModelObject(selection);
    if (model == null) {
        return;
    }
    // Set default font on first selected object
    FontData fontData = FontFactory.getDefaultUserViewFontData();
    String rgbValue = null;
    rgbValue = model.getFontColor();
    String fontValue = model.getFont();
    if (fontValue != null) {
        try {
            fontData = new FontData(fontValue);
        } catch (Exception ex) {
        // ex.printStackTrace();
        }
    }
    FontDialog dialog = new FontDialog(getWorkbenchPart().getSite().getShell());
    dialog.setText(Messages.FontAction_1);
    dialog.setFontList(new FontData[] { fontData });
    dialog.setRGB(ColorFactory.convertStringToRGB(rgbValue));
    FontData selectedFontData = dialog.open();
    if (selectedFontData != null) {
        execute(createCommand(selection, selectedFontData, dialog.getRGB()));
    }
}
Also used : FontDialog(org.eclipse.swt.widgets.FontDialog) FontData(org.eclipse.swt.graphics.FontData) IFontAttribute(com.archimatetool.model.IFontAttribute)

Example 5 with IFontAttribute

use of com.archimatetool.model.IFontAttribute in project archi by archimatetool.

the class FontColorAction method run.

@Override
public void run() {
    List<?> selection = getSelectedObjects();
    IFontAttribute model = (IFontAttribute) getFirstValidSelectedModelObject(selection);
    if (model == null) {
        return;
    }
    ColorDialog colorDialog = new ColorDialog(getWorkbenchPart().getSite().getShell());
    // Set default RGB on first selected object
    RGB defaultRGB = null;
    String s = model.getFontColor();
    if (s != null) {
        defaultRGB = ColorFactory.convertStringToRGB(s);
    }
    if (defaultRGB != null) {
        colorDialog.setRGB(defaultRGB);
    } else {
        colorDialog.setRGB(new RGB(0, 0, 0));
    }
    RGB newColor = colorDialog.open();
    if (newColor != null) {
        execute(createCommand(selection, newColor));
    }
}
Also used : ColorDialog(org.eclipse.swt.widgets.ColorDialog) IFontAttribute(com.archimatetool.model.IFontAttribute) RGB(org.eclipse.swt.graphics.RGB)

Aggregations

IFontAttribute (com.archimatetool.model.IFontAttribute)5 RGB (org.eclipse.swt.graphics.RGB)2 BorderColorCommand (com.archimatetool.editor.diagram.commands.BorderColorCommand)1 ConnectionTextPositionCommand (com.archimatetool.editor.diagram.commands.ConnectionTextPositionCommand)1 DiagramModelObjectAlphaCommand (com.archimatetool.editor.diagram.commands.DiagramModelObjectAlphaCommand)1 FillColorCommand (com.archimatetool.editor.diagram.commands.FillColorCommand)1 FontColorCommand (com.archimatetool.editor.diagram.commands.FontColorCommand)1 FontStyleCommand (com.archimatetool.editor.diagram.commands.FontStyleCommand)1 LineColorCommand (com.archimatetool.editor.diagram.commands.LineColorCommand)1 LineWidthCommand (com.archimatetool.editor.diagram.commands.LineWidthCommand)1 TextAlignmentCommand (com.archimatetool.editor.diagram.commands.TextAlignmentCommand)1 TextPositionCommand (com.archimatetool.editor.diagram.commands.TextPositionCommand)1 IBorderObject (com.archimatetool.model.IBorderObject)1 IDiagramModelConnection (com.archimatetool.model.IDiagramModelConnection)1 IDiagramModelObject (com.archimatetool.model.IDiagramModelObject)1 ILineObject (com.archimatetool.model.ILineObject)1 ITextAlignment (com.archimatetool.model.ITextAlignment)1 ITextPosition (com.archimatetool.model.ITextPosition)1 Command (org.eclipse.gef.commands.Command)1 CompoundCommand (org.eclipse.gef.commands.CompoundCommand)1