source: trunk/src/org/expeditee/items/widgets/Browser.java@ 434

Last change on this file since 434 was 434, checked in by davidb, 12 years ago

Added 'getData()' so interactive widget is better at
remembering what its what the starting URL for the widgets
is, between Expeditee being quit and restarted.

File size: 1.6 KB
Line 
1package org.expeditee.items.widgets;
2
3import java.net.MalformedURLException;
4import java.util.List;
5
6import org.expeditee.gui.MessageBay;
7import org.expeditee.items.Text;
8import org.lobobrowser.gui.BrowserPanel;
9import org.lobobrowser.main.PlatformInit;
10
11public class Browser extends DataFrameWidget {
12
13 private BrowserPanel _browser;
14
15 public Browser(Text source, String[] args) {
16 super(source, new BrowserPanel(), 100, 500, -1, 100, 300, -1);
17
18 try {
19 // This optional step initializes logging so only warnings
20 // are printed out.
21 PlatformInit.getInstance().initLogging(false);
22 // This step is necessary for extensions to work:
23 PlatformInit.getInstance().init(false, false);
24 PlatformInit.getInstance().initLookAndFeel();
25 PlatformInit.getInstance().initSecurity();
26 } catch (Exception e) {
27 // TODO Auto-generated catch block
28 e.printStackTrace();
29 }
30
31 _browser = (BrowserPanel) _swingComponent;
32 String url = "http://www.google.com";
33 List<String> data = getSource().getData();
34 if (data != null && data.size() > 0) {
35 url = data.get(0);
36 }
37 navigate(url);
38 }
39
40 @Override
41 protected String[] getArgs() {
42 return null;
43 }
44
45 public void navigate(String url) {
46 try {
47 getSource().setData(url);
48 _browser.navigate(url);
49 } catch (MalformedURLException e) {
50 MessageBay.errorMessage("Could not navigate to " + url);
51 }
52 }
53
54 @Override
55 public void setSourceData(List<String> data) {
56 super.setSourceData(data);
57 if (data != null && data.size() > 0) {
58 navigate(data.get(0));
59 }
60 }
61
62 @Override
63 protected List<String> getData() {
64 return _textRepresentation.getData();
65 }
66
67}
Note: See TracBrowser for help on using the repository browser.