package com.vitco.layout.frames; import com.vitco.layout.content.console.ConsoleViewInterface; import com.vitco.layout.frames.custom.CDockableFrame; import com.vitco.manager.action.types.StateActionPrototype; import com.vitco.util.misc.SaveResourceLoader; import java.awt.*; import java.awt.event.ActionEvent; /** * construct the console frame */ public class ConsoleLinkage extends FrameLinkagePrototype { // var & setter private ConsoleViewInterface consoleView; public final void setConsoleView(ConsoleViewInterface consoleView) { this.consoleView = consoleView; } @Override public CDockableFrame buildFrame(String key, Frame mainFrame) { // construct frame frame = new CDockableFrame(key, new SaveResourceLoader("resource/img/icons/frames/console.png").asIconImage() , langSelector ); updateTitle(); // update the title frame.add(consoleView.buildConsole(this)); // register action to hide/show this frame and get visible state actionManager.registerAction("console_state-action_show", new StateActionPrototype() { @Override public boolean getStatus() { return frame.isVisible(); } @Override public void action(ActionEvent e) { toggleVisible(); } }); return frame; } }