@ -23,6 +23,33 @@ void PlanWidget::switchToPlanChoice()
customizeWidget - > deleteLater ( ) ;
customizeWidget - > deleteLater ( ) ;
customizeWidget = new CustomizeWidget ( ) ;
customizeWidget = new CustomizeWidget ( ) ;
verLayout - > addWidget ( customizeWidget ) ;
verLayout - > addWidget ( customizeWidget ) ;
}
if ( pageIndex = = 6 )
{
addRoute ( ) ;
//删除界面定制相关界面
QMessageBox : : information ( NULL , " success " , " 已成功添加至行程 \n 可进入 \" 个人->行程 \" 查看 " ) ;
showRouteInfoWidget - > deleteLater ( ) ;
showRouteInfoWidget = new ShowRouteInfoWidget ( ) ;
verLayout - > addWidget ( showRouteInfoWidget ) ;
confirmWidget - > deleteLater ( ) ;
confirmWidget = new ConfirmWidget ( ) ;
verLayout - > addWidget ( confirmWidget ) ;
customizeWidget - > deleteLater ( ) ;
customizeWidget = new CustomizeWidget ( ) ;
verLayout - > addWidget ( customizeWidget ) ;
//删除推荐路线相关界面
conditionWidget - > deleteLater ( ) ;
conditionWidget = new ConditionWidget ( ) ;
verLayout - > addWidget ( conditionWidget ) ;
preferenceWidget - > deleteLater ( ) ;
preferenceWidget = new PreferenceWidget ( ) ;
verLayout - > addWidget ( preferenceWidget ) ;
routeChoiceWidget - > deleteLater ( ) ;
routeChoiceWidget = new RouteChoiceWidget ( ) ;
verLayout - > addWidget ( routeChoiceWidget ) ;
}
}
pageIndex = 0 ;
pageIndex = 0 ;
@ -36,6 +63,7 @@ void PlanWidget::switchToPlanChoice()
routeChoiceWidget - > setVisible ( false ) ;
routeChoiceWidget - > setVisible ( false ) ;
customizeWidget - > setVisible ( false ) ;
customizeWidget - > setVisible ( false ) ;
confirmWidget - > setVisible ( false ) ;
confirmWidget - > setVisible ( false ) ;
showRouteInfoWidget - > setVisible ( false ) ;
}
}
void PlanWidget : : switchToConditionWidget ( )
void PlanWidget : : switchToConditionWidget ( )
@ -64,6 +92,7 @@ void PlanWidget::switchToConditionWidget()
routeChoiceWidget - > setVisible ( false ) ;
routeChoiceWidget - > setVisible ( false ) ;
customizeWidget - > setVisible ( false ) ;
customizeWidget - > setVisible ( false ) ;
confirmWidget - > setVisible ( false ) ;
confirmWidget - > setVisible ( false ) ;
showRouteInfoWidget - > setVisible ( false ) ;
disconnect ( returnBtn , 0 , 0 , 0 ) ;
disconnect ( returnBtn , 0 , 0 , 0 ) ;
disconnect ( confirmBtn , 0 , 0 , 0 ) ;
disconnect ( confirmBtn , 0 , 0 , 0 ) ;
@ -119,6 +148,7 @@ void PlanWidget::switchToPreferenceWidget()
routeChoiceWidget - > setVisible ( false ) ;
routeChoiceWidget - > setVisible ( false ) ;
customizeWidget - > setVisible ( false ) ;
customizeWidget - > setVisible ( false ) ;
confirmWidget - > setVisible ( false ) ;
confirmWidget - > setVisible ( false ) ;
showRouteInfoWidget - > setVisible ( false ) ;
disconnect ( returnBtn , 0 , 0 , 0 ) ;
disconnect ( returnBtn , 0 , 0 , 0 ) ;
disconnect ( confirmBtn , 0 , 0 , 0 ) ;
disconnect ( confirmBtn , 0 , 0 , 0 ) ;
@ -130,10 +160,10 @@ void PlanWidget::switchToPreferenceWidget()
void PlanWidget : : switchToRouteChoiceWidget ( )
void PlanWidget : : switchToRouteChoiceWidget ( )
{
{
if ( pageIndex = = 5 )
if ( pageIndex = = 6 )
{
{
confirm Widget- > deleteLater ( ) ;
showRouteInfo Widget- > deleteLater ( ) ;
confirmWidget = new ConfirmWidget ( ) ;
showRouteInfoWidget = new ShowRouteInfoWidget ( ) ; //显示详情界面index为6
verLayout - > addWidget ( confirmWidget ) ;
verLayout - > addWidget ( confirmWidget ) ;
}
}
@ -161,6 +191,7 @@ void PlanWidget::switchToRouteChoiceWidget()
routeChoiceWidget - > setVisible ( true ) ;
routeChoiceWidget - > setVisible ( true ) ;
customizeWidget - > setVisible ( false ) ;
customizeWidget - > setVisible ( false ) ;
confirmWidget - > setVisible ( false ) ;
confirmWidget - > setVisible ( false ) ;
showRouteInfoWidget - > setVisible ( false ) ;
routeChoiceWidget - > setBtns ( recRouteManager - > getRecRoutes ( ) , recRouteManager - > getNumOfRecRoutes ( ) ) ;
routeChoiceWidget - > setBtns ( recRouteManager - > getRecRoutes ( ) , recRouteManager - > getNumOfRecRoutes ( ) ) ;
@ -168,8 +199,81 @@ void PlanWidget::switchToRouteChoiceWidget()
disconnect ( confirmBtn , 0 , 0 , 0 ) ;
disconnect ( confirmBtn , 0 , 0 , 0 ) ;
connect ( returnBtn , & QPushButton : : clicked , this , & PlanWidget : : switchToPreferenceWidget ) ;
connect ( returnBtn , & QPushButton : : clicked , this , & PlanWidget : : switchToPreferenceWidget ) ;
connect ( confirmBtn , & QPushButton : : clicked , this , & PlanWidget : : switchToConfirmWidget ) ;
connect ( confirmBtn , & QPushButton : : clicked , this , & PlanWidget : : switchToShowRouteInfo ) ;
}
void PlanWidget : : switchToShowRouteInfo ( )
{
int originalIndex = pageIndex ;
if ( originalIndex = = 3 )
{
pageIndex = 6 ;
tag = 0 ; //推荐路线
functionWidget - > setVisible ( true ) ;
returnBtn - > setVisible ( true ) ;
favoriteBtn - > setVisible ( true ) ;
confirmBtn - > setVisible ( true ) ;
//rcmdPlanBtn->setVisible(false);
//cstmPlanBtn->setVisible(false);
conditionWidget - > setVisible ( false ) ;
preferenceWidget - > setVisible ( false ) ;
routeChoiceWidget - > setVisible ( false ) ;
customizeWidget - > setVisible ( false ) ;
confirmWidget - > setVisible ( false ) ;
showRouteInfoWidget - > setVisible ( true ) ;
showRouteInfoWidget - > setRouteToShow ( recRoute ) ; //《在这添加》, 一点button, 就把recRoute赋值
showRouteInfoWidget - > initWidget ( ) ;
disconnect ( returnBtn , 0 , 0 , 0 ) ;
disconnect ( confirmBtn , 0 , 0 , 0 ) ;
connect ( returnBtn , & QPushButton : : clicked , this , & PlanWidget : : switchToRouteChoiceWidget ) ;
connect ( confirmBtn , & QPushButton : : clicked , this , & PlanWidget : : switchToPlanChoice ) ;
connect ( favoriteBtn , & QPushButton : : clicked , this , & PlanWidget : : addFavRoute ) ;
}
if ( originalIndex = = 5 )
{
Route * route = confirmWidget - > genRoute ( ) ;
if ( route = = NULL )
{
return ;
}
else
{
pageIndex = 6 ;
tag = 1 ; //来自定制路线
functionWidget - > setVisible ( true ) ;
returnBtn - > setVisible ( true ) ;
favoriteBtn - > setVisible ( true ) ;
confirmBtn - > setVisible ( true ) ;
//rcmdPlanBtn->setVisible(false);
//cstmPlanBtn->setVisible(false);
conditionWidget - > setVisible ( false ) ;
preferenceWidget - > setVisible ( false ) ;
routeChoiceWidget - > setVisible ( false ) ;
customizeWidget - > setVisible ( false ) ;
confirmWidget - > setVisible ( false ) ;
showRouteInfoWidget - > setVisible ( true ) ;
disconnect ( returnBtn , 0 , 0 , 0 ) ;
disconnect ( confirmBtn , 0 , 0 , 0 ) ;
connect ( returnBtn , & QPushButton : : clicked , this , & PlanWidget : : switchToConfirmWidget ) ;
connect ( confirmBtn , & QPushButton : : clicked , this , & PlanWidget : : switchToPlanChoice ) ;
connect ( favoriteBtn , & QPushButton : : clicked , this , & PlanWidget : : addFavRoute ) ;
showRouteInfoWidget - > setRouteToShow ( route ) ;
showRouteInfoWidget - > initWidget ( ) ;
struct routeItem * p = route - > getAllItems ( ) - > next ;
while ( p )
{
qDebug ( ) < < p - > traffic ;
p = p - > next ;
}
}
}
}
}
void PlanWidget : : switchToCustomizeWidget ( )
void PlanWidget : : switchToCustomizeWidget ( )
@ -193,6 +297,7 @@ void PlanWidget::switchToCustomizeWidget()
routeChoiceWidget - > setVisible ( false ) ;
routeChoiceWidget - > setVisible ( false ) ;
customizeWidget - > setVisible ( true ) ;
customizeWidget - > setVisible ( true ) ;
confirmWidget - > setVisible ( false ) ;
confirmWidget - > setVisible ( false ) ;
showRouteInfoWidget - > setVisible ( false ) ;
disconnect ( returnBtn , 0 , 0 , 0 ) ;
disconnect ( returnBtn , 0 , 0 , 0 ) ;
disconnect ( confirmBtn , 0 , 0 , 0 ) ;
disconnect ( confirmBtn , 0 , 0 , 0 ) ;
@ -206,57 +311,68 @@ void PlanWidget::switchToConfirmWidget()
{
{
int originalIndex = pageIndex ;
int originalIndex = pageIndex ;
if ( originalIndex = = 6 )
if ( originalIndex = = 3 )
{
{
showRouteInfoWidget - > deleteLater ( ) ;
showRouteInfoWidget = new ShowRouteInfoWidget ( ) ;
verLayout - > addWidget ( showRouteInfoWidget ) ;
pageIndex = 5 ;
pageIndex = 5 ;
functionWidget - > setVisible ( true ) ;
functionWidget - > setVisible ( true ) ;
returnBtn - > setVisible ( true ) ;
returnBtn - > setVisible ( true ) ;
favoriteBtn - > setVisible ( tru e) ;
favoriteBtn - > setVisible ( fals e) ;
confirmBtn - > setVisible ( true ) ;
confirmBtn - > setVisible ( true ) ;
choiceWidget - > setVisible ( false ) ;
//rcmdPlanBtn->setVisible(false);
//cstmPlanBtn->setVisible(false);
conditionWidget - > setVisible ( false ) ;
conditionWidget - > setVisible ( false ) ;
preferenceWidget - > setVisible ( false ) ;
preferenceWidget - > setVisible ( false ) ;
routeChoiceWidget - > setVisible ( false ) ;
routeChoiceWidget - > setVisible ( false ) ;
customizeWidget - > setVisible ( false ) ;
customizeWidget - > setVisible ( false ) ;
confirmWidget - > setVisible ( true ) ;
confirmWidget - > setVisible ( true ) ;
showRouteInfoWidget - > setVisible ( false ) ;
disconnect ( returnBtn , 0 , 0 , 0 ) ;
disconnect ( returnBtn , 0 , 0 , 0 ) ;
disconnect ( confirmBtn , 0 , 0 , 0 ) ;
disconnect ( confirmBtn , 0 , 0 , 0 ) ;
connect ( returnBtn , & QPushButton : : clicked , this , & PlanWidget : : switchToRouteChoiceWidget ) ;
connect ( returnBtn , & QPushButton : : clicked , this , & PlanWidget : : switchToCustomizeWidget ) ;
connect ( confirmBtn , & QPushButton : : clicked , this , & PlanWidget : : switchToShowRouteInfo ) ;
}
}
if ( originalIndex = = 4 )
if ( originalIndex = = 4 )
{
{
if ( customizeWidget - > genRoute ( ) )
if ( customizeWidget - > genRoute ( ) )
{
{
Route * route = customizeWidget - > getRoute ( ) ;
confirmWidget - > setRouteToConfirm ( route ) ;
confirmWidget - > initWidget ( ) ;
qDebug ( ) < < " generate customize route: " ;
struct routeItem * p = route - > getAllItems ( ) - > next ;
while ( p )
{
qDebug ( ) < < p - > placeName ;
p = p - > next ;
}
pageIndex = 5 ;
pageIndex = 5 ;
functionWidget - > setVisible ( true ) ;
functionWidget - > setVisible ( true ) ;
returnBtn - > setVisible ( true ) ;
returnBtn - > setVisible ( true ) ;
favoriteBtn - > setVisible ( true ) ;
favoriteBtn - > setVisible ( fals e) ;
confirmBtn - > setVisible ( true ) ;
confirmBtn - > setVisible ( true ) ;
choiceWidget - > setVisible ( false ) ;
//rcmdPlanBtn->setVisible(false);
//cstmPlanBtn->setVisible(false);
conditionWidget - > setVisible ( false ) ;
conditionWidget - > setVisible ( false ) ;
preferenceWidget - > setVisible ( false ) ;
preferenceWidget - > setVisible ( false ) ;
routeChoiceWidget - > setVisible ( false ) ;
routeChoiceWidget - > setVisible ( false ) ;
customizeWidget - > setVisible ( false ) ;
customizeWidget - > setVisible ( false ) ;
confirmWidget - > setVisible ( true ) ;
confirmWidget - > setVisible ( true ) ;
showRouteInfoWidget - > setVisible ( false ) ;
disconnect ( returnBtn , 0 , 0 , 0 ) ;
disconnect ( returnBtn , 0 , 0 , 0 ) ;
disconnect ( confirmBtn , 0 , 0 , 0 ) ;
disconnect ( confirmBtn , 0 , 0 , 0 ) ;
connect ( returnBtn , & QPushButton : : clicked , this , & PlanWidget : : switchToCustomizeWidget ) ;
connect ( returnBtn , & QPushButton : : clicked , this , & PlanWidget : : switchToCustomizeWidget ) ;
connect ( confirmBtn , & QPushButton : : clicked , this , & PlanWidget : : switchToShowRouteInfo ) ;
Route * route = customizeWidget - > getRoute ( ) ;
qDebug ( ) < < " generate customize route: " ;
struct routeItem * p = route - > getAllItems ( ) - > next ;
while ( p )
{
qDebug ( ) < < p - > placeName ;
p = p - > next ;
}
}
}
}
}
// connect(confirmBtn, &QPushButton::clicked, this, &PlanWidget::switchToPreferenceWidget);
}
}
@ -285,7 +401,6 @@ void PlanWidget::InitPlanWidget()
functionWidget = new QWidget ( ) ;
functionWidget = new QWidget ( ) ;
InitFunctionWidget ( ) ;
InitFunctionWidget ( ) ;
functionWidget - > setFixedSize ( 1380 , 50 ) ;
verLayout - > addWidget ( functionWidget ) ;
verLayout - > addWidget ( functionWidget ) ;
functionWidget - > setVisible ( false ) ;
functionWidget - > setVisible ( false ) ;
returnBtn - > setVisible ( false ) ;
returnBtn - > setVisible ( false ) ;
@ -302,26 +417,30 @@ void PlanWidget::InitPlanWidget()
routeChoiceWidget = new RouteChoiceWidget ( ) ;
routeChoiceWidget = new RouteChoiceWidget ( ) ;
customizeWidget = new CustomizeWidget ( ) ;
customizeWidget = new CustomizeWidget ( ) ;
confirmWidget = new ConfirmWidget ( ) ;
confirmWidget = new ConfirmWidget ( ) ;
showRouteInfoWidget = new ShowRouteInfoWidget ( ) ;
conditionWidget - > setVisible ( false ) ;
conditionWidget - > setVisible ( false ) ;
preferenceWidget - > setVisible ( false ) ;
preferenceWidget - > setVisible ( false ) ;
routeChoiceWidget - > setVisible ( false ) ;
routeChoiceWidget - > setVisible ( false ) ;
customizeWidget - > setVisible ( false ) ;
customizeWidget - > setVisible ( false ) ;
confirmWidget - > setVisible ( false ) ;
confirmWidget - > setVisible ( false ) ;
showRouteInfoWidget - > setVisible ( false ) ;
verLayout - > addWidget ( conditionWidget ) ;
verLayout - > addWidget ( conditionWidget ) ;
verLayout - > addWidget ( preferenceWidget ) ;
verLayout - > addWidget ( preferenceWidget ) ;
verLayout - > addWidget ( routeChoiceWidget ) ;
verLayout - > addWidget ( routeChoiceWidget ) ;
verLayout - > addWidget ( customizeWidget ) ;
verLayout - > addWidget ( customizeWidget ) ;
verLayout - > addWidget ( confirmWidget ) ;
verLayout - > addWidget ( confirmWidget ) ;
verLayout - > addWidget ( showRouteInfoWidget ) ;
}
}
void PlanWidget : : InitChoiceWidget ( )
void PlanWidget : : InitChoiceWidget ( )
{
{
QVBoxLayout * verLayout = new QVBoxLayout ( ) ;
QVBoxLayout * choice verLayout = new QVBoxLayout ( ) ;
choiceWidget - > setLayout ( verLayout) ;
choiceWidget - > setLayout ( choice verLayout) ;
QWidget * firstSubWidget = new QWidget ( ) ;
QWidget * firstSubWidget = new QWidget ( ) ;
verLayout- > addWidget ( firstSubWidget ) ;
choice verLayout- > addWidget ( firstSubWidget ) ;
QHBoxLayout * firstHoriLayout = new QHBoxLayout ( ) ;
QHBoxLayout * firstHoriLayout = new QHBoxLayout ( ) ;
firstSubWidget - > setLayout ( firstHoriLayout ) ;
firstSubWidget - > setLayout ( firstHoriLayout ) ;
@ -336,7 +455,7 @@ void PlanWidget::InitChoiceWidget()
firstHoriLayout - > addWidget ( cstmPlanBtn ) ;
firstHoriLayout - > addWidget ( cstmPlanBtn ) ;
QWidget * secondSubWidget = new QWidget ( ) ;
QWidget * secondSubWidget = new QWidget ( ) ;
verLayout- > addWidget ( secondSubWidget ) ;
choice verLayout- > addWidget ( secondSubWidget ) ;
QHBoxLayout * secondHoriLayout = new QHBoxLayout ( ) ;
QHBoxLayout * secondHoriLayout = new QHBoxLayout ( ) ;
secondSubWidget - > setLayout ( secondHoriLayout ) ;
secondSubWidget - > setLayout ( secondHoriLayout ) ;
@ -382,7 +501,82 @@ void PlanWidget::InitLabel(QLabel * label)
label - > setStyleSheet ( " color:#FFFFFF " ) ;
label - > setStyleSheet ( " color:#FFFFFF " ) ;
label - > setAlignment ( Qt : : AlignCenter ) ;
label - > setAlignment ( Qt : : AlignCenter ) ;
}
}
void PlanWidget : : addFavRoute ( )
{
Route * routeFav = showRouteInfoWidget - > getRouteToShow ( ) ;
RouteItem * routeItemsFav = routeFav - > getAllItems ( ) ;
QSqlQuery query ( userDb ) ;
QString sql = " insert into favRoutes (userId,routeId,routeName,placeNo,startTime,endTime,placeName,url,cateId,traffic,distance,timeCost,description) values(?,?,?,?,?,?,?,?,?,?,?,?,?); " ;
int i = 1 ;
QString sql_query = " select max(routeId) from favRoutes " ;
query . exec ( sql_query ) ;
query . next ( ) ;
int routeId = query . value ( 0 ) . toInt ( ) ;
routeId = routeId + 1 ;
//int size = routeFav->getPlaceSize();
while ( routeItemsFav - > next ! = NULL )
{
routeItemsFav = routeItemsFav - > next ;
query . prepare ( sql ) ;
query . addBindValue ( Id ) ;
query . addBindValue ( routeId ) ;
//query.addBindValue(routeFav->getRouteId());
query . addBindValue ( routeFav - > getRouteName ( ) ) ;
//query.addBindValue(routeFav->getRouteName());
query . addBindValue ( i ) ;
query . addBindValue ( routeItemsFav - > startTime . toString ( " yyyy-MM-dd HH:mm:ss " ) ) ;
query . addBindValue ( routeItemsFav - > endTime . toString ( " yyyy-MM-dd HH:mm:ss " ) ) ;
query . addBindValue ( routeItemsFav - > placeName ) ;
query . addBindValue ( routeItemsFav - > url ) ;
query . addBindValue ( routeItemsFav - > cateId ) ;
query . addBindValue ( routeItemsFav - > traffic ) ;
query . addBindValue ( routeItemsFav - > distance ) ;
query . addBindValue ( routeItemsFav - > timeCost ) ;
query . addBindValue ( routeItemsFav - > description ) ;
//query.addBindValue(tag);
query . exec ( ) ;
i + + ;
}
}
void PlanWidget : : addRoute ( )
{
Route * routeFav = showRouteInfoWidget - > getRouteToShow ( ) ;
RouteItem * routeItemsFav = routeFav - > getAllItems ( ) ;
QSqlQuery query ( userDb ) ;
QString sql = " insert into journey (userId,routeId,routeName,placeNo,startTime,endTime,placeName,url,cateId,traffic,distance,timeCost,description,tag) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?); " ;
int i = 1 ;
QString sql_query = " select max(routeId) from journey " ;
query . exec ( sql_query ) ;
query . next ( ) ;
int routeId = query . value ( 0 ) . toInt ( ) ;
routeId = routeId + 1 ;
//int size = routeFav->getPlaceSize();
while ( routeItemsFav - > next ! = NULL )
{
routeItemsFav = routeItemsFav - > next ;
query . prepare ( sql ) ;
query . addBindValue ( Id ) ;
query . addBindValue ( routeId ) ;
//query.addBindValue(routeFav->getRouteId());
query . addBindValue ( routeFav - > getRouteName ( ) ) ;
//query.addBindValue(routeFav->getRouteName());
query . addBindValue ( i ) ;
query . addBindValue ( routeItemsFav - > startTime . toString ( " yyyy-MM-dd HH:mm:ss " ) ) ;
query . addBindValue ( routeItemsFav - > endTime . toString ( " yyyy-MM-dd HH:mm:ss " ) ) ;
query . addBindValue ( routeItemsFav - > placeName ) ;
query . addBindValue ( routeItemsFav - > url ) ;
query . addBindValue ( routeItemsFav - > cateId ) ;
query . addBindValue ( routeItemsFav - > traffic ) ;
query . addBindValue ( routeItemsFav - > distance ) ;
query . addBindValue ( routeItemsFav - > timeCost ) ;
query . addBindValue ( routeItemsFav - > description ) ;
query . addBindValue ( tag ) ;
query . exec ( ) ;
i + + ;
}
}
void PlanWidget : : InitButton ( QPushButton * button )
void PlanWidget : : InitButton ( QPushButton * button )
{
{
button - > setStyleSheet ( " QPushButton { "
button - > setStyleSheet ( " QPushButton { "
@ -448,6 +642,7 @@ void PlanWidget::InitPlanButton(QPushButton * button, QString url)
button - > setFixedSize ( 500 , 300 ) ;
button - > setFixedSize ( 500 , 300 ) ;
}
}
void PlanWidget : : resizeEvent ( QResizeEvent * event )
void PlanWidget : : resizeEvent ( QResizeEvent * event )
{
{
background - > resize ( this - > size ( ) ) ;
background - > resize ( this - > size ( ) ) ;