Scene Window

The scene window holds a list of all graphical objects currently registered to the gfx.Scene.

../_images/100208_Scene_Win.png

Every node of the graphical scene tree is shown as a subnode of the scene. It is possible to select one or more objects in the scenewin (ctrl + <left mouse> ). The available actions of the context menu are applied to all currently selected objects.

class SceneWin
GetContextMenu()

Returns the ContextMenu-instance.

Return type:

ContextMenu

GetQObject()

Get the SIP-QObject (QWidget), learn more about Mixing PyQt and C++ Widgets.

Return type:

QWidget

Hide()

Hide the Widget

Show()

Shows the Widget

Context Menu

The Context Menu of the Scene Window is context sensitive. So, dependent on what is selected in the SceneWin the context menu changes.

Context menu of an entity:
../_images/100614_entity_context_menu.png
Context menu of an entity view:
../_images/100614_context_menu_view.png

It is possible to extend the Context Menu from python, by creating a QAction and add it to the ContextMenu-Class. If you want to display the action only for certain objects / states, you can pass flags which marks when the action should be shown.

from PyQt5 import QtWidgets
cm = gui.GostyApp.Instance().scene_win.GetContextMenu()
action = QtWidgets.QAction("Test single entity", cm.qobject)
cm.AddAction(action, gui.ContextActionType.ENTITY | gui.ContextActionType.SINGLE)
class ContextMenu

The ContextMenu is shown whenever the user presses <right click> on the SceneWin

AddAction(action, flags)

Adds the given action to the context menu of the scene window.

Parameters:
  • action (QAction) – The Action which should be displayed in the context menu

  • flags (ContextActionTypes) – Flags that indicates, when the context_menu should be active. The action will be shown, when all flags are true.

GetQObject()

Get the SIP-QObject (QObject), learn more about Mixing PyQt and C++ Widgets.

Return type:

QObject

ContextActionType

It is possible to specify flags for new ContextMenu actions of the SceneWin These flags are used, to specify when the action should be shown on the scene window. The actions can be combined by oring them (|). When flags are combined with an or, the resulting object is a ContextActionTypes-object. The following flags are defined by default:

  • NOT_SCENE

    All selected objects are not the root node

  • GFX_OBJECT

    All selected objects are gfx.GfxObj

  • ENTITY

    All selected objects are gfx.Entity

  • MAP

    All selected objects are gfx.MapIso

  • ENTITY_VIEW

    All selected objects are parts of the same Entity (either Queries or Views)

  • CUSTOM_VIEW

    All selected objects are named views (created by the user)

  • NOT_HIDDEN

    All selected objects are visible (can not be combined with the ENTITY_VIEW flag)

  • NOT_VISIBLE

    All selected objects are hidden (can not be combined with the ENTITY_VIEW flag)

  • SINGLE

    There is only one selected object in the SceneWin

  • MULTI

    There are multiple objects selected object in the SceneWin

ContextActionTypes

When multiple ContextActionType objects are being combined with an or (|) you will get an ContextActionTypes-Object.

ctx_act_types = gui.ContextActionType.ENTITY | gui.ContextActionType.SINGLE