Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Christnowx
Gephi
提交
a2d455d6
G
Gephi
项目概览
Christnowx
/
Gephi
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
Gephi
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a2d455d6
编写于
10月 27, 2015
作者:
M
Mathieu Bastian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Repair mouse press events on visualization
上级
1de6b3ac
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
64 addition
and
56 deletion
+64
-56
modules/VisualizationImpl/src/main/java/org/gephi/visualization/events/StandardVizEventManager.java
...g/gephi/visualization/events/StandardVizEventManager.java
+64
-56
未找到文件。
modules/VisualizationImpl/src/main/java/org/gephi/visualization/events/StandardVizEventManager.java
浏览文件 @
a2d455d6
...
...
@@ -51,11 +51,15 @@ import java.util.List;
import
java.util.concurrent.LinkedBlockingDeque
;
import
java.util.concurrent.ThreadPoolExecutor
;
import
java.util.concurrent.TimeUnit
;
import
java.util.logging.Level
;
import
java.util.logging.Logger
;
import
org.gephi.graph.api.Node
;
import
org.gephi.visualization.VizController
;
import
org.gephi.visualization.apiimpl.GraphIO
;
import
org.gephi.visualization.apiimpl.VizEvent
;
import
org.gephi.visualization.apiimpl.VizEventListener
;
import
org.gephi.visualization.apiimpl.VizEventManager
;
import
org.gephi.visualization.model.node.NodeModel
;
import
org.gephi.visualization.opengl.AbstractEngine
;
/**
...
...
@@ -110,49 +114,49 @@ public class StandardVizEventManager implements VizEventManager {
@Override
public
void
mouseLeftClick
()
{
//
//Node Left click
//
VizEventTypeHandler nodeLeftHandler = handlers[VizEvent.Type.NODE_LEFT_CLICK.ordinal()];
//
if (nodeLeftHandler.hasListeners() && VizController.getInstance().getVizConfig().isSelectionEnable()) {
//
//Check if some node are selected
// Model[] modelArray = engine.getSelectedObjects(AbstractEngine.CLASS_NODE
);
// if (modelArray.length
> 0) {
// Node[] nodeArray = new Node[modelArray.length
];
// for (int i = 0; i < modelArray.length
; i++) {
// nodeArray[i] = ((NodeModel) modelArray[i]
).getNode();
//
}
//
nodeLeftHandler.dispatch(nodeArray);
//
}
//
}
//
//
//Mouse left click
//
VizEventTypeHandler mouseLeftHandler = handlers[VizEvent.Type.MOUSE_LEFT_CLICK.ordinal()];
//
if (mouseLeftHandler.hasListeners()) {
// Model[] modelArray = engine.getSelectedObjects(AbstractEngine.CLASS_NODE
);
// if (modelArray.length == 0
|| !VizController.getInstance().getVizConfig().isSelectionEnable()) {
//
float[] mousePositionViewport = graphIO.getMousePosition();
//
float[] mousePosition3d = graphIO.getMousePosition3d();
//
float[] mousePos = new float[]{mousePositionViewport[0], mousePositionViewport[1], mousePosition3d[0], mousePosition3d[1]};
//
handlers[VizEvent.Type.MOUSE_LEFT_CLICK.ordinal()].dispatch(mousePos);
//
}
//
}
//Node Left click
VizEventTypeHandler
nodeLeftHandler
=
handlers
[
VizEvent
.
Type
.
NODE_LEFT_CLICK
.
ordinal
()];
if
(
nodeLeftHandler
.
hasListeners
()
&&
VizController
.
getInstance
().
getVizConfig
().
isSelectionEnable
())
{
//Check if some node are selected
List
<
NodeModel
>
modelArray
=
engine
.
getSelectedNodes
(
);
if
(
modelArray
.
size
()
>
0
)
{
Node
[]
nodeArray
=
new
Node
[
modelArray
.
size
()
];
for
(
int
i
=
0
;
i
<
modelArray
.
size
()
;
i
++)
{
nodeArray
[
i
]
=
((
NodeModel
)
modelArray
.
get
(
i
)
).
getNode
();
}
nodeLeftHandler
.
dispatch
(
nodeArray
);
}
}
//Mouse left click
VizEventTypeHandler
mouseLeftHandler
=
handlers
[
VizEvent
.
Type
.
MOUSE_LEFT_CLICK
.
ordinal
()];
if
(
mouseLeftHandler
.
hasListeners
())
{
List
<
NodeModel
>
modelArray
=
engine
.
getSelectedNodes
(
);
if
(
modelArray
.
isEmpty
()
||
!
VizController
.
getInstance
().
getVizConfig
().
isSelectionEnable
())
{
float
[]
mousePositionViewport
=
graphIO
.
getMousePosition
();
float
[]
mousePosition3d
=
graphIO
.
getMousePosition3d
();
float
[]
mousePos
=
new
float
[]{
mousePositionViewport
[
0
],
mousePositionViewport
[
1
],
mousePosition3d
[
0
],
mousePosition3d
[
1
]};
handlers
[
VizEvent
.
Type
.
MOUSE_LEFT_CLICK
.
ordinal
()].
dispatch
(
mousePos
);
}
}
}
@Override
public
void
mouseLeftPress
()
{
//
handlers[VizEvent.Type.MOUSE_LEFT_PRESS.ordinal()].dispatch();
//
pressingTick = PRESSING_FREQUENCY;
//
VizEventTypeHandler pressHandler = handlers[VizEvent.Type.NODE_LEFT_PRESS.ordinal()];
//
if (pressHandler.hasListeners()) {
//
//Check if some node are selected
// Model[] modelArray = engine.getSelectedObjects(AbstractEngine.CLASS_NODE
);
// if (modelArray.length > 0
) {
// Node[] nodeArray = new Node[modelArray.length
];
// for (int i = 0; i < modelArray.length
; i++) {
// nodeArray[i] = ((NodeModel) modelArray[i]
).getNode();
//
}
//
pressHandler.dispatch(nodeArray);
//
}
//
}
handlers
[
VizEvent
.
Type
.
MOUSE_LEFT_PRESS
.
ordinal
()].
dispatch
();
pressingTick
=
PRESSING_FREQUENCY
;
VizEventTypeHandler
pressHandler
=
handlers
[
VizEvent
.
Type
.
NODE_LEFT_PRESS
.
ordinal
()];
if
(
pressHandler
.
hasListeners
())
{
//Check if some node are selected
List
<
NodeModel
>
modelArray
=
engine
.
getSelectedNodes
(
);
if
(!
modelArray
.
isEmpty
()
)
{
Node
[]
nodeArray
=
new
Node
[
modelArray
.
size
()
];
for
(
int
i
=
0
;
i
<
modelArray
.
size
()
;
i
++)
{
nodeArray
[
i
]
=
((
NodeModel
)
modelArray
.
get
(
i
)
).
getNode
();
}
pressHandler
.
dispatch
(
nodeArray
);
}
}
}
@Override
...
...
@@ -184,21 +188,21 @@ public class StandardVizEventManager implements VizEventManager {
@Override
public
void
mouseLeftPressing
()
{
//
if (pressingTick++ >= PRESSING_FREQUENCY) {
//
pressingTick = 0;
//
VizEventTypeHandler nodeHandler = handlers[VizEvent.Type.NODE_LEFT_PRESSING.ordinal()];
//
if (nodeHandler.hasListeners()) {
//
//Check if some node are selected
// Model[] modelArray = engine.getSelectedObjects(AbstractEngine.CLASS_NODE
);
// if (modelArray.length > 0
) {
// Node[] nodeArray = new Node[modelArray.length
];
// for (int i = 0; i < modelArray.length
; i++) {
// nodeArray[i] = ((NodeModel) modelArray[i]
).getNode();
//
}
//
nodeHandler.dispatch(nodeArray);
//
}
//
}
//
}
if
(
pressingTick
++
>=
PRESSING_FREQUENCY
)
{
pressingTick
=
0
;
VizEventTypeHandler
nodeHandler
=
handlers
[
VizEvent
.
Type
.
NODE_LEFT_PRESSING
.
ordinal
()];
if
(
nodeHandler
.
hasListeners
())
{
//Check if some node are selected
List
<
NodeModel
>
modelArray
=
engine
.
getSelectedNodes
(
);
if
(!
modelArray
.
isEmpty
()
)
{
Node
[]
nodeArray
=
new
Node
[
modelArray
.
size
()
];
for
(
int
i
=
0
;
i
<
modelArray
.
size
()
;
i
++)
{
nodeArray
[
i
]
=
((
NodeModel
)
modelArray
.
get
(
i
)
).
getNode
();
}
nodeHandler
.
dispatch
(
nodeArray
);
}
}
}
}
@Override
...
...
@@ -319,8 +323,12 @@ public class StandardVizEventManager implements VizEventManager {
pool
.
submit
(
new
Runnable
()
{
@Override
public
void
run
()
{
fireVizEvent
(
data
);
running
=
false
;
try
{
fireVizEvent
(
data
);
running
=
false
;
}
catch
(
Exception
e
)
{
Logger
.
getLogger
(
""
).
log
(
Level
.
SEVERE
,
null
,
e
);
}
}
});
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录