/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Source file was org.kde.konsole.Window.xml
 *
 * qdbusxml2cpp is Copyright (C) The Qt Company Ltd. and other contributors.
 *
 * This is an auto-generated file.
 * This file may have been hand-edited. Look for HAND-EDIT comments
 * before re-generating it.
 */

#ifndef WINDOWADAPTOR_H
#define WINDOWADAPTOR_H

#include <QtCore/QObject>
#include <QtDBus/QtDBus>
#include "ViewManager.h"
#include <QtCore/qcontainerfwd.h>

/*
 * Adaptor class for interface org.kde.konsole.Window
 */
class WindowAdaptor: public QDBusAbstractAdaptor
{
    Q_OBJECT
    Q_CLASSINFO("D-Bus Interface", "org.kde.konsole.Window")
    Q_CLASSINFO("D-Bus Introspection", ""
"  <interface name=\"org.kde.konsole.Window\">\n"
"    <method name=\"sessionCount\">\n"
"      <arg direction=\"out\" type=\"i\"/>\n"
"    </method>\n"
"    <method name=\"sessionList\">\n"
"      <arg direction=\"out\" type=\"as\"/>\n"
"    </method>\n"
"    <method name=\"currentSession\">\n"
"      <arg direction=\"out\" type=\"i\"/>\n"
"    </method>\n"
"    <method name=\"setCurrentSession\">\n"
"      <arg direction=\"in\" type=\"i\" name=\"sessionId\"/>\n"
"    </method>\n"
"    <method name=\"newSession\">\n"
"      <arg direction=\"out\" type=\"i\"/>\n"
"    </method>\n"
"    <method name=\"newSession\">\n"
"      <arg direction=\"out\" type=\"i\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"profile\"/>\n"
"    </method>\n"
"    <method name=\"newSession\">\n"
"      <arg direction=\"out\" type=\"i\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"profile\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"directory\"/>\n"
"    </method>\n"
"    <method name=\"defaultProfile\">\n"
"      <arg direction=\"out\" type=\"s\"/>\n"
"    </method>\n"
"    <method name=\"setDefaultProfile\">\n"
"      <arg direction=\"in\" type=\"s\" name=\"profile\"/>\n"
"    </method>\n"
"    <method name=\"profileList\">\n"
"      <arg direction=\"out\" type=\"as\"/>\n"
"    </method>\n"
"    <method name=\"nextSession\"/>\n"
"    <method name=\"prevSession\"/>\n"
"    <method name=\"moveSessionLeft\"/>\n"
"    <method name=\"moveSessionRight\"/>\n"
"    <method name=\"setTabWidthToText\">\n"
"      <arg direction=\"in\" type=\"b\"/>\n"
"    </method>\n"
"    <method name=\"saveLayoutFile\"/>\n"
"    <method name=\"loadLayoutFile\"/>\n"
"    <method name=\"loadLayout\">\n"
"      <arg direction=\"in\" type=\"s\" name=\"File\"/>\n"
"    </method>\n"
"    <method name=\"viewHierarchy\">\n"
"      <arg direction=\"out\" type=\"as\"/>\n"
"    </method>\n"
"    <method name=\"getSplitProportions\">\n"
"      <arg direction=\"out\" type=\"ad\"/>\n"
"      <annotation value=\"QList&lt;double&gt;\" name=\"org.qtproject.QtDBus.QtTypeName.Out0\"/>\n"
"      <arg direction=\"in\" type=\"i\" name=\"splitterId\"/>\n"
"    </method>\n"
"    <method name=\"createSplit\">\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"      <arg direction=\"in\" type=\"i\" name=\"viewId\"/>\n"
"      <arg direction=\"in\" type=\"b\" name=\"horizontalSplit\"/>\n"
"    </method>\n"
"    <method name=\"createSplitWithExisting\">\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"      <arg direction=\"in\" type=\"i\" name=\"targetSplitterId\"/>\n"
"      <arg direction=\"in\" type=\"as\" name=\"widgetInfos\"/>\n"
"      <arg direction=\"in\" type=\"i\" name=\"idx\"/>\n"
"      <arg direction=\"in\" type=\"b\" name=\"horizontalSplit\"/>\n"
"    </method>\n"
"    <method name=\"setCurrentView\">\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"      <arg direction=\"in\" type=\"i\" name=\"viewId\"/>\n"
"    </method>\n"
"    <method name=\"resizeSplits\">\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"      <arg direction=\"in\" type=\"i\" name=\"splitterId\"/>\n"
"      <arg direction=\"in\" type=\"ad\" name=\"percentages\"/>\n"
"      <annotation value=\"QList&lt;double&gt;\" name=\"org.qtproject.QtDBus.QtTypeName.In1\"/>\n"
"    </method>\n"
"    <method name=\"moveSplitter\">\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"      <arg direction=\"in\" type=\"i\" name=\"splitterId\"/>\n"
"      <arg direction=\"in\" type=\"i\" name=\"targetSplitterId\"/>\n"
"      <arg direction=\"in\" type=\"i\" name=\"idx\"/>\n"
"    </method>\n"
"    <method name=\"moveView\">\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"      <arg direction=\"in\" type=\"i\" name=\"viewId\"/>\n"
"      <arg direction=\"in\" type=\"i\" name=\"targetSplitterId\"/>\n"
"      <arg direction=\"in\" type=\"i\" name=\"idx\"/>\n"
"    </method>\n"
"  </interface>\n"
        "")
public:
    WindowAdaptor(Konsole::ViewManager *parent);
    ~WindowAdaptor() override;

    inline Konsole::ViewManager *parent() const
    { return static_cast<Konsole::ViewManager *>(QObject::parent()); }

public: // PROPERTIES
public Q_SLOTS: // METHODS
    bool createSplit(int viewId, bool horizontalSplit);
    bool createSplitWithExisting(int targetSplitterId, const QStringList &widgetInfos, int idx, bool horizontalSplit);
    int currentSession();
    QString defaultProfile();
    QList<double> getSplitProportions(int splitterId);
    void loadLayout(const QString &File);
    void loadLayoutFile();
    void moveSessionLeft();
    void moveSessionRight();
    bool moveSplitter(int splitterId, int targetSplitterId, int idx);
    bool moveView(int viewId, int targetSplitterId, int idx);
    int newSession(const QString &profile, const QString &directory);
    int newSession(const QString &profile);
    int newSession();
    void nextSession();
    void prevSession();
    QStringList profileList();
    bool resizeSplits(int splitterId, const QList<double> &percentages);
    void saveLayoutFile();
    int sessionCount();
    QStringList sessionList();
    void setCurrentSession(int sessionId);
    bool setCurrentView(int viewId);
    void setDefaultProfile(const QString &profile);
    void setTabWidthToText(bool in0);
    QStringList viewHierarchy();
Q_SIGNALS: // SIGNALS
};

#endif
