|
From: <caw...@us...> - 2007-07-12 17:14:36
|
Revision: 2757
http://svn.sourceforge.net/rubyeclipse/?rev=2757&view=rev
Author: cawilliams
Date: 2007-07-12 10:14:33 -0700 (Thu, 12 Jul 2007)
Log Message:
-----------
fix #5006 - Wrap creation of embedded browers to give nicer error messages
Modified Paths:
--------------
trunk/com.aptana.rdt/src/com/aptana/rdt/internal/ui/infoviews/RailsAPIView.java
trunk/com.aptana.rdt/src/com/aptana/rdt/internal/ui/infoviews/RubyCoreAPIView.java
trunk/com.aptana.rdt/src/com/aptana/rdt/internal/ui/infoviews/RubyStdLibAPIView.java
trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/infoviews/RIView.java
Added Paths:
-----------
trunk/com.aptana.rdt/src/com/aptana/rdt/internal/ui/infoviews/BrowserView.java
Added: trunk/com.aptana.rdt/src/com/aptana/rdt/internal/ui/infoviews/BrowserView.java
===================================================================
--- trunk/com.aptana.rdt/src/com/aptana/rdt/internal/ui/infoviews/BrowserView.java (rev 0)
+++ trunk/com.aptana.rdt/src/com/aptana/rdt/internal/ui/infoviews/BrowserView.java 2007-07-12 17:14:33 UTC (rev 2757)
@@ -0,0 +1,38 @@
+package com.aptana.rdt.internal.ui.infoviews;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.browser.Browser;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.part.ViewPart;
+
+public class BrowserView extends ViewPart {
+
+ private Browser fBrowser;
+ private String fUrl;
+
+ public BrowserView(String url) {
+ this.fUrl = url;
+ }
+
+ @Override
+ public void createPartControl(Composite parent) {
+ try {
+ fBrowser = new Browser(parent, SWT.BORDER);
+ fBrowser.setUrl(fUrl);
+ } catch (Exception e) {
+ MessageDialog
+ .openError(
+ Display.getDefault().getActiveShell(),
+ "Unable to create embedded browser",
+ "It appears that you do not have an embeddable browser. Please see http://www.eclipse.org/swt/faq.php#browserlinux for more information if you are on Linux.");
+ }
+ }
+
+ @Override
+ public void setFocus() {
+ fBrowser.setFocus();
+ }
+
+}
Modified: trunk/com.aptana.rdt/src/com/aptana/rdt/internal/ui/infoviews/RailsAPIView.java
===================================================================
--- trunk/com.aptana.rdt/src/com/aptana/rdt/internal/ui/infoviews/RailsAPIView.java 2007-07-12 16:09:12 UTC (rev 2756)
+++ trunk/com.aptana.rdt/src/com/aptana/rdt/internal/ui/infoviews/RailsAPIView.java 2007-07-12 17:14:33 UTC (rev 2757)
@@ -1,24 +1,11 @@
package com.aptana.rdt.internal.ui.infoviews;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.ViewPart;
+public class RailsAPIView extends BrowserView {
-public class RailsAPIView extends ViewPart {
-
private static final String URL = "http://api.rubyonrails.org/";
- private Browser browser;
- @Override
- public void createPartControl(Composite parent) {
- browser = new Browser(parent, SWT.BORDER);
- browser.setUrl(URL);
+ public RailsAPIView() {
+ super(URL);
}
- @Override
- public void setFocus() {
- browser.setFocus();
- }
-
}
Modified: trunk/com.aptana.rdt/src/com/aptana/rdt/internal/ui/infoviews/RubyCoreAPIView.java
===================================================================
--- trunk/com.aptana.rdt/src/com/aptana/rdt/internal/ui/infoviews/RubyCoreAPIView.java 2007-07-12 16:09:12 UTC (rev 2756)
+++ trunk/com.aptana.rdt/src/com/aptana/rdt/internal/ui/infoviews/RubyCoreAPIView.java 2007-07-12 17:14:33 UTC (rev 2757)
@@ -1,24 +1,11 @@
package com.aptana.rdt.internal.ui.infoviews;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.ViewPart;
+public class RubyCoreAPIView extends BrowserView {
-public class RubyCoreAPIView extends ViewPart {
-
private static final String URL = "http://www.ruby-doc.org/core/";
- private Browser browser;
- @Override
- public void createPartControl(Composite parent) {
- browser = new Browser(parent, SWT.BORDER);
- browser.setUrl(URL);
+ public RubyCoreAPIView() {
+ super(URL);
}
- @Override
- public void setFocus() {
- browser.setFocus();
- }
-
}
Modified: trunk/com.aptana.rdt/src/com/aptana/rdt/internal/ui/infoviews/RubyStdLibAPIView.java
===================================================================
--- trunk/com.aptana.rdt/src/com/aptana/rdt/internal/ui/infoviews/RubyStdLibAPIView.java 2007-07-12 16:09:12 UTC (rev 2756)
+++ trunk/com.aptana.rdt/src/com/aptana/rdt/internal/ui/infoviews/RubyStdLibAPIView.java 2007-07-12 17:14:33 UTC (rev 2757)
@@ -1,24 +1,11 @@
package com.aptana.rdt.internal.ui.infoviews;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.ViewPart;
+public class RubyStdLibAPIView extends BrowserView {
-public class RubyStdLibAPIView extends ViewPart {
-
private static final String URL = "http://www.ruby-doc.org/stdlib/";
- private Browser browser;
- @Override
- public void createPartControl(Composite parent) {
- browser = new Browser(parent, SWT.BORDER);
- browser.setUrl(URL);
+ public RubyStdLibAPIView() {
+ super(URL);
}
- @Override
- public void setFocus() {
- browser.setFocus();
- }
-
}
Modified: trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/infoviews/RIView.java
===================================================================
--- trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/infoviews/RIView.java 2007-07-12 16:09:12 UTC (rev 2756)
+++ trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/infoviews/RIView.java 2007-07-12 17:14:33 UTC (rev 2757)
@@ -15,6 +15,7 @@
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
@@ -125,7 +126,11 @@
});
// search result
- searchResult = new Browser(form, SWT.BORDER);
+ try {
+ searchResult = new Browser(form, SWT.BORDER);
+ } catch (Exception e) {
+ MessageDialog.openError(Display.getDefault().getActiveShell(), "Unable to create embedded browser", "It appears that you do not have an embeddable browser. Please see http://www.eclipse.org/swt/faq.php#browserlinux for more information if you are on Linux.");
+ }
form.setWeights(new int[]{1, 3});
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|