package captor.windowsystem.main;
import java.util.Observable;
import javax.swing.JMenuBar;
import javax.swing.JPanel;
import captor.modelsystem.Model;
import captor.windowsystem.MainWindow;
import captor.windowsystem.main.bodyPane.BodyPane;
import captor.windowsystem.main.headerPane.Header;
import captor.windowsystem.main.locationPane.FormNavigatorPane;
import captor.windowsystem.main.menubar.SmartMenuBar;
import captor.windowsystem.main.viewPane.ViewPane;
public class WindowMaker {
/**
* This class create and refresh all main window components.
*
* <p>
* The main appication windows is:
* navigation panel, body panel, view panel and header panel.
* </p>
*
* @author Kicho
*/
Model model;
SmartMenuBar smartMenuBar;
Header header;
BodyPane body;
FormNavigatorPane location;
ViewPane view;
MainWindow frame;
public WindowMaker(MainWindow frame, Model model) {
this.model = model;
this.frame = frame;
header = new Header(model);
body = new BodyPane(model);
location = new FormNavigatorPane(model);
view = new ViewPane(model);
smartMenuBar = new SmartMenuBar(model);
model.getGui().getGuiControl().addObserver(body);
model.getConfig().getGuiHiddenConfig().addObserver(smartMenuBar);
model.getConfig().getGuiHiddenConfig().addObserver(view);
model.getConfig().getGuiHiddenConfig().addObserver(location);
model.getGui().getGuiView().addObserver(view);
model.addObserver(location);
}
//-------------------------------------------------
public JPanel createHeader() {
return header;
}
//-------------------------------------------------
public JPanel createBody() {
return body;
}
//-------------------------------------------------
public JPanel createLocation() {
return location;
}
//-------------------------------------------------
public JPanel createView() {
return view;
}
//-------------------------------------------------
public JMenuBar createSmartMenuBar() {
return smartMenuBar;
}
//-------------------------------------------------
public void update(Observable observable, Object obj) {
}
//-------------------------------------------------
/**
* @return Returns the body.
*/
public BodyPane getBody() {
return body;
}
/**
* @param body The body to set.
*/
public void setBody(BodyPane body) {
this.body = body;
}
/**
* @return Returns the location.
*/
public FormNavigatorPane getLocation() {
return location;
}
/**
* @param location The location to set.
*/
public void setLocation(FormNavigatorPane location) {
this.location = location;
}
//-------------------------------------------------
}