File indexing completed on 2024-04-21 03:57:50

0001 /*
0002     SPDX-FileCopyrightText: 2013 Christoph Cullmann <cullmann@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include <ktexteditor/mainwindow.h>
0008 #include <ktexteditor/plugin.h>
0009 
0010 #include <KXMLGUIFactory>
0011 #include <QIcon>
0012 #include <QUrl>
0013 #include <QVariant>
0014 
0015 // clang-format off
0016 
0017 namespace KTextEditor
0018 {
0019 MainWindow::MainWindow(QObject *parent)
0020     : QObject(parent)
0021     , d(nullptr)
0022 {
0023 }
0024 
0025 MainWindow::~MainWindow()
0026 {
0027 }
0028 
0029 QWidget *MainWindow::window()
0030 {
0031     // dispatch to parent
0032     QWidget *window = nullptr;
0033     QMetaObject::invokeMethod(parent(), "window", Qt::DirectConnection, Q_RETURN_ARG(QWidget*, window));
0034     return window;
0035 }
0036 
0037 KXMLGUIFactory *MainWindow::guiFactory()
0038 {
0039     // dispatch to parent
0040     KXMLGUIFactory *guiFactory = nullptr;
0041     QMetaObject::invokeMethod(parent(), "guiFactory", Qt::DirectConnection, Q_RETURN_ARG(KXMLGUIFactory*, guiFactory));
0042     return guiFactory;
0043 }
0044 
0045 QList<KTextEditor::View *> MainWindow::views()
0046 {
0047     // dispatch to parent
0048     QList<KTextEditor::View *> views;
0049     QMetaObject::invokeMethod(parent(), "views", Qt::DirectConnection, Q_RETURN_ARG(QList<KTextEditor::View*>, views));
0050     return views;
0051 }
0052 
0053 KTextEditor::View *MainWindow::activeView()
0054 {
0055     // dispatch to parent
0056     KTextEditor::View *view = nullptr;
0057     QMetaObject::invokeMethod(parent(), "activeView", Qt::DirectConnection, Q_RETURN_ARG(KTextEditor::View*, view));
0058     return view;
0059 }
0060 
0061 KTextEditor::View *MainWindow::activateView(KTextEditor::Document *document)
0062 {
0063     // dispatch to parent
0064     KTextEditor::View *view = nullptr;
0065     QMetaObject::invokeMethod(parent(),
0066                               "activateView",
0067                               Qt::DirectConnection,
0068                               Q_RETURN_ARG(KTextEditor::View*, view),
0069                               Q_ARG(KTextEditor::Document*, document));
0070     return view;
0071 }
0072 
0073 KTextEditor::View *MainWindow::openUrl(const QUrl &url, const QString &encoding)
0074 {
0075     // dispatch to parent
0076     KTextEditor::View *view = nullptr;
0077     QMetaObject::invokeMethod(parent(), "openUrl", Qt::DirectConnection, Q_RETURN_ARG(KTextEditor::View*, view), Q_ARG(QUrl, url), Q_ARG(QString, encoding));
0078     return view;
0079 }
0080 
0081 bool MainWindow::closeView(KTextEditor::View *view)
0082 {
0083     // dispatch to parent
0084     bool success = false;
0085     QMetaObject::invokeMethod(parent(), "closeView", Qt::DirectConnection, Q_RETURN_ARG(bool, success), Q_ARG(KTextEditor::View*, view));
0086     return success;
0087 }
0088 
0089 void MainWindow::splitView(Qt::Orientation orientation)
0090 {
0091     // dispatch to parent
0092     QMetaObject::invokeMethod(parent(), "splitView", Qt::DirectConnection, Q_ARG(Qt::Orientation, orientation));
0093 }
0094 
0095 bool MainWindow::closeSplitView(KTextEditor::View *view)
0096 {
0097     // dispatch to parent
0098     bool success = false;
0099     QMetaObject::invokeMethod(parent(), "closeSplitView", Qt::DirectConnection, Q_RETURN_ARG(bool, success), Q_ARG(KTextEditor::View*, view));
0100     return success;
0101 }
0102 
0103 bool MainWindow::viewsInSameSplitView(KTextEditor::View *view1, KTextEditor::View *view2)
0104 {
0105     // dispatch to parent
0106     bool success = false;
0107     QMetaObject::invokeMethod(parent(),
0108                               "viewsInSameSplitView",
0109                               Qt::DirectConnection,
0110                               Q_RETURN_ARG(bool, success),
0111                               Q_ARG(KTextEditor::View*, view1),
0112                               Q_ARG(KTextEditor::View*, view2));
0113     return success;
0114 }
0115 
0116 QWidget *MainWindow::createViewBar(KTextEditor::View *view)
0117 {
0118     // dispatch to parent
0119     QWidget *viewBar = nullptr;
0120     QMetaObject::invokeMethod(parent(), "createViewBar", Qt::DirectConnection, Q_RETURN_ARG(QWidget*, viewBar), Q_ARG(KTextEditor::View*, view));
0121     return viewBar;
0122 }
0123 
0124 void MainWindow::deleteViewBar(KTextEditor::View *view)
0125 {
0126     // dispatch to parent
0127     QMetaObject::invokeMethod(parent(), "deleteViewBar", Qt::DirectConnection, Q_ARG(KTextEditor::View*, view));
0128 }
0129 
0130 void MainWindow::addWidgetToViewBar(KTextEditor::View *view, QWidget *bar)
0131 {
0132     // dispatch to parent
0133     QMetaObject::invokeMethod(parent(), "addWidgetToViewBar", Qt::DirectConnection, Q_ARG(KTextEditor::View*, view), Q_ARG(QWidget*, bar));
0134 }
0135 
0136 void MainWindow::showViewBar(KTextEditor::View *view)
0137 {
0138     // dispatch to parent
0139     QMetaObject::invokeMethod(parent(), "showViewBar", Qt::DirectConnection, Q_ARG(KTextEditor::View*, view));
0140 }
0141 
0142 void MainWindow::hideViewBar(KTextEditor::View *view)
0143 {
0144     // dispatch to parent
0145     QMetaObject::invokeMethod(parent(), "hideViewBar", Qt::DirectConnection, Q_ARG(KTextEditor::View*, view));
0146 }
0147 
0148 QWidget *MainWindow::createToolView(KTextEditor::Plugin *plugin,
0149                                     const QString &identifier,
0150                                     KTextEditor::MainWindow::ToolViewPosition pos,
0151                                     const QIcon &icon,
0152                                     const QString &text)
0153 {
0154     // dispatch to parent
0155     QWidget *toolView = nullptr;
0156     QMetaObject::invokeMethod(parent(),
0157                               "createToolView",
0158                               Qt::DirectConnection,
0159                               Q_RETURN_ARG(QWidget*, toolView),
0160                               Q_ARG(KTextEditor::Plugin*, plugin),
0161                               Q_ARG(QString, identifier),
0162                               Q_ARG(KTextEditor::MainWindow::ToolViewPosition, pos),
0163                               Q_ARG(QIcon, icon),
0164                               Q_ARG(QString, text));
0165     return toolView;
0166 }
0167 
0168 bool MainWindow::moveToolView(QWidget *widget, KTextEditor::MainWindow::ToolViewPosition pos)
0169 {
0170     // dispatch to parent
0171     bool success = false;
0172     QMetaObject::invokeMethod(parent(),
0173                               "moveToolView",
0174                               Qt::DirectConnection,
0175                               Q_RETURN_ARG(bool, success),
0176                               Q_ARG(QWidget*, widget),
0177                               Q_ARG(KTextEditor::MainWindow::ToolViewPosition, pos));
0178     return success;
0179 }
0180 
0181 bool MainWindow::showToolView(QWidget *widget)
0182 {
0183     // dispatch to parent
0184     bool success = false;
0185     QMetaObject::invokeMethod(parent(), "showToolView", Qt::DirectConnection, Q_RETURN_ARG(bool, success), Q_ARG(QWidget*, widget));
0186     return success;
0187 }
0188 
0189 bool MainWindow::hideToolView(QWidget *widget)
0190 {
0191     // dispatch to parent
0192     bool success = false;
0193     QMetaObject::invokeMethod(parent(), "hideToolView", Qt::DirectConnection, Q_RETURN_ARG(bool, success), Q_ARG(QWidget*, widget));
0194     return success;
0195 }
0196 
0197 bool MainWindow::showPluginConfigPage(KTextEditor::Plugin *plugin, int page)
0198 {
0199     // dispatch to parent
0200     bool success = false;
0201     QMetaObject::invokeMethod(parent(),
0202                               "showPluginConfigPage",
0203                               Qt::DirectConnection,
0204                               Q_RETURN_ARG(bool, success),
0205                               Q_ARG(KTextEditor::Plugin*, plugin),
0206                               Q_ARG(int, page));
0207     return success;
0208 }
0209 
0210 QObject *MainWindow::pluginView(const QString &name)
0211 {
0212     // dispatch to parent
0213     QObject *pluginView = nullptr;
0214     QMetaObject::invokeMethod(parent(), "pluginView", Qt::DirectConnection, Q_RETURN_ARG(QObject*, pluginView), Q_ARG(QString, name));
0215     return pluginView;
0216 }
0217 
0218 bool MainWindow::addWidget(QWidget *widget)
0219 {
0220     // dispatch to parent
0221     bool success = false;
0222     QMetaObject::invokeMethod(parent(), "addWidget", Qt::DirectConnection, Q_RETURN_ARG(bool, success), Q_ARG(QWidget*, widget));
0223     return success;
0224 }
0225 
0226 bool MainWindow::showMessage(const QVariantMap &message)
0227 {
0228     // dispatch to parent
0229     bool success = false;
0230     QMetaObject::invokeMethod(parent(), "showMessage", Qt::DirectConnection, Q_RETURN_ARG(bool, success), Q_ARG(QVariantMap, message));
0231     return success;
0232 }
0233 } // namespace KTextEditor
0234 
0235 // clang-format on