#include <pageviewmode.h>
Public Slots | |
| virtual void | mousePressLeftButton (QMouseEvent *e, QPainter *p, QWidget *w) |
| virtual void | mouseReleaseLeftButton (QMouseEvent *e, QPainter *p, QWidget *w) |
| virtual void | movedSelectedObjects (QMouseEvent *e, QPainter *p, QWidget *w) |
| virtual void | resizeSelectedObjects (QMouseEvent *e, QPainter *p, QWidget *w) |
| virtual void | resizedSelectedObjects (QMouseEvent *e, QPainter *p, QWidget *w) |
| virtual void | mouseMoveWithPressedLeftButton (QMouseEvent *e, QPainter *p, QWidget *w) |
| virtual void | setSelectedRegion (QRegion r) |
| virtual void | addWorkOperators (const std::vector< boost::shared_ptr< PdfOperator > > &wOps) |
| virtual void | clearWorkOperators () |
Public Member Functions | |
| PageViewMode_OperatorsSelection (const QString &drawingObject, const QString &_scriptFncAtMouseRelease, const QString &_scriptFncAtMoveSelectedObjects, const QString &_scriptFncAtResizeSelectedObjects) | |
Protected Member Functions | |
| void | findOperators (const std::vector< boost::shared_ptr< PdfOperator > > &in_v, std::vector< boost::shared_ptr< PdfOperator > > &founded, const QRegion &r) |
| bool | findPrevOperator (std::vector< boost::shared_ptr< PdfOperator > >::iterator &it, std::vector< boost::shared_ptr< PdfOperator > > &v, bool &fromEnd, const QPoint &p) |
Protected Attributes | |
| std::vector< boost::shared_ptr < PdfOperator > >::iterator | lastSelectedOperator |
| QPoint | resizingPress |
Class is STRATEGY pattern for mode construction. Includes method for selecting objects on page and manipulating with him.
This implementation is for selecting any operators on the page. If press left button and move mouse, and then release left button, mode select all oprators which are all inside the selected area. If press and then release left button (don't move), then mode select the last (top) operator which contains mouse button release position on the page. If press and then release left button over selected operator, mode select previous operator (operator which is first below now selected operators).
| gui::PageViewMode_OperatorsSelection::PageViewMode_OperatorsSelection | ( | const QString & | drawingObject, | |
| const QString & | _scriptFncAtMouseRelease, | |||
| const QString & | _scriptFncAtMoveSelectedObjects, | |||
| const QString & | _scriptFncAtResizeSelectedObjects | |||
| ) |
Standard constructor.
| drawingObject | Text definition of drawing method (see DrawingObjectFactory) | |
| _scriptFncAtMouseRelease | Script command for call after selected object(s) | |
| _scriptFncAtMoveSelectedObjects | Script command for call after move selected object(s) | |
| _scriptFncAtResizeSelectedObjects | Script command for call after resize selected object(s) |
References lastSelectedOperator, and gui::PageViewMode::workOperators.
| void gui::PageViewMode_OperatorsSelection::addWorkOperators | ( | const std::vector< boost::shared_ptr< PdfOperator > > & | wOps | ) | [virtual, slot] |
Add operators for selection on the page.
| wOps | Vector of operators. |
Reimplemented from gui::PageViewMode.
Reimplemented in gui::PageViewMode_GraphicalOperatorsSelection.
References lastSelectedOperator, and gui::PageViewMode::workOperators.
| void gui::PageViewMode_OperatorsSelection::clearWorkOperators | ( | ) | [virtual, slot] |
Clear all operators which can be possible select on the page.
Reimplemented from gui::PageViewMode.
References lastSelectedOperator, and gui::PageViewMode::workOperators.
| void gui::PageViewMode_OperatorsSelection::findOperators | ( | const std::vector< boost::shared_ptr< PdfOperator > > & | in_v, | |
| std::vector< boost::shared_ptr< PdfOperator > > & | founded, | |||
| const QRegion & | r | |||
| ) | [protected] |
Finf all operators which are all in region r.
| in_v | Vector of operator in which are finding. | |
| founded | Vector to puch all founded operators. | |
| r | Region which is selected. |
References gui::PageViewMode::getBBox().
Referenced by mouseReleaseLeftButton(), and setSelectedRegion().
| bool gui::PageViewMode_OperatorsSelection::findPrevOperator | ( | std::vector< boost::shared_ptr< PdfOperator > >::iterator & | it, | |
| std::vector< boost::shared_ptr< PdfOperator > > & | v, | |||
| bool & | fromEnd, | |||
| const QPoint & | p | |||
| ) | [protected] |
Finf prev operator which is under position p.
| it | Iterator in vector of all operators which can be selected. | |
| v | Vector which will be contains previous operator. | |
| fromEnd | Boolean will be true, if nothing previous operator found. | |
| p | Point under which will be search previous operator. |
References gui::PageViewMode::getBBox().
Referenced by mouseReleaseLeftButton(), movedSelectedObjects(), and resizedSelectedObjects().
| void gui::PageViewMode_OperatorsSelection::mouseMoveWithPressedLeftButton | ( | QMouseEvent * | e, | |
| QPainter * | p, | |||
| QWidget * | w | |||
| ) | [virtual, slot] |
Method is calling if is press left mouse button and is moving with mouse.
| e | Pointer to mouse event (see Qt::QMouseEvent). | |
| p | Pointer to initialized painter for draw changes (see Qt::QPainter). Method emit at end 'needRepaint' if p is NULL. | |
| w | Pointer to widget (see Qt::QWidget). E.g. for change mouse cursor above operators. |
Reimplemented from gui::PageViewMode.
References gui::PageViewMode::drawingObject, gui::PageViewMode::needRepaint(), gui::PageViewMode::pressPosition, and gui::PageViewMode::releasePosition.
| void gui::PageViewMode_OperatorsSelection::mousePressLeftButton | ( | QMouseEvent * | e, | |
| QPainter * | p, | |||
| QWidget * | w | |||
| ) | [virtual, slot] |
Method is calling if is release left mouse button.
| e | Pointer to mouse event (see Qt::QMouseEvent). | |
| p | Pointer to initialized painter for draw changes (see Qt::QPainter). Method emit at end 'needRepaint' if p is NULL. | |
| w | Pointer to widget (see Qt::QWidget). E.g. for change mouse cursor above operators. |
Reimplemented from gui::PageViewMode.
References gui::PageViewMode::drawingObject, gui::PageViewMode::needRepaint(), gui::PageViewMode::pressPosition, and gui::PageViewMode::releasePosition.
| void gui::PageViewMode_OperatorsSelection::mouseReleaseLeftButton | ( | QMouseEvent * | e, | |
| QPainter * | p, | |||
| QWidget * | w | |||
| ) | [virtual, slot] |
Method is calling if is release left mouse button.
| e | Pointer to mouse event (see Qt::QMouseEvent). | |
| p | Pointer to initialized painter for draw changes (see Qt::QPainter). Method emit at end 'needRepaint' if p is NULL. | |
| w | Pointer to widget (see Qt::QWidget). E.g. for change mouse cursor above operators. |
Reimplemented from gui::PageViewMode.
References gui::PageViewMode::drawingObject, findOperators(), findPrevOperator(), lastSelectedOperator, gui::PageViewMode::needRepaint(), gui::PageViewMode::newSelectedOperators(), gui::PageViewMode::pressPosition, gui::PageViewMode::releasePosition, gui::PageViewMode::selectedOperators, gui::PageViewMode::setSelectedOperators(), and gui::PageViewMode::workOperators.
| void gui::PageViewMode_OperatorsSelection::movedSelectedObjects | ( | QMouseEvent * | e, | |
| QPainter * | p, | |||
| QWidget * | w | |||
| ) | [virtual, slot] |
Method is calling if is need move selected region (operation 'move' is finished).
| e | Pointer to mouse event (see Qt::QMouseEvent). | |
| p | Pointer to initialized painter for draw changes (see Qt::QPainter). Method emit at end 'needRepaint' if p is NULL. | |
| w | Pointer to widget (see Qt::QWidget). E.g. for change mouse cursor above operators. |
Reimplemented from gui::PageViewMode.
References findPrevOperator(), lastSelectedOperator, gui::PageViewMode::mouseSelectedRegion, gui::PageViewMode::newSelectedOperators(), gui::PageViewMode::selectedOperators, gui::PageViewMode::selectedOpRegion, gui::PageViewMode::setSelectedOperators(), and gui::PageViewMode::workOperators.
| void gui::PageViewMode_OperatorsSelection::resizedSelectedObjects | ( | QMouseEvent * | e, | |
| QPainter * | p, | |||
| QWidget * | w | |||
| ) | [virtual, slot] |
Method is calling if is need resize selected region (operation 'resize' is finished).
| e | Pointer to mouse event (see Qt::QMouseEvent). | |
| p | Pointer to initialized painter for draw changes (see Qt::QPainter). Method emit at end 'needRepaint' if p is NULL. | |
| w | Pointer to widget (see Qt::QWidget). E.g. for change mouse cursor above operators. |
Reimplemented from gui::PageViewMode.
References findPrevOperator(), lastSelectedOperator, gui::PageViewMode::newSelectedOperators(), resizingPress, gui::PageViewMode::selectedOperators, gui::PageViewMode::setSelectedOperators(), and gui::PageViewMode::workOperators.
| void gui::PageViewMode_OperatorsSelection::resizeSelectedObjects | ( | QMouseEvent * | e, | |
| QPainter * | p, | |||
| QWidget * | w | |||
| ) | [virtual, slot] |
Method is calling if is need resize selected region (operation 'resize' is NOT finished).
| e | Pointer to mouse event (see Qt::QMouseEvent). | |
| p | Pointer to initialized painter for draw changes (see Qt::QPainter). Method emit at end 'needRepaint' if p is NULL. | |
| w | Pointer to widget (see Qt::QWidget). E.g. for change mouse cursor above operators. |
Reimplemented from gui::PageViewMode.
References gui::PageViewMode::isResizing, and resizingPress.
| void gui::PageViewMode_OperatorsSelection::setSelectedRegion | ( | QRegion | r | ) | [virtual, slot] |
Set selection region on the page.
| r | Which region to set. |
Reimplemented from gui::PageViewMode.
References findOperators(), gui::PageViewMode::newSelectedOperators(), gui::PageViewMode::selectedOperators, gui::PageViewMode::setSelectedOperators(), and gui::PageViewMode::workOperators.
std::vector< boost::shared_ptr< PdfOperator > >::iterator gui::PageViewMode_OperatorsSelection::lastSelectedOperator [protected] |
Iterator at last selected operator in workOperators
Referenced by addWorkOperators(), clearWorkOperators(), mouseReleaseLeftButton(), movedSelectedObjects(), PageViewMode_OperatorsSelection(), and resizedSelectedObjects().
QPoint gui::PageViewMode_OperatorsSelection::resizingPress [protected] |
Helpes position for decide if user resize selected area or only click on that.
Referenced by resizedSelectedObjects(), and resizeSelectedObjects().