Tag: eclipse rcp

如何在Eclipse 4.2的RCP应用程序中重用菜单?

我正在使用带有兼容层的Eclipse 4.2来重用我的RCP应用程序的现有部分。 我想在我的RCP应用程序中重用“ 文件”菜单和“运行” 菜单中的“ 新建 ” ,因此为此我打开了Eclipse的EMF编辑器,它看起来像这样: 但对于New菜单,它显示如下: org.eclipse.e4.model.application…. 我的应用程序看起来像这样(它只是带有一些额外function的Java Script调试器): 那么如何在我的RCP应用程序中重用这些菜单呢?

将filter添加到Eclipse中的Project Explorer

我想在Project Explorer中添加一个新的filter,以向用户隐藏一些在Eclipse RCP应用程序中自动创建的项目。 到目前为止,我发现了两个扩展点: org.eclipse.ui.ide.resourceFilters 允许我过滤导航 org.eclipse.jdt.ui.javaElementFilters 允许我过滤Java查看器 我希望Project Explorer有一个类似的扩展点,但到目前为止我还没有运气好。 我尝试导入org.eclipse.ui.navigator和org.eclipse.ui.navigator.resources,但我找不到任何有趣的扩展点 我使用Eclipse 3.3.2作为此RCP应用程序的基础 谢谢!

在SWT / JFace RCP应用程序中填充巨大的表

你会如何在SWT表中显示大量的行? 巨大的是20K行,20列。 不要问我为什么需要显示那么多数据,这不是重点。 关键是如何让它尽可能快地工作,以便最终用户不会感到无聊等待。 每行显示一些对象的实例,列是其属性(一些)。 我想使用JFace内容/标签提供者模式,但担心它会比直接用数据命中表更慢。 这是怎么回事: Display.getDefault().asyncExec(new Runnable() { public void run() { List objects = model.getViewData(); for(MyObject object: objects){ TableItem item = new TableItem(table, SWT.NULL); item.setImage(0, img1); item.setBackground(color1); item.setText(0, object.getProperty0()); item.setText(1, object.getProperty1()); item.setText(2, object.getProperty2()); ….. } }); 在我的计算机上绘制20k记录大约需要20秒。 我在Windows中看到的最大的性能问题是由新建表项创建和填充文本时由SWT发送的大量本机窗口消息引起的。 我找到了很好的解决方法 – 在填充之前隐藏表,然后在完成后显示它。 只需在循环之前调用table.setVisible(false),在循环之后调用table.setVisible(true)就会出现奇迹 – 速度上升六到七次! 我想加快速度。 你会建议什么? 另外,我想知道隐藏小部件的这个技巧如何在SWT(又称Linux)的非Windows实现上起作用?

我应该使用eclipse rcp还是eclipse scout?

我打算使用java代码开发桌面应用程序,并希望使用任何准备好的 制作框架,然后我知道eclipse RCP / eclipse侦察员,但我怀疑我应该使用哪个框架是否eclipse rcp或eclipse scout ? 请有人建议我。

Eclipse RCP MessageConsole:如何允许用户输入和处理此侦听器?

我正在写一个eclipse-plugin,它创建了一个新的Console。 请参阅我的源代码: IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); IConsoleView consoleView = (IConsoleView) page.showView(IConsoleConstants.ID_CONSOLE_VIEW); MessageConsole myConsole = new MessageConsole(“CLI”, null); ConsolePlugin.getDefault().getConsoleManager().addConsoles(new IConsole[] { myConsole }); consoleView.display(myConsole); MessageConsoleStream stream = myConsole.newMessageStream(); stream.println(“Hello World”); 出现控制台“CLI”,但用户输入无法编辑。 我想让用户可以通过在控制台中输入直接输入到控制台。 而且我也想处理输入但是任何监听器或键绑定。 有人知道可以帮助我吗?

如何在Eclipse E4应用程序中启动时创建一些东西?

我想在E4 RCP应用程序启动后运行一些东西。 怎么做?

在Eclipse表单部分工具栏中切换按钮

如何在Eclipse UI Forms的部分工具栏中实现切换按钮,如下图所示? 我只找到向部分工具栏添加操作的示例。

在SWT中设置/获取RadioGroupFieldEditor的值

我正在尝试在我正在开发的Eclipse RCP应用程序中添加一个RadioGroupFieldEditor,但似乎无法做两件关键事情: 设置单选按钮的值(即打开对话框/窗口时,我想将默认值设置为“button1”) 获取所选单选按钮的当前值(即,用户已选择的内容,或者如果未设置任何内容,则为上面设置的默认值)。 我正在使用的代码如下: String[][] radioButtonOptions = new String[][] { { “Button1” “button1” }, { “Button2” “button2” } }; RadioGroupFieldEditor radioButtonGroup = new RadioGroupFieldEditor(“PrefValue”, “Choose Button1 or Button2”, 2, radioButtonOptions, parent, true) 我有一个fireValueChanged()方法,我可以用它来设置另一个带有值的String变量(当用户做出选择时),但这看起来很麻烦。 它也不允许我设置默认值… 我怀疑我遗漏了一些重要的东西! 上面应该有get / set方法吗?

在eclipse-rcp / swt中创建多个相同的文本validation侦听器

我正在尝试validation多个文本框的输入(即它们应该是一个数字),并在此处找到了有用的代码片段。 但是,如果我有三个文本框( text , moreText和evenMoreText ),我如何应用具有相同function的validation侦听器,而不必重复( .addVerifyListener(new VerifyListener() {… )代码三次? 我不想实现switch语句或类似的(决定将它应用于哪个文本框),我想要更通用的东西(我可以将其用于将来使用的其他类)。 text.addVerifyListener(new VerifyListener() { @Override public void verifyText(VerifyEvent e) { final String oldS = text.getText(); final String newS = oldS.substring(0, e.start) + e.text + oldS.substring(e.end); try { BigDecimal bd = new BigDecimal(newS); // value is decimal // Test value range } catch (final NumberFormatException numberFormatException) […]

将参数传递给视图

在我的RCP应用程序中,我在左侧有一个带有TreeViewer导航的视图,在右侧有一个用于我的视图的文件夹。 透视图如下所示: public void createInitialLayout(IPageLayout layout) { layout.setEditorAreaVisible(false); layout.setFixed(false); layout.addStandaloneView(NavigationView.ID, false, IPageLayout.LEFT, 0.7f, layout.getEditorArea()); right = layout.createFolder(“right”, IPageLayout.RIGHT, 0.3f, “com.my.app.views.browser.navigation”); layout.getViewLayout(WallpaperView.Id).setCloseable(false);//dummy view to keep the folder from closing layout.getViewLayout(WallpaperView.Id).setMoveable(false); right.addView(WallpaperView.Id); //add some placeholders for the potential views right.addPlaceholder(DefaultAdminView.ID+”:*”); } 我想根据用户在导航树中选择的内容打开不同的视图。 认为这不会很难。 我的导航树视图: tree = new TreeViewer(composite); tree.setContentProvider(new BrowserNavigationTreeContentProvider()); tree.setLabelProvider(new BrowserNavigationTreeLabelProvider()); tree.setInput(UserProfileAdvisor.getProject()); //register Mouselistener for doubleclick […]