⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tewidget.h

📁 Trolltech公司发布的图形界面操作系统。可在qt-embedded-2.3.10平台上编译为嵌入式图形界面操作系统。
💻 H
字号:
/************************************************************************ Copyright (C) 2000-2005 Trolltech AS and its licensors.** All rights reserved.**** This file is part of the Qtopia Environment.**** This file may be distributed and/or modified under the terms of the** GNU General Public License version 2 as published by the Free Software** Foundation and appearing in the file LICENSE.GPL included in the** packaging of this file.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.**** See http://www.trolltech.com/gpl/ for GPL licensing information.** See below for additional copyright and license information**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.************************************************************************//* ----------------------------------------------------------------------- *//*                                                                         *//* [te_widget.h]           Terminal Emulation Widget                       *//*                                                                         *//* ----------------------------------------------------------------------- *//*                                                                         *//* Copyright (c) 1997,1998 by Lars Doelle <lars.doelle@on-line.de>         *//*                                                                         *//* This file is part of Konsole - an X terminal for KDE                    *//*                                                                         *//* ----------------------------------------------------------------------- *//*                        *//* Konsole ported to Qt/Embedded by Trolltech                              *//*                        *//* ----------------------------------------------------------------------- */#ifndef TE_WIDGET_H#define TE_WIDGET_H#include <qwidget.h>#include <qlabel.h>#include <qtimer.h>#include <qcolor.h>#include <qkeycode.h>#include <qscrollbar.h>#include <qpopupmenu.h>#include "TECommon.h"extern unsigned short vt100_graphics[32];class TESession;// class Konsole;class TEWidget : public QFrame// a widget representing attributed text{ Q_OBJECT//  friend class Konsole;public:    TEWidget(QWidget *parent=0, const char *name=0);    virtual ~TEWidget();public:    QColor getDefaultBackColor();    const ColorEntry* getColorTable() const;    const ColorEntry* getdefaultColorTable() const;    void              setColorTable(const ColorEntry table[]);    void setScrollbarLocation(int loc);    enum { SCRNONE=0, SCRLEFT=1, SCRRIGHT=2 };    void setScroll(int cursor, int lines);    void doScroll(int lines);    void emitSelection();public:    void setImage(const ca* const newimg, int lines, int columns);    int  Lines()   { return lines;   }    int  Columns() { return columns; }    void calcGeometry();    void propagateSize();    QSize calcSize(int cols, int lins) const;    QSize sizeHint() const;public:    void Bell();    void emitText(QString text);    void pasteClipboard();signals:    void keyPressedSignal(QKeyEvent *e);    void mouseSignal(int cb, int cx, int cy);    void changedImageSizeSignal(int lines, int columns);    void changedHistoryCursor(int value);    void configureRequest( TEWidget*, int state, int x, int y );    void clearSelectionSignal();    void beginSelectionSignal( const int x, const int y );    void extendSelectionSignal( const int x, const int y );    void endSelectionSignal(const BOOL preserve_line_breaks);protected:    virtual void styleChange( QStyle& );    bool eventFilter( QObject *, QEvent * );    void drawAttrStr(QPainter &paint, QRect rect,                     QString& str, ca attr, BOOL pm, BOOL clear);    void paintEvent( QPaintEvent * );    void resizeEvent(QResizeEvent*);    void fontChange(const QFont &font);    void frameChanged();    void mouseDoubleClickEvent(QMouseEvent* ev);    void mousePressEvent( QMouseEvent* );    void mouseReleaseEvent( QMouseEvent* );    void mouseMoveEvent( QMouseEvent* );    void focusInEvent( QFocusEvent * );    void focusOutEvent( QFocusEvent * );    bool focusNextPrevChild( bool next );#ifndef QT_NO_DRAGANDDROP    // Dnd    void dragEnterEvent(QDragEnterEvent* event);    void dropEvent(QDropEvent* event);#endif    virtual int charClass(char) const;    void clearImage();public:    const QPixmap *backgroundPixmap();        void setSelection(const QString &t);    virtual void setFont(const QFont &);    void setVTFont(const QFont &);    QFont getVTFont();    void setMouseMarks(bool on);public slots:    void onClearSelection();protected slots:    void scrollChanged(int value);    void blinkEvent();private:    QChar (*fontMap)(QChar); // possible vt100 font extention    bool fixed_font; // has fixed pitch    int  font_h;     // height    int  font_w;     // width    int  font_a;     // ascend    int blX;    // actual offset (left)    int brX;    // actual offset (right)    int bY;     // actual offset    int lines;    int columns;    ca *image; // [lines][columns]    ColorEntry color_table[TABLE_COLORS];    BOOL resizing;    bool mouse_marks;    void makeImage();    QPoint iPntSel; // initial selection point    QPoint pntSel; // current selection point    int    actSel; // selection state    BOOL    word_selection_mode;    BOOL    preserve_line_breaks;    QClipboard*    cb;    QScrollBar* scrollbar;    int         scrollLoc;//#define SCRNONE  0//#define SCRLEFT  1//#define SCRRIGHT 2    BOOL blinking;   // hide text in paintEvent    BOOL hasBlinker; // has characters to blink    QTimer* blinkT;  // active when hasBlinker    QPopupMenu* m_drop;    QString dropText; public:    // current session in this widget    TESession *currentSession;private slots:    void drop_menu_activated(int item);};#endif // TE_WIDGET_H

⌨️ 快捷键说明

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