// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: EasyLookAction.java
package org.jxc.easylook.popup.actions;
import java.io.File;
import org.eclipse.core.resources.*;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.IPath;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.internal.core.JarPackageFragmentRoot;
import org.eclipse.jdt.internal.core.PackageFragment;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.IObjectActionDelegate;
import org.eclipse.ui.IWorkbenchPart;
public class EasyLookAction
implements IObjectActionDelegate
{
private Object selected;
private Class selectedClass;
public EasyLookAction()
{
selected = null;
selectedClass = null;
}
public void setActivePart(IAction iaction, IWorkbenchPart iworkbenchpart)
{
}
public void run(IAction action)
{
if (selected == null)
return;
File directory = null;
if (selected instanceof IResource)
directory = new File(((IResource)selected).getLocation().toOSString());
if (selected instanceof IFile)
directory = directory.getParentFile();
if (directory == null)
return;
try
{
Runtime.getRuntime().exec((new StringBuilder("explorer.exe /n,")).append(directory.toString()).toString());
}
catch (Exception ) { }
}
public void selectionChanged(IAction action, ISelection selection)
{
try
{
IAdaptable adaptable = null;
selected = "unknown";
if (selection instanceof IStructuredSelection)
{
adaptable = (IAdaptable)((IStructuredSelection)selection).getFirstElement();
selectedClass = adaptable.getClass();
if (adaptable instanceof IResource)
selected = (IResource)adaptable;
else
if ((adaptable instanceof PackageFragment) && (((PackageFragment)adaptable).getPackageFragmentRoot() instanceof JarPackageFragmentRoot))
selected = getJarFile(((PackageFragment)adaptable).getPackageFragmentRoot());
else
if (adaptable instanceof JarPackageFragmentRoot)
selected = getJarFile(adaptable);
else
selected = (IResource)adaptable.getAdapter(org/eclipse/core/resources/IResource);
}
}
catch (Throwable ) { }
}
protected File getJarFile(IAdaptable adaptable)
{
JarPackageFragmentRoot jpfr = (JarPackageFragmentRoot)adaptable;
File selected = jpfr.getPath().makeAbsolute().toFile();
if (!selected.exists())
{
File projectFile = new File(jpfr.getJavaProject().getProject().getLocation().toOSString());
selected = new File((new StringBuilder(String.valueOf(projectFile.getParent()))).append(selected.toString()).toString());
}
return selected;
}
}
分享到:
相关推荐
标题中的“类似eclipse文件夹查字符串的工具”指的是能够快速搜索代码库中特定字符串的软件,这样的工具在开发过程中非常实用,特别是对于大型项目或包含多种语言(如PHP)的项目。Eclipse是一款广泛使用的Java集成...
- **Step E**:在StarTeam客户端中打开对应的项目文件夹,并设置个性工作目录,使Eclipse的目录及项目文件直接映射到StarTeam的工作目录中,所有文件的状态会显示为“Current”。 通过以上详细步骤,您应该能够顺利...
不过,这里我们更普遍地介绍如何在Eclipse中安装SVN插件。 1. **下载SVN插件**:常见的SVN插件有Subclipse和Subversive。根据需求选择适合的插件下载。 2. **解压文件**:“1ftpsite-1.8.22.zip”可能包含SVN插件...
简单的 ftp telnet 项目本地文件夹 指定的文件 eclipse myeclipse 插件
2. **配置发布路径**: 在"Run Configurations"中,为你的项目创建一个新配置,设置"Server"为本地服务器,并将"Location"指向XAMPP的`htdocs`目录下的项目文件夹。 3. **实时预览与调试**: 启动Eclipse的内置服务器...
RSE(Remote System Explorer)是Eclipse集成开发环境(IDE)中的一个重要插件,它提供了对远程系统的访问、管理和操作功能。"RSE-runtime-3.4.zip"这个压缩包显然是RSE运行时环境的一个版本,版本号为3.4。这个版本...
- 安装完成后,打开Eclipse,通过“Window”->“Preferences”->“Qt4”配置Qt插件,指定Qt库的安装路径。 - 配置构建环境,包括设置编译器路径和Qt库路径。 - 安装SVN插件,通过Eclipse的内置市场或下载安装包,...
开发者需要从Android开发者网站或FTP站点下载ADT插件,然后在Eclipse中通过Help > Install New Software... > Add > Archived site流程安装。 4. **下载和安装Android SDK**:SDK(Software Development Kit)包含...
- 打开Eclipse,选择“文件”>“导入”>“插件和片段”。 - 在“从哪里导入”组中,取消选中“目标平台(如偏好设置中指定)”选项。 - 在“插件位置”下输入插件目录路径(例如:`D:\eclipse-rap\eclipse\...
2. 在 MyEclipse 6.5 的安装目录下的 `plugins` 文件夹(例如:`C:\Program Files\MyEclipse 6.5\eclipse\plugins`)创建一个名为 `site-1.6.5` 的新文件夹。 3. 同样通过 `Help` -> `Software Updates` -> `Find ...
在这个压缩包中,我们关注的是"JMeter源码4.0,ANTjar包",这暗示了包含JMeter 4.0版本的源代码以及ANT构建工具的相关jar包。 **JMeter 4.0源码分析:** JMeter的源代码是用Java编写的,这使得它在跨平台方面具有...
第六步,安装Android Developer Tools (ADT)插件,这是Eclipse中的Android开发工具。在Eclipse中选择Help -> Install New Software,然后添加ADT插件。在Archive中选择下载的ADT-0.9.7.zip文件路径,完成安装后,还...
尽管标题中提到的是4.3.5版本,但这里我们将讨论WinSCP的主要功能、特点以及与Linux FTP操作相关的知识。 1. **主要功能** - **图形化界面**: WinSCP提供了一个直观的GUI(图形用户界面),使得用户可以通过拖放...
在本文中,我们将深入探讨EditPlus的特性、使用方法以及如何根据个人需求进行设置,使其更贴近Eclipse编辑器的体验。 1. **基本功能** EditPlus作为一款文本编辑器,其基础功能包括文本编辑、语法高亮、代码折叠、...