*/
public RupsController(Dimension dimension) {
// creating components and controllers
menuBar = new RupsMenuBar(this);
addObserver(menuBar);
Console console = Console.getInstance();
addObserver(console);
readerController = new PdfReaderController(this, this);
addObserver(readerController);
// creating the master component
masterComponent = new JSplitPane();
masterComponent.setOrientation(JSplitPane.VERTICAL_SPLIT);
masterComponent.setDividerLocation((int)(dimension.getHeight() * .70));
masterComponent.setDividerSize(2);
JSplitPane content = new JSplitPane();
masterComponent.add(content, JSplitPane.TOP);
JSplitPane info = new JSplitPane();
masterComponent.add(info, JSplitPane.BOTTOM);
content.setOrientation(JSplitPane.HORIZONTAL_SPLIT);
content.setDividerLocation((int)(dimension.getWidth() * .6));
content.setDividerSize(1);
content.add(new JScrollPane(readerController.getPdfTree()), JSplitPane.LEFT);
content.add(readerController.getNavigationTabs(), JSplitPane.RIGHT);
info.setDividerLocation((int) (dimension.getWidth() * .3));
info.setDividerSize(1);
info.add(readerController.getObjectPanel(), JSplitPane.LEFT);
JTabbedPane editorPane = readerController.getEditorTabs();
JScrollPane cons = new JScrollPane(console.getTextArea());
editorPane.addTab("Console", null, cons, "Console window (System.out/System.err)");
editorPane.setSelectedComponent(cons);
info.add(editorPane, JSplitPane.RIGHT);
}