Interactuadores de selección

En las secciones siguientes se explica cómo utilizar los interactuadores de selección.

SelectionInteractor

SelectionInteractor gestiona la interacción entre el gráfico y su objeto Selection, añadiendo y eliminando los elementos seleccionados. De forma predeterminada, al pulsar un elemento, la selección está vacía y se selecciona el elemento pulsado. Si pulsa un elemento mientras mantiene presionada la tecla Control, el elemento pulsado se agrega a la selección. Si el elemento ya está seleccionado, se elimina de la selección. Si pulsa un área libre del diagrama, la selección está vacía.
SelectionInteractor también se puede utilizar sin un widget Diagram, habilitándolo en el gráfico:
graph = surface.createGraph();
graph.setSelect(true);

MarqueeSelectionInteractor

MarqueeSelectionInteractor está disponible en el widget DiagramEditor. Le permite seleccionar varios elementos seleccionando un área rectangular del diagrama.
Cuando se pulsa un área libre del diagrama y se arrastra el puntero del ratón, en el Viewport se dibuja un rectángulo translúcido. Al soltar el botón del ratón, se seleccionan los elementos delimitados. De forma predeterminada, los elementos parcialmente delimitados se incluyen en la selección de marquesina. Sin embargo, si sólo desea incluir en la selección de marquesina los elementos totalmente delimitados, puede establecer el método setPartialSelectionEnabled en false.
Las modalidades de MarqueeSelectionInteractor pueden cambiarse mediante DiagramEditor utilizando el método setMarqueeMode(mode).
  • Sólo nivel superior:
    Modalidad predeterminada. Solamente selecciona los elementos del nivel superior (los que se crean en el gráfico). Establezca esta modalidad mediante la constante topLevelOnly.
  • Nivel superior:
    Selecciona únicamente el nivel superior de los elementos seleccionados. Por ejemplo, si se delimita todo un subgráfico, sólo se selecciona el subgráfico, pero no sus hijos. Si el subgráfico no está delimitado por la marquesina, se seleccionan los hijos que están delimitados. Establezca esta modalidad mediante la constante topParent.
  • Todos:
    Selecciona todos los elementos delimitados. Establezca esta modalidad mediante la constante all.
También es posible la selección múltiple. Si el usuario repite la selección de marquesina mientras mantiene presionada la tecla modificadora adecuada (Control, de forma predeterminada), los elementos seleccionados se añaden a la selección, sin eliminar la que ya existe.