Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
d6361100
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,发现更多精彩内容 >>
提交
d6361100
编写于
1月 18, 2013
作者:
J
jurgen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Value preview panel
上级
1e55dcc9
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
121 addition
and
8 deletion
+121
-8
plugins/org.jkiss.dbeaver.core/icons/sql/resultset_preview_hide.png
...g.jkiss.dbeaver.core/icons/sql/resultset_preview_hide.png
+0
-0
plugins/org.jkiss.dbeaver.core/icons/sql/resultset_preview_show.png
...g.jkiss.dbeaver.core/icons/sql/resultset_preview_show.png
+0
-0
plugins/org.jkiss.dbeaver.core/plugin.properties
plugins/org.jkiss.dbeaver.core/plugin.properties
+2
-0
plugins/org.jkiss.dbeaver.core/plugin.xml
plugins/org.jkiss.dbeaver.core/plugin.xml
+12
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/DBIcon.java
...g.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/DBIcon.java
+2
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetCommandHandler.java
...beaver/ui/controls/resultset/ResultSetCommandHandler.java
+3
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetModeToggleModeHandler.java
...ui/controls/resultset/ResultSetModeToggleModeHandler.java
+1
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetModeTogglePreviewHandler.java
...controls/resultset/ResultSetModeTogglePreviewHandler.java
+52
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
.../jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
+36
-5
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ViewValuePanel.java
...g/jkiss/dbeaver/ui/controls/resultset/ViewValuePanel.java
+13
-1
未找到文件。
plugins/org.jkiss.dbeaver.core/icons/sql/resultset_preview_hide.png
0 → 100644
浏览文件 @
d6361100
602 字节
plugins/org.jkiss.dbeaver.core/icons/sql/resultset_preview_show.png
0 → 100644
浏览文件 @
d6361100
555 字节
plugins/org.jkiss.dbeaver.core/plugin.properties
浏览文件 @
d6361100
...
...
@@ -112,6 +112,8 @@ command.org.jkiss.dbeaver.core.compare.objects.description=Compare database obje
command.org.jkiss.dbeaver.core.resultset.toggleMode.name
=
Toggle Grid/Record view
command.org.jkiss.dbeaver.core.resultset.toggleMode.description
=
Toggle Result Set Grid/Record View
command.org.jkiss.dbeaver.core.resultset.togglePreview.name
=
Toggle value view panel
command.org.jkiss.dbeaver.core.resultset.togglePreview.description
=
Toggle result set cell value view panel
command.org.jkiss.dbeaver.core.resultset.row.first.name
=
First row
command.org.jkiss.dbeaver.core.resultset.row.first.description
=
Move to first row
command.org.jkiss.dbeaver.core.resultset.row.previous.name
=
Previous row
...
...
plugins/org.jkiss.dbeaver.core/plugin.xml
浏览文件 @
d6361100
...
...
@@ -200,6 +200,7 @@
<command
id=
"org.jkiss.dbeaver.core.compare.objects"
name=
"%command.org.jkiss.dbeaver.core.compare.objects.name"
description=
"%command.org.jkiss.dbeaver.core.compare.objects.description"
categoryId=
"org.jkiss.dbeaver.core.util"
/>
<command
id=
"org.jkiss.dbeaver.core.resultset.toggleMode"
name=
"%command.org.jkiss.dbeaver.core.resultset.toggleMode.name"
description=
"%command.org.jkiss.dbeaver.core.resultset.toggleMode.description"
categoryId=
"org.jkiss.dbeaver.core.rs"
/>
<command
id=
"org.jkiss.dbeaver.core.resultset.togglePreview"
name=
"%command.org.jkiss.dbeaver.core.resultset.togglePreview.name"
description=
"%command.org.jkiss.dbeaver.core.resultset.togglePreview.description"
categoryId=
"org.jkiss.dbeaver.core.rs"
/>
<command
id=
"org.jkiss.dbeaver.core.resultset.row.first"
name=
"%command.org.jkiss.dbeaver.core.resultset.row.first.name"
description=
"%command.org.jkiss.dbeaver.core.resultset.row.first.description"
categoryId=
"org.jkiss.dbeaver.core.rs"
/>
<command
id=
"org.jkiss.dbeaver.core.resultset.row.previous"
name=
"%command.org.jkiss.dbeaver.core.resultset.row.previous.name"
description=
"%command.org.jkiss.dbeaver.core.resultset.row.previous.description"
categoryId=
"org.jkiss.dbeaver.core.rs"
/>
<command
id=
"org.jkiss.dbeaver.core.resultset.row.next"
name=
"%command.org.jkiss.dbeaver.core.resultset.row.next.name"
description=
"%command.org.jkiss.dbeaver.core.resultset.row.next.description"
categoryId=
"org.jkiss.dbeaver.core.rs"
/>
...
...
@@ -271,6 +272,7 @@
<image
commandId=
"org.jkiss.dbeaver.core.resultset.applyChanges"
icon=
"icons/sql/accept.png"
/>
<image
commandId=
"org.jkiss.dbeaver.core.resultset.rejectChanges"
icon=
"icons/sql/cancel.png"
/>
<image
commandId=
"org.jkiss.dbeaver.core.resultset.toggleMode"
icon=
"icons/sql/resultset_record.png"
/>
<image
commandId=
"org.jkiss.dbeaver.core.resultset.togglePreview"
icon=
"icons/sql/resultset_preview_show.png"
/>
<image
commandId=
"org.jkiss.dbeaver.core.qm.filter"
icon=
"icons/misc/filter.png"
/>
<image
commandId=
"org.jkiss.dbeaver.core.qm.clear"
icon=
"IMG_ETOOL_CLEAR"
/>
...
...
@@ -826,7 +828,15 @@
<!-- ResultSet handlers
Handle both row and text editor commands
-->
<handler
commandId=
"org.jkiss.dbeaver.core.resultset.toggleMode"
class=
"org.jkiss.dbeaver.ui.controls.resultset.ResultSetModeToggleHandler"
>
<handler
commandId=
"org.jkiss.dbeaver.core.resultset.toggleMode"
class=
"org.jkiss.dbeaver.ui.controls.resultset.ResultSetModeToggleModeHandler"
>
<activeWhen><reference
definitionId=
"org.jkiss.dbeaver.core.ui.spreadsheet.control"
/></activeWhen>
<enabledWhen>
<with
variable=
"activeFocusControl"
>
<test
property=
"org.jkiss.dbeaver.core.resultset.canToggle"
/>
</with>
</enabledWhen>
</handler>
<handler
commandId=
"org.jkiss.dbeaver.core.resultset.togglePreview"
class=
"org.jkiss.dbeaver.ui.controls.resultset.ResultSetModeTogglePreviewHandler"
>
<activeWhen><reference
definitionId=
"org.jkiss.dbeaver.core.ui.spreadsheet.control"
/></activeWhen>
<enabledWhen>
<with
variable=
"activeFocusControl"
>
...
...
@@ -1370,6 +1380,7 @@
<extension
point=
"org.eclipse.ui.bindings"
>
<key
commandId=
"org.jkiss.dbeaver.core.resultset.toggleMode"
schemeId=
"org.eclipse.ui.defaultAcceleratorConfiguration"
sequence=
"TAB"
/>
<key
commandId=
"org.jkiss.dbeaver.core.resultset.togglePreview"
schemeId=
"org.eclipse.ui.defaultAcceleratorConfiguration"
sequence=
"F7"
/>
<key
commandId=
"org.jkiss.dbeaver.core.resultset.row.first"
schemeId=
"org.eclipse.ui.defaultAcceleratorConfiguration"
sequence=
"CTRL+SHIFT+ARROW_LEFT"
/>
<key
commandId=
"org.jkiss.dbeaver.core.resultset.row.previous"
schemeId=
"org.eclipse.ui.defaultAcceleratorConfiguration"
sequence=
"CTRL+ARROW_LEFT"
/>
<key
commandId=
"org.jkiss.dbeaver.core.resultset.row.next"
schemeId=
"org.eclipse.ui.defaultAcceleratorConfiguration"
sequence=
"CTRL+ARROW_RIGHT"
/>
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/DBIcon.java
浏览文件 @
d6361100
...
...
@@ -112,6 +112,8 @@ public enum DBIcon
RS_REFRESH
(
"rs_refresh"
,
"/icons/sql/resultset_refresh.png"
),
//$NON-NLS-1$ //$NON-NLS-2$
RS_TOGGLE_RECORD
(
"rs_toggle_record"
,
"icons/sql/resultset_record.png"
),
//$NON-NLS-1$ //$NON-NLS-2$
RS_TOGGLE_GRID
(
"rs_toggle_grid"
,
"icons/sql/resultset_grid.png"
),
//$NON-NLS-1$ //$NON-NLS-2$
RS_PREVIEW_SHOW
(
"rs_preview_show"
,
"icons/sql/resultset_preview_show.png"
),
//$NON-NLS-1$ //$NON-NLS-2$
RS_PREVIEW_HIDE
(
"rs_preview_hide"
,
"icons/sql/resultset_preview_hide.png"
),
//$NON-NLS-1$ //$NON-NLS-2$
TXN_COMMIT_AUTO
(
"txn_commit_auto"
,
"icons/sql/txn_auto.png"
),
//$NON-NLS-1$ //$NON-NLS-2$
TXN_COMMIT_MANUAL
(
"txn_commit_manual"
,
"icons/sql/txn_manual.png"
),
//$NON-NLS-1$ //$NON-NLS-2$
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetCommandHandler.java
浏览文件 @
d6361100
...
...
@@ -29,6 +29,7 @@ import org.jkiss.dbeaver.ui.controls.spreadsheet.SpreadsheetCommandHandler;
* ResultSetCommandHandler
*/
public
class
ResultSetCommandHandler
extends
SpreadsheetCommandHandler
{
public
static
final
String
CMD_TOGGLE_PREVIEW
=
"org.jkiss.dbeaver.core.resultset.togglePreview"
;
public
static
final
String
CMD_TOGGLE_MODE
=
"org.jkiss.dbeaver.core.resultset.toggleMode"
;
public
static
final
String
CMD_ROW_FIRST
=
"org.jkiss.dbeaver.core.resultset.row.first"
;
public
static
final
String
CMD_ROW_PREVIOUS
=
"org.jkiss.dbeaver.core.resultset.row.previous"
;
...
...
@@ -59,6 +60,8 @@ public class ResultSetCommandHandler extends SpreadsheetCommandHandler {
resultSet
.
refresh
();
}
else
if
(
actionId
.
equals
(
CMD_TOGGLE_MODE
))
{
resultSet
.
toggleMode
();
}
else
if
(
actionId
.
equals
(
CMD_TOGGLE_PREVIEW
))
{
resultSet
.
togglePreview
();
}
else
if
(
actionId
.
equals
(
CMD_ROW_PREVIOUS
)
||
actionId
.
equals
(
ITextEditorActionDefinitionIds
.
WORD_PREVIOUS
))
{
resultSet
.
scrollToRow
(
ResultSetViewer
.
RowPosition
.
PREVIOUS
);
}
else
if
(
actionId
.
equals
(
CMD_ROW_NEXT
)
||
actionId
.
equals
(
ITextEditorActionDefinitionIds
.
WORD_NEXT
))
{
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetModeToggleHandler.java
→
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetModeToggle
Mode
Handler.java
浏览文件 @
d6361100
...
...
@@ -28,7 +28,7 @@ import java.util.Map;
/**
* ResultSetCommandHandler
*/
public
class
ResultSetModeToggleHandler
extends
ResultSetCommandHandler
implements
IElementUpdater
{
public
class
ResultSetModeToggle
Mode
Handler
extends
ResultSetCommandHandler
implements
IElementUpdater
{
@Override
public
void
updateElement
(
UIElement
element
,
Map
parameters
)
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetModeTogglePreviewHandler.java
0 → 100644
浏览文件 @
d6361100
/*
* Copyright (C) 2010-2012 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.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
;
/**
* ResultSetModeTogglePreviewHandler
*/
public
class
ResultSetModeTogglePreviewHandler
extends
ResultSetCommandHandler
implements
IElementUpdater
{
@Override
public
void
updateElement
(
UIElement
element
,
Map
parameters
)
{
if
(
element
.
getServiceLocator
()
instanceof
IWorkbenchPartSite
)
{
IWorkbenchPartSite
partSite
=
(
IWorkbenchPartSite
)
element
.
getServiceLocator
();
if
(
partSite
.
getPart
()
instanceof
ResultSetProvider
)
{
ResultSetViewer
rsv
=
((
ResultSetProvider
)
partSite
.
getPart
()).
getResultSetViewer
();
if
(
rsv
!=
null
)
{
if
(
rsv
.
isPreviewVisible
())
{
element
.
setText
(
"Hide value view panel"
);
element
.
setIcon
(
DBIcon
.
RS_PREVIEW_HIDE
.
getImageDescriptor
());
}
else
{
element
.
setText
(
"Show value view panel"
);
element
.
setIcon
(
DBIcon
.
RS_PREVIEW_SHOW
.
getImageDescriptor
());
}
}
}
}
}
}
\ No newline at end of file
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
浏览文件 @
d6361100
...
...
@@ -101,7 +101,6 @@ public class ResultSetViewer extends Viewer implements IDataSourceProvider, ISpr
static
final
Log
log
=
LogFactory
.
getLog
(
ResultSetViewer
.
class
);
private
static
final
int
DEFAULT_ROW_HEADER_WIDTH
=
50
;
private
final
Composite
previewPane
;
public
enum
ResultSetMode
{
GRID
,
...
...
@@ -119,7 +118,11 @@ public class ResultSetViewer extends Viewer implements IDataSourceProvider, ISpr
private
ResultSetMode
mode
;
private
Composite
viewerPanel
;
private
Text
filtersText
;
private
Spreadsheet
spreadsheet
;
private
final
SashForm
resultsSash
;
private
final
Spreadsheet
spreadsheet
;
private
final
Composite
previewPane
;
private
ResultSetProvider
resultSetProvider
;
private
ResultSetDataReceiver
dataReceiver
;
private
IThemeManager
themeManager
;
...
...
@@ -189,7 +192,7 @@ public class ResultSetViewer extends Viewer implements IDataSourceProvider, ISpr
this
.
filtersText
.
setVisible
(
false
);
{
SashForm
resultsSash
=
new
SashForm
(
viewerPanel
,
SWT
.
HORIZONTAL
|
SWT
.
SMOOTH
);
resultsSash
=
new
SashForm
(
viewerPanel
,
SWT
.
HORIZONTAL
|
SWT
.
SMOOTH
);
resultsSash
.
setLayoutData
(
new
GridData
(
GridData
.
FILL_BOTH
));
resultsSash
.
setSashWidth
(
5
);
resultsSash
.
setBackground
(
resultsSash
.
getDisplay
().
getSystemColor
(
SWT
.
COLOR_WIDGET_BACKGROUND
));
...
...
@@ -205,9 +208,16 @@ public class ResultSetViewer extends Viewer implements IDataSourceProvider, ISpr
new
RowLabelProvider
());
this
.
spreadsheet
.
setLayoutData
(
new
GridData
(
GridData
.
FILL_BOTH
));
this
.
previewPane
=
new
ViewValuePanel
(
resultsSash
);
this
.
previewPane
=
new
ViewValuePanel
(
resultsSash
)
{
@Override
protected
void
hidePanel
()
{
togglePreview
();
}
};
resultsSash
.
setWeights
(
new
int
[]
{
75
,
25
});
resultsSash
.
setWeights
(
new
int
[]{
75
,
25
});
resultsSash
.
setMaximizedControl
(
spreadsheet
);
}
createStatusBar
(
viewerPanel
);
...
...
@@ -410,6 +420,7 @@ public class ResultSetViewer extends Viewer implements IDataSourceProvider, ISpr
toolBarManager
.
add
(
refreshAction
);
toolBarManager
.
add
(
new
Separator
());
toolBarManager
.
add
(
ActionUtils
.
makeCommandContribution
(
site
,
ResultSetCommandHandler
.
CMD_TOGGLE_MODE
));
toolBarManager
.
add
(
ActionUtils
.
makeCommandContribution
(
site
,
ResultSetCommandHandler
.
CMD_TOGGLE_PREVIEW
));
toolBarManager
.
add
(
new
ConfigAction
());
toolBarManager
.
createControl
(
statusBar
);
...
...
@@ -503,6 +514,25 @@ public class ResultSetViewer extends Viewer implements IDataSourceProvider, ISpr
}
}
public
boolean
isPreviewVisible
()
{
return
resultsSash
.
getMaximizedControl
()
==
null
;
}
public
void
togglePreview
()
{
if
(
resultsSash
.
getMaximizedControl
()
==
null
)
{
resultsSash
.
setMaximizedControl
(
spreadsheet
);
}
else
{
resultsSash
.
setMaximizedControl
(
null
);
}
// Refresh elements
ICommandService
commandService
=
(
ICommandService
)
site
.
getService
(
ICommandService
.
class
);
if
(
commandService
!=
null
)
{
commandService
.
refreshElements
(
ResultSetCommandHandler
.
CMD_TOGGLE_PREVIEW
,
null
);
}
}
private
void
changeMode
(
ResultSetMode
resultSetMode
)
{
int
oldRowNum
=
this
.
curRowNum
,
oldColNum
=
this
.
curColNum
;
...
...
@@ -2908,6 +2938,7 @@ public class ResultSetViewer extends Viewer implements IDataSourceProvider, ISpr
menuManager
.
add
(
new
DictionaryEditAction
());
menuManager
.
add
(
new
Separator
());
menuManager
.
add
(
ActionUtils
.
makeCommandContribution
(
site
,
ResultSetCommandHandler
.
CMD_TOGGLE_MODE
,
CommandContributionItem
.
STYLE_CHECK
));
menuManager
.
add
(
ActionUtils
.
makeCommandContribution
(
site
,
ResultSetCommandHandler
.
CMD_TOGGLE_PREVIEW
,
CommandContributionItem
.
STYLE_CHECK
));
menuManager
.
add
(
new
Separator
());
menuManager
.
add
(
new
Action
(
"Preferences"
)
{
@Override
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ViewValuePanel.java
浏览文件 @
d6361100
package
org.jkiss.dbeaver.ui.controls.resultset
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.events.SelectionAdapter
;
import
org.eclipse.swt.events.SelectionEvent
;
import
org.eclipse.swt.layout.GridData
;
import
org.eclipse.swt.layout.GridLayout
;
import
org.eclipse.swt.widgets.Composite
;
...
...
@@ -13,7 +15,7 @@ import org.jkiss.dbeaver.ui.UIUtils;
/**
* RSV value view panel
*/
class
ViewValuePanel
extends
Composite
{
abstract
class
ViewValuePanel
extends
Composite
{
private
final
Label
columnImageLabel
;
private
final
Label
columnNameLabel
;
...
...
@@ -46,5 +48,15 @@ class ViewValuePanel extends Composite {
hideToolbar
.
setLayoutData
(
new
GridData
(
GridData
.
HORIZONTAL_ALIGN_END
));
ToolItem
hideItem
=
new
ToolItem
(
hideToolbar
,
SWT
.
PUSH
);
hideItem
.
setText
(
"Hide"
);
hideItem
.
addSelectionListener
(
new
SelectionAdapter
()
{
@Override
public
void
widgetSelected
(
SelectionEvent
e
)
{
hidePanel
();
}
});
}
protected
abstract
void
hidePanel
();
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录