valentina/dialogs/dialogsinglepoint.cpp

99 lines
2.9 KiB
C++
Raw Normal View History

2013-07-03 14:29:26 +02:00
#include "dialogsinglepoint.h"
#include "ui_dialogsinglepoint.h"
#include <QShowEvent>
#include <QPushButton>
2013-07-13 12:51:31 +02:00
#include <QDebug>
2013-07-03 14:29:26 +02:00
#include "../options.h"
DialogSinglePoint::DialogSinglePoint(QWidget *parent) :
QDialog(parent),
ui(new Ui::DialogSinglePoint)
{
ui->setupUi(this);
isInitialized = false;
2013-07-13 12:51:31 +02:00
ui->doubleSpinBoxX->setRange(0,PaperSize/PrintDPI*25.4);
ui->doubleSpinBoxY->setRange(0,PaperSize/PrintDPI*25.4);
2013-07-03 14:29:26 +02:00
QPushButton* pOkButton = ui->buttonBox->button(QDialogButtonBox::Ok);
pOkButton->setEnabled(false);
2013-07-13 12:51:31 +02:00
connect(pOkButton, &QPushButton::clicked, this, &DialogSinglePoint::OkOperation);
2013-07-03 14:29:26 +02:00
connect(ui->lineEditName, &QLineEdit::textChanged, this, &DialogSinglePoint::NameChanged);
2013-07-13 12:51:31 +02:00
QPushButton* pCanselButton = ui->buttonBox->button(QDialogButtonBox::Cancel);
connect(pCanselButton, &QPushButton::clicked, this, &DialogSinglePoint::CanselOperation);
2013-07-03 14:29:26 +02:00
}
void DialogSinglePoint::mousePress(QPointF scenePos){
if(isInitialized == false){
2013-07-13 12:51:31 +02:00
ui->doubleSpinBoxX->setValue(scenePos.x()/PrintDPI*25.4);
ui->doubleSpinBoxY->setValue(scenePos.y()/PrintDPI*25.4);
2013-07-03 14:29:26 +02:00
this->show();
} else {
2013-07-13 12:51:31 +02:00
ui->doubleSpinBoxX->setValue(scenePos.x()/PrintDPI*25.4);
ui->doubleSpinBoxY->setValue(scenePos.y()/PrintDPI*25.4);
2013-07-03 14:29:26 +02:00
}
}
void DialogSinglePoint::showEvent( QShowEvent *event ){
QDialog::showEvent( event );
if( event->spontaneous() ){
return;
}
if(isInitialized){
return;
}
// do your init stuff here
isInitialized = true;//перший показ вікна вже відбувся
}
void DialogSinglePoint::NameChanged(){
QString name = ui->lineEditName->text();
if(name.isEmpty() || name.contains(" ")){
QPushButton* pOkButton = ui->buttonBox->button(QDialogButtonBox::Ok);
pOkButton->setEnabled(false);
} else {
QPushButton* pOkButton = ui->buttonBox->button(QDialogButtonBox::Ok);
pOkButton->setEnabled(true);
}
}
2013-07-13 12:51:31 +02:00
void DialogSinglePoint::CanselOperation(){
emit ToolCanseled();
}
void DialogSinglePoint::OkOperation(){
point = QPointF(ui->doubleSpinBoxX->value()*PrintDPI/25.4,
ui->doubleSpinBoxY->value()*PrintDPI/25.4);
name = ui->lineEditName->text();
emit SinglePointCreated(ui->lineEditName->text(), point);
}
void DialogSinglePoint::closeEvent ( QCloseEvent * event ){
emit ToolCanseled();
event->accept();
}
void DialogSinglePoint::setData(const QString name, const QPointF point){
this->name = name;
this->point = point;
isInitialized = true;
ui->lineEditName->setText(name);
ui->doubleSpinBoxX->setValue(point.x()/PrintDPI*25.4);
ui->doubleSpinBoxY->setValue(point.y()/PrintDPI*25.4);
}
QString DialogSinglePoint::getName()const{
return name;
}
QPointF DialogSinglePoint::getPoint()const{
return point;
}
DialogSinglePoint::~DialogSinglePoint(){
2013-07-03 14:29:26 +02:00
delete ui;
}
2013-07-13 12:51:31 +02:00