QCAD
Open Source 2D CAD
|
Interface for interaction between a graphics document and a user. More...
#include <RDocumentInterface.h>
Public Types | |
enum | IoErrorCode { IoErrorNoError, IoErrorNoImporterFound, IoErrorZeroSize, IoErrorNotFound, IoErrorPermission, IoErrorGeneralImportError, IoErrorGeneralImportUrlError } |
Public Member Functions | |
void | addAuxShapeToPreview (RShape &shape) |
Exports the given shape to the preview. More... | |
void | addCoordinateListener (RCoordinateListener *l) |
Adds a listener for coordinate events. More... | |
void | addDrawableToPreview (RGraphicsSceneDrawable &drawable) |
void | addEntityToPreview (REntity &entity) |
Adds the given entity to the preview of all scenes / view. More... | |
void | addLayerListener (RLayerListener *l) |
void | addShapeToPreview (RShape &shape, const RColor &color, const QBrush &brush, RLineweight::Lineweight lineweight, Qt::PenStyle style, const QList< qreal > &dashValues=RDEFAULT_QLIST_QREAL) |
int | addTransactionListener (RTransactionListener *l) |
void | addZoomBoxToPreview (const RBox &box) |
Adds a box to the preview that represents a zoom box displayed while drawing a window to magnify an area. More... | |
RTransaction | applyOperation (ROperation *operation) |
Applies the given operation to the document. More... | |
void | autoZoom (int margin=RDEFAULT_MIN1) |
Auto zooms in the view that currently has the focus. More... | |
void | beginPreview () |
After calling this function, all exports go into the preview of the scene instead of the scene itself. More... | |
void | clear (bool beforeLoad=false) |
Resets the document to its original, empty state. More... | |
void | clearCaches () |
Clears cached variables to ensure they are re-initialized before the next use. More... | |
void | clearPreview () |
Clears the preview of all scenes. More... | |
void | clearProperties () |
Notifies all property listeners that no properties are relevant at this point. More... | |
void | clearSelection () |
Clears the current selection and updates the scenes / views accordingly. More... | |
void | commandEvent (RCommandEvent &event) |
void | commandEventPreview (RCommandEvent &event) |
void | coordinateEvent (RCoordinateEvent &event) |
void | coordinateEventPreview (RCoordinateEvent &event) |
void | deleteTerminatedActions () |
Deletes all actions that have been terminated. More... | |
void | deselectAll () |
De-select all entities, for convenience. More... | |
int | deselectEntities (const QSet< REntity::Id > &entityIds) |
Deselects the given entities and updates the scenes accordingly. More... | |
void | deselectEntity (REntity::Id entityId) |
Deselects the given entity and updates the scenes accordingly. More... | |
void | disableMouseTracking () |
void | disableRegeneration () |
void | disableUpdates () |
void | enableMouseTracking () |
void | enableRegeneration () |
void | enableUpdates () |
void | endPreview () |
After calling this function, all exports go into the scene again and not the preview anymore. More... | |
QVariant | eval (const QString &ext, const QString &script) |
bool | exportFile (const QString &fileName, const QString &fileVersion="", bool resetModified=true) |
void | flushRedo () |
Flush redoable transactions. More... | |
void | flushTransactions () |
Flush transactions. More... | |
RAction::ClickMode | getClickMode () |
REntity::Id | getClosestEntity (const RVector &position, double range, double strictRange=RMAXDOUBLE, bool includeLockedLayers=true, bool selectedOnly=false) |
REntity::Id | getClosestEntity (RInputEvent &event) |
QString | getCorrectedFileName (const QString &fileName, const QString &fileVersion) |
RAction * | getCurrentAction () |
RColor | getCurrentColor () |
RLinetype::Id | getCurrentLinetypeId () |
RLinetypePattern | getCurrentLinetypePattern () |
RLineweight::Lineweight | getCurrentLineweight () |
RAction * | getCurrentStatefulAction () |
RUcs | getCurrentUcs () |
QString | getCurrentUcsName () |
bool | getCursorOverride () const |
RVector | getCursorPosition () const |
RAction * | getDefaultAction () const |
RDocument & | getDocument () |
QList< RGraphicsScene * > | getGraphicsScenes () |
RGraphicsScene * | getGraphicsSceneWithFocus () |
RGraphicsView * | getGraphicsViewWithFocus () |
RGraphicsView * | getLastKnownViewWithFocus () |
RVector | getLastPosition () const |
bool | getNotifyListeners () const |
RVector | getRelativeZero () const |
RScriptHandler * | getScriptHandler (const QString &extension) |
RSnap * | getSnap () |
Gets the current snap object. More... | |
RSnapRestriction * | getSnapRestriction () |
RStorage & | getStorage () |
bool | hasCurrentAction () const |
bool | hasCurrentStatefulAction () const |
bool | hasSelection () |
void | highlightEntity (REntity::Id entityId) |
void | highlightReferencePoint (const RRefPoint &position) |
Highlights the given reference point. More... | |
RDocumentInterface::IoErrorCode | importFile (const QString &fileName, const QString &nameFilter="", bool notify=true) |
Imports the given file if there is a file importer registered for that file type. More... | |
RDocumentInterface::IoErrorCode | importUrl (const QUrl &url, const QString &nameFilter="", bool notify=true) |
bool | isClipboard () |
bool | isDeleting () const |
bool | isPreviewEmpty () |
bool | isRelativeZeroLocked () const |
bool | isScriptRunning () |
bool | isSnapLocked () const |
bool | isSuspended () |
void | keepPreview () |
Makes sure that the current preview survives one mouse move. More... | |
void | keyPressEvent (QKeyEvent &event) |
void | keyReleaseEvent (QKeyEvent &event) |
void | killAllActions () |
void | lockRelativeZero () |
Locks the position of the relative zero point. More... | |
void | lockSnap () |
Locks the current snap function so it should not be changed automatically to auto snap. More... | |
void | mouseDoubleClickEvent (RMouseEvent &event) |
Forwards the given mouse double click event to the current action. More... | |
void | mouseMoveEvent (RMouseEvent &event) |
Forwards the given mouse move event to the current action. More... | |
void | mousePressEvent (RMouseEvent &event) |
Forwards the given mouse press event to the current action. More... | |
void | mouseReleaseEvent (RMouseEvent &event) |
Forwards the given mouse release event to the current action. More... | |
void | notifyCoordinateListeners () |
Notifies all coordinate listeners that the coordinate has changed to position . More... | |
void | notifyLayerListeners (QList< RLayer::Id > &layerIds) |
Notifies local layer listeners only interested in layer events from this particular document. More... | |
void | notifyTransactionListeners (RTransaction *t) |
Notifies local transaction listeners only interested in transaction events from this particular document. More... | |
void | objectChangeEvent (RTransaction &transaction) |
Triggers an objectChangeEvent for every object in the given set. More... | |
void | panGestureEvent (QPanGesture &gesture) |
Forwards the given gesture to the current action. More... | |
void | pinchGestureEvent (QPinchGesture &gesture) |
Forwards the given gesture to the current action. More... | |
void | previewOperation (ROperation *operation) |
Previews the given operation by applying the operation to a temporary document that is linked to the (read only) document. More... | |
void | propertyChangeEvent (RPropertyEvent &event) |
Forwards the given event to the current action to signal that a property value has been changed. More... | |
void | queueAction (RAction *action) |
RDocumentInterface (RDocument &document) | |
void | redo () |
Transaction based redo. More... | |
void | regenerateScenes (bool undone=false) |
Regenerates all scenes attached to this document interface by exporting the document into them. More... | |
void | regenerateScenes (QSet< REntity::Id > &entityIds, bool updateViews) |
Regenerates the given part of all scenes attached to this document interface by exporting the given list of entities into them. More... | |
void | regenerateScenes (REntity::Id entityId, bool updateViews) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
void | regenerateViews (bool force=false) |
Regenerates all views. More... | |
void | regenerateViews (QSet< REntity::Id > &entityIds) |
void | registerScene (RGraphicsScene &scene) |
Registers a scene with this document interface. More... | |
void | removeLayerListener (RLayerListener *l) |
void | removeTransactionListener (int key) |
void | removeTransactionListener (RTransactionListener *l) |
void | repaintViews () |
Repaints all views. More... | |
RVector | restrictOrtho (const RVector &position, const RVector &relativeZero, RS::OrthoMode mode=RS::Orthogonal) |
void | resume () |
void | selectAll () |
Selects all and updates the scenes / views accordingly. More... | |
void | selectBoxXY (const RBox &box, bool add=false) |
int | selectEntities (const QSet< REntity::Id > &entityIds, bool add=false) |
Selects the given entities and updates the scenes accordingly. More... | |
void | selectEntity (REntity::Id entityId, bool add=false) |
Selects the given entity and updates the scenes accordingly. More... | |
void | setClickMode (RAction::ClickMode m) |
Sets the click mode of the current action to the given mode. More... | |
void | setCurrentAction (RAction *action) |
Sets the current action. More... | |
void | setCurrentBlock (const QString &blockName) |
Sets the current block based on the given block name. More... | |
void | setCurrentBlock (const RBlock &block) |
Sets the current block that is in use for all views attached to this document interface. More... | |
void | setCurrentBlock (RBlock::Id blockId) |
Sets the current block that is in use for all views attached to this document interface. More... | |
void | setCurrentColor (const RColor &color) |
void | setCurrentLayer (const QString &layerName) |
Sets the current layer based on the given layer name. More... | |
void | setCurrentLayer (const RLayer &layer) |
Sets the current Layer that is in use for all views attached to this document interface. More... | |
void | setCurrentLayer (RLayer::Id layerId) |
void | setCurrentLinetype (RLinetype::Id ltId) |
void | setCurrentLinetypePattern (const RLinetypePattern &p) |
void | setCurrentLineweight (RLineweight::Lineweight lw) |
void | setCurrentUcs (const QString &ucsName) |
Sets the current UCS based on the given UCS name. More... | |
void | setCurrentUcs (const RUcs &ucs) |
Sets the current UCS (user coordinate system) that is in use for all views attached to this document interface. More... | |
void | setCurrentView (const QString &viewName) |
Sets the current view based on the given view name. More... | |
void | setCurrentViewport (const RViewportEntity &viewport) |
void | setCursor (const QCursor &cursor, bool global=true) |
void | setCursorOverride (bool on) |
Force cursor to be shown. More... | |
void | setCursorPosition (const RVector &p) |
void | setDefaultAction (RAction *action) |
Sets the action that is active if no other action is active. More... | |
void | setLastKnownViewWithFocus (RGraphicsView *view) |
void | setNotifyListeners (bool on) |
void | setRelativeZero (const RVector &p) |
Sets the position of the relative zero point to p and updates the graphics views. More... | |
void | setSnap (RSnap *snap) |
Sets the current snap object. More... | |
void | setSnapRestriction (RSnapRestriction *snapRestriction) |
Sets the current snap restriction object. More... | |
void | showPropertiesOf (REntity &entity) |
Notifies all property listeners that the properties of the given entity should be shown. More... | |
RVector | snap (RMouseEvent &event, bool preview=false) |
Uses the current snap to snap the given position to a grid point, end point, etc. More... | |
void | suspend () |
void | swipeGestureEvent (QSwipeGesture &gesture) |
Forwards the given gesture to the current action. More... | |
void | tabletEvent (RTabletEvent &event) |
Forwards the given tablet event to the current action. More... | |
void | tagState (const QString &tag="") |
void | terminateCurrentAction () |
void | terminateEvent (RTerminateEvent &event) |
void | toggleSnapLock () |
Toggles snap lock. More... | |
void | ucsSetEvent (const QString &ucsName) |
Called immediately after the user has activated a new UCS to be used as current UCS. More... | |
void | undo () |
Transaction based undo. More... | |
void | undoToTag (const QString &tag="") |
Rollback to given transaction ID: More... | |
void | unlockRelativeZero () |
Unlocks the position of the relative zero point. More... | |
void | unlockSnap () |
Unlocks the current snap function so it should be changed automatically to auto snap whenever a new tool is started. More... | |
void | unregisterScene (RGraphicsScene &scene) |
Unregisters a scene from this document interface. More... | |
void | unsetCurrentViewport () |
void | updateAllEntities () |
Marks all entities with any kind of caching as dirty, so they are regenerated next time regenerate is called. More... | |
void | updateSelectionStatus (QSet< REntity::Id > &entityIds, bool updateViews) |
void | updateSelectionStatus (REntity::Id entityId, bool updateViews) |
void | wheelEvent (RWheelEvent &event) |
Forwards the given mouse wheel event to the current action. More... | |
void | zoomChangeEvent (RGraphicsView &view) |
Called if the zoom (factor, offset) changed in the given view. More... | |
void | zoomIn () |
Zooms in at the view that currently has the focus. More... | |
void | zoomOut () |
Zooms out at the view that currently has the focus. More... | |
void | zoomPrevious () |
Zooms to the previously visible viewport. More... | |
void | zoomTo (const RBox ®ion, int margin=0) |
Zooms to the given region . More... | |
bool | zoomToSelection () |
~RDocumentInterface () | |
Static Public Member Functions | |
static void | deleteClipboard () |
static RDocumentInterface & | getClipboard () |
Private Member Functions | |
void | handleClickEvent (RAction &action, RMouseEvent &event) |
Helper function for mouseReleaseEvent. More... | |
void | previewClickEvent (RAction &action, RMouseEvent &event) |
Helper function for mouseMoveEvent. More... | |
Private Attributes | |
bool | allowRegeneration |
bool | allowUpdate |
QList< RCoordinateListener * > | coordinateListeners |
QStack< RAction * > | currentActions |
RSnap * | currentSnap |
RSnapRestriction * | currentSnapRestriction |
RUcs | currentUcs |
QString | currentUcsName |
bool | cursorOverride |
RVector | cursorPosition |
RAction * | defaultAction |
bool | deleting |
RDocument & | document |
bool | keepPreviewOnce |
RGraphicsView * | lastKnownViewWithFocus |
RVector | lastPosition |
QList< RLayerListener * > | layerListeners |
bool | mouseTrackingEnabled |
bool | notifyGlobalListeners |
QQueue< RAction * > | queuedActions |
RVector | relativeZero |
bool | relativeZeroLocked |
QList< RGraphicsScene * > | scenes |
QMap< QString, RScriptHandler * > | scriptHandlers |
bool | snapLocked |
bool | suspended |
QMap< QString, int > | tags |
QMap< int, RTransactionListener * > | transactionListeners |
Static Private Attributes | |
static RDocumentInterface * | clipboard = NULL |
Copyright (c) 2011-2018 by Andrew Mustun. More... | |
Interface for interaction between a graphics document and a user.
Typically one document interface exists for every document that is open in an MDI application. The document interface owns and links the various scenes, views and the currently active action.
A document interface can own multiple graphics scenes, each of which can have multiple views attached to it. The views forward all user events (mouse moves, mouse clicks, etc.) to the document interface for processing. The document interface dispatches the events to the currently active action object.
Enumerator | |
---|---|
IoErrorNoError | No error occurred during import or export. |
IoErrorNoImporterFound | No suitable importer was found. |
IoErrorZeroSize | File size is zero bytes. |
IoErrorNotFound | File not found. |
IoErrorPermission | No permissions to read file. |
IoErrorGeneralImportError | General import error, i.e. non of the errors above. |
IoErrorGeneralImportUrlError | General import error if an URL was given, i.e. non of the errors above. |
RDocumentInterface::RDocumentInterface | ( | RDocument & | document | ) |
RDocumentInterface::~RDocumentInterface | ( | ) |
void RDocumentInterface::addAuxShapeToPreview | ( | RShape & | shape | ) |
Exports the given shape to the preview.
void RDocumentInterface::addCoordinateListener | ( | RCoordinateListener * | l | ) |
Adds a listener for coordinate events.
This can for example be a document specific widget that displays the current coordinate, e.g. rulers.
void RDocumentInterface::addDrawableToPreview | ( | RGraphicsSceneDrawable & | drawable | ) |
void RDocumentInterface::addEntityToPreview | ( | REntity & | entity | ) |
Adds the given entity to the preview of all scenes / view.
void RDocumentInterface::addLayerListener | ( | RLayerListener * | l | ) |
void RDocumentInterface::addShapeToPreview | ( | RShape & | shape, |
const RColor & | color, | ||
const QBrush & | brush, | ||
RLineweight::Lineweight | lineweight, | ||
Qt::PenStyle | style, | ||
const QList< qreal > & | dashValues = RDEFAULT_QLIST_QREAL |
||
) |
int RDocumentInterface::addTransactionListener | ( | RTransactionListener * | l | ) |
void RDocumentInterface::addZoomBoxToPreview | ( | const RBox & | box | ) |
Adds a box to the preview that represents a zoom box displayed while drawing a window to magnify an area.
RTransaction RDocumentInterface::applyOperation | ( | ROperation * | operation | ) |
Applies the given operation to the document.
The operation might for example do something with the current selection.
void RDocumentInterface::autoZoom | ( | int | margin = RDEFAULT_MIN1 | ) |
Auto zooms in the view that currently has the focus.
void RDocumentInterface::beginPreview | ( | ) |
After calling this function, all exports go into the preview of the scene instead of the scene itself.
void RDocumentInterface::clear | ( | bool | beforeLoad = false | ) |
Resets the document to its original, empty state.
void RDocumentInterface::clearCaches | ( | ) |
Clears cached variables to ensure they are re-initialized before the next use.
void RDocumentInterface::clearPreview | ( | ) |
Clears the preview of all scenes.
void RDocumentInterface::clearProperties | ( | ) |
Notifies all property listeners that no properties are relevant at this point.
This can for example clear the property editor and other property listeners.
void RDocumentInterface::clearSelection | ( | ) |
Clears the current selection and updates the scenes / views accordingly.
void RDocumentInterface::commandEvent | ( | RCommandEvent & | event | ) |
void RDocumentInterface::commandEventPreview | ( | RCommandEvent & | event | ) |
void RDocumentInterface::coordinateEvent | ( | RCoordinateEvent & | event | ) |
void RDocumentInterface::coordinateEventPreview | ( | RCoordinateEvent & | event | ) |
|
static |
void RDocumentInterface::deleteTerminatedActions | ( | ) |
Deletes all actions that have been terminated.
void RDocumentInterface::deselectAll | ( | ) |
De-select all entities, for convenience.
int RDocumentInterface::deselectEntities | ( | const QSet< REntity::Id > & | entityIds | ) |
Deselects the given entities and updates the scenes accordingly.
void RDocumentInterface::deselectEntity | ( | REntity::Id | entityId | ) |
Deselects the given entity and updates the scenes accordingly.
void RDocumentInterface::disableMouseTracking | ( | ) |
void RDocumentInterface::disableRegeneration | ( | ) |
void RDocumentInterface::disableUpdates | ( | ) |
void RDocumentInterface::enableMouseTracking | ( | ) |
void RDocumentInterface::enableRegeneration | ( | ) |
void RDocumentInterface::enableUpdates | ( | ) |
void RDocumentInterface::endPreview | ( | ) |
After calling this function, all exports go into the scene again and not the preview anymore.
QVariant RDocumentInterface::eval | ( | const QString & | ext, |
const QString & | script | ||
) |
bool RDocumentInterface::exportFile | ( | const QString & | fileName, |
const QString & | fileVersion = "" , |
||
bool | resetModified = true |
||
) |
void RDocumentInterface::flushRedo | ( | ) |
Flush redoable transactions.
void RDocumentInterface::flushTransactions | ( | ) |
Flush transactions.
RAction::ClickMode RDocumentInterface::getClickMode | ( | ) |
|
static |
REntity::Id RDocumentInterface::getClosestEntity | ( | const RVector & | position, |
double | range, | ||
double | strictRange = RMAXDOUBLE , |
||
bool | includeLockedLayers = true , |
||
bool | selectedOnly = false |
||
) |
range | Maximum range in drawing units. |
strictRange | Maximum range from either end point of the entity. Zero to only return distances that are strictly orthogonal to the entity. |
includeLockedLayers | Return entities on locked layers. |
selectedOnly | Only return selected entities. |
REntity::Id RDocumentInterface::getClosestEntity | ( | RInputEvent & | event | ) |
The event is also used to determine the maximum distance from the cursor to the entity in the view in which the event originated.
QString RDocumentInterface::getCorrectedFileName | ( | const QString & | fileName, |
const QString & | fileVersion | ||
) |
RAction * RDocumentInterface::getCurrentAction | ( | ) |
RColor RDocumentInterface::getCurrentColor | ( | ) |
RLinetype::Id RDocumentInterface::getCurrentLinetypeId | ( | ) |
RLinetypePattern RDocumentInterface::getCurrentLinetypePattern | ( | ) |
RLineweight::Lineweight RDocumentInterface::getCurrentLineweight | ( | ) |
RAction * RDocumentInterface::getCurrentStatefulAction | ( | ) |
RUcs RDocumentInterface::getCurrentUcs | ( | ) |
QString RDocumentInterface::getCurrentUcsName | ( | ) |
bool RDocumentInterface::getCursorOverride | ( | ) | const |
RVector RDocumentInterface::getCursorPosition | ( | ) | const |
RAction * RDocumentInterface::getDefaultAction | ( | ) | const |
RDocument & RDocumentInterface::getDocument | ( | ) |
QList< RGraphicsScene * > RDocumentInterface::getGraphicsScenes | ( | ) |
RGraphicsScene * RDocumentInterface::getGraphicsSceneWithFocus | ( | ) |
RGraphicsView * RDocumentInterface::getGraphicsViewWithFocus | ( | ) |
RGraphicsView * RDocumentInterface::getLastKnownViewWithFocus | ( | ) |
RVector RDocumentInterface::getLastPosition | ( | ) | const |
|
inline |
RVector RDocumentInterface::getRelativeZero | ( | ) | const |
RScriptHandler * RDocumentInterface::getScriptHandler | ( | const QString & | extension | ) |
RSnap * RDocumentInterface::getSnap | ( | ) |
Gets the current snap object.
RSnapRestriction * RDocumentInterface::getSnapRestriction | ( | ) |
RStorage & RDocumentInterface::getStorage | ( | ) |
|
private |
Helper function for mouseReleaseEvent.
Triggers an appropriate higher level event for mouse clicks for the given action
. The event type depends on the action's current ClickMode.
bool RDocumentInterface::hasCurrentAction | ( | ) | const |
bool RDocumentInterface::hasCurrentStatefulAction | ( | ) | const |
bool RDocumentInterface::hasSelection | ( | ) |
void RDocumentInterface::highlightEntity | ( | REntity::Id | entityId | ) |
void RDocumentInterface::highlightReferencePoint | ( | const RRefPoint & | position | ) |
Highlights the given reference point.
RDocumentInterface::IoErrorCode RDocumentInterface::importFile | ( | const QString & | fileName, |
const QString & | nameFilter = "" , |
||
bool | notify = true |
||
) |
Imports the given file if there is a file importer registered for that file type.
RDocumentInterface::IoErrorCode RDocumentInterface::importUrl | ( | const QUrl & | url, |
const QString & | nameFilter = "" , |
||
bool | notify = true |
||
) |
|
inline |
|
inline |
bool RDocumentInterface::isPreviewEmpty | ( | ) |
bool RDocumentInterface::isRelativeZeroLocked | ( | ) | const |
bool RDocumentInterface::isScriptRunning | ( | ) |
bool RDocumentInterface::isSnapLocked | ( | ) | const |
|
inline |
void RDocumentInterface::keepPreview | ( | ) |
Makes sure that the current preview survives one mouse move.
void RDocumentInterface::keyPressEvent | ( | QKeyEvent & | event | ) |
void RDocumentInterface::keyReleaseEvent | ( | QKeyEvent & | event | ) |
void RDocumentInterface::killAllActions | ( | ) |
void RDocumentInterface::lockRelativeZero | ( | ) |
Locks the position of the relative zero point.
void RDocumentInterface::lockSnap | ( | ) |
Locks the current snap function so it should not be changed automatically to auto snap.
void RDocumentInterface::mouseDoubleClickEvent | ( | RMouseEvent & | event | ) |
Forwards the given mouse double click event
to the current action.
void RDocumentInterface::mouseMoveEvent | ( | RMouseEvent & | event | ) |
Forwards the given mouse move event
to the current action.
void RDocumentInterface::mousePressEvent | ( | RMouseEvent & | event | ) |
Forwards the given mouse press event
to the current action.
void RDocumentInterface::mouseReleaseEvent | ( | RMouseEvent & | event | ) |
Forwards the given mouse release event
to the current action.
void RDocumentInterface::notifyCoordinateListeners | ( | ) |
Notifies all coordinate listeners that the coordinate has changed to position
.
void RDocumentInterface::notifyLayerListeners | ( | QList< RLayer::Id > & | layerIds | ) |
Notifies local layer listeners only interested in layer events from this particular document.
Used for layer lists other than the global one (e.g. in preferences).
void RDocumentInterface::notifyTransactionListeners | ( | RTransaction * | t | ) |
Notifies local transaction listeners only interested in transaction events from this particular document.
void RDocumentInterface::objectChangeEvent | ( | RTransaction & | transaction | ) |
Triggers an objectChangeEvent for every object in the given set.
void RDocumentInterface::panGestureEvent | ( | QPanGesture & | gesture | ) |
Forwards the given gesture to the current action.
void RDocumentInterface::pinchGestureEvent | ( | QPinchGesture & | gesture | ) |
Forwards the given gesture to the current action.
|
private |
Helper function for mouseMoveEvent.
Triggers an appropriate preview event for the given action and the current click mode the action is in.
void RDocumentInterface::previewOperation | ( | ROperation * | operation | ) |
Previews the given operation by applying the operation to a temporary document that is linked to the (read only) document.
void RDocumentInterface::propertyChangeEvent | ( | RPropertyEvent & | event | ) |
Forwards the given event
to the current action to signal that a property value has been changed.
void RDocumentInterface::queueAction | ( | RAction * | action | ) |
void RDocumentInterface::redo | ( | ) |
Transaction based redo.
void RDocumentInterface::regenerateScenes | ( | bool | undone = false | ) |
Regenerates all scenes attached to this document interface by exporting the document into them.
void RDocumentInterface::regenerateScenes | ( | QSet< REntity::Id > & | entityIds, |
bool | updateViews | ||
) |
Regenerates the given part of all scenes attached to this document interface by exporting the given list of entities into them.
void RDocumentInterface::regenerateScenes | ( | REntity::Id | entityId, |
bool | updateViews | ||
) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void RDocumentInterface::regenerateViews | ( | bool | force = false | ) |
Regenerates all views.
void RDocumentInterface::regenerateViews | ( | QSet< REntity::Id > & | entityIds | ) |
void RDocumentInterface::registerScene | ( | RGraphicsScene & | scene | ) |
Registers a scene with this document interface.
void RDocumentInterface::removeLayerListener | ( | RLayerListener * | l | ) |
void RDocumentInterface::removeTransactionListener | ( | int | key | ) |
void RDocumentInterface::removeTransactionListener | ( | RTransactionListener * | l | ) |
void RDocumentInterface::repaintViews | ( | ) |
Repaints all views.
RVector RDocumentInterface::restrictOrtho | ( | const RVector & | position, |
const RVector & | relativeZero, | ||
RS::OrthoMode | mode = RS::Orthogonal |
||
) |
void RDocumentInterface::resume | ( | ) |
void RDocumentInterface::selectAll | ( | ) |
Selects all and updates the scenes / views accordingly.
void RDocumentInterface::selectBoxXY | ( | const RBox & | box, |
bool | add = false |
||
) |
int RDocumentInterface::selectEntities | ( | const QSet< REntity::Id > & | entityIds, |
bool | add = false |
||
) |
Selects the given entities and updates the scenes accordingly.
add | True to add to the current selection, false otherwise. |
void RDocumentInterface::selectEntity | ( | REntity::Id | entityId, |
bool | add = false |
||
) |
Selects the given entity and updates the scenes accordingly.
add | True to add to the current selection, false otherwise. |
void RDocumentInterface::setClickMode | ( | RAction::ClickMode | m | ) |
Sets the click mode of the current action to the given mode.
void RDocumentInterface::setCurrentAction | ( | RAction * | action | ) |
Sets the current action.
This action will receive all events until it finishes.
void RDocumentInterface::setCurrentBlock | ( | const QString & | blockName | ) |
Sets the current block based on the given block name.
void RDocumentInterface::setCurrentBlock | ( | const RBlock & | block | ) |
Sets the current block that is in use for all views attached to this document interface.
void RDocumentInterface::setCurrentBlock | ( | RBlock::Id | blockId | ) |
Sets the current block that is in use for all views attached to this document interface.
void RDocumentInterface::setCurrentColor | ( | const RColor & | color | ) |
void RDocumentInterface::setCurrentLayer | ( | const QString & | layerName | ) |
Sets the current layer based on the given layer name.
void RDocumentInterface::setCurrentLayer | ( | const RLayer & | layer | ) |
Sets the current Layer that is in use for all views attached to this document interface.
void RDocumentInterface::setCurrentLayer | ( | RLayer::Id | layerId | ) |
void RDocumentInterface::setCurrentLinetype | ( | RLinetype::Id | ltId | ) |
void RDocumentInterface::setCurrentLinetypePattern | ( | const RLinetypePattern & | p | ) |
void RDocumentInterface::setCurrentLineweight | ( | RLineweight::Lineweight | lw | ) |
void RDocumentInterface::setCurrentUcs | ( | const QString & | ucsName | ) |
Sets the current UCS based on the given UCS name.
void RDocumentInterface::setCurrentUcs | ( | const RUcs & | ucs | ) |
Sets the current UCS (user coordinate system) that is in use for all views attached to this document interface.
void RDocumentInterface::setCurrentView | ( | const QString & | viewName | ) |
Sets the current view based on the given view name.
void RDocumentInterface::setCurrentViewport | ( | const RViewportEntity & | viewport | ) |
void RDocumentInterface::setCursor | ( | const QCursor & | cursor, |
bool | global = true |
||
) |
void RDocumentInterface::setCursorOverride | ( | bool | on | ) |
Force cursor to be shown.
Used for e.g. snap to intersection manual where we want to show the cursor even though we are in entity picking mode.
void RDocumentInterface::setCursorPosition | ( | const RVector & | p | ) |
void RDocumentInterface::setDefaultAction | ( | RAction * | action | ) |
Sets the action that is active if no other action is active.
void RDocumentInterface::setLastKnownViewWithFocus | ( | RGraphicsView * | view | ) |
|
inline |
void RDocumentInterface::setRelativeZero | ( | const RVector & | p | ) |
Sets the position of the relative zero point to p and updates the graphics views.
If the relative zero position is locked it is not moved.
void RDocumentInterface::setSnap | ( | RSnap * | snap | ) |
Sets the current snap object.
The document interface takes ownership of the object.
void RDocumentInterface::setSnapRestriction | ( | RSnapRestriction * | snapRestriction | ) |
Sets the current snap restriction object.
The document interface takes ownership of the object.
void RDocumentInterface::showPropertiesOf | ( | REntity & | entity | ) |
Notifies all property listeners that the properties of the given entity should be shown.
RVector RDocumentInterface::snap | ( | RMouseEvent & | event, |
bool | preview = false |
||
) |
Uses the current snap to snap the given position
to a grid point, end point, etc.
void RDocumentInterface::suspend | ( | ) |
void RDocumentInterface::swipeGestureEvent | ( | QSwipeGesture & | gesture | ) |
Forwards the given gesture to the current action.
void RDocumentInterface::tabletEvent | ( | RTabletEvent & | event | ) |
Forwards the given tablet event
to the current action.
void RDocumentInterface::tagState | ( | const QString & | tag = "" | ) |
void RDocumentInterface::terminateCurrentAction | ( | ) |
void RDocumentInterface::terminateEvent | ( | RTerminateEvent & | event | ) |
void RDocumentInterface::toggleSnapLock | ( | ) |
Toggles snap lock.
void RDocumentInterface::ucsSetEvent | ( | const QString & | ucsName | ) |
Called immediately after the user has activated a new UCS to be used as current UCS.
void RDocumentInterface::undo | ( | ) |
Transaction based undo.
void RDocumentInterface::undoToTag | ( | const QString & | tag = "" | ) |
Rollback to given transaction ID:
void RDocumentInterface::unlockRelativeZero | ( | ) |
Unlocks the position of the relative zero point.
void RDocumentInterface::unlockSnap | ( | ) |
Unlocks the current snap function so it should be changed automatically to auto snap whenever a new tool is started.
void RDocumentInterface::unregisterScene | ( | RGraphicsScene & | scene | ) |
Unregisters a scene from this document interface.
void RDocumentInterface::unsetCurrentViewport | ( | ) |
void RDocumentInterface::updateAllEntities | ( | ) |
Marks all entities with any kind of caching as dirty, so they are regenerated next time regenerate is called.
void RDocumentInterface::updateSelectionStatus | ( | QSet< REntity::Id > & | entityIds, |
bool | updateViews | ||
) |
void RDocumentInterface::updateSelectionStatus | ( | REntity::Id | entityId, |
bool | updateViews | ||
) |
void RDocumentInterface::wheelEvent | ( | RWheelEvent & | event | ) |
Forwards the given mouse wheel event
to the current action.
void RDocumentInterface::zoomChangeEvent | ( | RGraphicsView & | view | ) |
Called if the zoom (factor, offset) changed in the given view.
void RDocumentInterface::zoomIn | ( | ) |
Zooms in at the view that currently has the focus.
void RDocumentInterface::zoomOut | ( | ) |
Zooms out at the view that currently has the focus.
void RDocumentInterface::zoomPrevious | ( | ) |
Zooms to the previously visible viewport.
void RDocumentInterface::zoomTo | ( | const RBox & | region, |
int | margin = 0 |
||
) |
Zooms to the given region
.
bool RDocumentInterface::zoomToSelection | ( | ) |
|
private |
|
private |
|
staticprivate |
Copyright (c) 2011-2018 by Andrew Mustun.
All rights reserved.
This file is part of the QCAD project.
QCAD is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
QCAD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with QCAD.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |