temuvt102.h

来自「Trolltech公司发布的图形界面操作系统。可在qt-embedded-2.3」· C头文件 代码 · 共 136 行

H
136
字号
/* -------------------------------------------------------------------------- *//*                                                                            *//* [TEmuVt102.h]            X Terminal Emulation                              *//*                                                                            *//* -------------------------------------------------------------------------- *//*                                                                            *//* Copyright (c) 1997,1998 by Lars Doelle <lars.doelle@on-line.de>            *//*                                                                            *//* This file is part of Konsole - an X terminal for KDE                       *//*                                                                            *//* -------------------------------------------------------------------------- *//*									      *//* Ported Konsole to Qt/Embedded                                              *//*									      *//* Copyright (C) 2000 by John Ryland <jryland@trolltech.com>                  *//*									      *//* -------------------------------------------------------------------------- */#ifndef VT102EMU_H#define VT102EMU_H#include "TEWidget.h"#include "TEScreen.h"#include "TEmulation.h"#include <qtimer.h>#include <stdio.h>//#define MODE_AppScreen (MODES_SCREEN+0)#define MODE_AppCuKeys (MODES_SCREEN+1)#define MODE_AppKeyPad (MODES_SCREEN+2)#define MODE_Mouse1000 (MODES_SCREEN+3)#define MODE_Ansi      (MODES_SCREEN+4)#define MODE_total     (MODES_SCREEN+5)struct DECpar{  BOOL mode[MODE_total];};struct CharCodes{  // coding info  char charset[4]; //  int  cu_cs;      // actual charset.  bool graphic;    // Some VT100 tricks  bool pound  ;    // Some VT100 tricks  bool sa_graphic; // saved graphic  bool sa_pound;   // saved pound};class TEmuVt102 : public TEmulation{ Q_OBJECTpublic:  TEmuVt102(TEWidget* gui);  ~TEmuVt102();public slots: // signals incoming from TEWidget   void onKeyPress(QKeyEvent*);  void onMouse(int cb, int cx, int cy);signals:  void changeTitle(int,const QString&);  void prevSession();  void nextSession();public:  void reset();  void onRcvChar(int cc);  void sendString(const char *);public:      BOOL getMode    (int m);  void setMode    (int m);  void resetMode  (int m);  void saveMode   (int m);  void restoreMode(int m);  void resetModes();  void setConnect(bool r);private:  void resetToken();#define MAXPBUF 80  void pushToToken(int cc);  int pbuf[MAXPBUF]; //FIXME: overflow?  int ppos;#define MAXARGS 15  void addDigit(int dig);  void addArgument();  int argv[MAXARGS];  int argc;  void initTokenizer();  int tbl[256];  void scan_buffer_report(); //FIXME: rename  void ReportErrorToken();   //FIXME: rename  void tau(int code, int p, int q);  void XtermHack();  //   void reportTerminalType();  void reportStatus();  void reportAnswerBack();  void reportCursorPosition();  void reportTerminalParms(int p);protected:  unsigned short applyCharset(unsigned short c);  void setCharset(int n, int cs);  void useCharset(int n);  void setAndUseCharset(int n, int cs);  void saveCursor();  void restoreCursor();  void resetCharset(int scrno);  CharCodes charset[2];  DECpar currParm;  DECpar saveParm;};#endif // ifndef ANSIEMU_H

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?