Changeset 548
- Timestamp:
- 11/27/13 16:57:30 (10 years ago)
- Location:
- trunk/src/org/expeditee
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/expeditee/actions/Misc.java
r540 r548 1061 1061 } 1062 1062 1063 Frame frame = FrameIO.CreateNewFrame(text); // create new frame for browser 1064 frame.addText(0, 50, "@iw:org.expeditee.items.widgets.Browser", null); // create new text item for browser widget 1065 FrameUtils.Parse(frame); // parse created frame; loads browser widget 1066 1067 for(InteractiveWidget iw : frame.getInteractiveWidgets()) { // may be other widgets on frame 1063 // Create new frame and text item for browser widget and parse created frame; loads browser widget 1064 Frame frame = FrameIO.CreateNewFrame(text); 1065 frame.addText(0, 50, "@iw:org.expeditee.items.widgets.Browser", null); 1066 FrameUtils.Parse(frame); 1067 1068 for(InteractiveWidget iw : frame.getInteractiveWidgets()) { // may be other widgets on frame 1068 1069 if(iw instanceof org.expeditee.items.widgets.Browser) { 1069 1070 // Set browser to 'full screen' 1070 iw.setSize(-1, -1, -1, -1, Browser._theBrowser.getWidth(), Browser._theBrowser.getHeight() - MessageBay.MESSAGE_BUFFER_HEIGHT - 80); 1071 iw.setSize(-1, -1, -1, -1, Browser._theBrowser.getWidth(), Browser._theBrowser.getHeight() 1072 - MessageBay.MESSAGE_BUFFER_HEIGHT - 80); 1071 1073 1072 1074 // If there is a text item attached to cursor use it as url for browser … … 1078 1080 ((org.expeditee.items.widgets.Browser)iw).navigate("http://www.waikato.ac.nz"); 1079 1081 Text t = new Text("http://www.waikato.ac.nz"); 1080 t.setParent(DisplayIO.getCurrentFrame()); 1082 t.setParent(DisplayIO.getCurrentFrame()); // set parent of text source for InteractiveWidget.createWidget() 1081 1083 t.setXY(FrameMouseActions.getX(), FrameMouseActions.getY()); 1082 t.setLink("" + frame.getNumber()); 1083 FrameMouseActions.pickup(t); 1084 t.setLink("" + frame.getNumber()); // link url text to new browser frame 1085 FrameMouseActions.pickup(t); // Attach new text link to cursor 1084 1086 } 1085 1087 } 1086 1088 } 1087 1089 1088 FrameIO.SaveFrame(frame); 1090 FrameIO.SaveFrame(frame); // save frame to disk 1089 1091 } 1090 1092 … … 1107 1109 Text wt = new Text("@iw:org.expeditee.items.widgets.JfxBrowser"); // create new text item for browser widget 1108 1110 1109 if(FreeItems.textOnlyAttachedToCursor()) { 1111 if(FreeItems.textOnlyAttachedToCursor()) { // navigates to url specified by the text item 1110 1112 wt.appendText(":" + text.getText()); 1111 1113 } else { … … 1113 1115 } 1114 1116 1115 FreeItems.getInstance().clear(); 1116 1117 wt.setParent(DisplayIO.getCurrentFrame()); 1117 FreeItems.getInstance().clear(); // remove url text from cursor 1118 1119 wt.setParent(DisplayIO.getCurrentFrame()); // set parent of text source for InteractiveWidget.createWidget() 1118 1120 wt.setXY(FrameMouseActions.getX(), FrameMouseActions.getY()); 1119 1121 // create widget from text item 1120 1122 JfxBrowser browser = (JfxBrowser) InteractiveWidget.createWidget(wt); 1121 1123 1122 FrameMouseActions.pickup(browser.getItems()); 1124 FrameMouseActions.pickup(browser.getItems()); // attach browser widget to mouse 1123 1125 } 1124 1126 … … 1139 1141 } 1140 1142 1141 // If no text with url is passed to the action create a new text item with http://www.waikato.ac.nz for thedefault url1143 // If no text with url is passed to action create a new text item with http://www.waikato.ac.nz for a default url 1142 1144 if(!FreeItems.textOnlyAttachedToCursor()) { 1143 text = DisplayIO.getCurrentFrame().addText(FrameMouseActions.getX(), FrameMouseActions.getY(), "http://www.waikato.ac.nz", null); 1145 text = DisplayIO.getCurrentFrame().addText(FrameMouseActions.getX(), FrameMouseActions.getY(), 1146 "http://www.waikato.ac.nz", null); 1144 1147 text.setParent(DisplayIO.getCurrentFrame()); // set parent of text source for InteractiveWidget.createWidget() 1145 1148 FrameMouseActions.pickup(text); // Attach new text link to cursor … … 1150 1153 text.setLink("" + frame.getNumber()); // link this text item to new frame 1151 1154 // Create widget via text annotation 1152 Text wt = frame.addText(0, 50, "@iw: org.expeditee.items.widgets.JfxBrowser "+ Browser._theBrowser.getWidth() + " " + (Browser._theBrowser.getHeight() - 50) + " : ".concat(text.getText()), null); 1155 Text wt = frame.addText(0, 50, "@iw: org.expeditee.items.widgets.JfxBrowser "+ Browser._theBrowser.getWidth() + 1156 " " + (Browser._theBrowser.getHeight() - 50) + " : ".concat(text.getText()), null); 1153 1157 InteractiveWidget.createWidget(wt); 1154 1158 -
trunk/src/org/expeditee/items/widgets/JfxBrowser.java
r547 r548 10 10 import java.io.File; 11 11 import java.lang.reflect.Constructor; 12 import java.lang.reflect.InvocationTargetException; 12 13 import java.lang.reflect.Method; 13 14 import java.net.URL; … … 34 35 */ 35 36 public class JfxBrowser extends DataFrameWidget { 37 38 private static final String BACK = "back"; 39 private static final String FORWARD = "forward"; 40 private static final String REFRESH = "refresh"; 41 36 42 private WebBrowserPanel _browser; 37 43 … … 56 62 static Method WebEngineGetLocation; 57 63 static Method WebEngineGetLoadWorker; 64 static Method WebEngineGetHistory; 65 static Method WebEngineReload; 66 67 static Class WebHistory; 68 static Method WebHistoryGo; 58 69 59 70 static Class Worker; … … 105 116 WebEngineGetLocation = WebEngine.getMethod("getLocation"); 106 117 WebEngineGetLoadWorker = WebEngine.getMethod("getLoadWorker"); 118 WebEngineGetHistory = WebEngine.getMethod("getHistory"); 119 WebEngineReload = WebEngine.getMethod("reload"); 120 121 WebHistory = classLoader.loadClass("javafx.scene.web.WebHistory"); 122 WebHistoryGo = WebHistory.getMethod("go", int.class); 107 123 108 124 Worker = classLoader.loadClass("javafx.concurrent.Worker"); … … 332 348 } 333 349 350 /** 351 * Navigates JfxBrowser back through history. If end of history reached the user is notified via the MessageBay. 352 * Max size of history is 100 by default. 353 */ 354 public void navigateBack() { 355 try { 356 WebHistoryGo.invoke(WebEngineGetHistory.invoke(WebViewGetEngine.invoke(this._browser.webview)), -1); 357 FreeItems.getInstance().clear(); 358 } catch (InvocationTargetException e) { 359 MessageBay.displayMessage("End of History"); 360 } catch (Exception e) { 361 e.printStackTrace(); 362 } 363 } 364 365 /** 366 * Navigates JfxBrowser forward through history. If end of history reached the user is notified via the MessageBay. 367 * Max size of history is 100 by default. 368 */ 369 public void navigateForward() { 370 try { 371 WebHistoryGo.invoke(WebEngineGetHistory.invoke(WebViewGetEngine.invoke(this._browser.webview)), 1); 372 FreeItems.getInstance().clear(); 373 } catch (InvocationTargetException e) { 374 MessageBay.displayMessage("End of History"); 375 } catch (Exception e) { 376 e.printStackTrace(); 377 } 378 } 379 380 /** 381 * Refreshes page in webview. 382 */ 383 public void refresh() { 384 try { 385 //WebEngineReload.invoke(WebViewGetEngine.invoke(this._browser.webview)); 386 MessageBay.displayMessage("Page Refreshed"); 387 FreeItems.getInstance().clear(); 388 } catch (Exception e) { 389 e.printStackTrace(); 390 } 391 } 392 334 393 @Override 335 394 public boolean ItemsLeftClickDropped() { 336 395 Text carried = null; 337 if ((carried = FreeItems.getTextAttachedToCursor()) != null) { 396 if ((carried = FreeItems.getTextAttachedToCursor()) == null) { 397 return false; 398 } 399 400 if(carried.getText().toLowerCase().equals(BACK)) { 401 navigateBack(); 402 } else if(carried.getText().toLowerCase().equals(FORWARD)) { 403 navigateForward(); 404 } else if(carried.getText().toLowerCase().equals(REFRESH)) { 405 refresh(); 406 } else { 338 407 String text = carried.getText().trim(); 339 408 this.navigate(text); 340 409 FreeItems.getInstance().clear(); 341 return true;342 }343 return false;410 } 411 412 return true; 344 413 } 345 414
Note:
See TracChangeset
for help on using the changeset viewer.