75 lines
1.4 KiB
C++
75 lines
1.4 KiB
C++
#include "ConnectorClickZoneWidget.h"
|
|
#include <QPainter>
|
|
#include <QColor>
|
|
|
|
CConnectorClickZoneWidget::CConnectorClickZoneWidget(CConnectorDefs::eConnectorType ConType, QWidget *parent) :
|
|
QWidget(parent),
|
|
mConType(ConType)
|
|
{
|
|
mConSelected = false;
|
|
mSelectionColor = Qt::red;
|
|
}
|
|
|
|
|
|
|
|
void CConnectorClickZoneWidget::paintEvent(QPaintEvent *event)
|
|
{
|
|
if(mConSelected == false)
|
|
{
|
|
return;
|
|
}
|
|
|
|
QPainter painter(this);
|
|
QPen pen;
|
|
|
|
pen.setStyle(Qt::SolidLine);
|
|
pen.setWidth(10);
|
|
pen.setBrush(mSelectionColor);
|
|
painter.setPen(pen);
|
|
|
|
painter.drawRect(QRect(0,0,geometry().width(),geometry().height()));
|
|
|
|
}
|
|
|
|
void CConnectorClickZoneWidget::mouseReleaseEvent(QMouseEvent *event)
|
|
{
|
|
|
|
// if(mConSelected == false)
|
|
// {
|
|
// mConSelected = true;
|
|
// }
|
|
// else if(mConSelected == true)
|
|
// {
|
|
// mConSelected = false;
|
|
// }
|
|
|
|
// repaint();
|
|
emit ConnectorZoneClicked(this);
|
|
}
|
|
|
|
void CConnectorClickZoneWidget::resizeEvent(QResizeEvent *)
|
|
{
|
|
}
|
|
|
|
void CConnectorClickZoneWidget::SelectConnector(bool Select, QColor color)
|
|
{
|
|
mConSelected = Select;
|
|
mSelectionColor = color;
|
|
repaint();
|
|
}
|
|
|
|
void CConnectorClickZoneWidget::ClearConnectorSelection()
|
|
{
|
|
SelectConnector(false);
|
|
}
|
|
|
|
CConnectorDefs::eConnectorType CConnectorClickZoneWidget::GetConnectorType()
|
|
{
|
|
return mConType;
|
|
}
|
|
|
|
bool CConnectorClickZoneWidget::IsConSelected()
|
|
{
|
|
return mConSelected;
|
|
}
|