提交 8935ed69 编写于 作者: S serge-rider

#1652 Attributes order

上级 a4c41917
...@@ -36,8 +36,9 @@ public class ERDConstants { ...@@ -36,8 +36,9 @@ public class ERDConstants {
public static final int PRINT_MODE_DEFAULT = PrintFigureOperation.TILE; public static final int PRINT_MODE_DEFAULT = PrintFigureOperation.TILE;
public static final int PRINT_MARGIN_DEFAULT = 0; public static final int PRINT_MARGIN_DEFAULT = 0;
public static final String PREF_DIAGRAM_SHOW_VIEWS = "erd.diagram.show.views"; public static final String PROP_DIAGRAM_FONT = "org.jkiss.dbeaver.erd.diagram.font";
public static final String PREF_DIAGRAM_SHOW_VIEWS = "erd.diagram.show.views";
public static final String PREF_GRID_ENABLED = "erd.grid.enabled"; public static final String PREF_GRID_ENABLED = "erd.grid.enabled";
public static final String PREF_GRID_SNAP_ENABLED = "erd.grid.snap"; public static final String PREF_GRID_SNAP_ENABLED = "erd.grid.snap";
public static final String PREF_GRID_WIDTH = "erd.grid.width"; public static final String PREF_GRID_WIDTH = "erd.grid.width";
......
...@@ -45,10 +45,10 @@ public class ERDEditorAdapter implements IAdapterFactory { ...@@ -45,10 +45,10 @@ public class ERDEditorAdapter implements IAdapterFactory {
} }
@Override @Override
public Object getAdapter(Object adaptableObject, Class adapterType) { public <T> T getAdapter(Object adaptableObject, Class<T> adapterType) {
if (adapterType == ERDEditorPart.class) { if (adapterType == ERDEditorPart.class) {
if (adaptableObject instanceof Control) { if (adaptableObject instanceof Control) {
return getEditor((Control) adaptableObject); return adapterType.cast(getEditor((Control) adaptableObject));
} }
} }
return null; return null;
......
...@@ -25,10 +25,8 @@ import org.eclipse.jface.action.IMenuManager; ...@@ -25,10 +25,8 @@ import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.Separator; import org.eclipse.jface.action.Separator;
import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.IWorkbenchCommandConstants;
import org.jkiss.dbeaver.core.CoreCommands; import org.jkiss.dbeaver.core.CoreCommands;
import org.jkiss.dbeaver.ext.erd.action.DiagramLayoutAction; import org.jkiss.dbeaver.ext.erd.action.DiagramLayoutAction;
import org.jkiss.dbeaver.ui.ActionUtils;
/** /**
* Provides a context menu for the schema diagram editor. A virtual cut and paste from the flow example * Provides a context menu for the schema diagram editor. A virtual cut and paste from the flow example
......
...@@ -25,7 +25,6 @@ import org.jkiss.dbeaver.ext.erd.ERDActivator; ...@@ -25,7 +25,6 @@ import org.jkiss.dbeaver.ext.erd.ERDActivator;
import org.jkiss.dbeaver.ext.erd.ERDConstants; import org.jkiss.dbeaver.ext.erd.ERDConstants;
import org.jkiss.dbeaver.ext.erd.model.EntityDiagram; import org.jkiss.dbeaver.ext.erd.model.EntityDiagram;
import org.jkiss.dbeaver.model.DBPDataSourceContainer; import org.jkiss.dbeaver.model.DBPDataSourceContainer;
import org.jkiss.dbeaver.model.DBPRefreshableObject;
import org.jkiss.dbeaver.model.DBUtils; import org.jkiss.dbeaver.model.DBUtils;
import org.jkiss.dbeaver.model.exec.DBCExecutionContext; import org.jkiss.dbeaver.model.exec.DBCExecutionContext;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor; import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
...@@ -113,7 +112,7 @@ public class ERDEditorEmbedded extends ERDEditorPart implements IDatabaseEditor, ...@@ -113,7 +112,7 @@ public class ERDEditorEmbedded extends ERDEditorPart implements IDatabaseEditor,
if (object == null) { if (object == null) {
return null; return null;
} }
if (object instanceof DBPDataSourceContainer && object.getDataSource() instanceof DBSObject) { if (object instanceof DBPDataSourceContainer && object.getDataSource() != null) {
object = object.getDataSource(); object = object.getDataSource();
} }
return object; return object;
......
...@@ -28,8 +28,7 @@ import org.eclipse.gef.*; ...@@ -28,8 +28,7 @@ import org.eclipse.gef.*;
import org.eclipse.gef.commands.CommandStack; import org.eclipse.gef.commands.CommandStack;
import org.eclipse.gef.editparts.ScalableFreeformRootEditPart; import org.eclipse.gef.editparts.ScalableFreeformRootEditPart;
import org.eclipse.gef.editparts.ZoomManager; import org.eclipse.gef.editparts.ZoomManager;
import org.eclipse.gef.palette.*; import org.eclipse.gef.palette.PaletteRoot;
import org.eclipse.gef.requests.CreationFactory;
import org.eclipse.gef.ui.actions.*; import org.eclipse.gef.ui.actions.*;
import org.eclipse.gef.ui.palette.FlyoutPaletteComposite; import org.eclipse.gef.ui.palette.FlyoutPaletteComposite;
import org.eclipse.gef.ui.palette.FlyoutPaletteComposite.FlyoutPreferences; import org.eclipse.gef.ui.palette.FlyoutPaletteComposite.FlyoutPreferences;
...@@ -39,7 +38,6 @@ import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler; ...@@ -39,7 +38,6 @@ import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler;
import org.eclipse.gef.ui.properties.UndoablePropertySheetEntry; import org.eclipse.gef.ui.properties.UndoablePropertySheetEntry;
import org.eclipse.jface.action.*; import org.eclipse.jface.action.*;
import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.IStructuredSelection;
...@@ -76,7 +74,6 @@ import org.jkiss.dbeaver.ext.erd.export.ERDExportFormatHandler; ...@@ -76,7 +74,6 @@ import org.jkiss.dbeaver.ext.erd.export.ERDExportFormatHandler;
import org.jkiss.dbeaver.ext.erd.export.ERDExportFormatRegistry; import org.jkiss.dbeaver.ext.erd.export.ERDExportFormatRegistry;
import org.jkiss.dbeaver.ext.erd.model.ERDDecorator; import org.jkiss.dbeaver.ext.erd.model.ERDDecorator;
import org.jkiss.dbeaver.ext.erd.model.ERDDecoratorDefault; import org.jkiss.dbeaver.ext.erd.model.ERDDecoratorDefault;
import org.jkiss.dbeaver.ext.erd.model.ERDNote;
import org.jkiss.dbeaver.ext.erd.model.EntityDiagram; import org.jkiss.dbeaver.ext.erd.model.EntityDiagram;
import org.jkiss.dbeaver.ext.erd.part.DiagramPart; import org.jkiss.dbeaver.ext.erd.part.DiagramPart;
import org.jkiss.dbeaver.model.DBPDataSourceUser; import org.jkiss.dbeaver.model.DBPDataSourceUser;
...@@ -90,7 +87,10 @@ import org.jkiss.utils.ArrayUtils; ...@@ -90,7 +87,10 @@ import org.jkiss.utils.ArrayUtils;
import org.jkiss.utils.CommonUtils; import org.jkiss.utils.CommonUtils;
import java.io.File; import java.io.File;
import java.util.*; import java.util.ArrayList;
import java.util.Collection;
import java.util.EventObject;
import java.util.List;
/** /**
* Editor implementation based on the the example editor skeleton that is built in <i>Building * Editor implementation based on the the example editor skeleton that is built in <i>Building
...@@ -516,8 +516,8 @@ public abstract class ERDEditorPart extends GraphicalEditorWithFlyoutPalette ...@@ -516,8 +516,8 @@ public abstract class ERDEditorPart extends GraphicalEditorWithFlyoutPalette
@Override @Override
protected void updateActions(List actionIds) protected void updateActions(List actionIds)
{ {
for (Iterator<?> ids = actionIds.iterator(); ids.hasNext();) { for (Object actionId : actionIds) {
IAction action = getActionRegistry().getAction(ids.next()); IAction action = getActionRegistry().getAction(actionId);
if (null != action && action instanceof UpdateAction) { if (null != action && action instanceof UpdateAction) {
((UpdateAction) action).update(); ((UpdateAction) action).update();
} }
......
...@@ -142,7 +142,7 @@ public class ERDGraphicalViewer extends ScrollingGraphicalViewer implements IPro ...@@ -142,7 +142,7 @@ public class ERDGraphicalViewer extends ScrollingGraphicalViewer implements IPro
public void propertyChange(PropertyChangeEvent event) public void propertyChange(PropertyChangeEvent event)
{ {
if (event.getProperty().equals(IThemeManager.CHANGE_CURRENT_THEME) if (event.getProperty().equals(IThemeManager.CHANGE_CURRENT_THEME)
|| event.getProperty().equals("org.jkiss.dbeaver.erd.diagram.font")) || event.getProperty().equals(ERDConstants.PROP_DIAGRAM_FONT))
{ {
applyThemeSettings(); applyThemeSettings();
} }
...@@ -151,7 +151,7 @@ public class ERDGraphicalViewer extends ScrollingGraphicalViewer implements IPro ...@@ -151,7 +151,7 @@ public class ERDGraphicalViewer extends ScrollingGraphicalViewer implements IPro
private void applyThemeSettings() private void applyThemeSettings()
{ {
ITheme currentTheme = themeManager.getCurrentTheme(); ITheme currentTheme = themeManager.getCurrentTheme();
Font erdFont = currentTheme.getFontRegistry().get("org.jkiss.dbeaver.erd.diagram.font"); Font erdFont = currentTheme.getFontRegistry().get(ERDConstants.PROP_DIAGRAM_FONT);
if (erdFont != null) { if (erdFont != null) {
this.getControl().setFont(erdFont); this.getControl().setFont(erdFont);
} }
...@@ -322,13 +322,8 @@ public class ERDGraphicalViewer extends ScrollingGraphicalViewer implements IPro ...@@ -322,13 +322,8 @@ public class ERDGraphicalViewer extends ScrollingGraphicalViewer implements IPro
{ {
// Close editor only if it is simple disconnect // Close editor only if it is simple disconnect
// Workbench shutdown doesn't close editor // Workbench shutdown doesn't close editor
UIUtils.asyncExec(new Runnable() { UIUtils.asyncExec(() ->
@Override editor.getSite().getWorkbenchWindow().getActivePage().closeEditor(editor, false));
public void run() {
editor.getSite().getWorkbenchWindow().getActivePage().closeEditor(editor, false);
}
});
} }
} }
......
...@@ -36,43 +36,45 @@ import org.eclipse.ui.views.contentoutline.IContentOutlinePage; ...@@ -36,43 +36,45 @@ import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
/** /**
* This is a sample implementation of an outline page showing an * This is a sample implementation of an outline page showing an
* overview of a graphical editor. * overview of a graphical editor.
* *
* @author Gunnar Wagenknecht * @author Gunnar Wagenknecht
*/ */
public class ERDOutlinePage extends Page implements IContentOutlinePage public class ERDOutlinePage extends Page implements IContentOutlinePage {
{
/** the control of the overview */ /**
* the control of the overview
*/
private Canvas overview; private Canvas overview;
/** the root edit part */ /**
* the root edit part
*/
private ScalableFreeformRootEditPart rootEditPart; private ScalableFreeformRootEditPart rootEditPart;
/** the thumbnail */ /**
* the thumbnail
*/
private Thumbnail thumbnail; private Thumbnail thumbnail;
/** /**
* Creates a new ERDOutlinePage instance. * Creates a new ERDOutlinePage instance.
*
* @param rootEditPart the root edit part to show the overview from * @param rootEditPart the root edit part to show the overview from
*/ */
public ERDOutlinePage(ScalableFreeformRootEditPart rootEditPart) public ERDOutlinePage(ScalableFreeformRootEditPart rootEditPart) {
{
super(); super();
this.rootEditPart = rootEditPart; this.rootEditPart = rootEditPart;
} }
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.ISelectionProvider#addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)
*/
@Override @Override
public void addSelectionChangedListener(ISelectionChangedListener listener) public void addSelectionChangedListener(ISelectionChangedListener listener) {
{}
}
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.ui.part.IPage#createControl(org.eclipse.swt.widgets.Composite) * @see org.eclipse.ui.part.IPage#createControl(org.eclipse.swt.widgets.Composite)
*/ */
@Override @Override
public void createControl(Composite parent) public void createControl(Composite parent) {
{
// create canvas and lws // create canvas and lws
overview = new Canvas(parent, SWT.NONE); overview = new Canvas(parent, SWT.NONE);
LightweightSystem lws = new LightweightSystem(overview); LightweightSystem lws = new LightweightSystem(overview);
...@@ -90,8 +92,7 @@ public class ERDOutlinePage extends Page implements IContentOutlinePage ...@@ -90,8 +92,7 @@ public class ERDOutlinePage extends Page implements IContentOutlinePage
* @see org.eclipse.ui.part.IPage#dispose() * @see org.eclipse.ui.part.IPage#dispose()
*/ */
@Override @Override
public void dispose() public void dispose() {
{
if (null != thumbnail) if (null != thumbnail)
thumbnail.deactivate(); thumbnail.deactivate();
...@@ -102,33 +103,22 @@ public class ERDOutlinePage extends Page implements IContentOutlinePage ...@@ -102,33 +103,22 @@ public class ERDOutlinePage extends Page implements IContentOutlinePage
* @see org.eclipse.ui.part.IPage#getControl() * @see org.eclipse.ui.part.IPage#getControl()
*/ */
@Override @Override
public Control getControl() public Control getControl() {
{
return overview; return overview;
} }
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.ISelectionProvider#getSelection()
*/
@Override @Override
public ISelection getSelection() public ISelection getSelection() {
{
return StructuredSelection.EMPTY; return StructuredSelection.EMPTY;
} }
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.ISelectionProvider#removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)
*/
@Override @Override
public void removeSelectionChangedListener(ISelectionChangedListener listener) public void removeSelectionChangedListener(ISelectionChangedListener listener) {
{}
}
/* (non-Javadoc)
* @see org.eclipse.ui.part.IPage#setFocus()
*/
@Override @Override
public void setFocus() public void setFocus() {
{
if (getControl() != null) if (getControl() != null)
getControl().setFocus(); getControl().setFocus();
} }
...@@ -137,6 +127,6 @@ public class ERDOutlinePage extends Page implements IContentOutlinePage ...@@ -137,6 +127,6 @@ public class ERDOutlinePage extends Page implements IContentOutlinePage
* @see org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse.jface.viewers.ISelection) * @see org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse.jface.viewers.ISelection)
*/ */
@Override @Override
public void setSelection(ISelection selection) public void setSelection(ISelection selection) {
{} }
} }
...@@ -31,6 +31,7 @@ import org.jkiss.dbeaver.model.struct.DBSEntityAttribute; ...@@ -31,6 +31,7 @@ import org.jkiss.dbeaver.model.struct.DBSEntityAttribute;
*/ */
public class ERDEntityAttribute extends ERDObject<DBSEntityAttribute> { public class ERDEntityAttribute extends ERDObject<DBSEntityAttribute> {
private boolean isChecked; private boolean isChecked;
private int order = -1;
private boolean inPrimaryKey; private boolean inPrimaryKey;
private boolean inForeignKey; private boolean inForeignKey;
private String alias; private String alias;
...@@ -56,6 +57,14 @@ public class ERDEntityAttribute extends ERDObject<DBSEntityAttribute> { ...@@ -56,6 +57,14 @@ public class ERDEntityAttribute extends ERDObject<DBSEntityAttribute> {
isChecked = checked; isChecked = checked;
} }
public int getOrder() {
return order;
}
public void setOrder(int order) {
this.order = order;
}
public String getAlias() { public String getAlias() {
return alias; return alias;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册