[22272] | 1 | package org.greenstone.client;
|
---|
| 2 |
|
---|
| 3 | import com.google.gwt.core.client.JsArray;
|
---|
| 4 | import com.google.gwt.user.client.Element;
|
---|
| 5 | import com.google.gwt.user.client.Timer;
|
---|
| 6 | import com.google.gwt.user.client.ui.Frame;
|
---|
| 7 |
|
---|
| 8 | public class TemporaryFrame
|
---|
| 9 | {
|
---|
| 10 | protected static int _totalIndex = 0;
|
---|
| 11 |
|
---|
| 12 | protected Frame _frame = null;
|
---|
| 13 |
|
---|
| 14 | protected String _url = null;
|
---|
| 15 | protected String _text = null;
|
---|
| 16 |
|
---|
| 17 | protected boolean _doneLoading = false;
|
---|
| 18 |
|
---|
| 19 | protected int _index = _totalIndex++;
|
---|
| 20 |
|
---|
| 21 | public TemporaryFrame(String url)
|
---|
| 22 | {
|
---|
| 23 | _frame = new Frame();
|
---|
| 24 | _frame.setSize("0px", "0px");
|
---|
| 25 | _frame.getElement().getStyle().setProperty("border", "0px");
|
---|
| 26 |
|
---|
| 27 | _url = url;
|
---|
| 28 | }
|
---|
| 29 |
|
---|
| 30 | public void loadPage()
|
---|
| 31 | {
|
---|
| 32 | _frame.setUrl(_url);
|
---|
| 33 |
|
---|
| 34 | Timer loadTimer = new Timer()
|
---|
| 35 | {
|
---|
| 36 | int timerCount = 0;
|
---|
| 37 |
|
---|
| 38 | public void run()
|
---|
| 39 | {
|
---|
| 40 | if (timerCount++ > 25)
|
---|
| 41 | {
|
---|
| 42 | _doneLoading = true;
|
---|
| 43 | this.cancel();
|
---|
| 44 | return;
|
---|
| 45 | }
|
---|
| 46 |
|
---|
| 47 | if (GS3MapLibrary.tempFrameGetElementById(_index, "banner") != null && GS3MapLibrary.tempFrameGetElementById(_index, "content") != null && GS3MapLibrary.tempFrameGetElementById(_index, "footer") != null)
|
---|
| 48 | {
|
---|
| 49 | this.cancel();
|
---|
| 50 |
|
---|
| 51 | JsArray<Element> divs = GS3MapLibrary.tempFrameGetElementsByTagName(_index, "div");
|
---|
| 52 |
|
---|
| 53 | Element documentTextDiv = null;
|
---|
| 54 | for (int i = 0; i < divs.length(); i++)
|
---|
| 55 | {
|
---|
| 56 | if (divs.get(i).getAttribute("class").equals("documenttext"))
|
---|
| 57 | {
|
---|
| 58 | documentTextDiv = divs.get(i);
|
---|
| 59 | break;
|
---|
| 60 | }
|
---|
| 61 | }
|
---|
| 62 |
|
---|
| 63 | if (documentTextDiv != null)
|
---|
| 64 | {
|
---|
| 65 | _text = documentTextDiv.getInnerText();
|
---|
| 66 | }
|
---|
| 67 | _doneLoading = true;
|
---|
| 68 | }
|
---|
| 69 | }
|
---|
| 70 | };
|
---|
| 71 | loadTimer.scheduleRepeating(1000);
|
---|
| 72 | }
|
---|
| 73 |
|
---|
| 74 | public boolean isFinishedLoading()
|
---|
| 75 | {
|
---|
| 76 | return _doneLoading;
|
---|
| 77 | }
|
---|
| 78 |
|
---|
| 79 | public static void setCurrentFrameIndex(int index)
|
---|
| 80 | {
|
---|
| 81 | _totalIndex = index;
|
---|
| 82 | }
|
---|
| 83 |
|
---|
| 84 | public void removeFromParent()
|
---|
| 85 | {
|
---|
| 86 | _frame.getElement().getParentElement().removeChild(_frame.getElement());
|
---|
| 87 | }
|
---|
| 88 |
|
---|
| 89 | public Frame getFrame()
|
---|
| 90 | {
|
---|
| 91 | return _frame;
|
---|
| 92 | }
|
---|
| 93 |
|
---|
| 94 | public String getText()
|
---|
| 95 | {
|
---|
| 96 | return _text;
|
---|
| 97 | }
|
---|
| 98 | }
|
---|