Class ElementSelectionDlgFactory

java.lang.Object
com.nomagic.magicdraw.ui.dialogs.selection.ElementSelectionDlgFactory

@OpenApi public class ElementSelectionDlgFactory extends Object
Element Selection dialog factory class. This factory should be used to create instances of ElementSelectionDlg and also configure dialog initial settings.

Selecting elements via element Selection dialog

 // Use ElementSelectionDlgFactory.create(...) methods to create element selection dialog.
 Frame dialogParent = MDDialogParentProvider.getProvider().getDialogParent();
 ElementSelectionDlg dlg = ElementSelectionDlgFactory.create(dialogParent);

 // Use ElementSelectionDlgFactory.initSingle(...) methods to initialize the dialog with single element selection mode.
 ElementSelectionDlgFactory.initSingle(....);

 // Use ElementSelectionDlgFactory.initMultiple(...) methods to initialize the dialog with multiple element selection mode.
 ElementSelectionDlgFactory.initMultiple(....);

 // Display dialog for the user to select elements.
 dlg.show();

 // Check if the user has clicked "Ok".
 if (dlg.isOkClicked())
 {
     // Get selected element in single selection mode.a
     BaseElement selected = dlg.getSelectedElement();

     // Get selected elements in multiple selection mode.
     BaseElement selected = dlg.getSelectedElements();
 }
 
