Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
4cb912b7
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,发现更多精彩内容 >>
提交
4cb912b7
编写于
5月 14, 2018
作者:
S
serge-rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#2352 Resutls viewer horizontal scrolling with mouse wheel
Former-commit-id:
b8cf674a
上级
1ce12314
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
85 addition
and
5 deletion
+85
-5
plugins/org.jkiss.dbeaver.core/plugin.xml
plugins/org.jkiss.dbeaver.core/plugin.xml
+1
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/lightgrid/LightGrid.java
...rc/org/jkiss/dbeaver/ui/controls/lightgrid/LightGrid.java
+38
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/AbstractPresentation.java
...s/dbeaver/ui/controls/resultset/AbstractPresentation.java
+16
-3
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/plaintext/PlainTextPresentation.java
...i/controls/resultset/plaintext/PlainTextPresentation.java
+20
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/spreadsheet/SpreadsheetPresentation.java
...ntrols/resultset/spreadsheet/SpreadsheetPresentation.java
+10
-1
未找到文件。
plugins/org.jkiss.dbeaver.core/plugin.xml
浏览文件 @
4cb912b7
...
...
@@ -2518,7 +2518,7 @@
<key
commandId=
"org.jkiss.dbeaver.core.resultset.row.previous"
contextId=
"org.jkiss.dbeaver.ui.context.resultset"
schemeId=
"org.eclipse.ui.defaultAcceleratorConfiguration"
sequence=
"CTRL+ALT+ARROW_LEFT"
/>
<key
commandId=
"org.jkiss.dbeaver.core.resultset.row.next"
contextId=
"org.jkiss.dbeaver.ui.context.resultset"
schemeId=
"org.eclipse.ui.defaultAcceleratorConfiguration"
sequence=
"CTRL+ALT+ARROW_RIGHT"
/>
<key
commandId=
"org.jkiss.dbeaver.core.resultset.row.last"
contextId=
"org.jkiss.dbeaver.ui.context.resultset"
schemeId=
"org.eclipse.ui.defaultAcceleratorConfiguration"
sequence=
"CTRL+ALT+SHIFT+ARROW_RIGHT"
/>
<key
commandId=
"org.jkiss.dbeaver.core.resultset.fetch.page"
contextId=
"org.jkiss.dbeaver.ui.context.resultset"
schemeId=
"org.eclipse.ui.defaultAcceleratorConfiguration"
sequence=
"CTRL+
SHIF
T+'"
/>
<key
commandId=
"org.jkiss.dbeaver.core.resultset.fetch.page"
contextId=
"org.jkiss.dbeaver.ui.context.resultset"
schemeId=
"org.eclipse.ui.defaultAcceleratorConfiguration"
sequence=
"CTRL+
AL
T+'"
/>
<key
commandId=
"org.jkiss.dbeaver.core.resultset.fetch.all"
contextId=
"org.jkiss.dbeaver.ui.context.resultset"
schemeId=
"org.eclipse.ui.defaultAcceleratorConfiguration"
sequence=
"CTRL+ALT+\"
/>
<key
commandId=
"org.jkiss.dbeaver.core.resultset.row.edit"
contextId=
"org.jkiss.dbeaver.ui.context.resultset.focused"
schemeId=
"org.eclipse.ui.defaultAcceleratorConfiguration"
sequence=
"SHIFT+ENTER"
/>
<key
commandId=
"org.jkiss.dbeaver.core.resultset.row.edit.inline"
contextId=
"org.jkiss.dbeaver.ui.context.resultset.focused"
schemeId=
"org.eclipse.ui.defaultAcceleratorConfiguration"
sequence=
"ENTER"
/>
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/lightgrid/LightGrid.java
浏览文件 @
4cb912b7
...
...
@@ -3259,6 +3259,44 @@ public abstract class LightGrid extends Canvas {
redraw
();
}
public
void
scrollHorizontally
(
int
count
)
{
Rectangle
clientArea
=
getClientArea
();
GridColumn
leftColumn
=
null
,
rightColumn
=
null
;
for
(
GridColumn
column
:
columns
)
{
Rectangle
bounds
=
column
.
getBounds
();
if
(
leftColumn
==
null
)
{
if
(
bounds
.
x
+
bounds
.
width
>
0
)
{
leftColumn
=
column
;
}
}
else
{
if
(
bounds
.
x
+
bounds
.
width
>
clientArea
.
width
)
{
rightColumn
=
column
;
break
;
}
}
}
GridColumn
scrollTo
=
null
;
if
(
count
>
0
)
{
if
(
leftColumn
!=
null
)
{
scrollTo
=
getPreviousVisibleColumn
(
leftColumn
);
if
(
scrollTo
==
null
)
{
scrollTo
=
leftColumn
;
}
}
}
else
{
if
(
rightColumn
!=
null
)
{
scrollTo
=
getNextVisibleColumn
(
rightColumn
);
if
(
scrollTo
==
null
)
{
scrollTo
=
rightColumn
;
}
}
}
if
(
scrollTo
!=
null
)
{
showColumn
(
scrollTo
);
}
}
/**
* Key down event handler.
*
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/AbstractPresentation.java
浏览文件 @
4cb912b7
...
...
@@ -22,12 +22,13 @@ import org.eclipse.jface.action.IMenuManager;
import
org.eclipse.jface.action.MenuManager
;
import
org.eclipse.jface.util.IPropertyChangeListener
;
import
org.eclipse.jface.viewers.*
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.events.FocusEvent
;
import
org.eclipse.swt.events.FocusListener
;
import
org.eclipse.swt.events.MouseEvent
;
import
org.eclipse.swt.events.MouseWheelListener
;
import
org.eclipse.swt.graphics.Point
;
import
org.eclipse.swt.widgets.Composite
;
import
org.eclipse.swt.widgets.Control
;
import
org.eclipse.swt.widgets.Menu
;
import
org.eclipse.swt.widgets.*
;
import
org.eclipse.ui.IWorkbenchPartSite
;
import
org.eclipse.ui.contexts.IContextActivation
;
import
org.eclipse.ui.contexts.IContextService
;
...
...
@@ -190,6 +191,18 @@ public abstract class AbstractPresentation implements IResultSetPresentation, IS
});
}
control
.
addDisposeListener
(
e
->
UIUtils
.
removeFocusTracker
(
site
,
control
));
// Enable horizontal scrolling
control
.
addMouseWheelListener
(
e
->
{
boolean
shift
=
((
e
.
stateMask
&
SWT
.
MOD2
)
!=
0
);
if
(
shift
)
{
performHorizontalScroll
(
e
.
count
);
}
});
}
protected
void
performHorizontalScroll
(
int
scrollCount
)
{
}
protected
void
activateTextKeyBindings
(
@NotNull
IResultSetController
controller
,
Control
control
)
{
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/plaintext/PlainTextPresentation.java
浏览文件 @
4cb912b7
...
...
@@ -31,6 +31,7 @@ import org.eclipse.swt.events.SelectionEvent;
import
org.eclipse.swt.graphics.Color
;
import
org.eclipse.swt.graphics.Font
;
import
org.eclipse.swt.graphics.FontData
;
import
org.eclipse.swt.graphics.Rectangle
;
import
org.eclipse.swt.layout.GridData
;
import
org.eclipse.swt.printing.PrintDialog
;
import
org.eclipse.swt.printing.Printer
;
...
...
@@ -529,6 +530,25 @@ public class PlainTextPresentation extends AbstractPresentation implements IAdap
}
}
@Override
protected
void
performHorizontalScroll
(
int
scrollCount
)
{
ScrollBar
hsb
=
text
.
getHorizontalBar
();
if
(
hsb
!=
null
&&
hsb
.
isVisible
())
{
int
curPosition
=
text
.
getHorizontalPixel
();
int
pageIncrement
=
UIUtils
.
getFontHeight
(
text
.
getFont
())
*
10
;
if
(
scrollCount
>
0
)
{
if
(
curPosition
>
0
)
{
curPosition
-=
pageIncrement
;
}
}
else
{
curPosition
+=
pageIncrement
;
}
if
(
curPosition
<
0
)
curPosition
=
0
;
text
.
setHorizontalPixel
(
curPosition
);
//text.setHorizontalIndex();
}
}
@Override
public
<
T
>
T
getAdapter
(
Class
<
T
>
adapter
)
{
if
(
adapter
==
IFindReplaceTarget
.
class
)
{
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/spreadsheet/SpreadsheetPresentation.java
浏览文件 @
4cb912b7
...
...
@@ -49,7 +49,10 @@ import org.eclipse.jface.viewers.Viewer;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.dnd.Clipboard
;
import
org.eclipse.swt.dnd.TextTransfer
;
import
org.eclipse.swt.events.*
;
import
org.eclipse.swt.events.ControlAdapter
;
import
org.eclipse.swt.events.ControlEvent
;
import
org.eclipse.swt.events.SelectionAdapter
;
import
org.eclipse.swt.events.SelectionEvent
;
import
org.eclipse.swt.graphics.*
;
import
org.eclipse.swt.layout.FillLayout
;
import
org.eclipse.swt.layout.GridData
;
...
...
@@ -311,6 +314,12 @@ public class SpreadsheetPresentation extends AbstractPresentation implements IRe
return
super
.
getCursorLocation
();
}
@Override
protected
void
performHorizontalScroll
(
int
scrollCount
)
{
spreadsheet
.
scrollHorizontally
(
scrollCount
);
}
@Override
public
Object
saveState
()
{
return
curAttribute
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录