Projekt

Obecné

Profil

Stáhnout (4.43 KB) Statistiky
| Větev: | Tag: | Revize:
1
#include "curvedialog.h"
2
#include "ui_curvedialog.h"
3

    
4
curveDialog::curveDialog(QWidget *parent) :
5
    QDialog(parent),
6
    ui(new Ui::curveDialog)
7
{
8
    ui->setupUi(this);
9
    ui->buttonGroup->setId(ui->circleBtn, CURVE_CIRCLE);
10
    ui->buttonGroup->setId(ui->ellipseBtn, CURVE_ELLIPSE);
11
    ui->buttonGroup->setId(ui->lemnBtn, CURVE_LEMN);
12
    ui->buttonGroup->setId(ui->kardBtn, CURVE_KARD);
13
    ui->buttonGroup->setId(ui->lineBtn, CURVE_LINE);
14
    ui->buttonGroup->setId(ui->noCurveBtn, CURVE_NONE);
15

    
16
    ui->buttonGroupAngle->setId(ui->angle0Btn, ANGLE_0);
17
    ui->buttonGroupAngle->setId(ui->angle45Btn, ANGLE_45);
18
    ui->buttonGroupAngle->setId(ui->angle90Btn, ANGLE_90);
19
    ui->buttonGroupAngle->setId(ui->angle135Btn, ANGLE_135);
20

    
21
    ui->buttonGroupRot->setId(ui->cwRotBtn, ROTATE_CLKWISE);
22
    ui->buttonGroupRot->setId(ui->ccwRotBtn, ROTATE_CNTRCLKWISE);
23

    
24
    connect(ui->buttonGroup, SIGNAL(buttonPressed(int)), this, SLOT(curveBtnClicked(int)));
25
    connect(ui->buttonGroupAngle, SIGNAL(buttonPressed(int)), this, SLOT(angleBtnClicked(int)));
26
    connect(ui->buttonGroupRot, SIGNAL(buttonPressed(int)), this, SLOT(rotBtnClicked(int)));
27
    connect(ui->acceptBtn, SIGNAL(clicked()), this, SLOT(accept()));
28
    connect(ui->cancelBtn, SIGNAL(clicked()), this, SLOT(reject()));
29

    
30
    connect(ui->pronSup1Btn, SIGNAL(pressed()), this, SLOT(pressPronSupBtn()));
31
    connect(ui->pronSup2Btn, SIGNAL(pressed()), this, SLOT(pressPronSupBtn()));
32

    
33
    curveType = CURVE_CIRCLE;
34
    curveAngle = ANGLE_0;
35
    curveRotation = ROTATE_CLKWISE;
36
    pronSupVal = PRON_SUP_NOT;
37
    ui->circleBtn->toggle();
38
}
39

    
40
//! V dialogovém oknu je označený typ křivky
41
/*!
42
 * Je voláno, pokud je v dialogovém oknu vybrán typ křivky. Lze vybrat z následujících typů:
43
 * \li Kruh
44
 * \li Elipsa
45
 * \li Lemniskáta
46
 * \li Kariodtida
47
 * \li Žádná křivka - speciální případ, poku je žádano provádění pouze pronace/supinace
48
 *
49
 * ID typu se přiřadí do interní proměnné
50
 *
51
 * \param id Identifikační číslo vybraného typu křivky
52
 */
53
void curveDialog::curveBtnClicked(int id)
54
{
55
    curveType = id;
56
}
57

    
58
//! V dialogovém oknu je označený úhel sklonu křivky
59
/*!
60
 * Je voláno, pokud je v dialogovém oknu vybrán úhel sklonu křivky. Sklon lze vybrat z
61
 * hodnot 0, 45, 90 a 135 stupňů. ID se přiřadí do interní proměnné
62
 *
63
 * \param id Identifikační číslo vybraného typu křivky
64
 */
65
void curveDialog::angleBtnClicked(int id)
66
{
67
    curveAngle = id;
68
}
69

    
70
//! V dialogovém oknu je označený směr rotace křivky
71
/*!
72
 * Je voláno, pokud je v dialogovém oknu vybrán směr rotace křivky. Lze vybrat rotaci po a proti směru
73
 * hodinových ručiček
74
 *
75
 * \param id Identifikační číslo vybraného směru rotace
76
 */
77
void curveDialog::rotBtnClicked(int id)
78
{
79
    curveRotation = id;
80
}
81

    
82
//! V dialogovém oknu se změnil vybraná velikost pronace/supinace
83
/*!
84
 * Je voláno, pokud se v dialogovém oknu změní výběr velikosti provádění pronace/supinace.
85
 * Lze vybrat žádnou (pokud není stisknuto ani jedno z tlačítek), malou (Úroveň 1) a velkou (Úroveň 2)
86
 *
87
 * \param id Identifikační číslo vybraného typu pronace/supinace
88
 */
89
void curveDialog::pressPronSupBtn()
90
{
91
    QAbstractButton* button = static_cast<QAbstractButton*>(sender());
92
    if (button->isChecked()) {
93
        ui->buttonGroupPS->setExclusive(false);
94
        pronSupVal = PRON_SUP_NOT;
95
    } else {
96
        ui->buttonGroupPS->setExclusive(true);
97
        if (button == ui->pronSup1Btn)
98
            pronSupVal = PRON_SUP_1;
99
        else if (button == ui->pronSup2Btn)
100
            pronSupVal = PRON_SUP_2;
101
    }
102
}
103

    
104
//! Vrací vybraný typ křivky
105
/*!
106
 * Vrací vybraný typ křivky, který bude předpočítán a poslán do stroje.
107
 *
108
 * \param *cType Typ křivky
109
 * \param *cAngle Úhel sklonu křivky
110
 * \param *cRot Směr rotace křivky
111
 * \param *ps Velikost pronace/supinace
112
 */
113
void curveDialog::getCurve(int *cType, int *cAngle, int *cRot, int *ps)
114
{
115
    *cType = curveType;
116
    *cAngle = curveAngle;
117
    *cRot = curveRotation;
118
    *ps = pronSupVal;
119
}
120

    
121
curveDialog::~curveDialog()
122
{
123
    delete ui;
124
}
125

    
126
//! Změna jazyka dialogu
127
/*!
128
  Pokud se změní jazyk aplikace, funkce změní text v dialogu, aby odpovídal
129
  nastavenému jazyku
130
  \param *e Ukazatel na objekt, který obsahuje posílanou událost
131
*/
132
void curveDialog::changeEvent(QEvent *e)
133
{
134
    QDialog::changeEvent(e);
135
    switch (e->type()) {
136
    case QEvent::LanguageChange:
137
        ui->retranslateUi(this);
138
        break;
139
    default:
140
        break;
141
    }
142
}
(2-2/17)