QTfrontend/ui/page/pagedrawmap.cpp
changeset 9551 61f160dfd0f1
parent 9080 9b42757d7e71
child 9998 736015b847e3
equal deleted inserted replaced
9549:ac5c1f691ce2 9551:61f160dfd0f1
    18 
    18 
    19 #include <QGridLayout>
    19 #include <QGridLayout>
    20 #include <QPushButton>
    20 #include <QPushButton>
    21 #include <QFileDialog>
    21 #include <QFileDialog>
    22 #include <QCheckBox>
    22 #include <QCheckBox>
       
    23 #include <QRadioButton>
    23 
    24 
    24 #include "pagedrawmap.h"
    25 #include "pagedrawmap.h"
    25 #include "drawmapwidget.h"
    26 #include "drawmapwidget.h"
    26 
    27 
    27 
    28 
    30     QGridLayout * pageLayout = new QGridLayout();
    31     QGridLayout * pageLayout = new QGridLayout();
    31 
    32 
    32     cbEraser = new QCheckBox(tr("Eraser"), this);
    33     cbEraser = new QCheckBox(tr("Eraser"), this);
    33     pageLayout->addWidget(cbEraser, 0, 0);
    34     pageLayout->addWidget(cbEraser, 0, 0);
    34     pbUndo = addButton(tr("Undo"), pageLayout, 1, 0);
    35     pbUndo = addButton(tr("Undo"), pageLayout, 1, 0);
    35     pbClear = addButton(tr("Clear"), pageLayout, 2, 0);
    36 
    36     pbLoad = addButton(tr("Load"), pageLayout, 3, 0);
    37     rbPolyline = new QRadioButton(tr("Polyline"), this);
    37     pbSave = addButton(tr("Save"), pageLayout, 4, 0);
    38     pageLayout->addWidget(rbPolyline, 2, 0);
       
    39     rbRectangle = new QRadioButton(tr("Rectangle"), this);
       
    40     pageLayout->addWidget(rbRectangle, 3, 0);
       
    41     rbEllipse = new QRadioButton(tr("Ellipse"), this);
       
    42     pageLayout->addWidget(rbEllipse, 4, 0);
       
    43 
       
    44     rbPolyline->setChecked(true);
       
    45 
       
    46     pbClear = addButton(tr("Clear"), pageLayout, 5, 0);
       
    47     pbLoad = addButton(tr("Load"), pageLayout, 6, 0);
       
    48     pbSave = addButton(tr("Save"), pageLayout, 7, 0);
    38 
    49 
    39     drawMapWidget = new DrawMapWidget(this);
    50     drawMapWidget = new DrawMapWidget(this);
    40     pageLayout->addWidget(drawMapWidget, 0, 1, 6, 1);
    51     pageLayout->addWidget(drawMapWidget, 0, 1, 9, 1);
    41 
    52 
    42     return pageLayout;
    53     return pageLayout;
    43 }
    54 }
    44 
    55 
    45 void PageDrawMap::connectSignals()
    56 void PageDrawMap::connectSignals()
    47     connect(cbEraser, SIGNAL(toggled(bool)), drawMapWidget, SLOT(setErasing(bool)));
    58     connect(cbEraser, SIGNAL(toggled(bool)), drawMapWidget, SLOT(setErasing(bool)));
    48     connect(pbUndo, SIGNAL(clicked()), drawMapWidget, SLOT(undo()));
    59     connect(pbUndo, SIGNAL(clicked()), drawMapWidget, SLOT(undo()));
    49     connect(pbClear, SIGNAL(clicked()), drawMapWidget, SLOT(clear()));
    60     connect(pbClear, SIGNAL(clicked()), drawMapWidget, SLOT(clear()));
    50     connect(pbLoad, SIGNAL(clicked()), this, SLOT(load()));
    61     connect(pbLoad, SIGNAL(clicked()), this, SLOT(load()));
    51     connect(pbSave, SIGNAL(clicked()), this, SLOT(save()));
    62     connect(pbSave, SIGNAL(clicked()), this, SLOT(save()));
       
    63 
       
    64     connect(rbPolyline, SIGNAL(toggled(bool)), this, SLOT(pathTypeSwitched(bool)));
       
    65     connect(rbRectangle, SIGNAL(toggled(bool)), this, SLOT(pathTypeSwitched(bool)));
       
    66     connect(rbEllipse, SIGNAL(toggled(bool)), this, SLOT(pathTypeSwitched(bool)));
    52 }
    67 }
    53 
    68 
    54 PageDrawMap::PageDrawMap(QWidget* parent) : AbstractPage(parent)
    69 PageDrawMap::PageDrawMap(QWidget* parent) : AbstractPage(parent)
    55 {
    70 {
    56     initPage();
    71     initPage();
    69     QString fileName = QFileDialog::getSaveFileName(NULL, tr("Save drawn map"), "./map.hwmap", tr("Drawn Maps") + " (*.hwmap);;" + tr("All files") + " (*)");
    84     QString fileName = QFileDialog::getSaveFileName(NULL, tr("Save drawn map"), "./map.hwmap", tr("Drawn Maps") + " (*.hwmap);;" + tr("All files") + " (*)");
    70 
    85 
    71     if(!fileName.isEmpty())
    86     if(!fileName.isEmpty())
    72         drawMapWidget->save(fileName);
    87         drawMapWidget->save(fileName);
    73 }
    88 }
       
    89 
       
    90 void PageDrawMap::pathTypeSwitched(bool b)
       
    91 {
       
    92     if(b)
       
    93     {
       
    94         if(rbPolyline->isChecked()) drawMapWidget->setPathType(DrawMapScene::Polyline);
       
    95         else if(rbRectangle->isChecked()) drawMapWidget->setPathType(DrawMapScene::Rectangle);
       
    96         else if(rbEllipse->isChecked()) drawMapWidget->setPathType(DrawMapScene::Ellipse);
       
    97     }
       
    98 }