提交 6cc18270 编写于 作者: J jurgen

RSV value panel UI fixed.

Image viewer controls added for value viewer

Former-commit-id: d2917dde
上级 52dd89aa
......@@ -479,7 +479,9 @@ public class JDBCContentValueHandler extends JDBCAbstractValueHandler {
}
if (imageDetector.isImage()) {
return new ImageViewer(editPlaceholder, SWT.BORDER);
ImageViewer imageViewer = new ImageViewer(editPlaceholder, SWT.BORDER);
imageViewer.fillToolBar(valueController.getEditToolBar());
return imageViewer;
} else {
return new HexEditControl(editPlaceholder, SWT.BORDER);
}
......
......@@ -40,13 +40,13 @@ public class ImageActionDelegate extends Action {
/**
* pointer to image view
*/
public ImageEditor imageViewControl = null;
public ImageViewer imageViewControl = null;
/**
* Action id of this delegate
*/
public String id;
public ImageActionDelegate(ImageEditor viewControl, String id) {
public ImageActionDelegate(ImageViewer viewControl, String id) {
this.imageViewControl = viewControl;
this.id = id;
}
......
......@@ -23,10 +23,10 @@ import org.eclipse.swt.SWTException;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.ui.DBIcon;
import org.jkiss.dbeaver.ui.UIUtils;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.ToolBar;
import java.io.InputStream;
......@@ -40,12 +40,6 @@ public class ImageEditor extends ImageViewer {
private Label messageLabel;
private ToolItem itemZoomIn;
private ToolItem itemZoomOut;
private ToolItem itemRotate;
private ToolItem itemFit;
private ToolItem itemOriginal;
public ImageEditor(Composite parent, int style)
{
super(parent, style);
......@@ -73,26 +67,12 @@ public class ImageEditor extends ImageViewer {
gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
toolBar.setLayoutData(gd);
itemZoomIn = UIUtils.createToolItem(toolBar, CoreMessages.controls_imageview_zoom_in, DBIcon.ZOOM_IN.getImage(), new ImageActionDelegate(this, ImageActionDelegate.TOOLBAR_ZOOMIN));
itemZoomOut = UIUtils.createToolItem(toolBar, CoreMessages.controls_imageview_zoom_out, DBIcon.ZOOM_OUT.getImage(), new ImageActionDelegate(this, ImageActionDelegate.TOOLBAR_ZOOMOUT));
itemRotate = UIUtils.createToolItem(toolBar, CoreMessages.controls_imageview_rotate, DBIcon.ROTATE_LEFT.getImage(), new ImageActionDelegate(this, ImageActionDelegate.TOOLBAR_ROTATE));
itemFit = UIUtils.createToolItem(toolBar, CoreMessages.controls_imageview_fit_window, DBIcon.FIT_WINDOW.getImage(), new ImageActionDelegate(this, ImageActionDelegate.TOOLBAR_FIT));
itemOriginal = UIUtils.createToolItem(toolBar, CoreMessages.controls_imageview_original_size, DBIcon.ORIGINAL_SIZE.getImage(), new ImageActionDelegate(this, ImageActionDelegate.TOOLBAR_ORIGINAL));
fillToolBar(toolBar);
}
}
updateActions();
}
private void updateActions()
{
boolean hasImage = getCanvas().getSourceImage() != null;
itemZoomIn.setEnabled(hasImage);
itemZoomOut.setEnabled(hasImage);
itemRotate.setEnabled(hasImage);
itemFit.setEnabled(hasImage);
itemOriginal.setEnabled(hasImage);
}
@Override
public boolean loadImage(InputStream inputStream)
{
......
......@@ -25,6 +25,11 @@ import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.ui.DBIcon;
import org.jkiss.dbeaver.ui.UIUtils;
import java.io.InputStream;
......@@ -34,6 +39,11 @@ import java.io.InputStream;
public class ImageViewer extends Composite {
private ImageViewCanvas canvas;
private ToolItem itemZoomIn;
private ToolItem itemZoomOut;
private ToolItem itemRotate;
private ToolItem itemFit;
private ToolItem itemOriginal;
public ImageViewer(Composite parent, int style)
{
......@@ -114,4 +124,23 @@ public class ImageViewer extends Composite {
default: return "UNKNOWN"; //$NON-NLS-1$
}
}
public void updateActions()
{
boolean hasImage = getCanvas().getSourceImage() != null;
itemZoomIn.setEnabled(hasImage);
itemZoomOut.setEnabled(hasImage);
itemRotate.setEnabled(hasImage);
itemFit.setEnabled(hasImage);
itemOriginal.setEnabled(hasImage);
}
public void fillToolBar(ToolBar toolBar) {
itemZoomIn = UIUtils.createToolItem(toolBar, CoreMessages.controls_imageview_zoom_in, DBIcon.ZOOM_IN.getImage(), new ImageActionDelegate(this, ImageActionDelegate.TOOLBAR_ZOOMIN));
itemZoomOut = UIUtils.createToolItem(toolBar, CoreMessages.controls_imageview_zoom_out, DBIcon.ZOOM_OUT.getImage(), new ImageActionDelegate(this, ImageActionDelegate.TOOLBAR_ZOOMOUT));
itemRotate = UIUtils.createToolItem(toolBar, CoreMessages.controls_imageview_rotate, DBIcon.ROTATE_LEFT.getImage(), new ImageActionDelegate(this, ImageActionDelegate.TOOLBAR_ROTATE));
itemFit = UIUtils.createToolItem(toolBar, CoreMessages.controls_imageview_fit_window, DBIcon.FIT_WINDOW.getImage(), new ImageActionDelegate(this, ImageActionDelegate.TOOLBAR_FIT));
itemOriginal = UIUtils.createToolItem(toolBar, CoreMessages.controls_imageview_original_size, DBIcon.ORIGINAL_SIZE.getImage(), new ImageActionDelegate(this, ImageActionDelegate.TOOLBAR_ORIGINAL));
}
}
......@@ -66,6 +66,7 @@ abstract class ViewValuePanel extends Composite {
Color infoBackground = getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
Composite titleBar = UIUtils.createPlaceholder(this, 3);
((GridLayout)titleBar.getLayout()).marginWidth = 5;
((GridLayout)titleBar.getLayout()).horizontalSpacing = 5;
titleBar.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
titleBar.setBackground(infoBackground);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册