![]() |
Plasma Engine
2.0
|
Public Member Functions | |
plSelectionContext (plQtEngineDocumentWindow *pOwnerWindow, plQtEngineViewWidget *pOwnerView, const plCamera *pCamera) | |
void | SetWindowConfig (const plVec2I32 &vViewport) |
void | SetPickObjectOverride (plDelegate< void(const plDocumentObject *)> pickOverride) |
Adds a delegate that gets called whenever an object is picked, as long as the override is active. | |
void | ResetPickObjectOverride () |
![]() | |
void | FocusLost (bool bCancel) |
plEditorInput | KeyPressEvent (QKeyEvent *e) |
plEditorInput | KeyReleaseEvent (QKeyEvent *e) |
plEditorInput | MousePressEvent (QMouseEvent *e) |
plEditorInput | MouseReleaseEvent (QMouseEvent *e) |
plEditorInput | MouseMoveEvent (QMouseEvent *e) |
plEditorInput | WheelEvent (QWheelEvent *e) |
void | MakeActiveInputContext (bool bActive=true) |
bool | IsActiveInputContext () const |
void | SetOwner (plQtEngineDocumentWindow *pOwnerWindow, plQtEngineViewWidget *pOwnerView) |
plQtEngineDocumentWindow * | GetOwnerWindow () const |
plQtEngineViewWidget * | GetOwnerView () const |
bool | GetShortcutsDisabled () const |
void | SetShortcutsDisabled (bool bDisabled) |
If set to true, the surrounding window will ensure to block all shortcuts and instead send keypress events to the input context. | |
virtual bool | IsPickingSelectedAllowed () const |
plVec2I32 | SetMouseMode (MouseMode mode) |
Sets how the mouse will act when it reaches the screen border. UpdateMouseMode() must be called on every mouseMoveEvent to update the state. | |
plVec2I32 | UpdateMouseMode (QMouseEvent *e) |
Updates the mouse position. Can always be called but will only have an effect if SetMouseMode() was called with one of the wrap modes. | |
virtual void | UpdateStatusBarText (plQtEngineDocumentWindow *pWindow) |
![]() | |
virtual const plRTTI * | GetDynamicRTTI () const |
bool | IsInstanceOf (const plRTTI *pType) const |
Returns whether the type of this instance is of the given type or derived from it. | |
template<typename T > | |
PL_ALWAYS_INLINE bool | IsInstanceOf () const |
Returns whether the type of this instance is of the given type or derived from it. | |
Protected Types | |
enum class | Mode { None , Single , MarqueeAdd , MarqueeRemove } |
Protected Member Functions | |
virtual plEditorInput | DoMousePressEvent (QMouseEvent *e) override |
virtual plEditorInput | DoMouseReleaseEvent (QMouseEvent *e) override |
virtual plEditorInput | DoMouseMoveEvent (QMouseEvent *e) override |
virtual plEditorInput | DoKeyPressEvent (QKeyEvent *e) override |
virtual plEditorInput | DoKeyReleaseEvent (QKeyEvent *e) override |
virtual void | OnSetOwner (plQtEngineDocumentWindow *pOwnerWindow, plQtEngineViewWidget *pOwnerView) override |
const plDocumentObject * | determineObjectToSelect (const plDocumentObject *pickedObject, bool bToggle, bool bDirect) const |
virtual void | DoFocusLost (bool bCancel) override |
virtual void | OpenDocumentForPickedObject (const plObjectPickingResult &res) const |
virtual void | SelectPickedObject (const plObjectPickingResult &res, bool bToggle, bool bDirect) const |
void | SendMarqueeMsg (QMouseEvent *e, plUInt8 uiWhatToDo) |
![]() | |
virtual plEditorInput | DoWheelEvent (QWheelEvent *e) |
Protected Attributes | |
plDelegate< void(const plDocumentObject *)> | m_PickObjectOverride |
const plCamera * | m_pCamera |
plVec2I32 | m_vViewport |
plEngineGizmoHandle | m_hMarqueeGizmo |
plVec3 | m_vMarqueeStartPos |
plUInt32 | m_uiMarqueeID |
bool | m_bPressedSpace = false |
Mode | m_Mode = Mode::None |
Additional Inherited Members | |
![]() | |
enum class | MouseMode { Normal , WrapAtScreenBorders , HideAndWrapAtScreenBorders } |
How the mouse position is updated when the mouse cursor reaches the screen borders. More... | |
![]() | |
static void | SetActiveInputContext (plEditorInputContext *pContext) |
static bool | IsAnyInputContextActive () |
static plEditorInputContext * | GetActiveInputContext () |
static void | UpdateActiveInputContext () |
![]() | |
static const plRTTI * | GetStaticRTTI () |
|
overrideprotectedvirtual |
Reimplemented from plEditorInputContext.
|
overrideprotectedvirtual |
Reimplemented from plEditorInputContext.
|
overrideprotectedvirtual |
Reimplemented from plEditorInputContext.
|
overrideprotectedvirtual |
Reimplemented from plEditorInputContext.
|
overrideprotectedvirtual |
Reimplemented from plEditorInputContext.
|
overrideprotectedvirtual |
Reimplemented from plEditorInputContext.
|
inlineoverrideprotectedvirtual |
Implements plEditorInputContext.
void plSelectionContext::SetPickObjectOverride | ( | plDelegate< void(const plDocumentObject *)> | pickOverride | ) |
Adds a delegate that gets called whenever an object is picked, as long as the override is active.
It also changes the owner view's cursor to a cross-hair. If something gets picked, the override is called with a non-null object. In case the user presses ESC or the view gets destroyed while the override is active, the delegate is called with nullptr. This indicates that all picking should be stopped and the registered user should clean up.