You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

64 rivejä
1.2 KiB

  1. #include "ConnectorClickZoneWidget.h"
  2. #include <QPainter>
  3. #include <QColor>
  4. CConnectorClickZoneWidget::CConnectorClickZoneWidget(CConnectorDefs::eConnectorType ConType, QWidget *parent) :
  5. QWidget(parent),
  6. mConType(ConType)
  7. {
  8. mConSelected = false;
  9. mSelectionColor = Qt::red;
  10. }
  11. void CConnectorClickZoneWidget::paintEvent(QPaintEvent *event)
  12. {
  13. if(mConSelected == false)
  14. {
  15. return;
  16. }
  17. QPainter painter(this);
  18. QPen pen;
  19. pen.setStyle(Qt::SolidLine);
  20. pen.setWidth(10);
  21. pen.setBrush(mSelectionColor);
  22. painter.setPen(pen);
  23. painter.drawRect(QRect(0,0,geometry().width(),geometry().height()));
  24. }
  25. void CConnectorClickZoneWidget::mouseReleaseEvent(QMouseEvent *event)
  26. {
  27. emit ConnectorZoneClicked(this);
  28. }
  29. void CConnectorClickZoneWidget::resizeEvent(QResizeEvent *)
  30. {
  31. }
  32. void CConnectorClickZoneWidget::SelectConnector(bool Select, QColor color)
  33. {
  34. mConSelected = Select;
  35. mSelectionColor = color;
  36. repaint();
  37. }
  38. void CConnectorClickZoneWidget::ClearConnectorSelection()
  39. {
  40. SelectConnector(false);
  41. }
  42. CConnectorDefs::eConnectorType CConnectorClickZoneWidget::GetConnectorType()
  43. {
  44. return mConType;
  45. }
  46. bool CConnectorClickZoneWidget::IsConSelected()
  47. {
  48. return mConSelected;
  49. }