This commit is contained in:
JF
2019-05-01 16:27:59 -04:00
parent 1572a17edb
commit 4fcd958d5b
28 changed files with 446 additions and 56 deletions
@@ -33,17 +33,6 @@ void CConnectorClickZoneWidget::paintEvent(QPaintEvent *event)
void CConnectorClickZoneWidget::mouseReleaseEvent(QMouseEvent *event)
{
// if(mConSelected == false)
// {
// mConSelected = true;
// }
// else if(mConSelected == true)
// {
// mConSelected = false;
// }
// repaint();
emit ConnectorZoneClicked(this);
}
+2 -1
View File
@@ -137,7 +137,7 @@ void CConnectorSelectWidget::InputConnectorZoneClicked(CConnectorClickZoneWidget
}
else
{
ClearAllConnectorsSelections();
CConnectorClickZoneWidget *OutputSelZone = 0;
switch(ConClickZone->GetConnectorType())
{
@@ -181,6 +181,7 @@ void CConnectorSelectWidget::InputConnectorZoneClicked(CConnectorClickZoneWidget
OutputSelZone->SelectConnector(true,Qt::darkGreen);
}
ConClickZone->SelectConnector();
mCurSelConnector = ConClickZone->GetConnectorType();
}
}
@@ -0,0 +1,51 @@
#include "ConnectorTestVisualizationWidget.h"
#include "GlobalDefine.h"
CConnectorTestVisualizationWidget::CConnectorTestVisualizationWidget(QWidget *parent) :
QWidget(parent)
{
}
int CConnectorTestVisualizationWidget::SetConnectorPinCount(int Count)
{
if(Count <= 0 || Count > MAX_CONNECTOR_PIN_COUNT)
{
return RET_ERROR;
}
ClearConnectorsLists();
CONOFFStatusWidget *NewWidget;
for(int i = 0; i < Count; i++)
{
QString pin = QString("pin %1").arg(i);
NewWidget = new CONOFFStatusWidget(CONOFFStatusWidget::ON_OFF_LED_COLOR_GREEN,this,pin);
NewWidget->resize(ON_OFF_WIDGET_SIZE,ON_OFF_WIDGET_SIZE);
NewWidget->move((i+1)*(ON_OFF_WIDGET_SIZE+5),((i/10)*(ON_OFF_WIDGET_SIZE+5)));
mOutputCtorPinsWidgetsList.append(NewWidget);
// NewWidget = new CONOFFStatusWidget(CONOFFStatusWidget::ON_OFF_LED_COLOR_GREEN,this,pin);
// NewWidget->resize(ON_OFF_WIDGET_SIZE,ON_OFF_WIDGET_SIZE);
// NewWidget->move((i+1)*(ON_OFF_WIDGET_SIZE+5),((i%10)*(ON_OFF_WIDGET_SIZE+5)));
// mInputCtorPinsWidgetsList.append(NewWidget);
}
repaint();
return RET_OK;
}
int CConnectorTestVisualizationWidget::ClearConnectorsLists()
{
for(int i = 0; i < mOutputCtorPinsWidgetsList.size(); i++)
{
delete mOutputCtorPinsWidgetsList.at(i);
}
mOutputCtorPinsWidgetsList.clear();
for(int i = 0; i < mInputCtorPinsWidgetsList.size(); i++)
{
delete mInputCtorPinsWidgetsList.at(i);
}
mInputCtorPinsWidgetsList.clear();
return RET_OK;
}
@@ -0,0 +1,30 @@
#ifndef CONNECTORTESTVISUALIZATIONWIDGET_H
#define CONNECTORTESTVISUALIZATIONWIDGET_H
#include <QWidget>
#include "ONOFFStatusWidget.h"
#include <QList>
#include "CableTestBenchDefs.h"
#define ON_OFF_WIDGET_SIZE 30
class CConnectorTestVisualizationWidget : public QWidget
{
Q_OBJECT
public:
explicit CConnectorTestVisualizationWidget(QWidget *parent = 0);
QList<CONOFFStatusWidget*> mInputCtorPinsWidgetsList;
QList<CONOFFStatusWidget*> mOutputCtorPinsWidgetsList;
int SetConnectorPinCount(int count);
int ClearConnectorsLists();
signals:
public slots:
};
#endif // CONNECTORTESTVISUALIZATIONWIDGET_H
+97
View File
@@ -0,0 +1,97 @@
/*******************************************************************************
* *
* Société de Transports de Montréal. *
* 2013 *
* *
* Projet Zones Tests *
* *
* *
* *
*******************************************************************************/
/*
Description:
.
*/
#include "ONOFFStatusWidget.h"
#include <QPainter>
CONOFFStatusWidget::CONOFFStatusWidget(eONOFFLedColor Color, QWidget *Parent, QString Label)
{
setParent(Parent);
if(Color == ON_OFF_LED_COLOR_GREEN)
{
mLedOffPixmap = QPixmap("./Images/green-led-off-md.png").scaled(10,10);
mLedOnPixmap = QPixmap("./Images/green-led-on-md.png").scaled(10,10);
}
else
{
mLedOffPixmap = QPixmap("./Images/red-led-off-md.png").scaled(10,10);
mLedOnPixmap = QPixmap("./Images/red-led-on-md.png").scaled(10,10);
}
mLabel = new QLabel(Label,this);
mLabel->move(0,15);
}
CONOFFStatusWidget::~CONOFFStatusWidget()
{
}
void CONOFFStatusWidget::SetON()
{
IsOn = true;
}
void CONOFFStatusWidget::SetOFF()
{
IsOn = true;
}
void CONOFFStatusWidget::Toggle()
{
if(IsOn)
{
SetOFF();
}
else
{
SetON();
}
}
void CONOFFStatusWidget::paintEvent(QPaintEvent *PaintEvent)
{
QPainter painter(this);
if(IsOn)
{
painter.drawPixmap(0,0,mLedOnPixmap);
}
else
{
painter.drawPixmap(0,0,mLedOnPixmap);
}
}
void CONOFFStatusWidget::resizeEvent(QResizeEvent *event)
{
int width = geometry().width();
int height;
if(mLabel->text().isEmpty())
{
height = geometry().height();
}
else
{
height = geometry().height() - mLabel->fontMetrics().height();
}
mLedOffPixmap = QPixmap("./Images/green-led-off-md.png").scaled(width,height);
mLedOnPixmap = QPixmap("./Images/green-led-on-md.png").scaled(width,height);
int LabelWidth = mLabel->fontMetrics().width(mLabel->text());
mLabel->move((width/2)-(LabelWidth/2),height);
}
+45
View File
@@ -0,0 +1,45 @@
#ifndef ONOFFSTATUSWIDGET_H
#define ONOFFSTATUSWIDGET_H
#include <QWidget>
#include <QRect>
#include <QTimer>
#include <QLabel>
class CONOFFStatusWidget : public QWidget
{
Q_OBJECT
public:
enum eONOFFLedColor
{
ON_OFF_LED_COLOR_GREEN,
ON_OFF_LED_COLOR_RED
};
CONOFFStatusWidget(eONOFFLedColor Color, QWidget *Parent = NULL,QString Label = QString());
~CONOFFStatusWidget();
void paintEvent(QPaintEvent *PaintEvent);
void resizeEvent(QResizeEvent *);
QLabel *mLabel;
QPixmap mLedOnPixmap,mLedOffPixmap;
bool IsOn;
void SetON();
void SetOFF();
void Toggle();
public slots:
};
#endif // ONOFFSTATUSWIDGET_H