Esempio n. 1
0
BoardHardware::BoardHardware(QWidget *parent, SubteStatus * subte, EventHandler *eventHandler) :
    BaseBoard(parent,subte,eventHandler),
    ui(new Ui::BoardHardware)
{
    ui->setupUi(this);

    connect(m_eventHandler,SIGNAL(controlReady()),this,SLOT(startBoard()));
    connect(m_eventHandler,SIGNAL(controlDisable()),this,SLOT(disableScreen()));
    connect(m_eventHandler,SIGNAL(controlEnable()),this,SLOT(enableScreen()));
    connect(m_eventHandler,SIGNAL(controlReset()),this,SLOT(resetControls()));
    connect(m_eventHandler,SIGNAL(cargarEstado(int)),this,SLOT(loadState(int)));
    connect(m_eventHandler,SIGNAL(bPressed()),this,SLOT(bocinaON()));
    connect(m_eventHandler,SIGNAL(bReleased()),this,SLOT(bocinaOFF()));
//    connect(m_eventHandler,SIGNAL(aPressed()),this,SLOT(ranaAD()));
//    connect(m_eventHandler,SIGNAL(ceroPressed()),this,SLOT(ranaCERO()));
//    connect(m_eventHandler,SIGNAL(rPressed()),this,SLOT(ranaAT()));
    connect(m_eventHandler,SIGNAL(fPressed()),this,SLOT(setaON()));
    connect(m_eventHandler,SIGNAL(tPressed()),this,SLOT(setaOFF()));

    m_horn = NULL;
//    m_tractionLever = NULL;
//    m_rana = NULL;
//    m_hombreMuerto = NULL;
    m_setaButton = NULL;

    m_tractionHardware = NULL;

}
Esempio n. 2
0
ProgramWidget::ProgramWidget(Program *program, Device *device, QWidget *parent)
  : StandardWidget(device, parent),
  ui(new Ui::ProgramWidget),
  m_program(program)
{
  ui->setupUi(this);
  performStandardSetup(tr("Program"));
  // QAction *lock = menuBar()->addAction(UiStandards::lockString());
  // connect(lock, SIGNAL(triggered()), SLOT(lock()));
  
  ui->extra->setVisible(false);
  
  connect(m_program, SIGNAL(started()), SLOT(started()));
  connect(m_program,
    SIGNAL(finished(int, QProcess::ExitStatus)),
    SLOT(finished(int, QProcess::ExitStatus)));
  
  ui->console->setProcess(m_program->process());
  
  ButtonProvider *buttonProvider = device->buttonProvider();
  ui->normal->setEnabled(buttonProvider);
  ui->normal->setVisible(buttonProvider);
  ui->extra->setEnabled(buttonProvider);
  ui->extra->setVisible(buttonProvider);

  if(buttonProvider) {
    ui->extra->setVisible(buttonProvider->isExtraShown());
  
    ui->a->setText(buttonProvider->text(ButtonProvider::A));
    ui->b->setText(buttonProvider->text(ButtonProvider::B));
    ui->c->setText(buttonProvider->text(ButtonProvider::C));
    ui->x->setText(buttonProvider->text(ButtonProvider::X));
    ui->y->setText(buttonProvider->text(ButtonProvider::Y));
    ui->z->setText(buttonProvider->text(ButtonProvider::Z));
  
    connect(ui->a, SIGNAL(pressed()), SLOT(aPressed()));
    connect(ui->b, SIGNAL(pressed()), SLOT(bPressed()));
    connect(ui->c, SIGNAL(pressed()), SLOT(cPressed()));
    connect(ui->x, SIGNAL(pressed()), SLOT(xPressed()));
    connect(ui->y, SIGNAL(pressed()), SLOT(yPressed()));
    connect(ui->z, SIGNAL(pressed()), SLOT(zPressed()));
  
    connect(ui->a, SIGNAL(released()), SLOT(aReleased()));
    connect(ui->b, SIGNAL(released()), SLOT(bReleased()));
    connect(ui->c, SIGNAL(released()), SLOT(cReleased()));
    connect(ui->x, SIGNAL(released()), SLOT(xReleased()));
    connect(ui->y, SIGNAL(released()), SLOT(yReleased()));
    connect(ui->z, SIGNAL(released()), SLOT(zReleased()));

    connect(buttonProvider, SIGNAL(buttonTextChanged(ButtonProvider::ButtonId, QString)),
      SLOT(buttonTextChanged(ButtonProvider::ButtonId, QString)));
    connect(buttonProvider, SIGNAL(extraShownChanged(bool)), SLOT(extraShownChanged(bool)));
  
    QTimer *timer = new QTimer(this);
    timer->start(100);
    buttonProvider->connect(timer, SIGNAL(timeout()), SLOT(refresh()));
  
    buttonProvider->reset();
  }
}
Esempio n. 3
0
void CDrawQuoteTabCtrl::DrawTab( CDC *pDC )
{
	pDC->FillSolidRect(&m_rcClient, RGB(28,28,28));
	
	CRect rc = m_rcClient;
	rc.top = m_rcClient.bottom;
	rc.bottom = rc.top + 1;
	pDC->FillSolidRect(&rc, RGB(155,0,0));

	int nOldBkMode = pDC->SetBkMode(TRANSPARENT);
	CDrawQuoteTab* pTab				= NULL;
	CDrawQuoteTab* pActiveTab		= NULL;
	CDrawQuoteTab* pMouseActiveTab	= NULL;

	CRect rcDisp = m_rcClient;
	// 画向导页
	for(int i = 0; i < m_ayGuideItem.GetCount(); i++)
	{
		pTab = m_ayGuideItem.GetAt(i);
		if( pTab == NULL )
			continue;
		pTab->DrawGuide(pDC, rcDisp);
	}
	
	int nMask(0);
	// 画按钮
	for (int i=0; i<m_ayButtonItem.GetCount(); i++)
	{
		pTab = m_ayButtonItem.GetAt(i);
		if (!(pTab->m_lMenuMask & TabNext))
		{
			nMask = 0;
			if ((pTab->m_lMenuMask & TabPrev) && m_nLeftOffset <= 0)
			{
				nMask = CDrawQuoteTab::Tab_Disabled;
			}
			else
			{
				if (i == m_nCurButton)
				{
					nMask = CDrawQuoteTab::Tab_Pressed;
				}
			}
			pTab->DrawButton(pDC, rcDisp, nMask);
		}
	}
	
	// 画标签页
	BOOL bPressed(FALSE);
	m_nRightOffset = m_ayItem.GetCount() - 1;
	for(int i = m_nLeftOffset; i < m_ayItem.GetCount(); i++)
	{
		pTab = m_ayItem.GetAt(i);
		if( pTab == NULL )
			continue;

		// 当前页状态
		if (i == m_nCurItem || i == m_nMouseActiveItem)
			bPressed = TRUE;
		else
			bPressed = FALSE;

		if( !pTab->DrawItem(pDC, rcDisp, bPressed) )
		{
			m_nRightOffset = i - 1;
			break;
		}
	}
	
	// 画按钮
	nMask = 0;
	for (int i=0; i<m_ayButtonItem.GetCount(); i++)
	{
		pTab = m_ayButtonItem.GetAt(i);
		if (pTab->m_lMenuMask & TabNext)
		{
			if ((pTab->m_lMenuMask & TabNext) && m_nRightOffset >= m_ayItem.GetCount() - 1 )
			{
				nMask = CDrawQuoteTab::Tab_Disabled;
			}
			else
			{
				if (i == m_nCurButton)
				{
					nMask = CDrawQuoteTab::Tab_Pressed;
				}
			}
			pTab->DrawButton(pDC, rcDisp, nMask);
		}
	}
	
	const ColorProperty* colorFrame = m_pColor->GetQuoteTabFrameColorProp();
	CPen pen(colorFrame->m_nPenStyle,colorFrame->m_nWidth,colorFrame->m_lColor);
	CPen* pOldPen = pDC->SelectObject(&pen);
	pDC->MoveTo(rcDisp.left,rcDisp.bottom);
	pDC->LineTo(rcDisp.left,rcDisp.top);

	pDC->SetBkMode(nOldBkMode);
	pDC->SelectObject(pOldPen);
	pen.DeleteObject();
}