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
+8
View File
@@ -20,6 +20,7 @@ int CCableTestBench::Start()
mMainPageHandle = w->mMainPage;
mVisualInspPageHandle = w->mVisualInspPage;
mCableTestPageHandle = w->mCableTestPage;
return 1;
}
@@ -52,3 +53,10 @@ quint16 CCableTestBench::DecToBCDWord(const quint16 word)
return out;
}
int CCableTestBench::ExecVisualInspectionRequest()
{
qDebug("Exec Visual Inspection clicked");
mCableTestPageHandle->SetVisualInspectionDone(true);
}
+4
View File
@@ -7,6 +7,7 @@
class CMainPage;
class CVisualInspectionPage;
class CCableTestPage;
class CCableTestBench : public QObject
{
@@ -20,6 +21,9 @@ public:
MainWindow *w;
CMainPage *mMainPageHandle;
CVisualInspectionPage *mVisualInspPageHandle;
CCableTestPage *mCableTestPageHandle;
int ExecVisualInspectionRequest();
private:
+3
View File
@@ -4,6 +4,8 @@
class CConnectorDefs
{
#define MAX_CONNECTOR_PIN_COUNT 108
public:
enum eConnectorType
{
@@ -23,6 +25,7 @@ public:
};
};
+31
View File
@@ -1,17 +1,48 @@
#include "CableTestPage.h"
#include "ui_CableTestPage.h"
#include "CableTestBench.h"
#include <QTextCodec>
CCableTestPage::CCableTestPage(QWidget *parent) :
QWidget(parent),
ui(new Ui::CCableTestPage)
{
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
ui->setupUi(this);
mProgramHandle = 0;
mInspectionNotDonePixmap = QPixmap("./images/todo.png").scaled(ui->mInspectionDoneIcon->geometry().width(),ui->mInspectionDoneIcon->geometry().height());
mInspectionDonePixmap = QPixmap("./images/done1.png").scaled(ui->mInspectionDoneIcon->geometry().width(),ui->mInspectionDoneIcon->geometry().height());
ui->mInspectionDoneIcon->setPixmap(mInspectionNotDonePixmap);
connect(ui->mExecInspVisuelleBtn,SIGNAL(clicked()),this,SLOT(InspVisuelleBtnClicked()));
ui->mConnectorTestVisualisationWidget->SetConnectorPinCount(108);
}
CCableTestPage::~CCableTestPage()
{
delete ui;
}
void CCableTestPage::InspVisuelleBtnClicked()
{
mProgramHandle->ExecVisualInspectionRequest();
}
int CCableTestPage::SetVisualInspectionDone(bool Done)
{
if(Done)
{
ui->mInspectionDoneIcon->setPixmap(mInspectionDonePixmap);
ui->mExecInspVisuelleBtn->setText(QString("Réviser Inspection").toUtf8());
}
else
{
ui->mInspectionDoneIcon->setPixmap(mInspectionDonePixmap);
ui->mExecInspVisuelleBtn->setText("Effectuer Inspection");
}
return RET_OK;
}
+7
View File
@@ -18,9 +18,16 @@ public:
~CCableTestPage();
CCableTestBench *mProgramHandle;
int SetVisualInspectionDone(bool Done = true);
private:
Ui::CCableTestPage *ui;
QPixmap mInspectionDonePixmap, mInspectionNotDonePixmap;
public slots:
void InspVisuelleBtnClicked();
};
#endif // CABLETESTPAGE_H
+50 -8
View File
@@ -186,8 +186,8 @@
<widget class="QLabel" name="mInspVisuelleLabel">
<property name="geometry">
<rect>
<x>70</x>
<y>230</y>
<x>60</x>
<y>200</y>
<width>271</width>
<height>20</height>
</rect>
@@ -204,9 +204,9 @@
<widget class="QFrame" name="mInspVisuelleFrame">
<property name="geometry">
<rect>
<x>60</x>
<y>250</y>
<width>391</width>
<x>50</x>
<y>220</y>
<width>291</width>
<height>121</height>
</rect>
</property>
@@ -219,7 +219,7 @@
<property name="lineWidth">
<number>3</number>
</property>
<widget class="QPushButton" name="pushButton">
<widget class="QPushButton" name="mExecInspVisuelleBtn">
<property name="geometry">
<rect>
<x>10</x>
@@ -229,16 +229,58 @@
</rect>
</property>
<property name="text">
<string>Exécuter Inspection</string>
<string>Effectuer Inspection</string>
</property>
</widget>
<widget class="QLabel" name="mInspectionDoneIcon">
<property name="geometry">
<rect>
<x>160</x>
<y>20</y>
<width>101</width>
<height>91</height>
</rect>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</widget>
<widget class="CConnectorTestVisualizationWidget" name="mConnectorTestVisualisationWidget" native="true">
<property name="geometry">
<rect>
<x>60</x>
<y>410</y>
<width>741</width>
<height>231</height>
</rect>
</property>
</widget>
<widget class="Line" name="line">
<property name="geometry">
<rect>
<x>57</x>
<y>380</y>
<width>751</width>
<height>20</height>
</rect>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</widget>
<customwidgets>
<customwidget>
<class>CConnectorSelectWidget</class>
<extends>QWidget</extends>
<header location="global">connectorselectwidget.h</header>
<header>connectorselectwidget.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>CConnectorTestVisualizationWidget</class>
<extends>QWidget</extends>
<header>connectortestvisualizationwidget.h</header>
<container>1</container>
</customwidget>
</customwidgets>
+2 -5
View File
@@ -14,7 +14,7 @@ CMainPage::CMainPage(QWidget *parent) :
// ui->mConnectorsImgLbl->setPixmap(QPixmap("./images/connecteurs.png").scaled(ui->mConnectorsImgLbl->size()));
mConnectorSelWidget = new CConnectorSelectWidget();
// mConnectorSelWidget = new CConnectorSelectWidget();
@@ -41,10 +41,7 @@ CMainPage::~CMainPage()
delete ui;
}
void CMainPage::InspVisuelleBtnClicked()
{
qDebug("clicked");
}
int CMainPage::SetTestPageWidget(QWidget *PageHandle)
{
+2 -2
View File
@@ -24,7 +24,7 @@ public:
QPixmap mLedONPixmap, mLedOFFPixmap;
QLabel *test;
CConnectorSelectWidget *mConnectorSelWidget;
// CConnectorSelectWidget *mConnectorSelWidget;
int SetTestPageWidget(QWidget *PageHandle);
@@ -33,7 +33,7 @@ private:
public slots:
void InspVisuelleBtnClicked();
};
#endif // CMAINPAGE_H
+1
View File
@@ -15,6 +15,7 @@ MainWindow::MainWindow(QWidget *parent,CCableTestBench* ProgramHandle)
mMainPage->mProgramHandle = ProgramHandle;
mVisualInspPage->mProgramHandle = ProgramHandle;
mCableTestPage->mProgramHandle = ProgramHandle;
// mMainPage->SetTestPageWidget(mCableTestPage);
@@ -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