Gestionnaire d’actions#

The cdl.core.gui.actionhandler module handles all application actions (menus, toolbars, context menu). These actions point to DataLab panels, processors, objecthandler, …

Classes utilitaires#

class cdl.core.gui.actionhandler.SelectCond[source]#

Conditions de sélection de signaux ou d’images

static always(selected_groups: list[ObjectGroup], selected_objects: list[SignalObj | ImageObj]) bool[source]#

Toujours vrai

static exactly_one(selected_groups: list[ObjectGroup], selected_objects: list[SignalObj | ImageObj]) bool[source]#

Exactement un signal ou une image est sélectionné

static exactly_one_group(selected_groups: list[ObjectGroup], selected_objects: list[SignalObj | ImageObj]) bool[source]#

Exactement un groupe est sélectionné

static exactly_one_group_or_one_object(selected_groups: list[ObjectGroup], selected_objects: list[SignalObj | ImageObj]) bool[source]#

Exactly one group or one signal or image is selected

static at_least_one_group_or_one_object(sel_groups: list[ObjectGroup], sel_objects: list[SignalObj | ImageObj]) bool[source]#

Au moins un groupe ou un signal ou une image est sélectionné

static at_least_one(sel_groups: list[ObjectGroup], sel_objects: list[SignalObj | ImageObj]) bool[source]#

Au moins un signal ou une image est sélectionné

static at_least_two(sel_groups: list[ObjectGroup], sel_objects: list[SignalObj | ImageObj]) bool[source]#

Au moins deux signaux ou images sont sélectionnés

static with_roi(selected_groups: list[ObjectGroup], selected_objects: list[SignalObj | ImageObj]) bool[source]#

Au moins un signal ou une image a une ROI

