Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
2834944a
D
dbeaver
项目概览
suliangchun
/
dbeaver
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
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,发现更多精彩内容 >>
提交
2834944a
编写于
5月 30, 2018
作者:
S
serge-rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#3507 Grouping panel. Panels API refactoring
Former-commit-id:
1e30644f
上级
8e1ae56b
变更
15
隐藏空白更改
内联
并排
Showing
15 changed file
with
222 addition
and
102 deletion
+222
-102
plugins/org.jkiss.dbeaver.core/OSGI-INF/l10n/bundle.properties
...ns/org.jkiss.dbeaver.core/OSGI-INF/l10n/bundle.properties
+7
-2
plugins/org.jkiss.dbeaver.core/plugin.xml
plugins/org.jkiss.dbeaver.core/plugin.xml
+17
-9
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/IResultSetPanel.java
.../jkiss/dbeaver/ui/controls/resultset/IResultSetPanel.java
+0
-6
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetPresentationRegistry.java
.../ui/controls/resultset/ResultSetPresentationRegistry.java
+2
-13
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
.../jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
+7
-3
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/aggregate/AggregateColumnsPanel.java
...rols/resultset/panel/aggregate/AggregateColumnsPanel.java
+1
-16
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/grouping/GroupingPanel.java
...r/ui/controls/resultset/panel/grouping/GroupingPanel.java
+167
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/metadata/MetaDataPanel.java
...r/ui/controls/resultset/panel/metadata/MetaDataPanel.java
+1
-17
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/valueviewer/ValueViewCommandHandler.java
.../resultset/panel/valueviewer/ValueViewCommandHandler.java
+3
-3
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/valueviewer/ValueViewPropertyTester.java
.../resultset/panel/valueviewer/ValueViewPropertyTester.java
+2
-2
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/valueviewer/ValueViewerPanel.java
...ontrols/resultset/panel/valueviewer/ValueViewerPanel.java
+6
-22
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/spreadsheet/SpreadsheetPresentation.java
...ntrols/resultset/spreadsheet/SpreadsheetPresentation.java
+2
-2
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/data/managers/stream/AbstractTextPanelEditor.java
...aver/ui/data/managers/stream/AbstractTextPanelEditor.java
+7
-7
plugins/org.jkiss.dbeaver.ui/icons/sql/panel_grouping.png
plugins/org.jkiss.dbeaver.ui/icons/sql/panel_grouping.png
+0
-0
plugins/org.jkiss.dbeaver.ui/icons/sql/panel_grouping@2x.png
plugins/org.jkiss.dbeaver.ui/icons/sql/panel_grouping@2x.png
+0
-0
未找到文件。
plugins/org.jkiss.dbeaver.core/OSGI-INF/l10n/bundle.properties
浏览文件 @
2834944a
...
...
@@ -627,9 +627,14 @@ handler.socks_proxy.label = SOCKS Proxy
presentation.spreadsheet.label
=
Grid
presentation.plaintext.label
=
Text
panel.value-view.label
=
Value viewer
panel.column-aggregate.label
=
Aggregate columns
panel.value-view.label
=
Value
panel.value-view.description
=
Results cell value viewer
panel.column-aggregate.label
=
Aggregate
panel.column-aggregate.description
=
Results aggregate functions (SUM, MAX, AVG, etc)
panel.results-metadata.label
=
Metadata
panel.results-metadata.description
=
ResultSet metadata description
panel.results-grouping.label
=
Grouping
panel.results-grouping.description
=
Results grouping (GROUP BY)
search.result.view.page.metadata.result.name
=
Database Metadata Search Result
...
...
plugins/org.jkiss.dbeaver.core/plugin.xml
浏览文件 @
2834944a
...
...
@@ -120,8 +120,8 @@
properties=
"active,hasData,hasMoreData,canCopy,canPaste,canCut,canMove,editable,changed,canToggle,canSwitchPresentation,canNavigateLink,canNavigateHistory,supportsCount"
type=
"org.eclipse.ui.IWorkbenchPart"
/>
<propertyTester
class=
"org.jkiss.dbeaver.ui.controls.resultset.panel.ValueViewPropertyTester"
id=
"org.jkiss.dbeaver.ui.controls.resultset.panel.ValueViewPropertyTester"
class=
"org.jkiss.dbeaver.ui.controls.resultset.panel.
valueviewer.
ValueViewPropertyTester"
id=
"org.jkiss.dbeaver.ui.controls.resultset.panel.
valueviewer.
ValueViewPropertyTester"
namespace=
"org.jkiss.dbeaver.core.resultset.panel.valueView"
properties=
"active"
type=
"org.eclipse.ui.IWorkbenchPart"
/>
...
...
@@ -1555,7 +1555,7 @@
</enabledWhen>
</handler>
<handler
commandId=
"org.jkiss.dbeaver.core.resultset.cell.save"
class=
"org.jkiss.dbeaver.ui.controls.resultset.panel.ValueViewCommandHandler"
>
<handler
commandId=
"org.jkiss.dbeaver.core.resultset.cell.save"
class=
"org.jkiss.dbeaver.ui.controls.resultset.panel.
valueviewer.
ValueViewCommandHandler"
>
<activeWhen>
<with
variable=
"activePart"
>
<test
property=
"org.jkiss.dbeaver.core.resultset.panel.valueView.active"
/>
...
...
@@ -3708,28 +3708,36 @@
<panel
id=
"value-view"
label=
"%panel.value-view.label"
description=
"%
resultset.panel.value
view.description"
description=
"%
panel.value-
view.description"
icon=
"platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/panel_value.png"
default=
"true"
class=
"org.jkiss.dbeaver.ui.controls.resultset.panel.
ViewValue
Panel"
>
class=
"org.jkiss.dbeaver.ui.controls.resultset.panel.
valueviewer.ValueViewer
Panel"
>
<supports
type=
"columns"
/>
</panel>
<panel
id=
"column-aggregate"
label=
"%panel.column-aggregate.label"
description=
"%
resultset.panel.columns
aggregate.description"
description=
"%
panel.column-
aggregate.description"
icon=
"platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/panel_aggregate.png"
default=
"false"
class=
"org.jkiss.dbeaver.ui.controls.resultset.panel.AggregateColumnsPanel"
>
class=
"org.jkiss.dbeaver.ui.controls.resultset.panel.
aggregate.
AggregateColumnsPanel"
>
<supports
type=
"columns"
/>
</panel>
<panel
id=
"results-metadata"
label=
"%panel.results-metadata.label"
description=
"%
resultset.panel.
metadata.description"
description=
"%
panel.results-
metadata.description"
icon=
"platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/panel_metadata.png"
default=
"false"
class=
"org.jkiss.dbeaver.ui.controls.resultset.panel.MetaDataPanel"
>
class=
"org.jkiss.dbeaver.ui.controls.resultset.panel.metadata.MetaDataPanel"
>
</panel>
<panel
id=
"results-grouping"
label=
"%panel.results-grouping.label"
description=
"%panel.results-grouping.description"
icon=
"platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/panel_grouping.png"
default=
"false"
class=
"org.jkiss.dbeaver.ui.controls.resultset.panel.grouping.GroupingPanel"
>
</panel>
</extension>
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/IResultSetPanel.java
浏览文件 @
2834944a
...
...
@@ -28,12 +28,6 @@ import org.jkiss.dbeaver.model.DBPImage;
*/
public
interface
IResultSetPanel
{
String
getPanelTitle
();
DBPImage
getPanelImage
();
String
getPanelDescription
();
Control
createContents
(
IResultSetPresentation
presentation
,
Composite
parent
);
void
activatePanel
();
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetPresentationRegistry.java
浏览文件 @
2834944a
...
...
@@ -24,7 +24,6 @@ import org.jkiss.dbeaver.model.DBPDataSource;
import
org.jkiss.dbeaver.model.exec.DBCResultSet
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.Comparator
;
import
java.util.List
;
...
...
@@ -58,12 +57,7 @@ public class ResultSetPresentationRegistry {
presentations
.
add
(
descriptor
);
}
}
Collections
.
sort
(
presentations
,
new
Comparator
<
ResultSetPresentationDescriptor
>()
{
@Override
public
int
compare
(
ResultSetPresentationDescriptor
o1
,
ResultSetPresentationDescriptor
o2
)
{
return
o1
.
getOrder
()
-
o2
.
getOrder
();
}
});
presentations
.
sort
(
Comparator
.
comparingInt
(
ResultSetPresentationDescriptor:
:
getOrder
));
// Load panel descriptors
IConfigurationElement
[]
panelElements
=
registry
.
getConfigurationElementsFor
(
ResultSetPanelDescriptor
.
EXTENSION_ID
);
...
...
@@ -117,12 +111,7 @@ public class ResultSetPresentationRegistry {
result
.
add
(
panel
);
}
}
Collections
.
sort
(
result
,
new
Comparator
<
ResultSetPanelDescriptor
>()
{
@Override
public
int
compare
(
ResultSetPanelDescriptor
o1
,
ResultSetPanelDescriptor
o2
)
{
return
o1
.
getLabel
().
compareTo
(
o2
.
getLabel
());
}
});
result
.
sort
(
Comparator
.
comparing
(
ResultSetPanelDescriptor:
:
getLabel
));
return
result
;
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
浏览文件 @
2834944a
...
...
@@ -741,9 +741,9 @@ public class ResultSetViewer extends Viewer
boolean
firstPanel
=
panelFolder
.
getItemCount
()
==
0
;
CTabItem
panelTab
=
new
CTabItem
(
panelFolder
,
SWT
.
CLOSE
);
panelTab
.
setData
(
id
);
panelTab
.
setText
(
panel
.
getPanelTitle
());
panelTab
.
setText
(
panel
Descriptor
.
getLabel
());
panelTab
.
setImage
(
DBeaverIcons
.
getImage
(
panelDescriptor
.
getIcon
()));
panelTab
.
setToolTipText
(
panel
.
getPanel
Description
());
panelTab
.
setToolTipText
(
panel
Descriptor
.
get
Description
());
panelTab
.
setControl
(
panelControl
);
if
(
setActive
||
firstPanel
)
{
...
...
@@ -861,6 +861,11 @@ public class ResultSetViewer extends Viewer
for
(
final
ResultSetPanelDescriptor
panel
:
availablePanels
)
{
Action
panelAction
=
new
Action
(
panel
.
getLabel
(),
Action
.
AS_CHECK_BOX
)
{
{
setToolTipText
(
panel
.
getDescription
());
// Icons turns menu into mess - checkboxes are much better
//setImageDescriptor(DBeaverIcons.getImageDescriptor(panel.getIcon()));
}
@Override
public
boolean
isChecked
()
{
return
activePanels
.
containsKey
(
panel
.
getId
());
...
...
@@ -879,7 +884,6 @@ public class ResultSetViewer extends Viewer
}
}
};
//panelAction.setImageDescriptor(DBeaverIcons.getImageDescriptor(panel.getIcon()));
items
.
add
(
new
ActionContributionItem
(
panelAction
));
}
return
items
;
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/AggregateColumnsPanel.java
→
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/
aggregate/
AggregateColumnsPanel.java
浏览文件 @
2834944a
...
...
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.jkiss.dbeaver.ui.controls.resultset.panel
;
package
org.jkiss.dbeaver.ui.controls.resultset.panel
.aggregate
;
import
org.eclipse.jface.action.*
;
import
org.eclipse.jface.dialogs.IDialogSettings
;
...
...
@@ -72,21 +72,6 @@ public class AggregateColumnsPanel implements IResultSetPanel {
public
AggregateColumnsPanel
()
{
}
@Override
public
String
getPanelTitle
()
{
return
"Aggregate"
;
}
@Override
public
DBPImage
getPanelImage
()
{
return
UIIcon
.
PANEL_AGGREGATE
;
}
@Override
public
String
getPanelDescription
()
{
return
"Aggregate columns"
;
}
@Override
public
Control
createContents
(
final
IResultSetPresentation
presentation
,
Composite
parent
)
{
this
.
presentation
=
presentation
;
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/grouping/GroupingPanel.java
0 → 100644
浏览文件 @
2834944a
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.jkiss.dbeaver.ui.controls.resultset.panel.grouping
;
import
org.eclipse.jface.action.*
;
import
org.eclipse.jface.dialogs.IDialogSettings
;
import
org.eclipse.jface.viewers.ISelectionProvider
;
import
org.eclipse.swt.widgets.*
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.controls.resultset.*
;
/**
* RSV grouping panel
*/
public
class
GroupingPanel
implements
IResultSetPanel
{
private
static
final
Log
log
=
Log
.
getLog
(
GroupingPanel
.
class
);
public
static
final
String
PANEL_ID
=
"results-grouping"
;
public
static
final
String
SETTINGS_SECTION_GROUPING
=
"panel-"
+
PANEL_ID
;
private
IResultSetPresentation
presentation
;
private
IDialogSettings
panelSettings
;
public
GroupingPanel
()
{
}
@Override
public
Control
createContents
(
final
IResultSetPresentation
presentation
,
Composite
parent
)
{
this
.
presentation
=
presentation
;
this
.
panelSettings
=
ResultSetUtils
.
getViewerSettings
(
SETTINGS_SECTION_GROUPING
);
Composite
composite
=
UIUtils
.
createPlaceholder
(
parent
,
1
);
loadSettings
();
if
(
this
.
presentation
instanceof
ISelectionProvider
)
{
((
ISelectionProvider
)
this
.
presentation
).
addSelectionChangedListener
(
event
->
{
if
(
presentation
.
getController
().
getVisiblePanel
()
==
GroupingPanel
.
this
)
{
refresh
(
false
);
}
});
}
/*
MenuManager menuMgr = new MenuManager();
menuMgr.addMenuListener(manager -> {
manager.add(new CopyAction());
manager.add(new CopyAllAction());
manager.add(new Separator());
fillToolBar(manager);
});
menuMgr.setRemoveAllWhenShown(true);
this.aggregateTable.setMenu(menuMgr.createContextMenu(this.aggregateTable));
*/
return
composite
;
}
private
void
loadSettings
()
{
/*
IDialogSettings functionsSection = panelSettings.getSection("functions");
if (functionsSection != null) {
final Map<AggregateFunctionDescriptor, Integer> funcIndexes = new HashMap<>();
for (IDialogSettings funcSection : functionsSection.getSections()) {
String funcId = funcSection.getName();
if (!funcSection.getBoolean("enabled")) {
continue;
}
AggregateFunctionDescriptor func = FunctionsRegistry.getInstance().getFunction(funcId);
if (func == null) {
log.debug("Function '" + funcId + "' not found");
} else {
funcIndexes.put(func, funcSection.getInt("index"));
enabledFunctions.add(func);
}
}
enabledFunctions.sort(Comparator.comparingInt(funcIndexes::get));
}
if (enabledFunctions.isEmpty()) {
loadDefaultFunctions();
}
*/
}
private
void
saveSettings
()
{
IDialogSettings
functionsSection
=
UIUtils
.
getSettingsSection
(
panelSettings
,
"functions"
);
/*
for (AggregateFunctionDescriptor func : FunctionsRegistry.getInstance().getFunctions()) {
IDialogSettings funcSection = UIUtils.getSettingsSection(functionsSection, func.getId());
boolean enabled = enabledFunctions.contains(func);
funcSection.put("enabled", enabled);
if (enabled) {
funcSection.put("index", enabledFunctions.indexOf(func));
} else {
funcSection.put("index", -1);
}
}
*/
}
@Override
public
void
activatePanel
()
{
refresh
(
false
);
}
@Override
public
void
deactivatePanel
()
{
}
@Override
public
void
refresh
(
boolean
force
)
{
/*
aggregateTable.setRedraw(false);
try {
aggregateTable.removeAll();
if (this.presentation instanceof ISelectionProvider) {
ISelection selection = ((ISelectionProvider) presentation).getSelection();
if (selection instanceof IResultSetSelection) {
aggregateSelection((IResultSetSelection)selection);
}
}
UIUtils.packColumns(aggregateTable, true, null);
} finally {
aggregateTable.setRedraw(true);
}
*/
saveSettings
();
}
@Override
public
void
contributeActions
(
ToolBarManager
manager
)
{
fillToolBar
(
manager
);
}
private
void
fillToolBar
(
IContributionManager
contributionManager
)
{
/*
contributionManager.add(new AddFunctionAction());
contributionManager.add(new RemoveFunctionAction());
contributionManager.add(new ResetFunctionsAction());
contributionManager.add(new Separator());
contributionManager.add(new GroupByColumnsAction());
*/
}
}
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/MetaDataPanel.java
→
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/
metadata/
MetaDataPanel.java
浏览文件 @
2834944a
...
...
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.jkiss.dbeaver.ui.controls.resultset.panel
;
package
org.jkiss.dbeaver.ui.controls.resultset.panel
.metadata
;
import
org.eclipse.jface.action.Action
;
import
org.eclipse.jface.action.IContributionManager
;
...
...
@@ -35,7 +35,6 @@ import org.jkiss.dbeaver.model.exec.DBCExecutionContext;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.load.DatabaseLoadService
;
import
org.jkiss.dbeaver.ui.LoadingJob
;
import
org.jkiss.dbeaver.ui.UIIcon
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.controls.TreeContentProvider
;
import
org.jkiss.dbeaver.ui.controls.itemlist.DatabaseObjectListControl
;
...
...
@@ -64,21 +63,6 @@ public class MetaDataPanel implements IResultSetPanel {
public
MetaDataPanel
()
{
}
@Override
public
String
getPanelTitle
()
{
return
"MetaData"
;
}
@Override
public
DBPImage
getPanelImage
()
{
return
UIIcon
.
PANEL_METADATA
;
}
@Override
public
String
getPanelDescription
()
{
return
"Resultset metadata"
;
}
@Override
public
Control
createContents
(
final
IResultSetPresentation
presentation
,
Composite
parent
)
{
this
.
presentation
=
presentation
;
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/ValueViewCommandHandler.java
→
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/
valueviewer/
ValueViewCommandHandler.java
浏览文件 @
2834944a
...
...
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.jkiss.dbeaver.ui.controls.resultset.panel
;
package
org.jkiss.dbeaver.ui.controls.resultset.panel
.valueviewer
;
import
org.eclipse.core.commands.AbstractHandler
;
import
org.eclipse.core.commands.ExecutionEvent
;
...
...
@@ -43,12 +43,12 @@ public class ValueViewCommandHandler extends AbstractHandler {
}
String
actionId
=
event
.
getCommand
().
getId
();
IResultSetPanel
visiblePanel
=
rsv
.
getVisiblePanel
();
if
(
visiblePanel
instanceof
V
iewValue
Panel
)
{
if
(
visiblePanel
instanceof
V
alueViewer
Panel
)
{
switch
(
actionId
)
{
case
ITextEditorActionDefinitionIds
.
SMART_ENTER
:
case
CoreCommands
.
CMD_EXECUTE_STATEMENT
:
case
CMD_SAVE_VALUE:
((
V
iewValue
Panel
)
visiblePanel
).
saveValue
();
((
V
alueViewer
Panel
)
visiblePanel
).
saveValue
();
break
;
}
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/ValueViewPropertyTester.java
→
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/
valueviewer/
ValueViewPropertyTester.java
浏览文件 @
2834944a
...
...
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.jkiss.dbeaver.ui.controls.resultset.panel
;
package
org.jkiss.dbeaver.ui.controls.resultset.panel
.valueviewer
;
import
org.eclipse.core.expressions.PropertyTester
;
import
org.eclipse.ui.IWorkbenchPart
;
...
...
@@ -40,7 +40,7 @@ public class ValueViewPropertyTester extends PropertyTester
private
boolean
checkResultSetProperty
(
ResultSetViewer
rsv
,
String
property
,
Object
expectedValue
)
{
IResultSetPanel
visiblePanel
=
rsv
.
getVisiblePanel
();
if
(
visiblePanel
instanceof
V
iewValue
Panel
)
{
if
(
visiblePanel
instanceof
V
alueViewer
Panel
)
{
switch
(
property
)
{
case
PROP_ACTIVE:
return
true
;
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/
ViewValue
Panel.java
→
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/
valueviewer/ValueViewer
Panel.java
浏览文件 @
2834944a
...
...
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.jkiss.dbeaver.ui.controls.resultset.panel
;
package
org.jkiss.dbeaver.ui.controls.resultset.panel
.valueviewer
;
import
org.eclipse.core.runtime.IAdaptable
;
import
org.eclipse.jface.action.Action
;
...
...
@@ -37,7 +37,6 @@ import org.jkiss.dbeaver.DBException;
import
org.jkiss.dbeaver.DBeaverPreferences
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.core.DBeaverCore
;
import
org.jkiss.dbeaver.model.DBPImage
;
import
org.jkiss.dbeaver.model.data.DBDAttributeBinding
;
import
org.jkiss.dbeaver.model.data.DBDValue
;
import
org.jkiss.dbeaver.runtime.ui.DBUserInterface
;
...
...
@@ -56,9 +55,9 @@ import org.jkiss.utils.CommonUtils;
/**
* RSV value view panel
*/
public
class
V
iewValue
Panel
implements
IResultSetPanel
,
IAdaptable
{
public
class
V
alueViewer
Panel
implements
IResultSetPanel
,
IAdaptable
{
private
static
final
Log
log
=
Log
.
getLog
(
V
iewValue
Panel
.
class
);
private
static
final
Log
log
=
Log
.
getLog
(
V
alueViewer
Panel
.
class
);
public
static
final
String
PANEL_ID
=
"value-view"
;
public
static
final
String
SETTINGS_SECTION
=
"panel-"
+
PANEL_ID
;
...
...
@@ -79,22 +78,7 @@ public class ViewValuePanel implements IResultSetPanel, IAdaptable {
return
ResultSetUtils
.
getViewerSettings
(
SETTINGS_SECTION
);
}
public
ViewValuePanel
()
{
}
@Override
public
String
getPanelTitle
()
{
return
"Value"
;
}
@Override
public
DBPImage
getPanelImage
()
{
return
UIIcon
.
PANEL_VALUE
;
}
@Override
public
String
getPanelDescription
()
{
return
"Value view/edit"
;
public
ValueViewerPanel
()
{
}
@Override
...
...
@@ -107,7 +91,7 @@ public class ViewValuePanel implements IResultSetPanel, IAdaptable {
if
(
viewPlaceholder
.
getChildren
().
length
==
0
)
{
String
hidePanelCmd
=
ActionUtils
.
findCommandDescription
(
ResultSetCommandHandler
.
CMD_TOGGLE_PANELS
,
V
iewValue
Panel
.
this
.
presentation
.
getController
().
getSite
(),
V
alueViewer
Panel
.
this
.
presentation
.
getController
().
getSite
(),
true
);
UIUtils
.
drawMessageOverControl
(
viewPlaceholder
,
e
,
"Select a cell to view/edit value"
,
0
);
...
...
@@ -130,7 +114,7 @@ public class ViewValuePanel implements IResultSetPanel, IAdaptable {
if
(
this
.
presentation
instanceof
ISelectionProvider
)
{
final
ISelectionProvider
selectionProvider
=
(
ISelectionProvider
)
this
.
presentation
;
final
ISelectionChangedListener
selectionListener
=
event
->
{
if
(
V
iewValuePanel
.
this
.
presentation
.
getController
().
getVisiblePanel
()
==
ViewValue
Panel
.
this
)
{
if
(
V
alueViewerPanel
.
this
.
presentation
.
getController
().
getVisiblePanel
()
==
ValueViewer
Panel
.
this
)
{
refreshValue
(
false
);
}
};
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/spreadsheet/SpreadsheetPresentation.java
浏览文件 @
2834944a
...
...
@@ -87,7 +87,7 @@ import org.jkiss.dbeaver.ui.UIUtils;
import
org.jkiss.dbeaver.ui.controls.PropertyPageStandard
;
import
org.jkiss.dbeaver.ui.controls.lightgrid.*
;
import
org.jkiss.dbeaver.ui.controls.resultset.*
;
import
org.jkiss.dbeaver.ui.controls.resultset.panel.
ViewValue
Panel
;
import
org.jkiss.dbeaver.ui.controls.resultset.panel.
valueviewer.ValueViewer
Panel
;
import
org.jkiss.dbeaver.ui.data.IMultiController
;
import
org.jkiss.dbeaver.ui.data.IValueController
;
import
org.jkiss.dbeaver.ui.data.IValueEditor
;
...
...
@@ -914,7 +914,7 @@ public class SpreadsheetPresentation extends AbstractPresentation implements IRe
if
(
ArrayUtils
.
contains
(
supportedEditTypes
,
IValueController
.
EditType
.
PANEL
))
{
// Inline editor isn't supported but panel viewer is
// Enable panel
controller
.
activatePanel
(
V
iewValue
Panel
.
PANEL_ID
,
true
,
true
);
controller
.
activatePanel
(
V
alueViewer
Panel
.
PANEL_ID
,
true
,
true
);
return
null
;
}
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/data/managers/stream/AbstractTextPanelEditor.java
浏览文件 @
2834944a
...
...
@@ -25,7 +25,7 @@ import org.eclipse.swt.custom.StyledText;
import
org.jkiss.code.NotNull
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.model.exec.DBCException
;
import
org.jkiss.dbeaver.ui.controls.resultset.panel.
ViewValue
Panel
;
import
org.jkiss.dbeaver.ui.controls.resultset.panel.
valueviewer.ValueViewer
Panel
;
import
org.jkiss.dbeaver.ui.data.IStreamValueEditor
;
import
org.jkiss.dbeaver.ui.data.IValueController
;
import
org.jkiss.dbeaver.ui.editors.text.BaseTextEditor
;
...
...
@@ -58,7 +58,7 @@ public abstract class AbstractTextPanelEditor implements IStreamValueEditor<Styl
boolean
newWW
=
!
editorControl
.
getWordWrap
();
setChecked
(
newWW
);
editorControl
.
setWordWrap
(
newWW
);
V
iewValue
Panel
.
getPanelSettings
().
put
(
PREF_TEXT_EDITOR_WORD_WRAP
,
newWW
);
V
alueViewer
Panel
.
getPanelSettings
().
put
(
PREF_TEXT_EDITOR_WORD_WRAP
,
newWW
);
}
};
wwAction
.
setChecked
(
editorControl
.
getWordWrap
());
...
...
@@ -70,13 +70,13 @@ public abstract class AbstractTextPanelEditor implements IStreamValueEditor<Styl
final
Action
afAction
=
new
Action
(
"Auto Format"
,
Action
.
AS_CHECK_BOX
)
{
@Override
public
void
run
()
{
boolean
newAF
=
!
V
iewValue
Panel
.
getPanelSettings
().
getBoolean
(
PREF_TEXT_EDITOR_AUTO_FORMAT
);
boolean
newAF
=
!
V
alueViewer
Panel
.
getPanelSettings
().
getBoolean
(
PREF_TEXT_EDITOR_AUTO_FORMAT
);
setChecked
(
newAF
);
V
iewValue
Panel
.
getPanelSettings
().
put
(
PREF_TEXT_EDITOR_AUTO_FORMAT
,
newAF
);
V
alueViewer
Panel
.
getPanelSettings
().
put
(
PREF_TEXT_EDITOR_AUTO_FORMAT
,
newAF
);
applyEditorStyle
();
}
};
afAction
.
setChecked
(
V
iewValue
Panel
.
getPanelSettings
().
getBoolean
(
PREF_TEXT_EDITOR_AUTO_FORMAT
));
afAction
.
setChecked
(
V
alueViewer
Panel
.
getPanelSettings
().
getBoolean
(
PREF_TEXT_EDITOR_AUTO_FORMAT
));
manager
.
add
(
afAction
);
}
}
...
...
@@ -86,7 +86,7 @@ public abstract class AbstractTextPanelEditor implements IStreamValueEditor<Styl
}
protected
void
initEditorSettings
(
StyledText
control
)
{
boolean
wwEnabled
=
V
iewValue
Panel
.
getPanelSettings
().
getBoolean
(
PREF_TEXT_EDITOR_WORD_WRAP
);
boolean
wwEnabled
=
V
alueViewer
Panel
.
getPanelSettings
().
getBoolean
(
PREF_TEXT_EDITOR_WORD_WRAP
);
if
(
wwEnabled
!=
control
.
getWordWrap
())
{
control
.
setWordWrap
(
wwEnabled
);
}
...
...
@@ -94,7 +94,7 @@ public abstract class AbstractTextPanelEditor implements IStreamValueEditor<Styl
protected
void
applyEditorStyle
()
{
BaseTextEditor
textEditor
=
getTextEditor
();
if
(
textEditor
!=
null
&&
V
iewValue
Panel
.
getPanelSettings
().
getBoolean
(
PREF_TEXT_EDITOR_AUTO_FORMAT
))
{
if
(
textEditor
!=
null
&&
V
alueViewer
Panel
.
getPanelSettings
().
getBoolean
(
PREF_TEXT_EDITOR_AUTO_FORMAT
))
{
try
{
textEditor
.
getViewer
().
doOperation
(
ISourceViewer
.
FORMAT
);
}
catch
(
Exception
e
)
{
...
...
plugins/org.jkiss.dbeaver.ui/icons/sql/panel_grouping.png
0 → 100644
浏览文件 @
2834944a
303 字节
plugins/org.jkiss.dbeaver.ui/icons/sql/panel_grouping@2x.png
0 → 100644
浏览文件 @
2834944a
908 字节
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录