source: ogBrowser-Git/qtermwidget/lib/qtermwidget_interface.h @ c0cec9d

jenkinsmain
Last change on this file since c0cec9d was fedf2a2, checked in by Vadim Troshchinskiy Shmelev <vtroshchinskiy@…>, 18 months ago

Update Qtermwidget to Qt6 version
Remove build files

  • Property mode set to 100644
File size: 4.6 KB
Line 
1/*  Copyright (C) 2022 Francesc Martinez (info@francescmm.com)
2
3    This library is free software; you can redistribute it and/or
4    modify it under the terms of the GNU Library General Public
5    License as published by the Free Software Foundation; either
6    version 2 of the License, or (at your option) any later version.
7
8    This library is distributed in the hope that it will be useful,
9    but WITHOUT ANY WARRANTY; without even the implied warranty of
10    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11    Library General Public License for more details.
12
13    You should have received a copy of the GNU Library General Public License
14    along with this library; see the file COPYING.LIB.  If not, write to
15    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16    Boston, MA 02110-1301, USA.
17*/
18
19#pragma once
20
21#include <QFont>
22
23class QKeyEvent;
24class QAction;
25
26class QTermWidgetInterface {
27   public:
28   /**
29     * This enum describes the location where the scroll bar is positioned in the display widget.
30     */
31   enum ScrollBarPosition {
32      /** Do not show the scroll bar. */
33      NoScrollBar = 0,
34      /** Show the scroll bar on the left side of the display. */
35      ScrollBarLeft = 1,
36      /** Show the scroll bar on the right side of the display. */
37      ScrollBarRight = 2
38   };
39
40   virtual ~QTermWidgetInterface() = default;
41
42   virtual void setTerminalSizeHint(bool enabled) = 0;
43   virtual bool terminalSizeHint() = 0;
44   virtual void startShellProgram() = 0;
45   virtual void startTerminalTeletype() = 0;
46   virtual int getShellPID() = 0;
47   virtual int getForegroundProcessId() = 0;
48   virtual void changeDir(const QString & dir) = 0;
49   virtual void setTerminalFont(const QFont & font) = 0;
50   virtual QFont getTerminalFont() = 0;
51   virtual void setTerminalOpacity(qreal level) = 0;
52   virtual void setTerminalBackgroundImage(const QString& backgroundImage) = 0;
53   virtual void setTerminalBackgroundMode(int mode) = 0;
54   virtual void setEnvironment(const QStringList & environment) = 0;
55   virtual void setShellProgram(const QString & program) = 0;
56   virtual void setWorkingDirectory(const QString & dir) = 0;
57   virtual QString workingDirectory() = 0;
58   virtual void setArgs(const QStringList & args) = 0;
59   virtual void setTextCodec(QTextCodec * codec) = 0;
60   virtual void setColorScheme(const QString & name) = 0;
61   virtual QStringList getAvailableColorSchemes() = 0;
62   virtual void setHistorySize(int lines) = 0;
63   virtual int historySize() const = 0;
64   virtual void setScrollBarPosition(ScrollBarPosition) = 0;
65   virtual void scrollToEnd() = 0;
66   virtual void sendText(const QString & text) = 0;
67   virtual void sendKeyEvent(QKeyEvent* e) = 0;
68   virtual void setFlowControlEnabled(bool enabled) = 0;
69   virtual bool flowControlEnabled(void) = 0;
70   virtual void setFlowControlWarningEnabled(bool enabled) = 0;
71   virtual QString keyBindings() = 0;
72   virtual void setMotionAfterPasting(int) = 0;
73   virtual int historyLinesCount() = 0;
74   virtual int screenColumnsCount() = 0;
75   virtual int screenLinesCount() = 0;
76   virtual void setSelectionStart(int row, int column) = 0;
77   virtual void setSelectionEnd(int row, int column) = 0;
78   virtual void getSelectionStart(int& row, int& column) = 0;
79   virtual void getSelectionEnd(int& row, int& column) = 0;
80   virtual QString selectedText(bool preserveLineBreaks = true) = 0;
81   virtual void setMonitorActivity(bool) = 0;
82   virtual void setMonitorSilence(bool) = 0;
83   virtual void setSilenceTimeout(int seconds) = 0;
84   virtual QList<QAction*> filterActions(const QPoint& position) = 0;
85   virtual int getPtySlaveFd() const = 0;
86   virtual void setBlinkingCursor(bool blink) = 0;
87   virtual void setBidiEnabled(bool enabled) = 0;
88   virtual bool isBidiEnabled() = 0;
89   virtual void setAutoClose(bool) = 0;
90   virtual QString title() const = 0;
91   virtual QString icon() const = 0;
92   virtual bool isTitleChanged() const = 0;
93   virtual void bracketText(QString& text) = 0;
94   virtual void disableBracketedPasteMode(bool disable) = 0;
95   virtual bool bracketedPasteModeIsDisabled() const = 0;
96   virtual void setMargin(int) = 0;
97   virtual int getMargin() const = 0;
98   virtual void setDrawLineChars(bool drawLineChars) = 0;
99   virtual void setBoldIntense(bool boldIntense) = 0;
100   virtual void setConfirmMultilinePaste(bool confirmMultilinePaste) = 0;
101   virtual void setTrimPastedTrailingNewlines(bool trimPastedTrailingNewlines) = 0;
102   virtual QTermWidgetInterface* createWidget(int startnow) const = 0;
103};
104
105#define QTermWidgetInterface_iid "lxqt.qtermwidget.QTermWidgetInterface/1.0"
106
107Q_DECLARE_INTERFACE(QTermWidgetInterface, QTermWidgetInterface_iid)
Note: See TracBrowser for help on using the repository browser.