class cdl.core.gui.actionhandler.ActionCategory(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Catégories d’actions

Classes de gestion#

class cdl.core.gui.actionhandler.SignalActionHandler(panel: SignalPanel | ImagePanel, panel_toolbar: QW.QToolBar, view_toolbar: QW.QToolBar)[source]#

Object handling signal panel GUI interactions: actions, menus, …

create_first_actions()[source]#

Créer des actions qui sont ajoutées aux menus en premier lieu

create_last_actions()[source]#

Créer des actions qui sont ajoutées aux menus à la fin

add_action(action: QAction, select_condition: Callable | None = None) None#

Ajouter une action à la liste des actions.

Paramètres:
  • action – action à ajouter

  • select_condition – condition pour activer l’action. Par défaut à None. Si None, l’action est activée si au moins un objet est sélectionné.

add_to_action_list(action: QAction, category: ActionCategory | None = None, pos: int | None = None, sep: bool = False) None#

Ajouter une action à la liste des actions.

Paramètres:
  • action – action à ajouter

  • category – catégorie d’action. Par défaut à None. Si None, l’action est ajoutée à la catégorie actuelle.

  • pos – ajouter l’action au menu à cette position. Par défaut à None. Si None, l’action est ajoutée à la fin de la liste.

  • sep – ajouter un séparateur avant l’action dans le menu (ou après si pos est positif). Par défaut à False.

create_all_actions()#

Créer toutes les actions

new_action(title: str, position: int | None = None, separator: bool = False, triggered: Callable | None = None, toggled: Callable | None = None, shortcut: QShortcut | None = None, icon_name: str | None = None, tip: str | None = None, select_condition: Callable | str | None = None, context_menu_pos: int | None = None, context_menu_sep: bool = False, toolbar_pos: int | None = None, toolbar_sep: bool = False, toolbar_category: ActionCategory | None = None) QAction#

Créer une nouvelle action et l’ajouter à la liste des actions.

Paramètres:
  • title – titre de l’action

  • position – ajouter l’action au menu à cette position. Par défaut à None.

  • separator – ajouter un séparateur avant l’action dans le menu (ou après si pos est positif). Par défaut à False.

  • triggered – callback déclenché. Par défaut à None.

  • toggled – callback de type toggle. Par défaut à None.

  • shortcut – raccourci. Par défaut à None.

  • icon_name – nom de l’icône. Par défaut à None.

  • tip – info-bulle. Par défaut à None.

  • select_condition – condition de sélection. Par défaut à None. Si str, doit être le nom d’une méthode de SelectCond, c’est-à-dire l’une des valeurs suivantes : « always », « exactly_one », « exactly_one_group », « at_least_one_group_or_one_object », « at_least_one », « at_least_two », « with_roi ».

  • context_menu_pos – ajouter l’action au menu contextuel à cette position. Par défaut à None.

  • context_menu_sep – ajouter un séparateur avant l’action dans le menu contextuel (ou après si context_menu_pos est positif). Par défaut à False.

  • toolbar_pos – ajouter l’action à la barre d’outils à cette position. Par défaut à None.

  • toolbar_sep – ajouter un séparateur avant l’action dans la barre d’outils (ou après si toolbar_pos est positif). Par défaut à False.

  • toolbar_category – catégorie de la barre d’outils. Par défaut à None. S’il n’est pas None, cela spécifie la catégorie de la barre d’outils. Si None, par défaut à ActionCategory.VIEW_TOOLBAR si la catégorie actuelle est ActionCategory.VIEW, sinon à ActionCategory.PANEL_TOOLBAR.

Renvoie:

Nouvelle action

new_category(category: ActionCategory) Generator[None, None, None]#

Gestionnaire de contexte pour créer un nouveau menu.

Paramètres:

category – Catégorie d’action

Renvoie (Yields):

None

new_menu(title: str, icon_name: str | None = None) Generator[None, None, None]#

Gestionnaire de contexte pour créer un nouveau menu.

Paramètres:
  • title – Titre du menu

  • icon_name – Nom de l’icône du menu. Par défaut à None.

Renvoie (Yields):

None

selected_objects_changed(selected_groups: list[ObjectGroup], selected_objects: list[SignalObj | ImageObj]) None#

Mettre à jour les actions en fonction des objets sélectionnés.

Paramètres:
  • selected_groups – groupes sélectionnés

  • selected_objects – objets sélectionnés

class cdl.core.gui.actionhandler.ImageActionHandler(panel: SignalPanel | ImagePanel, panel_toolbar: QW.QToolBar, view_toolbar: QW.QToolBar)[source]#

Objet gérant les interactions GUI du panneau d’images : actions, menus, …

create_first_actions()[source]#

Créer des actions qui sont ajoutées aux menus en premier lieu

create_last_actions()[source]#

Créer des actions qui sont ajoutées aux menus à la fin

add_action(action: QAction, select_condition: Callable | None = None) None#

Ajouter une action à la liste des actions.

Paramètres:
  • action – action à ajouter

  • select_condition – condition pour activer l’action. Par défaut à None. Si None, l’action est activée si au moins un objet est sélectionné.

add_to_action_list(action: QAction, category: ActionCategory | None = None, pos: int | None = None, sep: bool = False) None#

Ajouter une action à la liste des actions.

Paramètres:
  • action – action à ajouter

  • category – catégorie d’action. Par défaut à None. Si None, l’action est ajoutée à la catégorie actuelle.

  • pos – ajouter l’action au menu à cette position. Par défaut à None. Si None, l’action est ajoutée à la fin de la liste.

  • sep – ajouter un séparateur avant l’action dans le menu (ou après si pos est positif). Par défaut à False.

create_all_actions()#

Créer toutes les actions

new_action(title: str, position: int | None = None, separator: bool = False, triggered: Callable | None = None, toggled: Callable | None = None, shortcut: QShortcut | None = None, icon_name: str | None = None, tip: str | None = None, select_condition: Callable | str | None = None, context_menu_pos: int | None = None, context_menu_sep: bool = False, toolbar_pos: int | None = None, toolbar_sep: bool = False, toolbar_category: ActionCategory | None = None) QAction#

Créer une nouvelle action et l’ajouter à la liste des actions.

Paramètres:
  • title – titre de l’action

  • position – ajouter l’action au menu à cette position. Par défaut à None.

  • separator – ajouter un séparateur avant l’action dans le menu (ou après si pos est positif). Par défaut à False.

  • triggered – callback déclenché. Par défaut à None.

  • toggled – callback de type toggle. Par défaut à None.

  • shortcut – raccourci. Par défaut à None.

  • icon_name – nom de l’icône. Par défaut à None.

  • tip – info-bulle. Par défaut à None.

  • select_condition – condition de sélection. Par défaut à None. Si str, doit être le nom d’une méthode de SelectCond, c’est-à-dire l’une des valeurs suivantes : « always », « exactly_one », « exactly_one_group », « at_least_one_group_or_one_object », « at_least_one », « at_least_two », « with_roi ».

  • context_menu_pos – ajouter l’action au menu contextuel à cette position. Par défaut à None.

  • context_menu_sep – ajouter un séparateur avant l’action dans le menu contextuel (ou après si context_menu_pos est positif). Par défaut à False.

  • toolbar_pos – ajouter l’action à la barre d’outils à cette position. Par défaut à None.

  • toolbar_sep – ajouter un séparateur avant l’action dans la barre d’outils (ou après si toolbar_pos est positif). Par défaut à False.

  • toolbar_category – catégorie de la barre d’outils. Par défaut à None. S’il n’est pas None, cela spécifie la catégorie de la barre d’outils. Si None, par défaut à ActionCategory.VIEW_TOOLBAR si la catégorie actuelle est ActionCategory.VIEW, sinon à ActionCategory.PANEL_TOOLBAR.

Renvoie:

Nouvelle action

new_category(category: ActionCategory) Generator[None, None, None]#

Gestionnaire de contexte pour créer un nouveau menu.

Paramètres:

category – Catégorie d’action

Renvoie (Yields):

None

new_menu(title: str, icon_name: str | None = None) Generator[None, None, None]#

Gestionnaire de contexte pour créer un nouveau menu.

Paramètres:
  • title – Titre du menu

  • icon_name – Nom de l’icône du menu. Par défaut à None.

Renvoie (Yields):

None

selected_objects_changed(selected_groups: list[ObjectGroup], selected_objects: list[SignalObj | ImageObj]) None#

Mettre à jour les actions en fonction des objets sélectionnés.

Paramètres:
  • selected_groups – groupes sélectionnés

  • selected_objects – objets sélectionnés