Package com.iizigo.db.editor
Class CustomSQLSourceViewer
- java.lang.Object
- org.eclipse.jface.viewers.Viewer
- org.eclipse.jface.viewers.ContentViewer
- org.eclipse.datatools.sqltools.sqlbuilder.views.source.SQLSourceViewer
- com.iizigo.db.editor.CustomSQLSourceViewer
- All Implemented Interfaces:
java.util.EventListener
,org.eclipse.jface.action.IMenuListener
,org.eclipse.jface.util.IPropertyChangeListener
,org.eclipse.jface.viewers.IInputProvider
,org.eclipse.jface.viewers.IInputSelectionProvider
,org.eclipse.jface.viewers.ISelectionChangedListener
,org.eclipse.jface.viewers.ISelectionProvider
,org.eclipse.swt.events.DisposeListener
,org.eclipse.swt.internal.SWTEventListener
public class CustomSQLSourceViewer extends org.eclipse.datatools.sqltools.sqlbuilder.views.source.SQLSourceViewer
Customized SQL source viewer for undo/redo, etc, to be well-integrated with iizi.- Author:
- Christopher Mindus
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearSQLInput()
Clears the text entry field and re-parses.boolean
doRefresh(boolean doPerform)
Refreshes SQL and graphs.java.lang.String
getLastKnownProperSource()
Last known good SQL.org.eclipse.jface.text.source.SourceViewer
getSourceViewer()
Gets the source viewer.java.lang.String
getSQLInput()
Gets the SQL statement from the text field, without parsing, etc.void
menuAboutToShow(org.eclipse.jface.action.IMenuManager menu)
Menu shown.void
refreshSource()
Refreshes the source from the statement.boolean
reparse()
Called for re-parse.void
setSQLInput(java.lang.String inputSQL, boolean isDirty)
Sets the input SQL when parsing failed.void
setTextDirty(boolean dirty)
Let the source view know that the text is dirty from action such as dropping a table in the Graph view.Methods inherited from class org.eclipse.datatools.sqltools.sqlbuilder.views.source.SQLSourceViewer
addAction, createActions, forceReparse, getAction, getControl, getDocumentProvider, getDomainModel, getFileSQLStr, getParseRequired, getSegments, getSelection, getText, getTextChanged, handleDispose, initDBContext, inputChanged, isEditable, isReparseRunning, isRootStatement, isTextChanged, noUnsupportedReparse, propertyChange, refresh, refreshSource, revertToDefaultSource, revertToInitialSource, revertToLastKnownProperSource, selectionChanged, setAction, setContentChangeListener, setEditable, setFileSQLStr, setParseRequired, setSelection, setSQLBuilder, setTextChanged, updateAction, widgetDisposed
Methods inherited from class org.eclipse.jface.viewers.ContentViewer
getContentProvider, getInput, getLabelProvider, handleLabelProviderChanged, hookControl, labelProviderChanged, setContentProvider, setInput, setLabelProvider
Method Detail
menuAboutToShow
public void menuAboutToShow(org.eclipse.jface.action.IMenuManager menu)
Menu shown.- Specified by:
menuAboutToShow
in interfaceorg.eclipse.jface.action.IMenuListener
- Overrides:
menuAboutToShow
in classorg.eclipse.datatools.sqltools.sqlbuilder.views.source.SQLSourceViewer
getSourceViewer
public org.eclipse.jface.text.source.SourceViewer getSourceViewer()
Gets the source viewer.- Returns:
- The JFace source viewer.
refreshSource
public void refreshSource()
Refreshes the source from the statement. This is blocked only until doNiceSQL is set.- Overrides:
refreshSource
in classorg.eclipse.datatools.sqltools.sqlbuilder.views.source.SQLSourceViewer
doRefresh
public boolean doRefresh(boolean doPerform)
Refreshes SQL and graphs.- Parameters:
doPerform
- Flag to refresh or just test to see if refresh will do something.- Returns:
- true to enable the refresh button, false to disable it.
reparse
public boolean reparse()
Called for re-parse.- Overrides:
reparse
in classorg.eclipse.datatools.sqltools.sqlbuilder.views.source.SQLSourceViewer
getLastKnownProperSource
public java.lang.String getLastKnownProperSource()
Last known good SQL.- Overrides:
getLastKnownProperSource
in classorg.eclipse.datatools.sqltools.sqlbuilder.views.source.SQLSourceViewer
clearSQLInput
public void clearSQLInput()
Clears the text entry field and re-parses.
setSQLInput
public void setSQLInput(java.lang.String inputSQL, boolean isDirty)
Sets the input SQL when parsing failed.- Parameters:
inputSQL
- The SQL string, can contain errors.isDirty
- Reset or set dirty flag.
getSQLInput
public java.lang.String getSQLInput()
Gets the SQL statement from the text field, without parsing, etc.- Returns:
- The statement from the JFace viewer.
setTextDirty
public void setTextDirty(boolean dirty)
Let the source view know that the text is dirty from action such as dropping a table in the Graph view. FYI: the TextListener should have detected the change but did not. This is a work-around solution.- Overrides:
setTextDirty
in classorg.eclipse.datatools.sqltools.sqlbuilder.views.source.SQLSourceViewer
- Parameters:
dirty
- whether or not the text is dirty