65 lines
1.5 KiB
C++
65 lines
1.5 KiB
C++
#include "FormBase.h"
|
|
#include "formwell.h"
|
|
#include "CallManage.h"
|
|
#include <QDebug>
|
|
#include <QMimeData>
|
|
#include <QPushButton>
|
|
#include <QVBoxLayout>
|
|
#include <QMenu>
|
|
#include "PropertyWidget.h"
|
|
|
|
//
|
|
FormBase::FormBase(QWidget *parent, QString strSlfName, QString strWellName) :
|
|
QWidget(parent)
|
|
{
|
|
m_pFormWell = qobject_cast<FormWell*>(parent);
|
|
m_strSlfName = strSlfName;
|
|
m_strWellName = strWellName;
|
|
|
|
m_Color = Qt::black;
|
|
}
|
|
|
|
FormBase::~FormBase()
|
|
{
|
|
}
|
|
|
|
void FormBase::setBorderFlags(BorderFlags flags)
|
|
{
|
|
m_BorderFlags = flags;
|
|
}
|
|
void FormBase::paintEvent(QPaintEvent* event)
|
|
{
|
|
QPainter painter(this);
|
|
QRect rect = this->rect();
|
|
//背景透明
|
|
painter.fillRect(rect.left(), rect.top(), rect.width(), rect.height(), QColor(0, 0, 0, 0)); //QColor(67, 67, 67, 100)
|
|
|
|
int nbw = m_pFormWell->getBorderGridProperty().m_nWidth;
|
|
painter.setPen(QPen(m_pFormWell->getBorderGridProperty().m_clor, nbw,
|
|
(Qt::PenStyle)m_pFormWell->getBorderGridProperty().m_nType));
|
|
|
|
int t = rect.top();
|
|
int b = rect.bottom();
|
|
int l = rect.left();
|
|
int r = rect.right();
|
|
// 上边框
|
|
if (m_BorderFlags & TopBorder) {
|
|
painter.drawLine(l, t + nbw / 2, r, t + nbw / 2);
|
|
}
|
|
// 下边框
|
|
if (m_BorderFlags & BottomBorder) {
|
|
painter.drawLine(l, b - nbw / 2, r, b - nbw / 2);
|
|
}
|
|
// 左边框
|
|
if (m_BorderFlags & LeftBorder) {
|
|
painter.drawLine(l + nbw / 2, t, l + nbw / 2, b);
|
|
}
|
|
// 右边框
|
|
if (m_BorderFlags & RightBorder) {
|
|
painter.drawLine(r, t, r, b);
|
|
}
|
|
|
|
QWidget::paintEvent(event);
|
|
}
|
|
|