#ifndef AUTOTESTS_WINDOWS_STUB_SIDEBAR_WINDOW_HELPER_H
#define AUTOTESTS_WINDOWS_STUB_SIDEBAR_WINDOW_HELPER_H

#include <QObject>
#include <QRect>

#include "window-type.h"

namespace Sidebar {

class SidebarWindowHelper : public QObject
{
    Q_OBJECT
public:
    static SidebarWindowHelper *instance(QObject *parent = nullptr);

    QRect getWindowGeometry(SidebarWindowType::Type type);
    Qt::LayoutDirection getLayoutDirection();
    int getPanelPos();

    void setWindowGeometry(SidebarWindowType::Type type, const QRect &geometry);
    void setLayoutDirection(Qt::LayoutDirection direction);
    void reset();

Q_SIGNALS:
    void geometryChanged();

private:
    explicit SidebarWindowHelper(QObject *parent = nullptr);

    QMap<int, QRect> m_geometries;
    Qt::LayoutDirection m_direction = Qt::LeftToRight;
};

class SidebarWindowDefineModule
{
public:
    static void defineModules(const char *uri, int versionMajor, int versionMinor)
    {
        Q_UNUSED(uri)
        Q_UNUSED(versionMajor)
        Q_UNUSED(versionMinor)
    }
};

} // namespace Sidebar

#endif
