Fix some warning after checking cppcheck.
This commit is contained in:
parent
2ed982faeb
commit
ea072a35f4
|
@ -24,7 +24,6 @@ SOURCES += main.cpp\
|
||||||
dialogs/dialogincrements.cpp \
|
dialogs/dialogincrements.cpp \
|
||||||
container/vstandarttablecell.cpp \
|
container/vstandarttablecell.cpp \
|
||||||
container/vincrementtablerow.cpp \
|
container/vincrementtablerow.cpp \
|
||||||
widgets/delegate.cpp \
|
|
||||||
widgets/doubledelegate.cpp \
|
widgets/doubledelegate.cpp \
|
||||||
dialogs/dialogendline.cpp \
|
dialogs/dialogendline.cpp \
|
||||||
tools/drawTools/vtoolendline.cpp \
|
tools/drawTools/vtoolendline.cpp \
|
||||||
|
@ -103,7 +102,6 @@ HEADERS += mainwindow.h \
|
||||||
dialogs/dialogincrements.h \
|
dialogs/dialogincrements.h \
|
||||||
container/vstandarttablecell.h \
|
container/vstandarttablecell.h \
|
||||||
container/vincrementtablerow.h \
|
container/vincrementtablerow.h \
|
||||||
widgets/delegate.h \
|
|
||||||
widgets/doubledelegate.h \
|
widgets/doubledelegate.h \
|
||||||
dialogs/dialogendline.h \
|
dialogs/dialogendline.h \
|
||||||
tools/drawTools/vtoolendline.h \
|
tools/drawTools/vtoolendline.h \
|
||||||
|
|
|
@ -79,7 +79,7 @@ private:
|
||||||
* @param c символ.
|
* @param c символ.
|
||||||
* @return true - належить рядку, false - не належить рядку.
|
* @return true - належить рядку, false - не належить рядку.
|
||||||
*/
|
*/
|
||||||
bool StrChr(QString string, QChar c);
|
static bool StrChr(QString string, QChar c);
|
||||||
/**
|
/**
|
||||||
* @brief putback повертає зчитану лексему назад у потік.
|
* @brief putback повертає зчитану лексему назад у потік.
|
||||||
*/
|
*/
|
||||||
|
@ -120,13 +120,13 @@ private:
|
||||||
* @param r перший елемент.
|
* @param r перший елемент.
|
||||||
* @param h другий елемент.
|
* @param h другий елемент.
|
||||||
*/
|
*/
|
||||||
void arith(QChar o, qreal *r, qreal *h);
|
static void arith(QChar o, qreal *r, qreal *h);
|
||||||
/**
|
/**
|
||||||
* @brief unary метод зміни знаку.
|
* @brief unary метод зміни знаку.
|
||||||
* @param o символ знаку.
|
* @param o символ знаку.
|
||||||
* @param r елемент.
|
* @param r елемент.
|
||||||
*/
|
*/
|
||||||
void unary(QChar o, qreal *r);
|
static void unary(QChar o, qreal *r);
|
||||||
/**
|
/**
|
||||||
* @brief find_var метод знаходить змінну за іменем.
|
* @brief find_var метод знаходить змінну за іменем.
|
||||||
* @param s ім'я змінної.
|
* @param s ім'я змінної.
|
||||||
|
@ -139,19 +139,19 @@ private:
|
||||||
* @param s ім'я лексеми.
|
* @param s ім'я лексеми.
|
||||||
* @return внутрішній номер лексеми.
|
* @return внутрішній номер лексеми.
|
||||||
*/
|
*/
|
||||||
char look_up(QString s);
|
static char look_up(QString s);
|
||||||
/**
|
/**
|
||||||
* @brief isdelim повертає "істино", якщо с розділювач.
|
* @brief isdelim повертає "істино", якщо с розділювач.
|
||||||
* @param c символ.
|
* @param c символ.
|
||||||
* @return розділювач, або ні.
|
* @return розділювач, або ні.
|
||||||
*/
|
*/
|
||||||
bool isdelim(QChar c);
|
static bool isdelim(QChar c);
|
||||||
/**
|
/**
|
||||||
* @brief iswhite перевіряє чи с пробіл чи табуляція.
|
* @brief iswhite перевіряє чи с пробіл чи табуляція.
|
||||||
* @param c символ.
|
* @param c символ.
|
||||||
* @return так або ні.
|
* @return так або ні.
|
||||||
*/
|
*/
|
||||||
bool iswhite(QChar c);
|
static bool iswhite(QChar c);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CALCULATOR_H
|
#endif // CALCULATOR_H
|
||||||
|
|
|
@ -18,7 +18,7 @@ VContainer::VContainer():base(QMap<QString, qint32>()), points(QMap<qint64, VPoi
|
||||||
CreateManTableIGroup ();
|
CreateManTableIGroup ();
|
||||||
}
|
}
|
||||||
|
|
||||||
const VContainer &VContainer::operator =(const VContainer &data){
|
VContainer &VContainer::operator =(const VContainer &data){
|
||||||
setData(data);
|
setData(data);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
@ -55,7 +55,7 @@ void VContainer::setData(const VContainer &data){
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename key, typename val>
|
template <typename key, typename val>
|
||||||
val VContainer::GetObject(const QMap<key,val> &obj, key id)const{
|
val VContainer::GetObject(const QMap<key,val> &obj, key id){
|
||||||
if(obj.contains(id)){
|
if(obj.contains(id)){
|
||||||
return obj.value(id);
|
return obj.value(id);
|
||||||
} else {
|
} else {
|
||||||
|
@ -134,13 +134,13 @@ qint64 VContainer::getId(){
|
||||||
}
|
}
|
||||||
|
|
||||||
qint64 VContainer::getNextId(){
|
qint64 VContainer::getNextId(){
|
||||||
++_id;
|
this->_id++;
|
||||||
return _id;
|
return _id;
|
||||||
}
|
}
|
||||||
|
|
||||||
void VContainer::UpdateId(qint64 newId){
|
void VContainer::UpdateId(qint64 newId){
|
||||||
if(newId > _id){
|
if(newId > this->_id){
|
||||||
_id = newId;
|
this->_id = newId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -316,14 +316,14 @@ QPainterPath VContainer::Equidistant(QVector<QPointF> points, const Detail::Equi
|
||||||
return ekv;
|
return ekv;
|
||||||
}
|
}
|
||||||
|
|
||||||
QLineF VContainer::ParallelLine(const QLineF &line, qreal width) const{
|
QLineF VContainer::ParallelLine(const QLineF &line, qreal width){
|
||||||
Q_ASSERT(width > 0);
|
Q_ASSERT(width > 0);
|
||||||
QLineF paralel = QLineF (SingleParallelPoint(line, 90, width),
|
QLineF paralel = QLineF (SingleParallelPoint(line, 90, width),
|
||||||
SingleParallelPoint(QLineF(line.p2(), line.p1()), -90, width));
|
SingleParallelPoint(QLineF(line.p2(), line.p1()), -90, width));
|
||||||
return paralel;
|
return paralel;
|
||||||
}
|
}
|
||||||
|
|
||||||
QPointF VContainer::SingleParallelPoint(const QLineF &line, const qreal &angle, const qreal &width) const{
|
QPointF VContainer::SingleParallelPoint(const QLineF &line, const qreal &angle, const qreal &width){
|
||||||
Q_ASSERT(width > 0);
|
Q_ASSERT(width > 0);
|
||||||
QLineF l = line;
|
QLineF l = line;
|
||||||
l.setAngle( l.angle() + angle );
|
l.setAngle( l.angle() + angle );
|
||||||
|
|
|
@ -23,7 +23,7 @@ public:
|
||||||
* @brief VContainer
|
* @brief VContainer
|
||||||
*/
|
*/
|
||||||
VContainer();
|
VContainer();
|
||||||
const VContainer &operator=(const VContainer &data);
|
VContainer &operator=(const VContainer &data);
|
||||||
VContainer(const VContainer &data);
|
VContainer(const VContainer &data);
|
||||||
void setData(const VContainer &data);
|
void setData(const VContainer &data);
|
||||||
/**
|
/**
|
||||||
|
@ -44,7 +44,7 @@ public:
|
||||||
VSplinePath GetSplinePath(qint64 id) const;
|
VSplinePath GetSplinePath(qint64 id) const;
|
||||||
VSplinePath GetModelingSplinePath(qint64 id) const;
|
VSplinePath GetModelingSplinePath(qint64 id) const;
|
||||||
VDetail GetDetail(qint64 id) const;
|
VDetail GetDetail(qint64 id) const;
|
||||||
qint64 getId();
|
static qint64 getId();
|
||||||
qint64 AddPoint(const VPointF& point);
|
qint64 AddPoint(const VPointF& point);
|
||||||
qint64 AddModelingPoint(const VPointF& point);
|
qint64 AddModelingPoint(const VPointF& point);
|
||||||
qint64 AddDetail(const VDetail& detail);
|
qint64 AddDetail(const VDetail& detail);
|
||||||
|
@ -101,7 +101,7 @@ public:
|
||||||
qint32 growth() const;
|
qint32 growth() const;
|
||||||
qreal FindVar(const QString& name, bool *ok)const;
|
qreal FindVar(const QString& name, bool *ok)const;
|
||||||
bool IncrementTableContains(const QString& name);
|
bool IncrementTableContains(const QString& name);
|
||||||
qint64 getNextId();
|
static qint64 getNextId();
|
||||||
void RemoveIncrementTableRow(const QString& name);
|
void RemoveIncrementTableRow(const QString& name);
|
||||||
const QMap<qint64, VPointF> *DataPoints() const;
|
const QMap<qint64, VPointF> *DataPoints() const;
|
||||||
const QMap<qint64, VPointF> *DataModelingPoints() const;
|
const QMap<qint64, VPointF> *DataModelingPoints() const;
|
||||||
|
@ -119,13 +119,13 @@ public:
|
||||||
const QMap<qint64, VSplinePath> *DataSplinePaths() const;
|
const QMap<qint64, VSplinePath> *DataSplinePaths() const;
|
||||||
const QMap<qint64, VSplinePath> *DataModelingSplinePaths() const;
|
const QMap<qint64, VSplinePath> *DataModelingSplinePaths() const;
|
||||||
const QMap<qint64, VDetail> *DataDetails() const;
|
const QMap<qint64, VDetail> *DataDetails() const;
|
||||||
void UpdateId(qint64 newId);
|
static void UpdateId(qint64 newId);
|
||||||
void IncrementReferens(qint64 id, Scene::Type obj, Draw::Mode mode = Draw::Calculation);
|
void IncrementReferens(qint64 id, Scene::Type obj, Draw::Mode mode = Draw::Calculation);
|
||||||
QPainterPath ContourPath(qint64 idDetail) const;
|
QPainterPath ContourPath(qint64 idDetail) const;
|
||||||
QPainterPath Equidistant(QVector<QPointF> points, const Detail::Equidistant &eqv,
|
QPainterPath Equidistant(QVector<QPointF> points, const Detail::Equidistant &eqv,
|
||||||
const qreal &width)const;
|
const qreal &width)const;
|
||||||
QLineF ParallelLine(const QLineF &line, qreal width ) const;
|
static QLineF ParallelLine(const QLineF &line, qreal width );
|
||||||
QPointF SingleParallelPoint(const QLineF &line, const qreal &angle, const qreal &width)const;
|
static QPointF SingleParallelPoint(const QLineF &line, const qreal &angle, const qreal &width);
|
||||||
QVector<QPointF> EkvPoint(const QLineF &line1, const QLineF &line2, const qreal &width)const;
|
QVector<QPointF> EkvPoint(const QLineF &line1, const QLineF &line2, const qreal &width)const;
|
||||||
void PrepareDetails(QVector<VItem*> & list)const;
|
void PrepareDetails(QVector<VItem*> & list)const;
|
||||||
private:
|
private:
|
||||||
|
@ -146,9 +146,10 @@ private:
|
||||||
QMap<qint64, VSplinePath> splinePaths;
|
QMap<qint64, VSplinePath> splinePaths;
|
||||||
QMap<qint64, VSplinePath> modelingSplinePaths;
|
QMap<qint64, VSplinePath> modelingSplinePaths;
|
||||||
QMap<qint64, VDetail> details;
|
QMap<qint64, VDetail> details;
|
||||||
template <typename key, typename val> val GetObject(const QMap<key,val> &obj, key id) const;
|
template <typename key, typename val> static val GetObject(const QMap<key,val> &obj, key id);
|
||||||
template <typename val> void UpdateObject(QMap<qint64, val> &obj, const qint64 &id, const val& point);
|
template <typename val> static void UpdateObject(QMap<qint64, val> &obj, const qint64 &id,
|
||||||
template <typename key, typename val> qint64 AddObject(QMap<key, val> &obj, const val& value);
|
const val& point);
|
||||||
|
template <typename key, typename val> static qint64 AddObject(QMap<key, val> &obj, const val& value);
|
||||||
void CreateManTableIGroup ();
|
void CreateManTableIGroup ();
|
||||||
QVector<QPointF> GetReversePoint(const QVector<QPointF> &points)const;
|
QVector<QPointF> GetReversePoint(const QVector<QPointF> &points)const;
|
||||||
qreal GetLengthContour(const QVector<QPointF> &contour, const QVector<QPointF> &newPoints)const;
|
qreal GetLengthContour(const QVector<QPointF> &contour, const QVector<QPointF> &newPoints)const;
|
||||||
|
|
|
@ -169,7 +169,7 @@ void DialogArc::F2Changed(){
|
||||||
|
|
||||||
void DialogArc::CheckState(){
|
void DialogArc::CheckState(){
|
||||||
Q_CHECK_PTR(bOk);
|
Q_CHECK_PTR(bOk);
|
||||||
bOk->setEnabled(flagRadius & flagF1 & flagF2);
|
bOk->setEnabled(flagRadius && flagF1 && flagF2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DialogArc::EvalRadius(){
|
void DialogArc::EvalRadius(){
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
#include "ui_dialogincrements.h"
|
#include "ui_dialogincrements.h"
|
||||||
#include <QHeaderView>
|
#include <QHeaderView>
|
||||||
#include <QCloseEvent>
|
#include <QCloseEvent>
|
||||||
#include "widgets/delegate.h"
|
|
||||||
#include "widgets/doubledelegate.h"
|
#include "widgets/doubledelegate.h"
|
||||||
#include "container/vincrementtablerow.h"
|
#include "container/vincrementtablerow.h"
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
#ifndef DIALOGINCREMENTS_H
|
#ifndef DIALOGINCREMENTS_H
|
||||||
#define DIALOGINCREMENTS_H
|
#define DIALOGINCREMENTS_H
|
||||||
|
|
||||||
#pragma GCC diagnostic push
|
|
||||||
#pragma GCC diagnostic ignored "-Weffc++"
|
|
||||||
#include "dialogtool.h"
|
#include "dialogtool.h"
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
#include "xml/vdomdocument.h"
|
#include "xml/vdomdocument.h"
|
||||||
|
|
|
@ -133,7 +133,7 @@ void DialogLineIntersect::P2Line2Changed(int index){
|
||||||
|
|
||||||
void DialogLineIntersect::CheckState(){
|
void DialogLineIntersect::CheckState(){
|
||||||
Q_CHECK_PTR(bOk);
|
Q_CHECK_PTR(bOk);
|
||||||
bOk->setEnabled(flagName & flagPoint);
|
bOk->setEnabled(flagName && flagPoint);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DialogLineIntersect::CheckIntersecion(){
|
bool DialogLineIntersect::CheckIntersecion(){
|
||||||
|
|
|
@ -175,7 +175,7 @@ qint64 DialogTool::getCurrentPointId(QComboBox *box) const{
|
||||||
|
|
||||||
void DialogTool::CheckState(){
|
void DialogTool::CheckState(){
|
||||||
Q_CHECK_PTR(bOk);
|
Q_CHECK_PTR(bOk);
|
||||||
bOk->setEnabled(flagFormula & flagName);
|
bOk->setEnabled(flagFormula && flagName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -82,7 +82,7 @@ protected:
|
||||||
void setCurrentPointId(QComboBox *box, qint64 &pointId, const qint64 &value, const qint64 &id) const;
|
void setCurrentPointId(QComboBox *box, qint64 &pointId, const qint64 &value, const qint64 &id) const;
|
||||||
qint64 getCurrentPointId(QComboBox *box) const;
|
qint64 getCurrentPointId(QComboBox *box) const;
|
||||||
DialogTool(const DialogTool &dialog);
|
DialogTool(const DialogTool &dialog);
|
||||||
const DialogTool &operator=(const DialogTool &dialog);
|
DialogTool &operator=(const DialogTool &dialog);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // DIALOGTOOL_H
|
#endif // DIALOGTOOL_H
|
||||||
|
|
|
@ -19,7 +19,7 @@ VArc::VArc(const VArc &arc): f1(arc.GetF1()), formulaF1(arc.GetFormulaF1()), f2(
|
||||||
idObject(arc.getIdObject()){
|
idObject(arc.getIdObject()){
|
||||||
}
|
}
|
||||||
|
|
||||||
const VArc &VArc::operator =(const VArc &arc){
|
VArc &VArc::operator =(const VArc &arc){
|
||||||
this->points = arc.GetDataPoints();
|
this->points = arc.GetDataPoints();
|
||||||
this->f1 = arc.GetF1();
|
this->f1 = arc.GetF1();
|
||||||
this->formulaF1 = arc.GetFormulaF1();
|
this->formulaF1 = arc.GetFormulaF1();
|
||||||
|
@ -29,6 +29,8 @@ const VArc &VArc::operator =(const VArc &arc){
|
||||||
this->formulaRadius = arc.GetFormulaRadius();
|
this->formulaRadius = arc.GetFormulaRadius();
|
||||||
this->center = arc.GetCenter();
|
this->center = arc.GetCenter();
|
||||||
this->mode = arc.getMode();
|
this->mode = arc.getMode();
|
||||||
|
this->_referens = 0;
|
||||||
|
this->idObject = arc.getIdObject();
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -168,8 +170,8 @@ QVector<QPointF> VArc::SplOfArc(qint32 number) const{
|
||||||
anglF2 = f2 - 90 ;
|
anglF2 = f2 - 90 ;
|
||||||
}
|
}
|
||||||
if ( i + 1 == number ){
|
if ( i + 1 == number ){
|
||||||
return VSpline::SplinePoints(GetP1 (), GetP2 (), anglF1, anglF2, 1., 1., 1.);
|
|
||||||
f1 = f2;
|
f1 = f2;
|
||||||
|
return VSpline::SplinePoints(GetP1 (), GetP2 (), anglF1, anglF2, 1., 1., 1.);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return QVector<QPointF>();
|
return QVector<QPointF>();
|
||||||
|
|
|
@ -27,7 +27,7 @@ public:
|
||||||
qreal f1, QString formulaF1, qreal f2 , QString formulaF2,
|
qreal f1, QString formulaF1, qreal f2 , QString formulaF2,
|
||||||
Draw::Mode mode = Draw::Calculation, qint64 idObject = 0);
|
Draw::Mode mode = Draw::Calculation, qint64 idObject = 0);
|
||||||
VArc(const VArc &arc);
|
VArc(const VArc &arc);
|
||||||
const VArc& operator= (const VArc &arc);
|
VArc& operator= (const VArc &arc);
|
||||||
/**
|
/**
|
||||||
* @brief GetF1 повертає початковий кут дуги.
|
* @brief GetF1 повертає початковий кут дуги.
|
||||||
* @return повертає кут в градусах.
|
* @return повертає кут в градусах.
|
||||||
|
|
|
@ -234,29 +234,29 @@ QLineF::IntersectType VSpline::CrossingSplLine ( const QLineF &line, QPointF *in
|
||||||
// CutSpline ( length, curFir, curSec );
|
// CutSpline ( length, curFir, curSec );
|
||||||
//}
|
//}
|
||||||
|
|
||||||
void VSpline::PutAlongSpl (QPointF &moveP, qreal move ) const{
|
//void VSpline::PutAlongSpl (QPointF &moveP, qreal move ) const{
|
||||||
if ( GetLength () < move ){
|
// if ( GetLength () < move ){
|
||||||
qDebug()<<"Довжина більше довжини сплайну.";
|
// qDebug()<<"Довжина більше довжини сплайну.";
|
||||||
qDebug()<<GetLength()<<"<"<<move;
|
// qDebug()<<GetLength()<<"<"<<move;
|
||||||
throw "Довжина більше довжини сплайну.";
|
// throw "Довжина більше довжини сплайну.";
|
||||||
}
|
// }
|
||||||
if ( move <= 0 ){
|
// if ( move <= 0 ){
|
||||||
qDebug()<<"Довжина менше дорівнює нулю.";
|
// qDebug()<<"Довжина менше дорівнює нулю.";
|
||||||
throw "Довжина менше дорівнює нулю.";
|
// throw "Довжина менше дорівнює нулю.";
|
||||||
}
|
// }
|
||||||
qreal t = 0;
|
// qreal t = 0;
|
||||||
if ( move == 0 ){
|
// if ( move == 0 ){
|
||||||
t = 0;
|
// t = 0;
|
||||||
} else {
|
// } else {
|
||||||
t = move / GetLength ();
|
// t = move / GetLength ();
|
||||||
moveP.setX ( pow ( 1 - t, 3 ) * GetPointP1 ().x () + 3 * t * pow ( 1 - t, 2 ) *
|
// moveP.setX ( pow ( 1 - t, 3 ) * GetPointP1 ().x () + 3 * t * pow ( 1 - t, 2 ) *
|
||||||
GetP2 ().x () + 3 * t * t * ( 1 - t ) * GetP3 ().x () +
|
// GetP2 ().x () + 3 * t * t * ( 1 - t ) * GetP3 ().x () +
|
||||||
pow ( t, 3 ) * GetPointP4 ().x () );
|
// pow ( t, 3 ) * GetPointP4 ().x () );
|
||||||
moveP.setY ( pow ( 1 - t, 3 ) * GetPointP1 ().y () + 3 * t * pow ( 1 - t, 2 ) *
|
// moveP.setY ( pow ( 1 - t, 3 ) * GetPointP1 ().y () + 3 * t * pow ( 1 - t, 2 ) *
|
||||||
GetP2 ().y () + 3 * t * t * ( 1 - t ) * GetP3 ().y () +
|
// GetP2 ().y () + 3 * t * t * ( 1 - t ) * GetP3 ().y () +
|
||||||
pow ( t, 3 ) * GetPointP4 ().y () );
|
// pow ( t, 3 ) * GetPointP4 ().y () );
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
|
||||||
QVector<QPointF> VSpline::GetPoints () const{
|
QVector<QPointF> VSpline::GetPoints () const{
|
||||||
return GetPoints(GetPointP1().toQPointF(), p2, p3, GetPointP4().toQPointF());
|
return GetPoints(GetPointP1().toQPointF(), p2, p3, GetPointP4().toQPointF());
|
||||||
|
@ -637,7 +637,7 @@ void VSpline::decrementReferens(){
|
||||||
2 - 1 real root + complex roots imaginary part is zero
|
2 - 1 real root + complex roots imaginary part is zero
|
||||||
(i.e. 2 real roots).
|
(i.e. 2 real roots).
|
||||||
*/
|
*/
|
||||||
qint32 VSpline::Cubic(qreal *x, qreal a, qreal b, qreal c)const{
|
qint32 VSpline::Cubic(qreal *x, qreal a, qreal b, qreal c){
|
||||||
qreal q,r,r2,q3;
|
qreal q,r,r2,q3;
|
||||||
|
|
||||||
q = (a*a - 3.*b)/9.;
|
q = (a*a - 3.*b)/9.;
|
||||||
|
@ -676,56 +676,56 @@ qint32 VSpline::Cubic(qreal *x, qreal a, qreal b, qreal c)const{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
qreal VSpline::calc_t (qreal curve_coord1, qreal curve_coord2, qreal curve_coord3,
|
//qreal VSpline::calc_t (qreal curve_coord1, qreal curve_coord2, qreal curve_coord3,
|
||||||
qreal curve_coord4, qreal point_coord) const{
|
// qreal curve_coord4, qreal point_coord) const{
|
||||||
qreal P1, P2, P3, P4, Bt;
|
// qreal P1, P2, P3, P4, Bt;
|
||||||
qreal a, b, c, d, ret_t;
|
// qreal a, b, c, d, ret_t;
|
||||||
|
|
||||||
qreal *t = static_cast<qreal *>(malloc(3*sizeof(qreal)));
|
// qreal *t = static_cast<qreal *>(malloc(3*sizeof(qreal)));
|
||||||
P1 = curve_coord1;
|
// P1 = curve_coord1;
|
||||||
P2 = curve_coord2;
|
// P2 = curve_coord2;
|
||||||
P3 = curve_coord3;
|
// P3 = curve_coord3;
|
||||||
P4 = curve_coord4;
|
// P4 = curve_coord4;
|
||||||
Bt = point_coord;
|
// Bt = point_coord;
|
||||||
|
|
||||||
a = -P1 + 3*P2 - 3*P3 + P4;
|
// a = -P1 + 3*P2 - 3*P3 + P4;
|
||||||
b = 3*P1 - 6*P2 + 3*P3;
|
// b = 3*P1 - 6*P2 + 3*P3;
|
||||||
c = -3*P1 + 3*P2;
|
// c = -3*P1 + 3*P2;
|
||||||
d = -Bt + P1;
|
// d = -Bt + P1;
|
||||||
|
|
||||||
if(Cubic(t, b/a, c/a, d/a) == 3){
|
// if(Cubic(t, b/a, c/a, d/a) == 3){
|
||||||
ret_t = t[2];
|
// ret_t = t[2];
|
||||||
} else {
|
// } else {
|
||||||
ret_t = t[0];
|
// ret_t = t[0];
|
||||||
}
|
// }
|
||||||
/*
|
// /*
|
||||||
* Повертається три значення, але експереминтально знайдено що шукане
|
// * Повертається три значення, але експереминтально знайдено що шукане
|
||||||
* значення знаходиться в третьому.
|
// * значення знаходиться в третьому.
|
||||||
*/
|
// */
|
||||||
|
|
||||||
free(t);
|
// free(t);
|
||||||
if(ret_t<0 || ret_t>1){
|
// if(ret_t<0 || ret_t>1){
|
||||||
qDebug()<<"Неправильне значення параметра. фунція calc_t";
|
// qDebug()<<"Неправильне значення параметра. фунція calc_t";
|
||||||
throw"Неправильне значення параметра. фунція calc_t";
|
// throw"Неправильне значення параметра. фунція calc_t";
|
||||||
}
|
// }
|
||||||
return ret_t;
|
// return ret_t;
|
||||||
}
|
//}
|
||||||
/*
|
/*
|
||||||
* Функція знаходить підходяще значення параметна t якому відповідає точка на сплайні.
|
* Функція знаходить підходяще значення параметна t якому відповідає точка на сплайні.
|
||||||
*/
|
*/
|
||||||
qreal VSpline::param_t (QPointF pBt)const{
|
//qreal VSpline::param_t (QPointF pBt)const{
|
||||||
qreal t_x, t_y;
|
// qreal t_x, t_y;
|
||||||
t_x = calc_t (GetPointP1().x(), p2.x(), p3.x(), GetPointP4().x(), pBt.x());
|
// t_x = calc_t (GetPointP1().x(), p2.x(), p3.x(), GetPointP4().x(), pBt.x());
|
||||||
t_y = calc_t (GetPointP1().y(), p2.y(), p3.y(), GetPointP4().y(), pBt.y());
|
// t_y = calc_t (GetPointP1().y(), p2.y(), p3.y(), GetPointP4().y(), pBt.y());
|
||||||
/*
|
// /*
|
||||||
* Порівнюємо значення по х і по у і визначаємо найбільше. Це значення і
|
// * Порівнюємо значення по х і по у і визначаємо найбільше. Це значення і
|
||||||
* буде шуканим.
|
// * буде шуканим.
|
||||||
*/
|
// */
|
||||||
if(t_x>t_y)
|
// if(t_x>t_y)
|
||||||
return t_x;
|
// return t_x;
|
||||||
else
|
// else
|
||||||
return t_y;
|
// return t_y;
|
||||||
}
|
//}
|
||||||
|
|
||||||
//void VSpline::Mirror(const QPointF Pmirror){
|
//void VSpline::Mirror(const QPointF Pmirror){
|
||||||
// QPointF P1 = p1;
|
// QPointF P1 = p1;
|
||||||
|
@ -779,7 +779,7 @@ void VSpline::setIdObject(const qint64 &value){
|
||||||
idObject = value;
|
idObject = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
const VSpline &VSpline::operator =(const VSpline &spline){
|
VSpline &VSpline::operator =(const VSpline &spline){
|
||||||
this->p1 = spline.GetP1 ();
|
this->p1 = spline.GetP1 ();
|
||||||
this->p2 = spline.GetP2 ();
|
this->p2 = spline.GetP2 ();
|
||||||
this->p3 = spline.GetP3 ();
|
this->p3 = spline.GetP3 ();
|
||||||
|
|
|
@ -143,7 +143,7 @@ public:
|
||||||
* @param moveP точка яка розміщується на сплайні.
|
* @param moveP точка яка розміщується на сплайні.
|
||||||
* @param move довжина від початку сплайну.
|
* @param move довжина від початку сплайну.
|
||||||
*/
|
*/
|
||||||
void PutAlongSpl ( QPointF &moveP, qreal move ) const;
|
// void PutAlongSpl ( QPointF &moveP, qreal move ) const;
|
||||||
/**
|
/**
|
||||||
* @brief GetPoints повертає точки з яких складається сплайн.
|
* @brief GetPoints повертає точки з яких складається сплайн.
|
||||||
* @return список точок.
|
* @return список точок.
|
||||||
|
@ -168,7 +168,7 @@ public:
|
||||||
qreal angle2, qreal kAsm1, qreal kAsm2, qreal kCurve);
|
qreal angle2, qreal kAsm1, qreal kAsm2, qreal kCurve);
|
||||||
qint64 getIdObject() const;
|
qint64 getIdObject() const;
|
||||||
void setIdObject(const qint64 &value);
|
void setIdObject(const qint64 &value);
|
||||||
const VSpline &operator=(const VSpline &spl);
|
VSpline &operator=(const VSpline &spl);
|
||||||
protected:
|
protected:
|
||||||
/**
|
/**
|
||||||
* @brief GetPoints повертає точки з яких складається сплайн.
|
* @brief GetPoints повертає точки з яких складається сплайн.
|
||||||
|
@ -254,7 +254,7 @@ private:
|
||||||
* @param c коефіцієнт.
|
* @param c коефіцієнт.
|
||||||
* @return повертає корені рівняння.
|
* @return повертає корені рівняння.
|
||||||
*/
|
*/
|
||||||
qint32 Cubic(qreal *x, qreal a, qreal b, qreal c)const;
|
static qint32 Cubic(qreal *x, qreal a, qreal b, qreal c);
|
||||||
/**
|
/**
|
||||||
* @brief calc_t знаходить параметр t якому відповідає точка на сплайні.
|
* @brief calc_t знаходить параметр t якому відповідає точка на сплайні.
|
||||||
* @param curve_coord1 координата Х або У кривої.
|
* @param curve_coord1 координата Х або У кривої.
|
||||||
|
@ -264,14 +264,14 @@ private:
|
||||||
* @param point_coord координата Х або У точки на кривій.
|
* @param point_coord координата Х або У точки на кривій.
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
qreal calc_t (qreal curve_coord1, qreal curve_coord2, qreal curve_coord3,
|
// static qreal calc_t (qreal curve_coord1, qreal curve_coord2, qreal curve_coord3,
|
||||||
qreal curve_coord4, qreal point_coord)const;
|
// qreal curve_coord4, qreal point_coord)const;
|
||||||
/**
|
/**
|
||||||
* @brief param_t знаходить підходяще значення параметра t якому відповідає точка на сплайні
|
* @brief param_t знаходить підходяще значення параметра t якому відповідає точка на сплайні
|
||||||
* @param pBt точка для якої шукається значення параметра t.
|
* @param pBt точка для якої шукається значення параметра t.
|
||||||
* @return підходяще значення t.
|
* @return підходяще значення t.
|
||||||
*/
|
*/
|
||||||
qreal param_t (QPointF pBt)const;
|
// qreal param_t (QPointF pBt)const;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // VSPLINE_H
|
#endif // VSPLINE_H
|
||||||
|
|
|
@ -101,14 +101,14 @@ void VSplinePath::UpdatePoint(qint32 indexSpline, SplinePoint::Position pos, VSp
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
VSplinePoint VSplinePath::GetSplinePoint(qint32 indexSpline, SplinePoint::Position pos){
|
VSplinePoint VSplinePath::GetSplinePoint(qint32 indexSpline, SplinePoint::Position pos) const{
|
||||||
if(indexSpline < 1 || indexSpline > Count()){
|
if(indexSpline < 1 || indexSpline > Count()){
|
||||||
throw "Такого сплайну немає.";
|
throw "Такого сплайну немає.";
|
||||||
}
|
}
|
||||||
if(pos == SplinePoint::FirstPoint){
|
if(pos == SplinePoint::FirstPoint){
|
||||||
return path[indexSpline-1];
|
return path.at(indexSpline-1);
|
||||||
} else {
|
} else {
|
||||||
return path[indexSpline];
|
return path.at(indexSpline);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,6 +133,8 @@ VSplinePath &VSplinePath::operator =(const VSplinePath &path){
|
||||||
this->kCurve = path.getKCurve();
|
this->kCurve = path.getKCurve();
|
||||||
this->mode = path.getMode();
|
this->mode = path.getMode();
|
||||||
this->points = path.GetDataPoints();
|
this->points = path.GetDataPoints();
|
||||||
|
this->_referens = 0;
|
||||||
|
this->idObject = path.getIdObject();
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ public:
|
||||||
qreal GetLength() const;
|
qreal GetLength() const;
|
||||||
const QMap<qint64, VPointF> *GetDataPoints() const;
|
const QMap<qint64, VPointF> *GetDataPoints() const;
|
||||||
void UpdatePoint(qint32 indexSpline, SplinePoint::Position pos, VSplinePoint point);
|
void UpdatePoint(qint32 indexSpline, SplinePoint::Position pos, VSplinePoint point);
|
||||||
VSplinePoint GetSplinePoint(qint32 indexSpline, SplinePoint::Position pos);
|
VSplinePoint GetSplinePoint(qint32 indexSpline, SplinePoint::Position pos) const;
|
||||||
/**
|
/**
|
||||||
* @brief Clear очищає шлях сплайнів.
|
* @brief Clear очищає шлях сплайнів.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -88,7 +88,6 @@ void MainWindow::ActionNewDraw(){
|
||||||
dlg->resize(300,100);
|
dlg->resize(300,100);
|
||||||
dlg->setTextValue(nDraw);
|
dlg->setTextValue(nDraw);
|
||||||
while(1){
|
while(1){
|
||||||
bOk = false;
|
|
||||||
bOk = dlg->exec();
|
bOk = dlg->exec();
|
||||||
nameDraw = dlg->textValue();
|
nameDraw = dlg->textValue();
|
||||||
if(!bOk || nameDraw.isEmpty()){
|
if(!bOk || nameDraw.isEmpty()){
|
||||||
|
@ -145,7 +144,6 @@ void MainWindow::OptionDraw(){
|
||||||
dlg->resize(300,100);
|
dlg->resize(300,100);
|
||||||
dlg->setTextValue(nDraw);
|
dlg->setTextValue(nDraw);
|
||||||
while(1){
|
while(1){
|
||||||
bOk = false;
|
|
||||||
bOk = dlg->exec();
|
bOk = dlg->exec();
|
||||||
nameDraw = dlg->textValue();
|
nameDraw = dlg->textValue();
|
||||||
if(!bOk || nameDraw.isEmpty()){
|
if(!bOk || nameDraw.isEmpty()){
|
||||||
|
|
|
@ -8,7 +8,7 @@ VToolLinePoint::VToolLinePoint(VDomDocument *doc, VContainer *data, const qint64
|
||||||
//Лінія, що з'єднує дві точки
|
//Лінія, що з'єднує дві точки
|
||||||
QPointF point1 = data->GetPoint(basePointId).toQPointF();
|
QPointF point1 = data->GetPoint(basePointId).toQPointF();
|
||||||
QPointF point2 = data->GetPoint(id).toQPointF();
|
QPointF point2 = data->GetPoint(id).toQPointF();
|
||||||
mainLine = new QGraphicsLineItem(QLineF(point1 - point2, point2 - point2), this);
|
mainLine = new QGraphicsLineItem(QLineF(point1 - point2, 0), this);
|
||||||
mainLine->setPen(QPen(Qt::black, widthHairLine));
|
mainLine->setPen(QPen(Qt::black, widthHairLine));
|
||||||
mainLine->setFlag(QGraphicsItem::ItemStacksBehindParent, true);
|
mainLine->setFlag(QGraphicsItem::ItemStacksBehindParent, true);
|
||||||
if(typeLine == "none"){
|
if(typeLine == "none"){
|
||||||
|
@ -32,7 +32,7 @@ void VToolLinePoint::RefreshGeometry(){
|
||||||
VToolPoint::RefreshPointGeometry(VDrawTool::data.GetPoint(id));
|
VToolPoint::RefreshPointGeometry(VDrawTool::data.GetPoint(id));
|
||||||
QPointF point = VDrawTool::data.GetPoint(id).toQPointF();
|
QPointF point = VDrawTool::data.GetPoint(id).toQPointF();
|
||||||
QPointF basePoint = VDrawTool::data.GetPoint(basePointId).toQPointF();
|
QPointF basePoint = VDrawTool::data.GetPoint(basePointId).toQPointF();
|
||||||
mainLine->setLine(QLineF(basePoint - point, point - point));
|
mainLine->setLine(QLineF(basePoint - point, 0));
|
||||||
if(typeLine == "none"){
|
if(typeLine == "none"){
|
||||||
mainLine->setVisible(false);
|
mainLine->setVisible(false);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -8,7 +8,7 @@ VModelingLinePoint::VModelingLinePoint(VDomDocument *doc, VContainer *data, cons
|
||||||
//Лінія, що з'єднує дві точки
|
//Лінія, що з'єднує дві точки
|
||||||
QPointF point1 = data->GetModelingPoint(basePointId).toQPointF();
|
QPointF point1 = data->GetModelingPoint(basePointId).toQPointF();
|
||||||
QPointF point2 = data->GetModelingPoint(id).toQPointF();
|
QPointF point2 = data->GetModelingPoint(id).toQPointF();
|
||||||
mainLine = new QGraphicsLineItem(QLineF(point1 - point2, point2 - point2), this);
|
mainLine = new QGraphicsLineItem(QLineF(point1 - point2, 0), this);
|
||||||
mainLine->setPen(QPen(Qt::black, widthHairLine));
|
mainLine->setPen(QPen(Qt::black, widthHairLine));
|
||||||
mainLine->setFlag(QGraphicsItem::ItemStacksBehindParent, true);
|
mainLine->setFlag(QGraphicsItem::ItemStacksBehindParent, true);
|
||||||
if(typeLine == "none"){
|
if(typeLine == "none"){
|
||||||
|
@ -22,7 +22,7 @@ void VModelingLinePoint::RefreshGeometry(){
|
||||||
VModelingPoint::RefreshPointGeometry(VModelingTool::data.GetModelingPoint(id));
|
VModelingPoint::RefreshPointGeometry(VModelingTool::data.GetModelingPoint(id));
|
||||||
QPointF point = VModelingTool::data.GetModelingPoint(id).toQPointF();
|
QPointF point = VModelingTool::data.GetModelingPoint(id).toQPointF();
|
||||||
QPointF basePoint = VModelingTool::data.GetModelingPoint(basePointId).toQPointF();
|
QPointF basePoint = VModelingTool::data.GetModelingPoint(basePointId).toQPointF();
|
||||||
mainLine->setLine(QLineF(basePoint - point, point - point));
|
mainLine->setLine(QLineF(basePoint - point, 0));
|
||||||
if(typeLine == "none"){
|
if(typeLine == "none"){
|
||||||
mainLine->setVisible(false);
|
mainLine->setVisible(false);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -15,7 +15,7 @@ VNodeArc::VNodeArc(VDomDocument *doc, VContainer *data, qint64 id, qint64 idArc,
|
||||||
|
|
||||||
VNodeArc *VNodeArc::Create(VDomDocument *doc, VContainer *data, qint64 id, qint64 idArc,
|
VNodeArc *VNodeArc::Create(VDomDocument *doc, VContainer *data, qint64 id, qint64 idArc,
|
||||||
Draw::Mode typeobject, Document::Enum parse, Tool::Enum typeCreation){
|
Draw::Mode typeobject, Document::Enum parse, Tool::Enum typeCreation){
|
||||||
VNodeArc *arc;
|
VNodeArc *arc = 0;
|
||||||
if(parse == Document::FullParse){
|
if(parse == Document::FullParse){
|
||||||
arc = new VNodeArc(doc, data, id, idArc, typeobject, typeCreation);
|
arc = new VNodeArc(doc, data, id, idArc, typeobject, typeCreation);
|
||||||
doc->AddTool(id, arc);
|
doc->AddTool(id, arc);
|
||||||
|
|
|
@ -20,7 +20,7 @@ VNodePoint::VNodePoint(VDomDocument *doc, VContainer *data, qint64 id, qint64 id
|
||||||
|
|
||||||
VNodePoint *VNodePoint::Create(VDomDocument *doc, VContainer *data, qint64 id, qint64 idPoint,
|
VNodePoint *VNodePoint::Create(VDomDocument *doc, VContainer *data, qint64 id, qint64 idPoint,
|
||||||
Draw::Mode typeobject, Document::Enum parse, Tool::Enum typeCreation){
|
Draw::Mode typeobject, Document::Enum parse, Tool::Enum typeCreation){
|
||||||
VNodePoint *point;
|
VNodePoint *point = 0;
|
||||||
if(parse == Document::FullParse){
|
if(parse == Document::FullParse){
|
||||||
point = new VNodePoint(doc, data, id, idPoint, typeobject, typeCreation);
|
point = new VNodePoint(doc, data, id, idPoint, typeobject, typeCreation);
|
||||||
doc->AddTool(id, point);
|
doc->AddTool(id, point);
|
||||||
|
|
|
@ -15,7 +15,7 @@ VNodeSpline::VNodeSpline(VDomDocument *doc, VContainer *data, qint64 id, qint64
|
||||||
|
|
||||||
VNodeSpline *VNodeSpline::Create(VDomDocument *doc, VContainer *data, qint64 id, qint64 idSpline,
|
VNodeSpline *VNodeSpline::Create(VDomDocument *doc, VContainer *data, qint64 id, qint64 idSpline,
|
||||||
Draw::Mode typeobject, Document::Enum parse, Tool::Enum typeCreation){
|
Draw::Mode typeobject, Document::Enum parse, Tool::Enum typeCreation){
|
||||||
VNodeSpline *spl;
|
VNodeSpline *spl = 0;
|
||||||
if(parse == Document::FullParse){
|
if(parse == Document::FullParse){
|
||||||
spl = new VNodeSpline(doc, data, id, idSpline, typeobject, typeCreation);
|
spl = new VNodeSpline(doc, data, id, idSpline, typeobject, typeCreation);
|
||||||
doc->AddTool(id, spl);
|
doc->AddTool(id, spl);
|
||||||
|
|
|
@ -17,7 +17,7 @@ VNodeSplinePath::VNodeSplinePath(VDomDocument *doc, VContainer *data, qint64 id,
|
||||||
VNodeSplinePath *VNodeSplinePath::Create(VDomDocument *doc, VContainer *data, qint64 id,
|
VNodeSplinePath *VNodeSplinePath::Create(VDomDocument *doc, VContainer *data, qint64 id,
|
||||||
qint64 idSpline, Draw::Mode typeobject, Document::Enum parse,
|
qint64 idSpline, Draw::Mode typeobject, Document::Enum parse,
|
||||||
Tool::Enum typeCreation){
|
Tool::Enum typeCreation){
|
||||||
VNodeSplinePath *splPath;
|
VNodeSplinePath *splPath = 0;
|
||||||
if(parse == Document::FullParse){
|
if(parse == Document::FullParse){
|
||||||
splPath = new VNodeSplinePath(doc, data, id, idSpline, typeobject, typeCreation);
|
splPath = new VNodeSplinePath(doc, data, id, idSpline, typeobject, typeCreation);
|
||||||
doc->AddTool(id, splPath);
|
doc->AddTool(id, splPath);
|
||||||
|
|
|
@ -7,7 +7,7 @@ VDataTool::VDataTool(VContainer *data, QObject *parent) :
|
||||||
VDataTool::~VDataTool(){
|
VDataTool::~VDataTool(){
|
||||||
}
|
}
|
||||||
|
|
||||||
const VDataTool &VDataTool::operator =(const VDataTool &tool){
|
VDataTool &VDataTool::operator =(const VDataTool &tool){
|
||||||
data = tool.getData();
|
data = tool.getData();
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ class VDataTool : public QObject
|
||||||
public:
|
public:
|
||||||
explicit VDataTool(VContainer *data, QObject *parent = 0);
|
explicit VDataTool(VContainer *data, QObject *parent = 0);
|
||||||
virtual ~VDataTool();
|
virtual ~VDataTool();
|
||||||
const VDataTool& operator= (const VDataTool &tool);
|
VDataTool& operator= (const VDataTool &tool);
|
||||||
VContainer getData() const;
|
VContainer getData() const;
|
||||||
void setData(const VContainer *value);
|
void setData(const VContainer *value);
|
||||||
|
|
||||||
|
|
|
@ -45,14 +45,8 @@
|
||||||
using a spin box widget.
|
using a spin box widget.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma GCC diagnostic push
|
#include <QtGui>
|
||||||
#pragma GCC diagnostic ignored "-Weffc++"
|
#include "delegate.h"
|
||||||
#pragma GCC diagnostic ignored "-Wconversion"
|
|
||||||
#pragma GCC diagnostic ignored "-Wsign-conversion"
|
|
||||||
#pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
|
|
||||||
#include <QtGui>
|
|
||||||
#include "delegate.h"
|
|
||||||
#pragma GCC diagnostic pop
|
|
||||||
|
|
||||||
SpinBoxDelegate::SpinBoxDelegate(QObject *parent)
|
SpinBoxDelegate::SpinBoxDelegate(QObject *parent)
|
||||||
: QItemDelegate(parent)
|
: QItemDelegate(parent)
|
||||||
|
|
|
@ -1,74 +0,0 @@
|
||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
|
|
||||||
** Contact: http://www.qt-project.org/legal
|
|
||||||
**
|
|
||||||
** This file is part of the examples of the Qt Toolkit.
|
|
||||||
**
|
|
||||||
** $QT_BEGIN_LICENSE:BSD$
|
|
||||||
** You may use this file under the terms of the BSD license as follows:
|
|
||||||
**
|
|
||||||
** "Redistribution and use in source and binary forms, with or without
|
|
||||||
** modification, are permitted provided that the following conditions are
|
|
||||||
** met:
|
|
||||||
** * Redistributions of source code must retain the above copyright
|
|
||||||
** notice, this list of conditions and the following disclaimer.
|
|
||||||
** * Redistributions in binary form must reproduce the above copyright
|
|
||||||
** notice, this list of conditions and the following disclaimer in
|
|
||||||
** the documentation and/or other materials provided with the
|
|
||||||
** distribution.
|
|
||||||
** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
|
|
||||||
** of its contributors may be used to endorse or promote products derived
|
|
||||||
** from this software without specific prior written permission.
|
|
||||||
**
|
|
||||||
**
|
|
||||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
||||||
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
||||||
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
||||||
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
||||||
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
|
||||||
**
|
|
||||||
** $QT_END_LICENSE$
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#ifndef DELEGATE_H
|
|
||||||
#define DELEGATE_H
|
|
||||||
|
|
||||||
#pragma GCC diagnostic push
|
|
||||||
#pragma GCC diagnostic ignored "-Weffc++"
|
|
||||||
#pragma GCC diagnostic ignored "-Wconversion"
|
|
||||||
#pragma GCC diagnostic ignored "-Wsign-conversion"
|
|
||||||
#pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
|
|
||||||
#include <QItemDelegate>
|
|
||||||
#include <QModelIndex>
|
|
||||||
#include <QObject>
|
|
||||||
#include <QSize>
|
|
||||||
#include <QSpinBox>
|
|
||||||
#pragma GCC diagnostic pop
|
|
||||||
|
|
||||||
class SpinBoxDelegate : public QItemDelegate
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
SpinBoxDelegate(QObject *parent = 0);
|
|
||||||
|
|
||||||
QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,
|
|
||||||
const QModelIndex &index) const;
|
|
||||||
|
|
||||||
void setEditorData(QWidget *editor, const QModelIndex &index) const;
|
|
||||||
void setModelData(QWidget *editor, QAbstractItemModel *model,
|
|
||||||
const QModelIndex &index) const;
|
|
||||||
|
|
||||||
void updateEditorGeometry(QWidget *editor,
|
|
||||||
const QStyleOptionViewItem &option, const QModelIndex &index) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -45,14 +45,8 @@
|
||||||
using a spin box widget.
|
using a spin box widget.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma GCC diagnostic push
|
#include <QtGui>
|
||||||
#pragma GCC diagnostic ignored "-Weffc++"
|
#include "doubledelegate.h"
|
||||||
#pragma GCC diagnostic ignored "-Wconversion"
|
|
||||||
#pragma GCC diagnostic ignored "-Wsign-conversion"
|
|
||||||
#pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
|
|
||||||
#include <QtGui>
|
|
||||||
#include "doubledelegate.h"
|
|
||||||
#pragma GCC diagnostic pop
|
|
||||||
|
|
||||||
DoubleSpinBoxDelegate::DoubleSpinBoxDelegate(QObject *parent)
|
DoubleSpinBoxDelegate::DoubleSpinBoxDelegate(QObject *parent)
|
||||||
: QItemDelegate(parent)
|
: QItemDelegate(parent)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user