aboutsummaryrefslogtreecommitdiff
path: root/src/main/ui
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/ui')
-rw-r--r--src/main/ui/BrowserApp.java14
-rw-r--r--src/main/ui/BrowserBar.java9
-rw-r--r--src/main/ui/BrowserWindow.java40
3 files changed, 19 insertions, 44 deletions
diff --git a/src/main/ui/BrowserApp.java b/src/main/ui/BrowserApp.java
index 5e73144..c4bbf99 100644
--- a/src/main/ui/BrowserApp.java
+++ b/src/main/ui/BrowserApp.java
@@ -103,20 +103,6 @@ public class BrowserApp {
}
}
- /*
- private void mainLoopII(ArrayList<String> rawHtml, String border, HtmlParser parser) {
- while (true) {
- println("Page rendered. Input additional raw HTML if desired.");
- rawHtml.add(input.next());
- println(border);
- for (String s : rawHtml) {
- parser = new HtmlParser();
- renderHtml(parser.parseHtml(s));
- }
- println(border);
- }
- }*/
-
/**
* EFFECTS: Barebones HTML rendering. Iterates through a list of Nodes and their children and prints any text.
*/
diff --git a/src/main/ui/BrowserBar.java b/src/main/ui/BrowserBar.java
index 507c33f..ed9e314 100644
--- a/src/main/ui/BrowserBar.java
+++ b/src/main/ui/BrowserBar.java
@@ -19,9 +19,6 @@ public class BrowserBar extends JToolBar {
this.parent = parent;
tabMenu = new JPopupMenu("Tabs");
- tabMenu.add(new JMenuItem("Hello"));
- tabMenu.add(new JMenuItem("World"));
- tabMenu.add(new JMenuItem("Lorem"));
tabButton = new JToggleButton("Tabs");
tabButton.addActionListener(toggleTabMenu());
@@ -44,8 +41,6 @@ public class BrowserBar extends JToolBar {
String uri = uriInput.getText();
parent.render(uri);
addTab(uri);
- System.out.println(uri);
- System.out.println("should run");
}
};
}
@@ -66,13 +61,13 @@ public class BrowserBar extends JToolBar {
} else {
tabMenu.remove(tabButton);
tabMenu.setVisible(false);
- parent.removeTab(tab);
+ parent.getBrowserState().removeTab(tab);
}
}
});
this.tabMenu.add(tabButton);
- parent.addTab(tab);
+ parent.getBrowserState().addTab(tab);
}
// MODIFIES: this
diff --git a/src/main/ui/BrowserWindow.java b/src/main/ui/BrowserWindow.java
index 9a92186..640fb1a 100644
--- a/src/main/ui/BrowserWindow.java
+++ b/src/main/ui/BrowserWindow.java
@@ -1,6 +1,9 @@
package ui;
+import model.BrowserState;
import model.html.HtmlParser;
+import model.util.Event;
+import model.util.EventLog;
import org.json.JSONArray;
import persistance.JsonUtils;
@@ -24,14 +27,14 @@ public class BrowserWindow extends JFrame {
private BrowserCanvas canvas;
private BrowserBar browserBar;
- private ArrayDeque<String> tabs;
- private String pathString;
+ private BrowserState state;
// MODIFIES: this
// EFFECTS: creates a new BrowserWindow program for rendering pages
public BrowserWindow() {
super("apus");
- tabs = new ArrayDeque<>();
+ state = new BrowserState(new ArrayDeque<>(), "");
+
canvas = new BrowserCanvas(new ArrayList<>());
// render("data/example.html");
browserBar = new BrowserBar(this);
@@ -50,11 +53,11 @@ public class BrowserWindow extends JFrame {
// MODIFIES: this
// EFFECTS: Renders an arbitrary page
public void render(String uri) {
- pathString = uri;
+ state.setCurrentTab(uri);
remove(canvas);
- System.out.println(pathString);
+// System.out.println(state.getCurrentTab());
try {
- Path path = Paths.get(pathString);
+ Path path = Paths.get(state.getCurrentTab());
String file = new String(Files.readAllBytes(path));
HtmlParser parser = new HtmlParser();
canvas = new BrowserCanvas(parser.parseHtml(file));
@@ -73,9 +76,12 @@ public class BrowserWindow extends JFrame {
this.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
- if (tabs.size() > 0) {
+ if (state.getTabs().size() > 0) {
saveCurrentTabs();
}
+ for (Event event : EventLog.getInstance()) {
+ System.out.println(event);
+ }
super.windowClosing(e);
}
});
@@ -100,7 +106,7 @@ public class BrowserWindow extends JFrame {
JSONArray state = JsonUtils.readFromFile(storagePath);
for (int i = 0; i < state.length(); i++) {
this.browserBar.addTab((String) state.get(i));
- this.addTab((String) state.get(i));
+ this.state.addTab((String) state.get(i));
}
} catch (Exception e) {
System.out.println("Restoring state from disk failed with " + e.toString());
@@ -115,25 +121,13 @@ public class BrowserWindow extends JFrame {
JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE,
null, new String[]{"Yes", "No"}, "Yes");
if (answer == 0) {
- JsonUtils.writeToFile(new JSONArray(tabs), storagePath);
+ JsonUtils.writeToFile(new JSONArray(state.getTabs()), storagePath);
} else {
JsonUtils.writeToFile(new JSONArray(), storagePath);
}
}
- public ArrayDeque<String> getTabs() {
- return tabs;
- }
-
- // MODIFIES: this
- // EFFECTS: add a tab
- public void addTab(String tab) {
- this.tabs.add(tab);
- }
-
- // MODIFIES: this
- // EFFECTS: remove a tab
- public void removeTab(String tab) {
- this.tabs.remove(tab);
+ public BrowserState getBrowserState() {
+ return this.state;
}
}