Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
keyescgm
jadx
提交
aa41a4d9
J
jadx
项目概览
keyescgm
/
jadx
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jadx
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
aa41a4d9
编写于
4月 22, 2019
作者:
A
Ahmed Ashour
提交者:
skylot
4月 22, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(gui): add "Go To Declaration" in menu (PR #618)
上级
61675275
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
72 addition
and
0 deletion
+72
-0
jadx-gui/src/main/java/jadx/gui/ui/codearea/CodeArea.java
jadx-gui/src/main/java/jadx/gui/ui/codearea/CodeArea.java
+3
-0
jadx-gui/src/main/java/jadx/gui/ui/codearea/GoToDeclarationAction.java
...main/java/jadx/gui/ui/codearea/GoToDeclarationAction.java
+66
-0
jadx-gui/src/main/resources/i18n/Messages_en_US.properties
jadx-gui/src/main/resources/i18n/Messages_en_US.properties
+1
-0
jadx-gui/src/main/resources/i18n/Messages_es_ES.properties
jadx-gui/src/main/resources/i18n/Messages_es_ES.properties
+1
-0
jadx-gui/src/main/resources/i18n/Messages_zh_CN.properties
jadx-gui/src/main/resources/i18n/Messages_zh_CN.properties
+1
-0
未找到文件。
jadx-gui/src/main/java/jadx/gui/ui/codearea/CodeArea.java
浏览文件 @
aa41a4d9
...
@@ -96,11 +96,14 @@ public final class CodeArea extends RSyntaxTextArea {
...
@@ -96,11 +96,14 @@ public final class CodeArea extends RSyntaxTextArea {
private
void
addMenuItems
(
JClass
jCls
)
{
private
void
addMenuItems
(
JClass
jCls
)
{
FindUsageAction
findUsage
=
new
FindUsageAction
(
contentPanel
,
this
,
jCls
);
FindUsageAction
findUsage
=
new
FindUsageAction
(
contentPanel
,
this
,
jCls
);
GoToDeclarationAction
goToDeclaration
=
new
GoToDeclarationAction
(
contentPanel
,
this
,
jCls
);
JPopupMenu
popup
=
getPopupMenu
();
JPopupMenu
popup
=
getPopupMenu
();
popup
.
addSeparator
();
popup
.
addSeparator
();
popup
.
add
(
findUsage
);
popup
.
add
(
findUsage
);
popup
.
add
(
goToDeclaration
);
popup
.
addPopupMenuListener
(
findUsage
);
popup
.
addPopupMenuListener
(
findUsage
);
popup
.
addPopupMenuListener
(
goToDeclaration
);
}
}
public
void
loadSettings
()
{
public
void
loadSettings
()
{
...
...
jadx-gui/src/main/java/jadx/gui/ui/codearea/GoToDeclarationAction.java
0 → 100644
浏览文件 @
aa41a4d9
package
jadx.gui.ui.codearea
;
import
java.awt.Point
;
import
java.awt.event.ActionEvent
;
import
javax.swing.AbstractAction
;
import
javax.swing.event.PopupMenuEvent
;
import
javax.swing.event.PopupMenuListener
;
import
org.fife.ui.rsyntaxtextarea.Token
;
import
jadx.api.JavaNode
;
import
jadx.gui.treemodel.JClass
;
import
jadx.gui.treemodel.JNode
;
import
jadx.gui.ui.MainWindow
;
import
jadx.gui.utils.JumpPosition
;
import
jadx.gui.utils.NLS
;
public
final
class
GoToDeclarationAction
extends
AbstractAction
implements
PopupMenuListener
{
private
static
final
long
serialVersionUID
=
-
1186470538894941301L
;
private
final
transient
CodePanel
contentPanel
;
private
final
transient
CodeArea
codeArea
;
private
final
transient
JClass
jCls
;
private
transient
JavaNode
node
;
public
GoToDeclarationAction
(
CodePanel
contentPanel
,
CodeArea
codeArea
,
JClass
jCls
)
{
super
(
NLS
.
str
(
"popup.go_to_declaration"
));
this
.
contentPanel
=
contentPanel
;
this
.
codeArea
=
codeArea
;
this
.
jCls
=
jCls
;
}
@Override
public
void
actionPerformed
(
ActionEvent
e
)
{
if
(
node
==
null
)
{
return
;
}
MainWindow
mainWindow
=
contentPanel
.
getTabbedPane
().
getMainWindow
();
JNode
jNode
=
mainWindow
.
getCacheObject
().
getNodeCache
().
makeFrom
(
node
);
mainWindow
.
getTabbedPane
().
codeJump
(
new
JumpPosition
(
jNode
,
jNode
.
getLine
()));
}
@Override
public
void
popupMenuWillBecomeVisible
(
PopupMenuEvent
e
)
{
node
=
null
;
Point
pos
=
codeArea
.
getMousePosition
();
if
(
pos
!=
null
)
{
Token
token
=
codeArea
.
viewToToken
(
pos
);
if
(
token
!=
null
)
{
node
=
codeArea
.
getJavaNodeAtOffset
(
jCls
,
token
.
getOffset
());
}
}
setEnabled
(
node
!=
null
);
}
@Override
public
void
popupMenuWillBecomeInvisible
(
PopupMenuEvent
e
)
{
// do nothing
}
@Override
public
void
popupMenuCanceled
(
PopupMenuEvent
e
)
{
// do nothing
}
}
jadx-gui/src/main/resources/i18n/Messages_en_US.properties
浏览文件 @
aa41a4d9
...
@@ -136,6 +136,7 @@ popup.paste=Paste
...
@@ -136,6 +136,7 @@ popup.paste=Paste
popup.delete
=
Delete
popup.delete
=
Delete
popup.select_all
=
Select All
popup.select_all
=
Select All
popup.find_usage
=
Find Usage
popup.find_usage
=
Find Usage
popup.go_to_declaration
=
Go to declaration
popup.exclude
=
Exclude
popup.exclude
=
Exclude
confirm.save_as_title
=
Confirm Save as
confirm.save_as_title
=
Confirm Save as
...
...
jadx-gui/src/main/resources/i18n/Messages_es_ES.properties
浏览文件 @
aa41a4d9
...
@@ -136,6 +136,7 @@ popup.paste=Pegar
...
@@ -136,6 +136,7 @@ popup.paste=Pegar
popup.delete
=
Borrar
popup.delete
=
Borrar
popup.select_all
=
Seleccionar todo
popup.select_all
=
Seleccionar todo
#popup.find_usage=
#popup.find_usage=
#popup.go_to_declaration=
#popup.exclude=
#popup.exclude=
#confirm.save_as_title=
#confirm.save_as_title=
...
...
jadx-gui/src/main/resources/i18n/Messages_zh_CN.properties
浏览文件 @
aa41a4d9
...
@@ -136,6 +136,7 @@ popup.paste=粘贴
...
@@ -136,6 +136,7 @@ popup.paste=粘贴
popup.delete
=
删除
popup.delete
=
删除
popup.select_all
=
全选
popup.select_all
=
全选
popup.find_usage
=
查找用例
popup.find_usage
=
查找用例
#popup.go_to_declaration=
#popup.exclude=
#popup.exclude=
#confirm.save_as_title=
#confirm.save_as_title=
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录