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:
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
  • Field Summary

    Fields inherited from class org.eclipse.datatools.sqltools.sqlbuilder.views.source.SQLSourceViewer

    actions, configuration, currentSelection, document, documentProvider, qListener, reparseRunning, sourceViewer, sqlbuilder, sqlDomainModel, textChanged

    Fields inherited from class org.eclipse.jface.viewers.Viewer

    WIDGET_DATA_KEY
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Clears the text entry field and re-parses.
    boolean
    doRefresh(boolean doPerform)
    Refreshes SQL and graphs.
    Last known good SQL.
    org.eclipse.jface.text.source.SourceViewer
    Gets the source viewer.
    Gets the SQL statement from the text field, without parsing, etc.
    void
    menuAboutToShow(org.eclipse.jface.action.IMenuManager menu)
    Menu shown.
    void
    Refreshes the source from the statement.
    boolean
    Called for re-parse.
    void
    setSQLInput(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

    Methods inherited from class org.eclipse.jface.viewers.Viewer

    addHelpListener, addSelectionChangedListener, fireHelpRequested, fireSelectionChanged, getData, handleHelpRequest, removeHelpListener, removeSelectionChangedListener, scrollDown, scrollUp, setData, setSelection

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • 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 class org.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 class org.eclipse.datatools.sqltools.sqlbuilder.views.source.SQLSourceViewer
    • getLastKnownProperSource

      public String getLastKnownProperSource()
      Last known good SQL.
      Overrides:
      getLastKnownProperSource in class org.eclipse.datatools.sqltools.sqlbuilder.views.source.SQLSourceViewer
    • clearSQLInput

      public void clearSQLInput()
      Clears the text entry field and re-parses.
    • setSQLInput

      public void setSQLInput(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 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 class org.eclipse.datatools.sqltools.sqlbuilder.views.source.SQLSourceViewer
      Parameters:
      dirty - whether or not the text is dirty