From 3b908ae3285bbc7ec20ca4d1f8d8534f2d3ff507 Mon Sep 17 00:00:00 2001 From: dismine Date: Sun, 27 Oct 2013 10:10:39 +0200 Subject: [PATCH] Refactoring. --HG-- branch : develop --- widgets/doubledelegate.cpp | 63 +++++++++++++---------------- widgets/doubledelegate.h | 21 +++------- widgets/vapplication.cpp | 6 --- widgets/vapplication.h | 7 ++-- widgets/vcontrolpointspline.cpp | 4 -- widgets/vcontrolpointspline.h | 39 +++++++++--------- widgets/vgraphicssimpletextitem.cpp | 3 -- widgets/vitem.cpp | 14 ------- widgets/vitem.h | 20 ++++----- widgets/vmaingraphicsscene.cpp | 24 ----------- widgets/vmaingraphicsscene.h | 44 +++++++++----------- widgets/vmaingraphicsview.cpp | 4 -- widgets/vtablegraphicsview.cpp | 17 -------- widgets/vtablegraphicsview.h | 30 +++++++------- 14 files changed, 98 insertions(+), 198 deletions(-) diff --git a/widgets/doubledelegate.cpp b/widgets/doubledelegate.cpp index c1f5ba564..612f38b5a 100644 --- a/widgets/doubledelegate.cpp +++ b/widgets/doubledelegate.cpp @@ -45,40 +45,35 @@ using a spin box widget. */ -#include #include "doubledelegate.h" - DoubleSpinBoxDelegate::DoubleSpinBoxDelegate(QObject *parent) - : QItemDelegate(parent) - { - } - - QWidget *DoubleSpinBoxDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &/* option */, - const QModelIndex &/* index */) const{ - QDoubleSpinBox *editor = new QDoubleSpinBox(parent); - editor->setMinimum(-10000.0); - editor->setMaximum(10000.0); - - return editor; - } - - void DoubleSpinBoxDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const{ - qreal value = index.model()->data(index, Qt::EditRole).toDouble(); - - QDoubleSpinBox *spinBox = static_cast(editor); - spinBox->setValue(value); - } - - void DoubleSpinBoxDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, - const QModelIndex &index) const{ - QDoubleSpinBox *spinBox = static_cast(editor); - spinBox->interpretText(); - qreal value = spinBox->value(); - - model->setData(index, value, Qt::EditRole); - } - - void DoubleSpinBoxDelegate::updateEditorGeometry(QWidget *editor, - const QStyleOptionViewItem &option, const QModelIndex &/* index */) const{ - editor->setGeometry(option.rect); +QWidget *DoubleSpinBoxDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, + const QModelIndex &index ) const{ + Q_UNUSED(option); + Q_UNUSED(index); + QDoubleSpinBox *editor = new QDoubleSpinBox(parent); + editor->setMinimum(-10000.0); + editor->setMaximum(10000.0); + return editor; +} + +void DoubleSpinBoxDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const{ + qreal value = index.model()->data(index, Qt::EditRole).toDouble(); + + QDoubleSpinBox *spinBox = static_cast(editor); + spinBox->setValue(value); +} + +void DoubleSpinBoxDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const{ + QDoubleSpinBox *spinBox = static_cast(editor); + spinBox->interpretText(); + qreal value = spinBox->value(); + + model->setData(index, value, Qt::EditRole); +} + +void DoubleSpinBoxDelegate::updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, + const QModelIndex &index) const{ + Q_UNUSED(index) + editor->setGeometry(option.rect); } diff --git a/widgets/doubledelegate.h b/widgets/doubledelegate.h index a86b54f63..a4c7a536e 100644 --- a/widgets/doubledelegate.h +++ b/widgets/doubledelegate.h @@ -42,26 +42,15 @@ #define DOUBLEDELEGATE_H #include -#include -#include -#include -#include class DoubleSpinBoxDelegate : public QItemDelegate{ Q_OBJECT - public: - DoubleSpinBoxDelegate(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; + DoubleSpinBoxDelegate(QObject *parent = 0): QItemDelegate(parent){} + 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 diff --git a/widgets/vapplication.cpp b/widgets/vapplication.cpp index c522e8636..e78345d00 100644 --- a/widgets/vapplication.cpp +++ b/widgets/vapplication.cpp @@ -20,18 +20,12 @@ ****************************************************************************/ #include "vapplication.h" -#include -#include #include "exception/vexceptionobjecterror.h" #include "exception/vexceptionbadid.h" #include "exception/vexceptionconversionerror.h" #include "exception/vexceptionemptyparameter.h" #include "exception/vexceptionwrongparameterid.h" -VApplication::VApplication(int & argc, char ** argv) : - QApplication(argc, argv){ -} - // reimplemented from QApplication so we can throw exceptions in slots bool VApplication::notify(QObject *receiver, QEvent *event){ try { diff --git a/widgets/vapplication.h b/widgets/vapplication.h index 80d3f516c..3192cb658 100644 --- a/widgets/vapplication.h +++ b/widgets/vapplication.h @@ -3,12 +3,11 @@ #include -class VApplication : public QApplication -{ +class VApplication : public QApplication{ Q_OBJECT public: - VApplication(int &argc, char ** argv); - virtual ~VApplication() { } + VApplication(int &argc, char ** argv): QApplication(argc, argv){} + virtual ~VApplication() {} virtual bool notify(QObject * receiver, QEvent * event); }; diff --git a/widgets/vcontrolpointspline.cpp b/widgets/vcontrolpointspline.cpp index fceaac561..8daf75079 100644 --- a/widgets/vcontrolpointspline.cpp +++ b/widgets/vcontrolpointspline.cpp @@ -20,10 +20,6 @@ ****************************************************************************/ #include "vcontrolpointspline.h" -#include -#include -#include -#include VControlPointSpline::VControlPointSpline(const qint32 &indexSpline, SplinePoint::Position position, const QPointF &controlPoint, const QPointF &splinePoint, diff --git a/widgets/vcontrolpointspline.h b/widgets/vcontrolpointspline.h index 231f8220a..977d246e0 100644 --- a/widgets/vcontrolpointspline.h +++ b/widgets/vcontrolpointspline.h @@ -23,38 +23,35 @@ #define VCONTROLPOINTSPLINE_H #include -#include #include #include "geometry/vsplinepath.h" -class VControlPointSpline : public QObject, public QGraphicsEllipseItem -{ +class VControlPointSpline : public QObject, public QGraphicsEllipseItem{ Q_OBJECT public: - VControlPointSpline(const qint32 &indexSpline, SplinePoint::Position position, - const QPointF &controlPoint, const QPointF &splinePoint, - QGraphicsItem * parent = 0); + VControlPointSpline(const qint32 &indexSpline, SplinePoint::Position position, + const QPointF &controlPoint, const QPointF &splinePoint, + QGraphicsItem * parent = 0); signals: - void ControlPointChangePosition(const qint32 &indexSpline, SplinePoint::Position position, - const QPointF pos); + void ControlPointChangePosition(const qint32 &indexSpline, SplinePoint::Position position, + const QPointF pos); public slots: - void RefreshLine(const qint32 &indexSpline, SplinePoint::Position pos, - const QPointF &controlPoint, const QPointF &splinePoint); - void setEnabledPoint(bool enable); + void RefreshLine(const qint32 &indexSpline, SplinePoint::Position pos, const QPointF &controlPoint, + const QPointF &splinePoint); + void setEnabledPoint(bool enable); protected: - qreal radius; - QGraphicsLineItem *controlLine; - virtual void hoverMoveEvent ( QGraphicsSceneHoverEvent * event ); - virtual void hoverLeaveEvent ( QGraphicsSceneHoverEvent * event ); - QVariant itemChange ( GraphicsItemChange change, const QVariant &value ); + qreal radius; + QGraphicsLineItem *controlLine; + virtual void hoverMoveEvent ( QGraphicsSceneHoverEvent * event ); + virtual void hoverLeaveEvent ( QGraphicsSceneHoverEvent * event ); + QVariant itemChange ( GraphicsItemChange change, const QVariant &value ); private: Q_DISABLE_COPY(VControlPointSpline) - qint32 indexSpline; + qint32 indexSpline; SplinePoint::Position position; - qint32 LineIntersectCircle(QPointF center, qreal radius, QLineF line, QPointF &p1, - QPointF &p2) const; - QPointF ClosestPoint(QLineF line, QPointF p) const; - QPointF addVector (QPointF p, QPointF p1, QPointF p2, qreal k) const; + qint32 LineIntersectCircle(QPointF center, qreal radius, QLineF line, QPointF &p1, QPointF &p2) const; + QPointF ClosestPoint(QLineF line, QPointF p) const; + QPointF addVector (QPointF p, QPointF p1, QPointF p2, qreal k) const; }; diff --git a/widgets/vgraphicssimpletextitem.cpp b/widgets/vgraphicssimpletextitem.cpp index 6522aa093..d0b9bb3f7 100644 --- a/widgets/vgraphicssimpletextitem.cpp +++ b/widgets/vgraphicssimpletextitem.cpp @@ -20,9 +20,6 @@ ****************************************************************************/ #include "vgraphicssimpletextitem.h" -#include -#include -#include VGraphicsSimpleTextItem::VGraphicsSimpleTextItem(QGraphicsItem * parent):QGraphicsSimpleTextItem(parent), fontSize(0){ diff --git a/widgets/vitem.cpp b/widgets/vitem.cpp index 917bd26ae..4f4b58f4a 100644 --- a/widgets/vitem.cpp +++ b/widgets/vitem.cpp @@ -20,16 +20,6 @@ ****************************************************************************/ #include "vitem.h" -#include -#include -#include "options.h" - -VItem::VItem():numInOutList(0){ -} - -VItem::VItem ( int numInList, QGraphicsItem * parent ):QGraphicsPathItem ( parent ), - numInOutList(numInList){ -} VItem::VItem (const QPainterPath & path, int numInList, QGraphicsItem * parent ): QGraphicsPathItem ( path, parent ), numInOutList(numInList){ @@ -77,7 +67,3 @@ QVariant VItem::itemChange( GraphicsItemChange change, const QVariant &value ){ void VItem::LengthChanged(){ checkItemChange(); } - -void VItem::SetIndexInList( qint32 index ){ - numInOutList = index; -} diff --git a/widgets/vitem.h b/widgets/vitem.h index 1b8e9e12b..7317bb315 100644 --- a/widgets/vitem.h +++ b/widgets/vitem.h @@ -35,14 +35,14 @@ public: * @brief VItem конструктор за замовчуванням *Конструктор генерує пусту деталь з номером в списку, що дорівнює 0. */ - VItem (); + VItem ():numInOutList(0){} /** * @brief VItem конструктор * @param numInList номер в списку деталей, що передається у вікно де *укладаються деталі. * @param parent батьківський об'єкт на сцені для даного. За замовчуванням немає. */ - VItem (int numInList, QGraphicsItem * parent = 0); + VItem (int numInList, QGraphicsItem * parent = 0):QGraphicsPathItem (parent), numInOutList(numInList){} /** * @brief VItem конструктор * @param path зображення що буде показуватися на сцені - об’єкт класу QPainterPath. @@ -50,22 +50,22 @@ public: *укладаються деталі. * @param parent батьківський об'єкт на сцені для даного. За замовчуванням немає. */ - VItem ( const QPainterPath & path, int numInList, QGraphicsItem * parent = 0 ); + VItem ( const QPainterPath & path, int numInList, QGraphicsItem * parent = 0 ); /** * @brief Rotate повертає об'єкт на кут в градусах * @param angle кут в градусах на який повертається деталь. */ - void Rotate ( qreal angle ); + void Rotate ( qreal angle ); public slots: /** * @brief LengthChanged слот який обробляє сигнал зміни довжини листа. */ - void LengthChanged(); + void LengthChanged(); /** * @brief SetIndexInList встановлює номер деталі в списку деталей. * @param index номер в списку. */ - void SetIndexInList( qint32 index ); + inline void SetIndexInList( qint32 index ) {numInOutList = index;} protected: /** * @brief itemChange модифікація стандартного методу itemChange. Виконується перехоплення зміни @@ -74,12 +74,12 @@ protected: * @param value * @return */ - QVariant itemChange ( GraphicsItemChange change, const QVariant &value ); + QVariant itemChange ( GraphicsItemChange change, const QVariant &value ); /** * @brief checkItemChange перевіряє вихід деталі за рамки листа і факт колізії. Посилає відповідні *сигнали. */ - void checkItemChange (); + void checkItemChange (); private: /** * @brief numInOutList для зберігання інформації про колізії від кожної деталі необхідно знати її @@ -92,13 +92,13 @@ signals: * @param numInOutList номер деталі яка вийшла за межі листа або тепер знаходиться в межах листа. * @param flag був вихід чи ні. */ - void itemOut ( int numInOutList, bool flag ); + void itemOut ( int numInOutList, bool flag ); /** * @brief itemColliding сигнал колізії деталі з іншими. Посилається як для додавання деталі до *списку тих що перетинаються, так і для виключення його з такого. * @param list список усіх деталей які приймають участь в колізії включаючи самого себе. * @param number 1 - перетин є, 0 - перетину немає. */ - void itemColliding ( QList list, int number ); + void itemColliding ( QList list, int number ); }; #endif // VITEM_H diff --git a/widgets/vmaingraphicsscene.cpp b/widgets/vmaingraphicsscene.cpp index 3f9e932b0..d81f3c53e 100644 --- a/widgets/vmaingraphicsscene.cpp +++ b/widgets/vmaingraphicsscene.cpp @@ -20,10 +20,6 @@ ****************************************************************************/ #include "vmaingraphicsscene.h" -#include -#include -#include -#include VMainGraphicsScene::VMainGraphicsScene():QGraphicsScene(), horScrollBar(0), verScrollBar(0), scaleFactor(1){ } @@ -46,27 +42,7 @@ void VMainGraphicsScene::ChoosedItem(qint64 id, Scene::Scenes type){ emit ChoosedObject(id, type); } -void VMainGraphicsScene::RemoveTool(QGraphicsItem *tool){ - this->removeItem(tool); -} - void VMainGraphicsScene::SetFactor(qreal factor){ scaleFactor=scaleFactor*factor; emit NewFactor(scaleFactor); } - -qint32 VMainGraphicsScene::getVerScrollBar() const{ - return verScrollBar; -} - -void VMainGraphicsScene::setVerScrollBar(const qint32 &value){ - verScrollBar = value; -} - -qint32 VMainGraphicsScene::getHorScrollBar() const{ - return horScrollBar; -} - -void VMainGraphicsScene::setHorScrollBar(const qint32 &value){ - horScrollBar = value; -} diff --git a/widgets/vmaingraphicsscene.h b/widgets/vmaingraphicsscene.h index 5acf6d555..ecf28a06d 100644 --- a/widgets/vmaingraphicsscene.h +++ b/widgets/vmaingraphicsscene.h @@ -23,38 +23,32 @@ #define VMAINGRAPHICSSCENE_H #include -#include -#include -#include "options.h" -class VMainGraphicsScene : public QGraphicsScene -{ +class VMainGraphicsScene : public QGraphicsScene{ Q_OBJECT public: - VMainGraphicsScene(); - VMainGraphicsScene(const QRectF & sceneRect, QObject * parent = 0); - qint32 getHorScrollBar() const; - void setHorScrollBar(const qint32 &value); - - qint32 getVerScrollBar() const; - void setVerScrollBar(const qint32 &value); - + VMainGraphicsScene(); + VMainGraphicsScene(const QRectF & sceneRect, QObject * parent = 0); + inline qint32 getHorScrollBar() const {return horScrollBar;} + inline void setHorScrollBar(const qint32 &value) {horScrollBar = value;} + inline qint32 getVerScrollBar() const {return verScrollBar;} + inline void setVerScrollBar(const qint32 &value) {verScrollBar = value;} public slots: - void ChoosedItem(qint64 id, Scene::Scenes type); - void RemoveTool(QGraphicsItem *tool); - void SetFactor(qreal factor); + void ChoosedItem(qint64 id, Scene::Scenes type); + inline void RemoveTool(QGraphicsItem *tool) {this->removeItem(tool);} + void SetFactor(qreal factor); protected: - void mouseMoveEvent(QGraphicsSceneMouseEvent* event); - void mousePressEvent(QGraphicsSceneMouseEvent *event); + void mouseMoveEvent(QGraphicsSceneMouseEvent* event); + void mousePressEvent(QGraphicsSceneMouseEvent *event); signals: - void mouseMove(QPointF scenePos); - void mousePress(QPointF scenePos); - void ChoosedObject(qint64 id, Scene::Scenes type); - void NewFactor(qreal factor); + void mouseMove(QPointF scenePos); + void mousePress(QPointF scenePos); + void ChoosedObject(qint64 id, Scene::Scenes type); + void NewFactor(qreal factor); private: - qint32 horScrollBar; - qint32 verScrollBar; - qreal scaleFactor; + qint32 horScrollBar; + qint32 verScrollBar; + qreal scaleFactor; }; #endif // VMAINGRAPHICSSCENE_H diff --git a/widgets/vmaingraphicsview.cpp b/widgets/vmaingraphicsview.cpp index 7c3e78be1..6de8dc1b6 100644 --- a/widgets/vmaingraphicsview.cpp +++ b/widgets/vmaingraphicsview.cpp @@ -20,10 +20,6 @@ ****************************************************************************/ #include "vmaingraphicsview.h" -#include -#include -#include -#include VMainGraphicsView::VMainGraphicsView(QWidget *parent) : QGraphicsView(parent), _numScheduledScalings(0){ diff --git a/widgets/vtablegraphicsview.cpp b/widgets/vtablegraphicsview.cpp index ce5cd7548..0fa974bda 100644 --- a/widgets/vtablegraphicsview.cpp +++ b/widgets/vtablegraphicsview.cpp @@ -20,11 +20,6 @@ ****************************************************************************/ #include "vtablegraphicsview.h" -#include -#include -#include -#include -#include VTableGraphicsView::VTableGraphicsView(QGraphicsScene* pScene, QWidget *parent) : QGraphicsView(pScene, parent){ @@ -43,10 +38,6 @@ void VTableGraphicsView::selectionChanged(){ } } -void VTableGraphicsView::rotateItems(){ - rotateIt(); -} - void VTableGraphicsView::MirrorItem(){ QList list = scene()->selectedItems(); if(list.size()>0){ @@ -82,14 +73,6 @@ void VTableGraphicsView::MirrorItem(){ } } -void VTableGraphicsView::ZoomIn(){ - scale(1.1,1.1); -} - -void VTableGraphicsView::ZoomOut(){ - scale(1/1.1,1/1.1); -} - void VTableGraphicsView::wheelEvent(QWheelEvent *event){ if (QGuiApplication::keyboardModifiers() == Qt::ControlModifier){ // Если нажата клавиша CTRL этот код выполнится diff --git a/widgets/vtablegraphicsview.h b/widgets/vtablegraphicsview.h index ef86ebeff..d1f2363a2 100644 --- a/widgets/vtablegraphicsview.h +++ b/widgets/vtablegraphicsview.h @@ -24,70 +24,68 @@ #include -class VTableGraphicsView : public QGraphicsView -{ +class VTableGraphicsView : public QGraphicsView{ Q_OBJECT public: enum typeMove_e { Left, Right, Up, Down }; - explicit VTableGraphicsView(QGraphicsScene* pScene, QWidget *parent = 0); - + VTableGraphicsView(QGraphicsScene* pScene, QWidget *parent = 0); signals: /** * @brief itemChect Сигнал, що посилається коли змінюється стан вибору деталі. * @param flag Зберігає стан вибору деталі: false - знайдено, true - не знайдено. */ - void itemChect( bool flag ); + void itemChect( bool flag ); public slots: /** * @brief selectionChanged Слот виконується при зміні стану вибору деталей. */ - void selectionChanged(); + void selectionChanged(); /** * @brief rotateItems слот, який виконується при натисненні кнопки повороту деталі. */ - void rotateItems(); + inline void rotateItems() {rotateIt();} /** * @brief MirrorItem дзеркалить об'єкт відносно вертикальної вісі семетрії об'єкта. */ - void MirrorItem(); + void MirrorItem(); /** * @brief ZoomIn збільшує масштаб листа. */ - void ZoomIn(); + inline void ZoomIn() {scale(1.1,1.1);} /** * @brief ZoomOut зменшує масштаб листа. */ - void ZoomOut(); + inline void ZoomOut() {scale(1/1.1,1/1.1);} protected: /** * @brief wheelEvent обробник повороту колеса мишки. * @param event передається подія. */ - void wheelEvent ( QWheelEvent * event ); + void wheelEvent ( QWheelEvent * event ); /** * @brief mousePressEvent обробник натиснення кнопки миші. * @param mousePress передається подія. */ - void mousePressEvent(QMouseEvent *mousePress); + void mousePressEvent(QMouseEvent *mousePress); /** * @brief mouseReleaseEvent обробник відпускання кнопки миші. * @param event передається подія */ - void mouseReleaseEvent ( QMouseEvent * event ); + void mouseReleaseEvent ( QMouseEvent * event ); /** * @brief keyPressEvent обробник натиснення клавіші. * @param event передається подія. */ - void keyPressEvent ( QKeyEvent * event ); + void keyPressEvent ( QKeyEvent * event ); /** * @brief rotateIt виконує поворот вибраних деталей на 180 градусів. */ - void rotateIt(); + void rotateIt(); /** * @brief MoveItem переміщує виділені об'єкти сцени. * @param move напрямок переміщення. */ - void MoveItem( VTableGraphicsView::typeMove_e move ); + void MoveItem( VTableGraphicsView::typeMove_e move ); };