mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 17:33:05 +00:00
add abstractdockitem.cpp
This commit is contained in:
parent
d0a5113b09
commit
9775808093
@ -15,6 +15,7 @@ INCLUDEPATH += src/
|
||||
SOURCES += \
|
||||
src/main.cpp \
|
||||
src/mainwidget.cpp \
|
||||
src/abstractdockitem.cpp \
|
||||
src/Widgets/appbackground.cpp \
|
||||
src/Widgets/appicon.cpp \
|
||||
src/Widgets/docklayout.cpp \
|
||||
|
116
dde-dock/src/abstractdockitem.cpp
Normal file
116
dde-dock/src/abstractdockitem.cpp
Normal file
@ -0,0 +1,116 @@
|
||||
#include <QWidget>
|
||||
#include <QFrame>
|
||||
#include <QLabel>
|
||||
#include "Widgets/arrowrectangle.h"
|
||||
|
||||
#include "abstractdockitem.h"
|
||||
|
||||
AbstractDockItem::AbstractDockItem(QWidget * parent) :
|
||||
QFrame(parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
AbstractDockItem::~AbstractDockItem()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
QString AbstractDockItem::getTitle()
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
QWidget * AbstractDockItem::getApplet()
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bool AbstractDockItem::moveable()
|
||||
{
|
||||
return m_moveable;
|
||||
}
|
||||
|
||||
bool AbstractDockItem::actived()
|
||||
{
|
||||
return m_isActived;
|
||||
}
|
||||
|
||||
void AbstractDockItem::resize(int width,int height){
|
||||
QFrame::resize(width,height);
|
||||
|
||||
emit widthChanged();
|
||||
}
|
||||
|
||||
void AbstractDockItem::resize(const QSize &size){
|
||||
QFrame::resize(size);
|
||||
|
||||
emit widthChanged();
|
||||
}
|
||||
|
||||
QPoint AbstractDockItem::getNextPos()
|
||||
{
|
||||
return m_itemNextPos;
|
||||
}
|
||||
|
||||
void AbstractDockItem::setNextPos(const QPoint &value)
|
||||
{
|
||||
m_itemNextPos = value;
|
||||
}
|
||||
|
||||
void AbstractDockItem::setNextPos(int x, int y)
|
||||
{
|
||||
m_itemNextPos.setX(x); m_itemNextPos.setY(y);
|
||||
}
|
||||
|
||||
int AbstractDockItem::globalX()
|
||||
{
|
||||
return mapToGlobal(QPoint(0,0)).x();
|
||||
}
|
||||
|
||||
int AbstractDockItem::globalY()
|
||||
{
|
||||
return mapToGlobal(QPoint(0,0)).y();
|
||||
}
|
||||
|
||||
QPoint AbstractDockItem::globalPos()
|
||||
{
|
||||
return mapToGlobal(QPoint(0,0));
|
||||
}
|
||||
|
||||
void AbstractDockItem::showPreview()
|
||||
{
|
||||
if (!m_previewAR->isHidden())
|
||||
{
|
||||
m_previewAR->resizeWithContent();
|
||||
return;
|
||||
}
|
||||
QWidget *tmpContent = getApplet();
|
||||
if (tmpContent == NULL) {
|
||||
QString title = getTitle();
|
||||
// TODO: memory management
|
||||
tmpContent = new QLabel(title);
|
||||
tmpContent->setStyleSheet("QLabel { color: white }");
|
||||
tmpContent->setFixedSize(100, 20);
|
||||
}
|
||||
|
||||
m_previewAR->setArrorDirection(ArrowRectangle::ArrowBottom);
|
||||
m_previewAR->setContent(tmpContent);
|
||||
m_previewAR->showAtBottom(globalX() + width() / 2,globalY() - 5);
|
||||
}
|
||||
|
||||
void AbstractDockItem::hidePreview(int interval)
|
||||
{
|
||||
m_previewAR->delayHide(interval);
|
||||
}
|
||||
|
||||
void AbstractDockItem::cancelHide()
|
||||
{
|
||||
m_previewAR->cancelHide();
|
||||
}
|
||||
|
||||
void AbstractDockItem::resizePreview()
|
||||
{
|
||||
m_previewAR->resizeWithContent();
|
||||
m_previewAR->showAtBottom(globalX() + width() / 2,globalY() - 5);
|
||||
}
|
@ -1,70 +1,36 @@
|
||||
#ifndef ABSTRACTDOCKITEM_H
|
||||
#define ABSTRACTDOCKITEM_H
|
||||
|
||||
#include <QWidget>
|
||||
#include <QFrame>
|
||||
#include <QLabel>
|
||||
#include "Widgets/appicon.h"
|
||||
#include "Widgets/arrowrectangle.h"
|
||||
|
||||
class AbstractDockItem : public QFrame
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit AbstractDockItem(QWidget *parent = 0) :
|
||||
QFrame(parent) {}
|
||||
virtual ~AbstractDockItem() {}
|
||||
explicit AbstractDockItem(QWidget *parent = 0);
|
||||
virtual ~AbstractDockItem();
|
||||
|
||||
virtual QString getTitle() { return ""; }
|
||||
virtual QWidget * getApplet() { return NULL; }
|
||||
virtual QString getTitle();
|
||||
virtual QWidget * getApplet();
|
||||
|
||||
virtual bool moveable() { return m_moveable; }
|
||||
virtual bool actived() { return m_isActived; }
|
||||
virtual bool moveable();
|
||||
virtual bool actived();
|
||||
|
||||
void resize(int width,int height){
|
||||
QFrame::resize(width,height);
|
||||
emit widthChanged();
|
||||
}
|
||||
void resize(const QSize &size){
|
||||
QFrame::resize(size);
|
||||
emit widthChanged();
|
||||
}
|
||||
void resize(int width,int height);
|
||||
void resize(const QSize &size);
|
||||
|
||||
QPoint getNextPos() { return m_itemNextPos; }
|
||||
void setNextPos(const QPoint &value) { m_itemNextPos = value; }
|
||||
void setNextPos(int x, int y) { m_itemNextPos.setX(x); m_itemNextPos.setY(y); }
|
||||
QPoint getNextPos();
|
||||
void setNextPos(const QPoint &value);
|
||||
void setNextPos(int x, int y);
|
||||
|
||||
int globalX(){return mapToGlobal(QPoint(0,0)).x();}
|
||||
int globalY(){return mapToGlobal(QPoint(0,0)).y();}
|
||||
QPoint globalPos(){return mapToGlobal(QPoint(0,0));}
|
||||
int globalX();
|
||||
int globalY();
|
||||
QPoint globalPos();
|
||||
|
||||
void showPreview(){
|
||||
if (!m_previewAR->isHidden())
|
||||
{
|
||||
m_previewAR->resizeWithContent();
|
||||
return;
|
||||
}
|
||||
QWidget *tmpContent = getApplet();
|
||||
if (tmpContent == NULL) {
|
||||
QString title = getTitle();
|
||||
// TODO: memory management
|
||||
tmpContent = new QLabel(title);
|
||||
tmpContent->setStyleSheet("QLabel { color: white }");
|
||||
tmpContent->setFixedSize(100, 20);
|
||||
}
|
||||
|
||||
m_previewAR->setArrorDirection(ArrowRectangle::ArrowBottom);
|
||||
m_previewAR->setContent(tmpContent);
|
||||
m_previewAR->showAtBottom(globalX() + width() / 2,globalY() - 5);
|
||||
}
|
||||
void hidePreview(int interval = 200){
|
||||
m_previewAR->delayHide(interval);
|
||||
}
|
||||
void cancelHide(){m_previewAR->cancelHide();}
|
||||
void resizePreview(){
|
||||
m_previewAR->resizeWithContent();
|
||||
m_previewAR->showAtBottom(globalX() + width() / 2,globalY() - 5);
|
||||
}
|
||||
void showPreview();
|
||||
void hidePreview(int interval = 200);
|
||||
void cancelHide();
|
||||
void resizePreview();
|
||||
|
||||
signals:
|
||||
void dragStart();
|
||||
|
Loading…
x
Reference in New Issue
Block a user