}
public static void buildScenarioEditorGUI(CivQuest civQuest)
throws RulesetException {
Registry registry = civQuest.getTopRegistry();
ImageSet topImageSet = civQuest.getTopImageSet();
Registry guiRegistry = registry.getSubRegistry("gui");
Session session = new Session(guiRegistry);
JScrollPane scrollPane = null;
QuadMap map = null;
try {
scrollPane = new JScrollPane();
MapData mapData = Game.getMapData();
if(mapData instanceof FlatMapData) {
map = new QuadMap(civQuest, Game.getGame(),
registry, topImageSet, Const.FLAT,
QuadMap.Mode.SCENARIO,
scrollPane, session);
} else if (mapData instanceof IsoMapData) {
map = new QuadMap(civQuest, Game.getGame(),
registry, topImageSet, Const.ISO,
QuadMap.Mode.SCENARIO,
scrollPane, session);
}
JPanel infoPaneComponent = new JPanel();
Registry paneRegistry = guiRegistry.getSubRegistry("panes");
ScenarioEditorInfoPaneManager infoPaneManager = new
ScenarioEditorInfoPaneManager(civQuest, infoPaneComponent,
Game.getGame(), map, registry, paneRegistry);
GlobalFunctionComponent globFC = civQuest.getGlobalFunctionComponent();
ScenarioEditorFunctionComponent comp
= new ScenarioEditorFunctionComponent(map, civQuest,
registry, infoPaneManager);
globFC.switchedToEditor(comp);
JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
infoPaneComponent, scrollPane);
Integer prefWidth = infoPaneManager.getPreferredWidth();
if (prefWidth != null) {
splitPane.setDividerLocation(prefWidth);
}
splitPane.setOneTouchExpandable(true);
civQuest.setMainComponent(splitPane);
} catch (Exception e) {
e.printStackTrace();
JOptionPane.showMessageDialog(civQuest,
"There was an error loading the map.\n\nMessage:\n"
+ e.getMessage(),
"Error",
JOptionPane.WARNING_MESSAGE);
}
Registry gameRegistry = registry.getSubRegistry("gui").getSubRegistry("menus");
swifu.parser.ruleset.Ruleset menuRuleset
= gameRegistry.toSwifuRegistry().getRuleset("editorMenus");
constructMenuBar(civQuest, menuRuleset);
civQuest.validate();
}