use of org.jkiss.dbeaver.erd.ui.part.ICustomizablePart in project dbeaver by serge-rider.
the class ResetPartColorAction method createColorCommand.
private Command createColorCommand(final Object[] objects) {
return new Command() {
private final Map<ICustomizablePart, Color> oldColors = new HashMap<>();
@Override
public void execute() {
for (Object item : objects) {
if (item instanceof ICustomizablePart) {
ICustomizablePart colorizedPart = (ICustomizablePart) item;
oldColors.put(colorizedPart, colorizedPart.getCustomBackgroundColor());
colorizedPart.setCustomBackgroundColor(null);
}
}
}
@Override
public void undo() {
for (Object item : objects) {
if (item instanceof ICustomizablePart) {
ICustomizablePart colorizedPart = (ICustomizablePart) item;
colorizedPart.setCustomBackgroundColor(oldColors.get(colorizedPart));
}
}
}
@Override
public void redo() {
for (Object item : objects) {
if (item instanceof ICustomizablePart) {
ICustomizablePart colorizedPart = (ICustomizablePart) item;
colorizedPart.setCustomBackgroundColor(null);
}
}
}
};
}
use of org.jkiss.dbeaver.erd.ui.part.ICustomizablePart in project dbeaver by serge-rider.
the class SetPartColorAction method createColorCommand.
private Command createColorCommand(final Object[] objects) {
return new Command() {
private final Map<ICustomizablePart, Color> oldColors = new HashMap<>();
private Color newColor;
@Override
public void execute() {
final Shell shell = UIUtils.createCenteredShell(getWorkbenchPart().getSite().getShell());
try {
ColorDialog colorDialog = new ColorDialog(shell);
RGB color = colorDialog.open();
if (color == null) {
return;
}
newColor = new Color(Display.getCurrent(), color);
for (Object item : objects) {
if (item instanceof ICustomizablePart) {
ICustomizablePart colorizedPart = (ICustomizablePart) item;
oldColors.put(colorizedPart, colorizedPart.getCustomBackgroundColor());
colorizedPart.setCustomBackgroundColor(newColor);
}
}
} finally {
UIUtils.disposeCenteredShell(shell);
}
}
@Override
public void undo() {
for (Object item : objects) {
if (item instanceof ICustomizablePart) {
ICustomizablePart colorizedPart = (ICustomizablePart) item;
colorizedPart.setCustomBackgroundColor(oldColors.get(colorizedPart));
}
}
}
@Override
public void redo() {
for (Object item : objects) {
if (item instanceof ICustomizablePart) {
ICustomizablePart colorizedPart = (ICustomizablePart) item;
colorizedPart.setCustomBackgroundColor(newColor);
}
}
}
};
}
use of org.jkiss.dbeaver.erd.ui.part.ICustomizablePart in project dbeaver by dbeaver.
the class ResetPartColorAction method createColorCommand.
private Command createColorCommand(final Object[] objects) {
return new Command() {
private final Map<ICustomizablePart, Color> oldColors = new HashMap<>();
@Override
public void execute() {
for (Object item : objects) {
if (item instanceof ICustomizablePart) {
ICustomizablePart colorizedPart = (ICustomizablePart) item;
oldColors.put(colorizedPart, colorizedPart.getCustomBackgroundColor());
colorizedPart.setCustomBackgroundColor(null);
}
}
}
@Override
public void undo() {
for (Object item : objects) {
if (item instanceof ICustomizablePart) {
ICustomizablePart colorizedPart = (ICustomizablePart) item;
colorizedPart.setCustomBackgroundColor(oldColors.get(colorizedPart));
}
}
}
@Override
public void redo() {
for (Object item : objects) {
if (item instanceof ICustomizablePart) {
ICustomizablePart colorizedPart = (ICustomizablePart) item;
colorizedPart.setCustomBackgroundColor(null);
}
}
}
};
}
use of org.jkiss.dbeaver.erd.ui.part.ICustomizablePart in project dbeaver by dbeaver.
the class SetPartSettingsAction method createColorCommand.
private Command createColorCommand(final Object[] objects) {
return new Command() {
private ViewSettings newSettings;
private final Map<ICustomizablePart, ViewSettings> oldSettings = new HashMap<>();
@Override
public void execute() {
final Shell shell = UIUtils.createCenteredShell(getWorkbenchPart().getSite().getShell());
try {
NodePart nodePart = null;
boolean hasNotes = false, hasEntities = false;
for (Object item : objects) {
if (item instanceof NodePart) {
if (nodePart == null) {
nodePart = (NodePart) item;
}
if (item instanceof NotePart) {
hasNotes = true;
} else if (item instanceof EntityPart) {
hasEntities = true;
}
}
}
PartSettingsDialog settingsDialog = new PartSettingsDialog(shell, nodePart, hasNotes, hasEntities);
if (settingsDialog.open() != IDialogConstants.OK_ID) {
return;
}
newSettings = settingsDialog.newSettings;
for (Object item : objects) {
if (item instanceof ICustomizablePart) {
ICustomizablePart part = (ICustomizablePart) item;
ViewSettings oldSettings = new ViewSettings();
oldSettings.transparency = part.getCustomTransparency();
oldSettings.background = part.getCustomBackgroundColor();
oldSettings.foreground = part.getCustomForegroundColor();
oldSettings.borderWidth = part.getCustomBorderWidth();
oldSettings.fontInfo = SharedFonts.toString(part.getCustomFont());
this.oldSettings.put(part, oldSettings);
setNodeSettings(part, newSettings);
}
}
} finally {
UIUtils.disposeCenteredShell(shell);
}
}
@Override
public void undo() {
for (Object item : objects) {
if (item instanceof ICustomizablePart) {
ICustomizablePart colorizedPart = (ICustomizablePart) item;
ViewSettings viewSettings = oldSettings.get(colorizedPart);
if (viewSettings != null) {
setNodeSettings(colorizedPart, viewSettings);
}
}
}
}
@Override
public void redo() {
for (Object item : objects) {
if (item instanceof ICustomizablePart) {
setNodeSettings((ICustomizablePart) item, newSettings);
}
}
}
private void setNodeSettings(ICustomizablePart part, ViewSettings settings) {
if (part instanceof NotePart) {
part.setCustomTransparency(settings.transparency);
}
part.setCustomBackgroundColor(settings.background);
if (part instanceof NotePart) {
part.setCustomForegroundColor(settings.foreground);
part.setCustomBorderWidth(settings.borderWidth);
part.setCustomFont(UIUtils.getSharedFonts().getFont(Display.getCurrent(), settings.fontInfo));
}
}
};
}
use of org.jkiss.dbeaver.erd.ui.part.ICustomizablePart in project dbeaver by dbeaver.
the class SetPartColorAction method createColorCommand.
private Command createColorCommand(final Object[] objects) {
return new Command() {
private final Map<ICustomizablePart, Color> oldColors = new HashMap<>();
private Color newColor;
@Override
public void execute() {
final Shell shell = UIUtils.createCenteredShell(getWorkbenchPart().getSite().getShell());
try {
ColorDialog colorDialog = new ColorDialog(shell);
RGB color = colorDialog.open();
if (color == null) {
return;
}
newColor = new Color(Display.getCurrent(), color);
for (Object item : objects) {
if (item instanceof ICustomizablePart) {
ICustomizablePart colorizedPart = (ICustomizablePart) item;
oldColors.put(colorizedPart, colorizedPart.getCustomBackgroundColor());
colorizedPart.setCustomBackgroundColor(newColor);
}
}
} finally {
UIUtils.disposeCenteredShell(shell);
}
}
@Override
public void undo() {
for (Object item : objects) {
if (item instanceof ICustomizablePart) {
ICustomizablePart colorizedPart = (ICustomizablePart) item;
colorizedPart.setCustomBackgroundColor(oldColors.get(colorizedPart));
}
}
}
@Override
public void redo() {
for (Object item : objects) {
if (item instanceof ICustomizablePart) {
ICustomizablePart colorizedPart = (ICustomizablePart) item;
colorizedPart.setCustomBackgroundColor(newColor);
}
}
}
};
}
Aggregations