QTfrontend/ui/widget/mapContainer.cpp
changeset 10391 ce3ccc45d790
parent 10336 3edfa6b68407
child 10394 0e0c3936412f
equal deleted inserted replaced
10390:13bfbade06a5 10391:ce3ccc45d790
   103     cType->insertItem(0, tr("Image map"), MapModel::StaticMap);
   103     cType->insertItem(0, tr("Image map"), MapModel::StaticMap);
   104     cType->insertItem(1, tr("Mission map"), MapModel::MissionMap);
   104     cType->insertItem(1, tr("Mission map"), MapModel::MissionMap);
   105     cType->insertItem(2, tr("Hand-drawn"), MapModel::HandDrawnMap);
   105     cType->insertItem(2, tr("Hand-drawn"), MapModel::HandDrawnMap);
   106     cType->insertItem(3, tr("Randomly generated"), MapModel::GeneratedMap);
   106     cType->insertItem(3, tr("Randomly generated"), MapModel::GeneratedMap);
   107     cType->insertItem(4, tr("Random maze"), MapModel::GeneratedMaze);
   107     cType->insertItem(4, tr("Random maze"), MapModel::GeneratedMaze);
       
   108     cType->insertItem(5, tr("Random perlin"), MapModel::GeneratedPerlin);
   108     connect(cType, SIGNAL(currentIndexChanged(int)), this, SLOT(mapTypeChanged(int)));
   109     connect(cType, SIGNAL(currentIndexChanged(int)), this, SLOT(mapTypeChanged(int)));
   109     m_childWidgets << cType;
   110     m_childWidgets << cType;
   110 
   111 
   111     /* Randomize button */
   112     /* Randomize button */
   112 
   113 
   399 }
   400 }
   400 
   401 
   401 void HWMapContainer::setSeed(const QString & seed)
   402 void HWMapContainer::setSeed(const QString & seed)
   402 {
   403 {
   403     intSetSeed(seed);
   404     intSetSeed(seed);
   404     if ((m_mapInfo.type == MapModel::GeneratedMap) || (m_mapInfo.type == MapModel::GeneratedMaze))
   405     if ((m_mapInfo.type == MapModel::GeneratedMap)
       
   406             || (m_mapInfo.type == MapModel::GeneratedMaze)
       
   407             || (m_mapInfo.type == MapModel::GeneratedPerlin))
   405         updatePreview();
   408         updatePreview();
   406 }
   409 }
   407 
   410 
   408 void HWMapContainer::setScript(const QString & script)
   411 void HWMapContainer::setScript(const QString & script)
   409 {
   412 {
   410     m_script = script;
   413     m_script = script;
   411     if ((m_mapInfo.type == MapModel::GeneratedMap) || (m_mapInfo.type == MapModel::GeneratedMaze) || (m_mapInfo.type == MapModel::HandDrawnMap))
   414     if ((m_mapInfo.type == MapModel::GeneratedMap)
       
   415             || (m_mapInfo.type == MapModel::GeneratedMaze)
       
   416             || (m_mapInfo.type == MapModel::GeneratedPerlin)
       
   417             || (m_mapInfo.type == MapModel::HandDrawnMap))
   412         updatePreview();
   418         updatePreview();
   413 }
   419 }
   414 
   420 
   415 void HWMapContainer::intSetMap(const QString & map)
   421 void HWMapContainer::intSetMap(const QString & map)
   416 {
   422 {
   419         //changeMapType(MapModel::GeneratedMap);
   425         //changeMapType(MapModel::GeneratedMap);
   420     }
   426     }
   421     else if (map == "+maze+")
   427     else if (map == "+maze+")
   422     {
   428     {
   423         //changeMapType(MapModel::GeneratedMaze);
   429         //changeMapType(MapModel::GeneratedMaze);
       
   430     }
       
   431     else if (map == "+perlin+")
       
   432     {
       
   433         //changeMapType(MapModel::GeneratedPerlin);
   424     }
   434     }
   425     else if (map == "+drawn+")
   435     else if (map == "+drawn+")
   426     {
   436     {
   427         //changeMapType(MapModel::HandDrawnMap);
   437         //changeMapType(MapModel::HandDrawnMap);
   428     }
   438     }
   462     setRandomSeed();
   472     setRandomSeed();
   463     switch(m_mapInfo.type)
   473     switch(m_mapInfo.type)
   464     {
   474     {
   465         case MapModel::GeneratedMap:
   475         case MapModel::GeneratedMap:
   466         case MapModel::GeneratedMaze:
   476         case MapModel::GeneratedMaze:
       
   477         case MapModel::GeneratedPerlin:
   467             setRandomTheme();
   478             setRandomTheme();
   468             break;
   479             break;
   469         case MapModel::MissionMap:
   480         case MapModel::MissionMap:
   470             missionMapChanged(m_missionMapModel->index(rand() % m_missionMapModel->rowCount(), 0));
   481             missionMapChanged(m_missionMapModel->index(rand() % m_missionMapModel->rowCount(), 0));
   471             break;
   482             break;
   538             case MAPGEN_REGULAR:
   549             case MAPGEN_REGULAR:
   539                 m_mapInfo.type = MapModel::GeneratedMap;
   550                 m_mapInfo.type = MapModel::GeneratedMap;
   540                 break;
   551                 break;
   541             case MAPGEN_MAZE:
   552             case MAPGEN_MAZE:
   542                 m_mapInfo.type = MapModel::GeneratedMaze;
   553                 m_mapInfo.type = MapModel::GeneratedMaze;
       
   554                 break;
       
   555             case MAPGEN_PERLIN:
       
   556                 m_mapInfo.type = MapModel::GeneratedPerlin;
   543                 break;
   557                 break;
   544             case MAPGEN_DRAWN:
   558             case MAPGEN_DRAWN:
   545                 m_mapInfo.type = MapModel::HandDrawnMap;
   559                 m_mapInfo.type = MapModel::HandDrawnMap;
   546                 break;
   560                 break;
   547             case MAPGEN_MAP:
   561             case MAPGEN_MAP:
   548                 switch (m_mapInfo.type)
   562                 switch (m_mapInfo.type)
   549                 {
   563                 {
   550                     case MapModel::GeneratedMap:
   564                     case MapModel::GeneratedMap:
   551                     case MapModel::GeneratedMaze:
   565                     case MapModel::GeneratedMaze:
       
   566                     case MapModel::GeneratedPerlin:
   552                     case MapModel::HandDrawnMap:
   567                     case MapModel::HandDrawnMap:
   553                         m_mapInfo.type = MapModel::Invalid;
   568                         m_mapInfo.type = MapModel::Invalid;
   554                     default:
   569                     default:
   555                         break;
   570                         break;
   556                 }
   571                 }
   628             failIcon = QPixmap(":/res/btnDisabled.png");
   643             failIcon = QPixmap(":/res/btnDisabled.png");
   629             mapPreview->setIcon(QIcon(failIcon));
   644             mapPreview->setIcon(QIcon(failIcon));
   630             mapPreview->setIconSize(failIcon.size());
   645             mapPreview->setIconSize(failIcon.size());
   631             break;
   646             break;
   632         case MapModel::GeneratedMap:
   647         case MapModel::GeneratedMap:
   633             askForGeneratedPreview();
       
   634             break;
       
   635         case MapModel::GeneratedMaze:
   648         case MapModel::GeneratedMaze:
   636             askForGeneratedPreview();
   649         case MapModel::GeneratedPerlin:
   637             break;
       
   638         case MapModel::HandDrawnMap:
   650         case MapModel::HandDrawnMap:
   639             askForGeneratedPreview();
   651             askForGeneratedPreview();
   640             break;
   652             break;
   641         default:
   653         default:
   642             QPixmap mapImage;
   654             QPixmap mapImage;
   717             break;
   729             break;
   718         case MapModel::GeneratedMaze:
   730         case MapModel::GeneratedMaze:
   719             mapgen = MAPGEN_MAZE;
   731             mapgen = MAPGEN_MAZE;
   720             setMapInfo(MapModel::MapInfoMaze);
   732             setMapInfo(MapModel::MapInfoMaze);
   721             lblMapList->setText(tr("Maze style:"));
   733             lblMapList->setText(tr("Maze style:"));
       
   734             lblMapList->show();
       
   735             mazeStyles->show();
       
   736             break;
       
   737         case MapModel::GeneratedPerlin:
       
   738             mapgen = MAPGEN_PERLIN;
       
   739             setMapInfo(MapModel::MapInfoPerlin);
       
   740             lblMapList->setText(tr("Style:"));
   722             lblMapList->show();
   741             lblMapList->show();
   723             mazeStyles->show();
   742             mazeStyles->show();
   724             break;
   743             break;
   725         case MapModel::HandDrawnMap:
   744         case MapModel::HandDrawnMap:
   726             mapgen = MAPGEN_DRAWN;
   745             mapgen = MAPGEN_DRAWN;