25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 

100 satır
2.3 KiB

  1. #include "ConnectorTestVisualizationWidget.h"
  2. #include "GlobalDefine.h"
  3. CConnectorTestVisualizationWidget::CConnectorTestVisualizationWidget(QWidget *parent) :
  4. QWidget(parent)
  5. {
  6. mPinClicksEnabled = false;
  7. }
  8. int CConnectorTestVisualizationWidget::SetConnectorPinCount(int Count)
  9. {
  10. if(Count <= 0)
  11. {
  12. return RET_ERROR;
  13. }
  14. ClearConnectorsLists();
  15. CONOFFStatusWidget *NewWidget;
  16. int row = 0, col = 0;
  17. for(int i = 0; i < Count; i++)
  18. {
  19. QString pin = QString("%1").arg(i+1);
  20. NewWidget = new CONOFFStatusWidget(CONOFFStatusWidget::ON_OFF_LED_COLOR_GREEN,i+1,this,pin);
  21. connect(NewWidget,SIGNAL(Clicked(int)),this,SLOT(ONOFFLedClicked(int)));
  22. NewWidget->resize(ON_OFF_WIDGET_SIZE,ON_OFF_WIDGET_SIZE);
  23. // NewWidget->move((col)*(ON_OFF_WIDGET_SIZE + col_offset),((row) * (ON_OFF_WIDGET_SIZE + row_offset)));
  24. NewWidget->move(col,row);
  25. NewWidget->show();
  26. mPinsWidgetsList.append(NewWidget);
  27. col += ON_OFF_WIDGET_SIZE+5;
  28. if((col + ON_OFF_WIDGET_SIZE+5) >= geometry().width())
  29. {
  30. col = 0;
  31. row += ON_OFF_WIDGET_SIZE + 5;
  32. }
  33. }
  34. // repaint();
  35. return RET_OK;
  36. }
  37. int CConnectorTestVisualizationWidget::ClearConnectorsLists()
  38. {
  39. for(int i = 0; i < mPinsWidgetsList.size(); i++)
  40. {
  41. delete mPinsWidgetsList.at(i);
  42. }
  43. mPinsWidgetsList.clear();
  44. return RET_OK;
  45. }
  46. int CConnectorTestVisualizationWidget::EnablePinClicks()
  47. {
  48. mPinClicksEnabled = true;
  49. return RET_OK;
  50. }
  51. int CConnectorTestVisualizationWidget::DisablePinClicks()
  52. {
  53. mPinClicksEnabled = false;
  54. return RET_OK;
  55. }
  56. void CConnectorTestVisualizationWidget::ONOFFLedClicked(int Index)
  57. {
  58. if(mPinClicksEnabled)
  59. {
  60. emit PinClicked(Index);
  61. }
  62. }
  63. int CConnectorTestVisualizationWidget::SetConnectorPinStates(QBitArray PinStates)
  64. {
  65. if(PinStates.size() != mPinsWidgetsList.size())
  66. {
  67. qDebug("Erreur de logique dans CConnectorTestVisualizationWidget::SetConnectorPinStates; taille des connecteurs incohérente");
  68. return RET_ERROR;
  69. }
  70. if(mPinsWidgetsList.size() == 0)
  71. {
  72. return RET_OK;
  73. }
  74. for(int i = 0; i < mPinsWidgetsList.size(); i++)
  75. {
  76. mPinsWidgetsList.at(i)->SetState(PinStates.at(i));
  77. }
  78. return RET_OK;
  79. }