Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Results View Control
← Back to SQL Development Tools page
Contents
Introduction
The DTP Results View now provides a ResultsViewControl component for displaying SQL execution results. The ResultsViewControl can be consumed by other UI components such as editors, dialogs and wizards, enabling them to show SQL execution results in their own user-interface.
ResultsViewControl
Location
The control class is
- org.eclipse.datatools.sqltools.result.ui.view.ResultsViewControl
which is in the plugin
- org.eclipse.datatools.sqltools.result.
API
To use the ResultsViewControl, you should instantiate one then make a simple sequence of function calls.
The ResultsViewControl should be instantiated using the constructor
- ResultsViewControl(ResultsView)
passing null as the ResultsView parameter.
After instantiation, the ResultsViewControl should be initialized by calling:
- init(IViewSite, IMemento) throws PartInitException
passing two null parameters.
The final part of ResultsViewControl creation is to call
- void createPartControl(Composite parent)
passing the parent Composite as a parameter.
The client can request the ResultsViewControl to use the Preferences defined for the SQL Results View or not, using the method
- setUsePreferences(boolean)
If setUsePreferences(true) is called, the preferences for the SQL Results View relating to the user-interface will be used. These control, for example, whether results are shown in a single window or multiple windows, in text mode or grid mode.
If setUsePreferences(false) is called, the preferences defaults for the SQL Results View are used.
For example code, see Example Usage.
Filtering Results
Consumers of the ResultsViewControl can implement their own filters on the history section of the control by defining a class which extends org.eclipse.jface.viewers.ViewerFilter and passing an instance of the new class to
- addResultHistoryFilter(ViewerFilter)
This allows the consumer to control which results are shown in the ResultsViewControl. For example, a consumer might only want to show the results for a particular Connection Profile. For an example, see Example Usage.
Example Usage
In the org.eclipse.datatools.sqltools.sqlbuilder.examples plugin, there is an example of a dialog which hosts the ResultsViewControl component. This plugin is located in CVS under
- org.eclipse.datatools.sqltools/examples/
The dialog class is
- org.eclipse.datatools.sqltools.sqlbuilder.examples.dialogs.SQLBuilderDialog
and its usage of the ResultsViewControl is included below:
/* * Add the results view control */ _resultsViewControl = new ResultsViewControl(null); /* * Tell the results view control to use preferences */ _resultsViewControl.setUsePreferences(true); try { _resultsViewControl.init(null, null); } catch (PartInitException e) { e.printStackTrace(); } _resultsViewControl.createPartControl(resultsComposite);
SQLBuilderDialog also defines a filter for the results history section of the ResultsViewControl in the class ResultsHistoryFilter. The filter is given to the ResultsViewControl by passing it to addResultHistoryFilter(ViewerFilter). ResultsHistoryFilter filters out all those results which are associated with Connection Profiles other than that for the current SQL statement, and which were created before the filter itself was created. Consequently the history section of the ResultsViewControl shows only those results which were created by running the SQL statement within the current SQLBuilderDialog instance.
For more information about the example dialog, see Example SQL Builder Dialog. The dialog is shown below, with its SQL Results tab selected. This tab hosts the ResultsViewControl: