aboutsummaryrefslogtreecommitdiff
path: root/src/uk/org/ury/frontend/FrontendModulePanel.java
blob: 148875f0cbb68cde07f168aa83ed28e76a166bec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
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;
  }
  
  
  /**
   * 
   */
}