1 #include "uicontroller.h"
6 #include "messagetable.h"
10 #include <QTableWidgetItem>
11 #include <QPushButton>
13 #include <QButtonGroup>
15 UiController::UiController( Ui *ui ) :
18 Location *homeLocation = new Location( "home" );
19 Location *workLocation = new Location( "work" );
22 locations.addLocation( homeLocation );
23 locations.addLocation( workLocation );
26 homeLocation, SIGNAL( becomeValid() ),
27 this, SLOT( setHomeButtonValid() )
30 workLocation, SIGNAL( becomeValid() ),
31 this, SLOT( setWorkButtonValid() )
34 homeLocation->resolveAddress( Ytv::Home );
35 workLocation->resolveAddress( Ytv::Work );
37 destination.append( homeLocation );
38 destination.append( workLocation );
41 ui->destinationButtons, SIGNAL( buttonClicked( int ) ),
42 this, SLOT( changeDestination( int ) )
46 UiController::~UiController()
50 void UiController::setHomeButtonValid()
52 setButtonValid( Ui::HomeButtonId );
55 void UiController::setWorkButtonValid()
57 setButtonValid( Ui::WorkButtonId );
60 void UiController::setButtonValid( int id )
62 ui->destinationButtons->button( id )->setEnabled(true);
65 void UiController::changeDestination( int id )
67 qDebug() << "Button "+QString::number(id)+" clicked";
69 bool destinationHasChanged = ( currentDestination != id );
70 if ( destinationHasChanged ) {
71 emit destinationChanged( destination[id] );
74 // always want to emit this so that the gps position is update
75 // and the user gets new information
79 void UiController::displayRoute( const QList<RouteData> &routeData )
81 qDebug() << "displaying route";
83 ui->routeTable->setRowCount( routeData.count() );
85 for ( int i=0; i<routeData.count(); i++ ) {
86 QTableWidgetItem *timeItem = new QTableWidgetItem( routeData.at(i).arrivalTime );
87 ui->routeTable->setItem( i, 0, timeItem );
89 QTableWidgetItem *lineItem = new QTableWidgetItem( routeData.at(i).lineCode );
90 ui->routeTable->setItem( i, 1, lineItem );