📄 commandpanelscreen.java
字号:
/* * JRemCntl - Copyright (C) 2007 Filippo Di Vattimo <fildiv@gmail.com> * See COPYING */package fildiv.jremcntl.client.ui;import fildiv.jremcntl.client.core.AppContext;import fildiv.jremcntl.client.core.JRemClientProtocol;import fildiv.jremcntl.client.core.ServerResponse;import fildiv.jremcntl.client.core.ServerResponseListener;import fildiv.jremcntl.common.core.Config;import fildiv.jremcntl.common.core.Context;import fildiv.jremcntl.common.core.Logger;import fildiv.jremcntl.common.core.PlainTextCmdResult;import fildiv.jremcntl.common.proto.JRemProtocolMessagesType;import fildiv.jremcntl.common.util.JRemUtils;public class CommandPanelScreen extends AbstractScreen implements ServerResponseListener { private FastCommandScreen fastCmdScreen = null; private ListCommandScreen listScreen = null; private Screen currScreen = null; private Context ctx; public CommandPanelScreen(AppContext appCtx) { super(appCtx); fastCmdScreen = new FastCommandScreen(appCtx); fastCmdScreen.setBackScreen(this); listScreen = new ListCommandScreen(appCtx); listScreen.setBackScreen(this); currScreen = null; } public void setContext(Context ctx) { if (this.ctx != ctx) currScreen = null; this.ctx = ctx; fastCmdScreen.setContext(ctx); listScreen.setContext(ctx); } public void setLogger(Logger logger) { fastCmdScreen.setLogger(logger); listScreen.setLogger(logger); } public void setProtocol(JRemClientProtocol proto) { fastCmdScreen.setProtocol(proto); listScreen.setProtocol(proto); } public void swithView() { if (currScreen instanceof FastCommandScreen) currScreen = listScreen; else currScreen = fastCmdScreen; currScreen.show(); } protected void onActivate() { if (currScreen == null) { switch(ctx.getDefView()) { case Config.TYPE_VIEW_FASTVIEW: currScreen = fastCmdScreen; break; case Config.TYPE_VIEW_LISTVIEW: currScreen = listScreen; break; } } if (currScreen == fastCmdScreen && !JRemUtils.hasKeysAssigned(ctx)) currScreen = listScreen; currScreen.show(); } public void reset() { fastCmdScreen.reset(true); listScreen.reset(true); } public void connectionClosed() { } public void connectionLost() { } public void receivedCommandResponse(ServerResponse response) { if (response.getType() != JRemProtocolMessagesType.MSG_TYPE_SEND_COMMAND_RESULT) return; // only PlainTextCmdResult is supported PlainTextCmdResult pt = PlainTextCmdResult.createFromByteReader(response.getByteReader()); String tickerMessage = pt.getMessage(); if (fastCmdScreen != null) fastCmdScreen.setTickerMessage(tickerMessage); if (listScreen != null) listScreen.setTickerMessage(tickerMessage); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -