aboutsummaryrefslogtreecommitdiff
path: root/src/uk/org/ury/frontend/FrontendModulePanel.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/uk/org/ury/frontend/FrontendModulePanel.java')
-rw-r--r--src/uk/org/ury/frontend/FrontendModulePanel.java90
1 files changed, 90 insertions, 0 deletions
diff --git a/src/uk/org/ury/frontend/FrontendModulePanel.java b/src/uk/org/ury/frontend/FrontendModulePanel.java
new file mode 100644
index 0000000..148875f
--- /dev/null
+++ b/src/uk/org/ury/frontend/FrontendModulePanel.java
@@ -0,0 +1,90 @@
+/**
+ *
+ */
+package uk.org.ury.frontend;
+
+
+/**
+ * A frontend user interface panel.
+ *
+ * All frontend user interfaces should subclass this as their main
+ * interface space, so that frontend panels can include each other
+ * and panels can be embedded into application frames or applets.
+ *
+ * @author Matt Windsor
+ *
+ */
+
+public abstract class FrontendModulePanel extends FrontendPanel
+{
+ /**
+ *
+ */
+
+ private static final long serialVersionUID = 5616222530691425635L;
+
+ private FrontendModule module;
+
+
+ /**
+ * Construct a new, blank FrontendModulePanel.
+ *
+ * @param module the module that the panel is viewing.
+ *
+ * @param master The FrontendMaster driving the frontend.
+ */
+
+ public
+ FrontendModulePanel (FrontendModule module, FrontendMaster master)
+ {
+ super (master);
+ this.module = module;
+ }
+
+
+ /**
+ * Construct a FrontendModulePanel using an XML layout manifest.
+ *
+ * @param module the module that the panel is viewing.
+ *
+ * @param xmlPath The path, relative from this source file, to the
+ * XML file from which this panel will read its
+ * layout.
+ *
+ * @param master The FrontendMaster driving the frontend.
+ */
+
+ public
+ FrontendModulePanel (FrontendModule module, String xmlPath,
+ FrontendMaster master)
+ {
+ super (xmlPath, master);
+ this.module = module;
+ }
+
+
+ /**
+ * @return the name of the panel module.
+ */
+
+ public abstract String
+ getName ();
+
+
+ /**
+ * Retrieve the module that this panel is serving as a view into.
+ *
+ * @return the module.
+ */
+
+ public FrontendModule
+ getModule ()
+ {
+ return module;
+ }
+
+
+ /**
+ *
+ */
+}