You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
latte-dock/app/abstractinterface.h

57 lines
1.5 KiB
C++

#ifndef ABSTRACTINTERFACE_H
#define ABSTRACTINTERFACE_H
#include <QObject>
#include <QQuickWindow>
namespace NowDock {
class AbstractInterface : public QObject {
Q_OBJECT
public:
explicit AbstractInterface(QQuickWindow *dock);
virtual bool activeIsDialog() const = 0;
virtual bool activeIsMaximized() const = 0;
virtual bool desktopIsActive() const = 0;
virtual bool dockIntersectsActiveWindow() const = 0;
virtual bool dockIsCovered(bool totally = false) const = 0;
virtual bool dockIsCovering() const = 0;
virtual bool dockIsOnTop() const = 0;
virtual bool dockInNormalState() const = 0;
virtual bool dockIsBelow() const = 0;
//FIXME: This may not be needed, it would be better to investigate in KWindowSystem
//its behavior when setting the window type to NET::Dock
virtual void setDockDefaultFlags(bool dock = false) = 0;
virtual void setDockToAllDesktops() = 0;
virtual void showDockAsNormal() = 0;
virtual void showDockOnBottom() = 0;
virtual void showDockOnTop() = 0;
void setDockNumber(unsigned int no);
unsigned int dockNumber() const;
void setMaskArea(QRect area);
Q_SIGNALS:
void activeWindowChanged();
void dockNumberChanged(unsigned int no);
void windowInAttention(bool);
//FIXME: there is a chance that this signal is not needed at all
void windowChanged();
protected:
bool m_isDockWindowType;
int m_dockNumber;
QRect m_maskArea;
QQuickWindow *m_dockWindow;
};
}
#endif