aboutsummaryrefslogtreecommitdiff
path: root/src/uk/org/ury/frontend/FrontendMaster.java
diff options
context:
space:
mode:
authorMatt Windsor <mbw500@student.cs.york.ac.uk>2011-03-07 13:50:24 +0000
committerMatt Windsor <mbw500@student.cs.york.ac.uk>2011-03-07 13:50:24 +0000
commit9b4647f1ae8c3f41163d0d4053504dab861d0c94 (patch)
treeb621e8c0b75a5cadd69f938116b1637f7ad0c94d /src/uk/org/ury/frontend/FrontendMaster.java
parentc33f098de8a43a2df778d4d694e0c07bbde59828 (diff)
Emergency impending hard drive failure dump - lots of changes on the frontend, but they're all potentially controversial so I'm not pushing to master yet. Beginnings of show viewer. Application now run through demo menu, which allows for the links between modules to be tested.
Diffstat (limited to 'src/uk/org/ury/frontend/FrontendMaster.java')
-rw-r--r--src/uk/org/ury/frontend/FrontendMaster.java65
1 files changed, 65 insertions, 0 deletions
diff --git a/src/uk/org/ury/frontend/FrontendMaster.java b/src/uk/org/ury/frontend/FrontendMaster.java
new file mode 100644
index 0000000..c169d04
--- /dev/null
+++ b/src/uk/org/ury/frontend/FrontendMaster.java
@@ -0,0 +1,65 @@
+/**
+ *
+ */
+package uk.org.ury.frontend;
+
+
+/**
+ * Interface for classes providing the parent unit of a frontend
+ * session.
+ *
+ * This includes the FrontendFrame used in application mode as
+ * well as applets.
+ *
+ * @author Matt Windsor
+ */
+
+public interface FrontendMaster
+{
+ /**
+ * Load a module into the frontend frame.
+ *
+ * Loading will fail with a fatal error if the class is not found,
+ * or is not an implementor of FrontendModule.
+ *
+ * @param moduleName The fully qualified class-name of the module,
+ * minus the leading "uk.org.ury." domain.
+ */
+
+ public void
+ loadModule (String moduleName);
+
+
+ /**
+ * Load a module into the frontend frame, additionally installing
+ * a control panel to communicate with the previous module.
+ *
+ * Loading will fail with a fatal error if the class is not found,
+ * or is not an implementor of FrontendModule.
+ *
+ * @param moduleName The fully qualified class-name of the module,
+ * minus the leading "uk.org.ury." domain.
+ *
+ * @param cpanelName The fully qualified class-name of the control
+ * panel to install, minus the leading
+ * "uk.org.ury." domain.
+ */
+
+ public void
+ loadModule (String moduleName, String cPanelName);
+
+
+ /**
+ * Restore an existing module and control panel into the frontend
+ * master.
+ *
+ * @param mpanel The module panel to restore.
+ *
+ * @param cpanel The control panel to restore.
+ *
+ * @throws IllegalArgumentException if either are null.
+ */
+
+ public void
+ restoreModule (FrontendModulePanel mpanel, FrontendControlPanel cpanel);
+}