Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
b777a8b6
D
dbeaver
项目概览
suliangchun
/
dbeaver
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dbeaver
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b777a8b6
编写于
3月 01, 2015
作者:
J
jurgen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
RSV/spreadsheet refactoring
Former-commit-id:
796a607e
上级
e97f07a6
变更
15
隐藏空白更改
内联
并排
Showing
15 changed file
with
50 addition
and
219 deletion
+50
-219
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/IResultSetController.java
...s/dbeaver/ui/controls/resultset/IResultSetController.java
+5
-2
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/IResultSetListener.java
...iss/dbeaver/ui/controls/resultset/IResultSetListener.java
+1
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/IResultSetPresentation.java
...dbeaver/ui/controls/resultset/IResultSetPresentation.java
+1
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/IResultSetProvider.java
...iss/dbeaver/ui/controls/resultset/IResultSetProvider.java
+1
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetAdapterFactory.java
...beaver/ui/controls/resultset/ResultSetAdapterFactory.java
+2
-2
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetCommandHandler.java
...beaver/ui/controls/resultset/ResultSetCommandHandler.java
+2
-2
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetModeToggleModeHandler.java
...ui/controls/resultset/ResultSetModeToggleModeHandler.java
+2
-2
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetModeTogglePreviewHandler.java
...controls/resultset/ResultSetModeTogglePreviewHandler.java
+2
-3
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
.../jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
+17
-8
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/spreadsheet/Spreadsheet.java
...rg/jkiss/dbeaver/ui/controls/spreadsheet/Spreadsheet.java
+4
-4
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/data/CursorViewDialog.java
...c/org/jkiss/dbeaver/ui/dialogs/data/CursorViewDialog.java
+4
-4
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/data/DatabaseDataEditor.java
...org/jkiss/dbeaver/ui/editors/data/DatabaseDataEditor.java
+3
-3
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/SQLEditor.java
....core/src/org/jkiss/dbeaver/ui/editors/sql/SQLEditor.java
+3
-4
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/search/data/SearchDataEditor.java
...rc/org/jkiss/dbeaver/ui/search/data/SearchDataEditor.java
+0
-177
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/search/data/SearchDataResultsPage.java
...g/jkiss/dbeaver/ui/search/data/SearchDataResultsPage.java
+3
-5
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/
spreadsheet/ISpreadshe
etController.java
→
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/
resultset/IResultS
etController.java
浏览文件 @
b777a8b6
...
...
@@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package
org.jkiss.dbeaver.ui.controls.
spreadshe
et
;
package
org.jkiss.dbeaver.ui.controls.
results
et
;
import
org.eclipse.jface.action.IMenuManager
;
import
org.eclipse.jface.preference.IPreferenceStore
;
...
...
@@ -29,7 +29,10 @@ import org.jkiss.dbeaver.ui.controls.lightgrid.GridCell;
/**
* GridDataProvider
*/
public
interface
ISpreadsheetController
{
public
interface
IResultSetController
{
@NotNull
ResultSetModel
getModel
();
boolean
hasData
();
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetListener.java
→
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/
I
ResultSetListener.java
浏览文件 @
b777a8b6
...
...
@@ -22,7 +22,7 @@ package org.jkiss.dbeaver.ui.controls.resultset;
/**
* Result set provider
*/
public
interface
ResultSetListener
{
public
interface
I
ResultSetListener
{
void
handleResultSetChange
();
}
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/
ResultSetRenderer
.java
→
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/
IResultSetPresentation
.java
浏览文件 @
b777a8b6
...
...
@@ -26,7 +26,7 @@ import org.eclipse.swt.widgets.Control;
* Result set renderer.
* Visualizes result set viewer/editor.
*/
public
interface
ResultSetRenderer
{
public
interface
IResultSetPresentation
{
void
createRenderer
(
ResultSetViewer
viewer
,
Composite
parent
);
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetProvider.java
→
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/
I
ResultSetProvider.java
浏览文件 @
b777a8b6
...
...
@@ -24,7 +24,7 @@ import org.jkiss.dbeaver.model.struct.DBSDataContainer;
/**
* Result set provider
*/
public
interface
ResultSetProvider
{
public
interface
I
ResultSetProvider
{
ResultSetViewer
getResultSetViewer
();
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetAdapterFactory.java
浏览文件 @
b777a8b6
...
...
@@ -35,8 +35,8 @@ public class ResultSetAdapterFactory implements IAdapterFactory
if
(
adapterType
==
ResultSetViewer
.
class
)
{
if
(
adaptableObject
instanceof
ResultSetViewer
)
{
return
adaptableObject
;
}
else
if
(
adaptableObject
instanceof
ResultSetProvider
)
{
return
((
ResultSetProvider
)
adaptableObject
).
getResultSetViewer
();
}
else
if
(
adaptableObject
instanceof
I
ResultSetProvider
)
{
return
((
I
ResultSetProvider
)
adaptableObject
).
getResultSetViewer
();
}
if
(
adaptableObject
instanceof
IPageChangeProvider
)
{
return
getAdapter
(((
IPageChangeProvider
)
adaptableObject
).
getSelectedPage
(),
ResultSetViewer
.
class
);
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetCommandHandler.java
浏览文件 @
b777a8b6
...
...
@@ -100,8 +100,8 @@ public class ResultSetCommandHandler extends SpreadsheetCommandHandler {
public
static
ResultSetViewer
getActiveResultSet
(
IWorkbenchPart
activePart
)
{
//IWorkbenchPart activePart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart();
if
(
activePart
instanceof
ResultSetProvider
)
{
return
((
ResultSetProvider
)
activePart
).
getResultSetViewer
();
if
(
activePart
instanceof
I
ResultSetProvider
)
{
return
((
I
ResultSetProvider
)
activePart
).
getResultSetViewer
();
}
else
if
(
activePart
instanceof
MultiPageAbstractEditor
)
{
return
getActiveResultSet
(((
MultiPageAbstractEditor
)
activePart
).
getActiveEditor
());
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetModeToggleModeHandler.java
浏览文件 @
b777a8b6
...
...
@@ -34,8 +34,8 @@ public class ResultSetModeToggleModeHandler extends ResultSetCommandHandler impl
{
if
(
element
.
getServiceLocator
()
instanceof
IWorkbenchPartSite
)
{
IWorkbenchPartSite
partSite
=
(
IWorkbenchPartSite
)
element
.
getServiceLocator
();
if
(
partSite
.
getPart
()
instanceof
ResultSetProvider
)
{
ResultSetViewer
rsv
=
((
ResultSetProvider
)
partSite
.
getPart
()).
getResultSetViewer
();
if
(
partSite
.
getPart
()
instanceof
I
ResultSetProvider
)
{
ResultSetViewer
rsv
=
((
I
ResultSetProvider
)
partSite
.
getPart
()).
getResultSetViewer
();
if
(
rsv
!=
null
)
{
if
(!
rsv
.
isRecordMode
())
{
element
.
setText
(
"Switch to record mode"
);
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetModeTogglePreviewHandler.java
浏览文件 @
b777a8b6
...
...
@@ -21,7 +21,6 @@ package org.jkiss.dbeaver.ui.controls.resultset;
import
org.eclipse.ui.IWorkbenchPartSite
;
import
org.eclipse.ui.commands.IElementUpdater
;
import
org.eclipse.ui.menus.UIElement
;
import
org.jkiss.dbeaver.ui.DBIcon
;
import
java.util.Map
;
...
...
@@ -35,8 +34,8 @@ public class ResultSetModeTogglePreviewHandler extends ResultSetCommandHandler i
{
if
(
element
.
getServiceLocator
()
instanceof
IWorkbenchPartSite
)
{
IWorkbenchPartSite
partSite
=
(
IWorkbenchPartSite
)
element
.
getServiceLocator
();
if
(
partSite
.
getPart
()
instanceof
ResultSetProvider
)
{
ResultSetViewer
rsv
=
((
ResultSetProvider
)
partSite
.
getPart
()).
getResultSetViewer
();
if
(
partSite
.
getPart
()
instanceof
I
ResultSetProvider
)
{
ResultSetViewer
rsv
=
((
I
ResultSetProvider
)
partSite
.
getPart
()).
getResultSetViewer
();
if
(
rsv
!=
null
)
{
if
(
rsv
.
isPreviewVisible
())
{
element
.
setText
(
"Hide value view panel"
);
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
浏览文件 @
b777a8b6
...
...
@@ -89,7 +89,6 @@ import org.jkiss.dbeaver.ui.controls.lightgrid.GridCell;
import
org.jkiss.dbeaver.ui.controls.lightgrid.GridPos
;
import
org.jkiss.dbeaver.ui.controls.lightgrid.IGridContentProvider
;
import
org.jkiss.dbeaver.ui.controls.lightgrid.IGridLabelProvider
;
import
org.jkiss.dbeaver.ui.controls.spreadsheet.ISpreadsheetController
;
import
org.jkiss.dbeaver.ui.controls.spreadsheet.Spreadsheet
;
import
org.jkiss.dbeaver.ui.dialogs.ActiveWizardDialog
;
import
org.jkiss.dbeaver.ui.dialogs.ConfirmationDialog
;
...
...
@@ -118,7 +117,7 @@ import java.util.List;
*
*/
public
class
ResultSetViewer
extends
Viewer
implements
IDataSourceProvider
,
I
Spreadshe
etController
,
ISaveablePart2
,
IAdaptable
implements
IDataSourceProvider
,
I
ResultS
etController
,
ISaveablePart2
,
IAdaptable
{
static
final
Log
log
=
Log
.
getLog
(
ResultSetViewer
.
class
);
private
final
IPropertyChangeListener
themeChangeListener
;
...
...
@@ -170,7 +169,7 @@ public class ResultSetViewer extends Viewer
private
final
ViewValuePanel
previewPane
;
@NotNull
private
final
ResultSetProvider
resultSetProvider
;
private
final
I
ResultSetProvider
resultSetProvider
;
@NotNull
private
final
ResultSetDataReceiver
dataReceiver
;
@NotNull
...
...
@@ -187,7 +186,7 @@ public class ResultSetViewer extends Viewer
private
int
columnOrder
=
SWT
.
NONE
;
private
final
Map
<
ResultSetValueController
,
DBDValueEditorStandalone
>
openEditors
=
new
HashMap
<
ResultSetValueController
,
DBDValueEditorStandalone
>();
private
final
List
<
ResultSetListener
>
listeners
=
new
ArrayList
<
ResultSetListener
>();
private
final
List
<
IResultSetListener
>
listeners
=
new
ArrayList
<
I
ResultSetListener
>();
// UI modifiers
private
final
Color
colorRed
;
...
...
@@ -217,7 +216,7 @@ public class ResultSetViewer extends Viewer
private
ToolItem
historyBackButton
;
private
ToolItem
historyForwardButton
;
public
ResultSetViewer
(
@NotNull
Composite
parent
,
@NotNull
IWorkbenchPartSite
site
,
@NotNull
ResultSetProvider
resultSetProvider
)
public
ResultSetViewer
(
@NotNull
Composite
parent
,
@NotNull
IWorkbenchPartSite
site
,
@NotNull
I
ResultSetProvider
resultSetProvider
)
{
super
();
...
...
@@ -673,14 +672,14 @@ public class ResultSetViewer extends Viewer
return
null
;
}
public
void
addListener
(
ResultSetListener
listener
)
public
void
addListener
(
I
ResultSetListener
listener
)
{
synchronized
(
listeners
)
{
listeners
.
add
(
listener
);
}
}
public
void
removeListener
(
ResultSetListener
listener
)
public
void
removeListener
(
I
ResultSetListener
listener
)
{
synchronized
(
listeners
)
{
listeners
.
remove
(
listener
);
...
...
@@ -1041,6 +1040,9 @@ public class ResultSetViewer extends Viewer
return
true
;
}
///////////////////////////////////////
// History
public
StateItem
getCurrentState
()
{
return
curState
;
}
...
...
@@ -1085,6 +1087,9 @@ public class ResultSetViewer extends Viewer
runDataPump
(
state
.
dataContainer
,
state
.
filter
,
0
,
segmentSize
,
state
.
rowNumber
,
null
);
}
///////////////////////////////////////
// Misc
@Nullable
public
RowData
getCurrentRow
()
{
...
...
@@ -1107,6 +1112,9 @@ public class ResultSetViewer extends Viewer
(
RowData
)
spreadsheet
.
getFocusRowElement
();
}
///////////////////////////////////////
// Status
public
void
setStatus
(
String
status
)
{
setStatus
(
status
,
false
);
...
...
@@ -1759,6 +1767,7 @@ public class ResultSetViewer extends Viewer
return
site
;
}
@Override
@NotNull
public
ResultSetModel
getModel
()
{
...
...
@@ -2434,7 +2443,7 @@ public class ResultSetViewer extends Viewer
void
fireResultSetChange
()
{
synchronized
(
listeners
)
{
if
(!
listeners
.
isEmpty
())
{
for
(
ResultSetListener
listener
:
listeners
)
{
for
(
I
ResultSetListener
listener
:
listeners
)
{
listener
.
handleResultSetChange
();
}
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/spreadsheet/Spreadsheet.java
浏览文件 @
b777a8b6
...
...
@@ -28,7 +28,6 @@ import org.eclipse.swt.events.DisposeEvent;
import
org.eclipse.swt.events.DisposeListener
;
import
org.eclipse.swt.graphics.Point
;
import
org.eclipse.swt.graphics.Rectangle
;
import
org.eclipse.swt.layout.GridData
;
import
org.eclipse.swt.layout.GridLayout
;
import
org.eclipse.swt.widgets.*
;
import
org.eclipse.ui.IWorkbenchActionConstants
;
...
...
@@ -38,6 +37,7 @@ import org.jkiss.code.Nullable;
import
org.jkiss.dbeaver.DBeaverPreferences
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.controls.lightgrid.*
;
import
org.jkiss.dbeaver.ui.controls.resultset.IResultSetController
;
/**
* ResultSetControl
...
...
@@ -60,7 +60,7 @@ public class Spreadsheet extends LightGrid implements Listener {
@NotNull
private
final
IWorkbenchPartSite
site
;
@NotNull
private
final
I
Spreadshe
etController
spreadsheetController
;
private
final
I
ResultS
etController
spreadsheetController
;
@NotNull
private
final
IGridContentProvider
contentProvider
;
@NotNull
...
...
@@ -74,7 +74,7 @@ public class Spreadsheet extends LightGrid implements Listener {
@NotNull
final
Composite
parent
,
final
int
style
,
@NotNull
final
IWorkbenchPartSite
site
,
@NotNull
final
I
Spreadshe
etController
spreadsheetController
,
@NotNull
final
I
ResultS
etController
spreadsheetController
,
@NotNull
final
IGridContentProvider
contentProvider
,
@NotNull
final
IGridLabelProvider
labelProvider
)
{
...
...
@@ -129,7 +129,7 @@ public class Spreadsheet extends LightGrid implements Listener {
}
}
public
I
Spreadshe
etController
getController
()
public
I
ResultS
etController
getController
()
{
return
spreadsheetController
;
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/data/CursorViewDialog.java
浏览文件 @
b777a8b6
...
...
@@ -41,14 +41,14 @@ import org.jkiss.dbeaver.model.exec.DBCStatistics;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.struct.DBSDataContainer
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.ui.controls.resultset.ResultSetProvider
;
import
org.jkiss.dbeaver.ui.controls.resultset.
I
ResultSetProvider
;
import
org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer
;
import
org.jkiss.dbeaver.ui.dialogs.ConfirmationDialog
;
/**
* TextViewDialog
*/
public
class
CursorViewDialog
extends
ValueViewDialog
implements
ResultSetProvider
{
public
class
CursorViewDialog
extends
ValueViewDialog
implements
I
ResultSetProvider
{
private
DBDCursor
value
;
private
ResultSetViewer
resultSetViewer
;
...
...
@@ -76,8 +76,8 @@ public class CursorViewDialog extends ValueViewDialog implements ResultSetProvid
DBeaverPreferences
.
CONFIRM_KEEP_STATEMENT_OPEN
,
ConfirmationDialog
.
QUESTION
)
==
IDialogConstants
.
YES_ID
)
{
globalPreferenceStore
.
setValue
(
DBeaverPreferences
.
KEEP_STATEMENT_OPEN
,
true
);
if
(
valueController
.
getValueSite
().
getPart
()
instanceof
ResultSetProvider
)
{
((
ResultSetProvider
)
valueController
.
getValueSite
().
getPart
()).
getResultSetViewer
().
refresh
();
if
(
valueController
.
getValueSite
().
getPart
()
instanceof
I
ResultSetProvider
)
{
((
I
ResultSetProvider
)
valueController
.
getValueSite
().
getPart
()).
getResultSetViewer
().
refresh
();
}
}
dialogGroup
.
getDisplay
().
asyncExec
(
new
Runnable
()
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/data/DatabaseDataEditor.java
浏览文件 @
b777a8b6
...
...
@@ -27,8 +27,8 @@ import org.jkiss.dbeaver.ext.IDatabaseEditorInput;
import
org.jkiss.dbeaver.model.data.DBDDataFilter
;
import
org.jkiss.dbeaver.model.struct.DBSDataContainer
;
import
org.jkiss.dbeaver.runtime.RuntimeUtils
;
import
org.jkiss.dbeaver.ui.controls.resultset.ResultSetListener
;
import
org.jkiss.dbeaver.ui.controls.resultset.ResultSetProvider
;
import
org.jkiss.dbeaver.ui.controls.resultset.
I
ResultSetListener
;
import
org.jkiss.dbeaver.ui.controls.resultset.
I
ResultSetProvider
;
import
org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer
;
import
org.jkiss.dbeaver.ui.editors.AbstractDatabaseObjectEditor
;
import
org.jkiss.utils.CommonUtils
;
...
...
@@ -37,7 +37,7 @@ import org.jkiss.utils.CommonUtils;
* DatabaseDataEditor
*/
public
class
DatabaseDataEditor
extends
AbstractDatabaseObjectEditor
<
DBSDataContainer
>
implements
ResultSetProvider
,
ResultSetListener
implements
IResultSetProvider
,
I
ResultSetListener
{
public
static
final
String
ATTR_SUSPEND_QUERY
=
"suspendQuery"
;
public
static
final
String
ATTR_DATA_FILTER
=
"dataFilter"
;
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/SQLEditor.java
浏览文件 @
b777a8b6
...
...
@@ -38,7 +38,6 @@ import org.eclipse.swt.graphics.Point;
import
org.eclipse.swt.layout.GridData
;
import
org.eclipse.swt.widgets.*
;
import
org.eclipse.ui.*
;
import
org.eclipse.ui.commands.ICommandService
;
import
org.eclipse.ui.texteditor.DefaultRangeIndicator
;
import
org.eclipse.ui.texteditor.rulers.IColumnSupport
;
import
org.eclipse.ui.texteditor.rulers.RulerColumnDescriptor
;
...
...
@@ -77,7 +76,7 @@ import org.jkiss.dbeaver.tools.transfer.database.DatabaseTransferProducer;
import
org.jkiss.dbeaver.tools.transfer.wizard.DataTransferWizard
;
import
org.jkiss.dbeaver.ui.*
;
import
org.jkiss.dbeaver.ui.actions.datasource.DataSourceConnectHandler
;
import
org.jkiss.dbeaver.ui.controls.resultset.ResultSetProvider
;
import
org.jkiss.dbeaver.ui.controls.resultset.
I
ResultSetProvider
;
import
org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer
;
import
org.jkiss.dbeaver.ui.dialogs.ActiveWizardDialog
;
import
org.jkiss.dbeaver.ui.editors.DatabaseEditorUtils
;
...
...
@@ -101,7 +100,7 @@ import java.util.concurrent.atomic.AtomicInteger;
*/
public
class
SQLEditor
extends
SQLEditorBase
implements
IDataSourceContainerProviderEx
,
DBPEventListener
,
ISaveablePart2
,
ResultSetProvider
,
DBPDataSourceUser
,
DBPDataSourceHandler
DBPEventListener
,
ISaveablePart2
,
I
ResultSetProvider
,
DBPDataSourceUser
,
DBPDataSourceHandler
{
private
static
final
long
SCRIPT_UI_UPDATE_PERIOD
=
100
;
...
...
@@ -1122,7 +1121,7 @@ public class SQLEditor extends SQLEditorBase
}
public
class
QueryResultsProvider
implements
DBSDataContainer
,
ResultSetProvider
{
public
class
QueryResultsProvider
implements
DBSDataContainer
,
I
ResultSetProvider
{
private
final
QueryProcessor
queryProcessor
;
private
final
CTabItem
tabItem
;
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/search/data/SearchDataEditor.java
已删除
100644 → 0
浏览文件 @
e97f07a6
/*
* Copyright (C) 2010-2015 Serge Rieder
* serge@jkiss.org
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package
org.jkiss.dbeaver.ui.search.data
;
import
org.eclipse.core.runtime.IProgressMonitor
;
import
org.eclipse.swt.widgets.Composite
;
import
org.eclipse.ui.IActionBars
;
import
org.eclipse.ui.IEditorPart
;
import
org.eclipse.ui.IWorkbenchCommandConstants
;
import
org.eclipse.ui.texteditor.FindReplaceAction
;
import
org.jkiss.dbeaver.core.DBeaverActivator
;
import
org.jkiss.dbeaver.model.struct.DBSDataContainer
;
import
org.jkiss.dbeaver.runtime.RuntimeUtils
;
import
org.jkiss.dbeaver.ui.controls.resultset.ResultSetListener
;
import
org.jkiss.dbeaver.ui.controls.resultset.ResultSetProvider
;
import
org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer
;
import
org.jkiss.dbeaver.ui.editors.AbstractDatabaseObjectEditor
;
/**
* DatabaseDataEditor
*/
public
class
SearchDataEditor
extends
AbstractDatabaseObjectEditor
<
DBSDataContainer
>
implements
ResultSetProvider
,
ResultSetListener
{
private
ResultSetViewer
resultSetView
;
private
boolean
loaded
=
false
;
//private boolean running = false;
private
Composite
parent
;
@Override
public
void
createPartControl
(
Composite
parent
)
{
this
.
parent
=
parent
;
}
@Override
public
void
activatePart
()
{
createResultSetView
();
// FindReplaceAction action = (FindReplaceAction)getEditorSite().getActionBars().getGlobalActionHandler(ActionFactory.FIND.getId());
// if (action != null) {
// action.update();
// }
if
(!
loaded
)
{
if
(
getDatabaseObject
()
!=
null
&&
getDatabaseObject
().
isPersisted
())
{
resultSetView
.
setStatus
(
"Query data from '"
+
getEditorInput
().
getDatabaseObject
().
getName
()
+
"'..."
);
resultSetView
.
refresh
();
loaded
=
true
;
}
}
//resultSetView.setSelection(resultSetView.getSelection());
}
private
void
createResultSetView
()
{
if
(
resultSetView
==
null
)
{
resultSetView
=
new
ResultSetViewer
(
parent
,
getSite
(),
this
);
resultSetView
.
addListener
(
this
);
parent
.
layout
();
resultSetView
.
getControl
().
setFocus
();
// Set selection provider from resultset
getSite
().
setSelectionProvider
(
resultSetView
);
}
}
@Override
public
void
deactivatePart
()
{
}
@Override
public
void
dispose
()
{
if
(
resultSetView
!=
null
)
{
resultSetView
.
removeListener
(
this
);
resultSetView
=
null
;
}
super
.
dispose
();
}
@Override
public
ResultSetViewer
getResultSetViewer
()
{
return
resultSetView
;
}
@Override
public
DBSDataContainer
getDataContainer
()
{
return
(
DBSDataContainer
)
getEditorInput
().
getDatabaseObject
();
}
@Override
public
boolean
isReadyToRun
()
{
return
true
;
}
@Override
public
void
setFocus
()
{
createResultSetView
();
if
(
resultSetView
!=
null
)
{
resultSetView
.
getSpreadsheet
().
setFocus
();
}
// Register find/replace action
// We do it in setFocus because each entity editor registers it's own action - and they
// share a single action bars instance. To avoid mess just update handler every time editor activated
FindReplaceAction
findReplaceAction
=
new
FindReplaceAction
(
DBeaverActivator
.
getResourceBundle
(),
"Editor.FindReplace."
,
this
);
//$NON-NLS-1$
findReplaceAction
.
setActionDefinitionId
(
IWorkbenchCommandConstants
.
EDIT_FIND_AND_REPLACE
);
IActionBars
actionBars
=
getEditorSite
().
getActionBars
();
actionBars
.
setGlobalActionHandler
(
"dde_findReplace"
,
findReplaceAction
);
actionBars
.
updateActionBars
();
}
@Override
public
void
refreshPart
(
Object
source
,
boolean
force
)
{
if
(
loaded
)
{
//resultSetView.refresh();
}
}
@Override
public
boolean
isDirty
()
{
return
resultSetView
!=
null
&&
!
resultSetView
.
getControl
().
isDisposed
()
&&
resultSetView
.
isDirty
();
}
@Override
public
void
doSave
(
IProgressMonitor
monitor
)
{
if
(
resultSetView
!=
null
&&
resultSetView
.
isDirty
())
{
resultSetView
.
applyChanges
(
RuntimeUtils
.
makeMonitor
(
monitor
));
}
}
@Override
public
void
handleResultSetChange
()
{
firePropertyChange
(
IEditorPart
.
PROP_DIRTY
);
}
@Override
public
Object
getAdapter
(
Class
required
)
{
if
(
resultSetView
!=
null
)
{
Object
adapter
=
resultSetView
.
getAdapter
(
required
);
if
(
adapter
!=
null
)
{
return
adapter
;
}
}
return
super
.
getAdapter
(
required
);
}
}
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/search/data/SearchDataResultsPage.java
浏览文件 @
b777a8b6
...
...
@@ -30,11 +30,9 @@ import org.jkiss.dbeaver.model.navigator.DBNNode;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.ui.NavigatorUtils
;
import
org.jkiss.dbeaver.ui.actions.navigator.NavigatorHandlerObjectOpen
;
import
org.jkiss.dbeaver.ui.controls.resultset.ResultSetProvider
;
import
org.jkiss.dbeaver.ui.controls.resultset.
I
ResultSetProvider
;
import
org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer
;
import
org.jkiss.dbeaver.ui.editors.DatabaseEditorInput
;
import
org.jkiss.dbeaver.ui.editors.data.DatabaseDataEditor
;
import
org.jkiss.dbeaver.ui.editors.entity.EntityEditor
;
import
org.jkiss.dbeaver.ui.search.AbstractSearchResultsPage
;
import
java.util.ArrayList
;
...
...
@@ -90,8 +88,8 @@ public class SearchDataResultsPage extends AbstractSearchResultsPage<SearchDataO
if
(
entityEditor
instanceof
MultiPageEditorPart
)
{
Object
selectedPage
=
((
MultiPageEditorPart
)
entityEditor
).
getSelectedPage
();
if
(
selectedPage
instanceof
ResultSetProvider
)
{
ResultSetViewer
resultSetViewer
=
((
ResultSetProvider
)
selectedPage
).
getResultSetViewer
();
if
(
selectedPage
instanceof
I
ResultSetProvider
)
{
ResultSetViewer
resultSetViewer
=
((
I
ResultSetProvider
)
selectedPage
).
getResultSetViewer
();
if
(!
resultSetViewer
.
isRefreshInProgress
()
&&
!
object
.
getFilter
().
equals
(
resultSetViewer
.
getModel
().
getDataFilter
()))
{
// Set filter directly
resultSetViewer
.
refreshWithFilter
(
object
.
getFilter
());
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录