See Also:
  • Method Details

    • create

      @OpenApi public static ElementSelectionDlg create()
      Create an instance of the dialog
      Returns:
      dialog instance
    • create

      @OpenApi public static ElementSelectionDlg create(@CheckForNull Frame parent)
      Create an instance of dialog
      Parameters:
      parent - dialog parent
      Returns:
      dialog instance
    • create

      @OpenApi public static ElementSelectionDlg create(@CheckForNull Frame parent, @CheckForNull String title, @CheckForNull String helpPath)
      Create an instance of dialog
      Parameters:
      parent - dialog parent
      title - dialog title
      helpPath - help id
      Returns:
      dialog instance
    • create

      @OpenApi public static ElementSelectionDlg create(@CheckForNull Window parent)
      Create an instance of dialog
      Parameters:
      parent - dialog parent
      Returns:
      dialog instance
    • create

      @OpenApi public static ElementSelectionDlg create(@CheckForNull Window parent, @CheckForNull String title, @CheckForNull String helpPath)
      Create an instance of dialog
      Parameters:
      parent - dialog parent
      title - dialog title
      helpPath - help id
      Returns:
      dialog instance
    • create

      @OpenApi public static ElementSelectionDlg create(@CheckForNull Dialog parent)
      Create an instance of dialog
      Parameters:
      parent - dialog parent
      Returns:
      dialog instance
    • create

      @OpenApi public static ElementSelectionDlg create(@CheckForNull Dialog parent, @CheckForNull String title, @CheckForNull String helpPath)
      Create an instance of dialog
      Parameters:
      parent - dialog parent
      title - dialog title
      helpPath - help id
      Returns:
      dialog instance
    • collectDisplayable

      @OpenApi public static Collection collectDisplayable(@CheckForNull Collection displayable, Collection selectable)
      Collect displayable types for a given selectable types if given displayable is null
      Parameters:
      displayable - displayable types
      selectable - selectable types
      Returns:
      displayable types
    • createDisplayableForSelectable

      @OpenApi public static TypeFilter createDisplayableForSelectable(@CheckForNull Collection displayable, TypeFilter selectable)
      Create displayable types filter for a given selectable types filter if given displayable is null
      Parameters:
      displayable - displayable types
      selectable - selectable types
      Returns:
      displayable types
    • createDisplayableForSelectable

      @OpenApi public static TypeFilter createDisplayableForSelectable(TypeFilter selectable)
      Create displayable types filter for a given selectable types filter.
      Parameters:
      selectable - selectable types
      Returns:
      displayable types
    • createDisplayableForSelectable

      @OpenApi public static TypeFilter createDisplayableForSelectable(Collection selectable)
      Create displayable types filter for a given selectable types.
      Parameters:
      selectable - selectable types
      Returns:
      displayable types
    • initSingle

      @OpenApi public static void initSingle(ElementSelectionDlg dlg, SelectElementTypes types, SelectElementInfo info, @CheckForNull Object selection)
      Initializes given dialog with a "single element" selection mode. It means dialog will allow to select just a single element.
      Parameters:
      dlg - dialog
      types - element selection information
      info - dialog settings
      selection - initially selected element
    • initMultiple

      @OpenApi public static void initMultiple(ElementSelectionDlg dlg, SelectElementTypes types, SelectElementInfo info, @CheckForNull Object[] selection)
      Initializes given dialog with a "multiple elements" selection mode. It means dialog will allow to select several elements.
      Parameters:
      dlg - dialog
      types - element selection information
      info - dialog settings
      selection - initially selected elements
    • initMultiple

      @OpenApi public static void initMultiple(ElementSelectionDlg dlg, SelectElementTypes types, SelectElementInfo info, @CheckForNull List selection)
      Initializes given dialog with a "multiple elements" selection mode. It means dialog will allow to select several elements.
      Parameters:
      dlg - dialog
      types - element selection information
      info - dialog settings
      selection - initially selected elements
    • initSingle

      @OpenApi public static void initSingle(ElementSelectionDlg dlg, SelectElementInfo info, TypeFilter visibleElementsFilter, TypeFilter selectableElementsFilter, @CheckForNull Collection<?> creatableTypes, @CheckForNull Object selection)
      Initializes given dialog with a "single element" selection mode. It means dialog will allow to select just a single element.
      Parameters:
      dlg - dialog
      info - dialog settings
      visibleElementsFilter - filter providing visible elements in the dialog
      selectableElementsFilter - filter providing selectable elements in the dialog
      creatableTypes - collection of creatable types (choice on Create button)
      selection - initially selected element
    • initSingle

      @OpenApi public static void initSingle(ElementSelectionDlg dlg, SelectElementInfo info, TypeFilter visibleElementsFilter, TypeFilter selectableElementsFilter, boolean usedAsType, @CheckForNull Collection<?> creatableTypes, @CheckForNull Object selection)
      Initializes given dialog with a "single element" selection mode. It means dialog will allow to select just a single element.
      Parameters:
      dlg - dialog
      info - dialog settings
      visibleElementsFilter - filter providing visible elements in the dialog
      selectableElementsFilter - filter providing selectable elements in the dialog
      usedAsType - is this dialog instance is used to select some UML Type. If true, some special filters from DSL will be used for elements filtering
      creatableTypes - collection of creatable types (choice on Create button)
      selection - initially selected element
    • initMultiple

      @OpenApi public static void initMultiple(ElementSelectionDlg dlg, SelectElementInfo info, TypeFilter visibleElementsFilter, TypeFilter selectableElementsFilter, boolean usedAsType, @CheckForNull Collection<?> creatableTypes, @CheckForNull Object[] selection)
      Initializes given dialog with a "multiple elements" selection mode. It means dialog will allow to select several elements.
      Parameters:
      dlg - dialog
      info - dialog settings
      visibleElementsFilter - filter providing visible elements in the dialog
      selectableElementsFilter - filter providing selectable elements in the dialog
      usedAsType - is this dialog instance is used to select some UML Type. If true, some special filters from DSL will be used for elements filtering
      creatableTypes - collection of creatable types (choice on Create button)
      selection - initially selected element
    • initMultiple

      @OpenApi public static void initMultiple(ElementSelectionDlg dlg, SelectElementInfo info, TypeFilter visibleElementsFilter, TypeFilter selectableElementsFilter, @CheckForNull Collection<?> creatableTypes, @CheckForNull Object[] selection)
      Initializes given dialog with a "multiple elements" selection mode. It means dialog will allow to select several elements.
      Parameters:
      dlg - dialog
      info - dialog settings
      visibleElementsFilter - filter providing visible elements in the dialog
      selectableElementsFilter - filter providing selectable elements in the dialog
      creatableTypes - collection of creatable types (choice on Create button)
      selection - initially selected element
    • initMultiple

      @OpenApi public static void initMultiple(ElementSelectionDlg dlg, SelectElementInfo info, TypeFilter visibleElementsFilter, TypeFilter selectableElementsFilter, @CheckForNull Collection<?> creatableTypes, @CheckForNull List<?> selection)
      Initializes given dialog with a "multiple elements" selection mode. It means dialog will allow to select several elements.
      Parameters:
      dlg - dialog
      info - dialog settings
      visibleElementsFilter - filter providing visible elements in the dialog
      selectableElementsFilter - filter providing selectable elements in the dialog
      creatableTypes - collection of creatable types (choice on Create button)
      selection - initially selected element
    • initMultiple

      @OpenApi public static void initMultiple(ElementSelectionDlg dlg, SelectElementInfo info, TypeFilter visibleElementsFilter, TypeFilter selectableElementsFilter, boolean usedAsType, @CheckForNull Collection<?> creatableTypes, @CheckForNull List<?> selection)
      Initializes given dialog with a "multiple elements" selection mode. It means dialog will allow to select several elements.
      Parameters:
      dlg - dialog
      info - dialog settings
      visibleElementsFilter - filter providing visible elements in the dialog
      selectableElementsFilter - filter providing selectable elements in the dialog
      usedAsType - is this dialog instance is used to select some UML Type. If true, some special filters from DSL will be used for elements filtering
      creatableTypes - collection of creatable types (choice on Create button)
      selection - initially selected element
    • initMultipleAsMultipleInitial

      @OpenApi public static void initMultipleAsMultipleInitial(ElementSelectionDlg dlg, SelectElementInfo info, TypeFilter visibleElementsFilter, TypeFilter selectableElementsFilter, @CheckForNull Collection<?> creatableTypes, @CheckForNull List<?> selection)
      Initializes given dialog with a "multiple elements" selection mode. It means dialog will allow to select several elements. Allows to set Multiple as mode initial multiple, (All initMultiple only use SINGLE_INITIAL)
      Parameters:
      dlg - dialog
      info - dialog settings
      visibleElementsFilter - filter providing visible elements in the dialog
      selectableElementsFilter - filter providing selectable elements in the dialog
      creatableTypes - collection of creatable types (choice on Create button)
      selection - initially selected element