Class AbstractLaunchingTab

  • All Implemented Interfaces:
    com._1c.g5.v8.dt.internal.launching.ui.launchconfigurations.IRuntimeClientChangeListener, EventListener, org.eclipse.debug.core.IPrototypeAttributesLabelProvider, org.eclipse.debug.ui.ILaunchConfigurationTab, org.eclipse.debug.ui.ILaunchConfigurationTab2, ISelectionChangedListener, org.eclipse.swt.events.ModifyListener, org.eclipse.swt.events.SelectionListener, org.eclipse.swt.internal.SWTEventListener

    public abstract class AbstractLaunchingTab
    extends com._1c.g5.v8.dt.internal.launching.ui.launchconfigurations.AbstractRuntimeClientTab
    implements org.eclipse.swt.events.ModifyListener, org.eclipse.swt.events.SelectionListener, ISelectionChangedListener
    Abstract launch configuration tab with target project selection, infobase selection and 1C:Enterprise runtime installation selection.
    • Constructor Detail

      • AbstractLaunchingTab

        public AbstractLaunchingTab​(String runtimeTypeId,
                                    String runtimewizardId)
        Creates an instance of AbstractLaunchingTab.
        Parameters:
        runtimeTypeId - the 1C:Enterprise installation type id, cannot be null
        runtimewizardId - the 1C:Enterprise installation wizard id, cannot be null
    • Method Detail

      • setDefaults

        public void setDefaults​(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy configuration)
        Specified by:
        setDefaults in interface org.eclipse.debug.ui.ILaunchConfigurationTab
      • initializeFrom

        public void initializeFrom​(org.eclipse.debug.core.ILaunchConfiguration configuration)
        Specified by:
        initializeFrom in interface org.eclipse.debug.ui.ILaunchConfigurationTab
        Overrides:
        initializeFrom in class com._1c.g5.v8.dt.internal.launching.ui.launchconfigurations.AbstractRuntimeClientTab
      • deactivated

        public void deactivated​(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy workingCopy)
        Specified by:
        deactivated in interface org.eclipse.debug.ui.ILaunchConfigurationTab
        Overrides:
        deactivated in class org.eclipse.debug.ui.AbstractLaunchConfigurationTab
      • isValid

        public boolean isValid​(org.eclipse.debug.core.ILaunchConfiguration launchConfig)
        Specified by:
        isValid in interface org.eclipse.debug.ui.ILaunchConfigurationTab
        Overrides:
        isValid in class org.eclipse.debug.ui.AbstractLaunchConfigurationTab
      • modifyText

        public void modifyText​(org.eclipse.swt.events.ModifyEvent e)
        Specified by:
        modifyText in interface org.eclipse.swt.events.ModifyListener
      • widgetSelected

        public void widgetSelected​(org.eclipse.swt.events.SelectionEvent e)
        Specified by:
        widgetSelected in interface org.eclipse.swt.events.SelectionListener
      • widgetDefaultSelected

        public void widgetDefaultSelected​(org.eclipse.swt.events.SelectionEvent e)
        Specified by:
        widgetDefaultSelected in interface org.eclipse.swt.events.SelectionListener
      • initializeProjectViewer

        protected Optional<org.eclipse.core.resources.IProject> initializeProjectViewer​(org.eclipse.debug.core.ILaunchConfiguration configuration)
                                                                                 throws org.eclipse.core.runtime.CoreException
        Initializes launch configuation project UI settings based on the provided launch configuration.
        Parameters:
        configuration - the launch configuration to use, cannot be null
        Returns:
        the selected project if present
        Throws:
        org.eclipse.core.runtime.CoreException - if configuration read error occurred
      • initializeApplicationViewer

        protected Optional<IApplication> initializeApplicationViewer​(org.eclipse.debug.core.ILaunchConfiguration configuration,
                                                                     org.eclipse.core.resources.IProject project)
                                                              throws org.eclipse.core.runtime.CoreException
        Initializes launch configuation application UI settings based on the provided launch configuration.
        Parameters:
        configuration - the launch configuration to use, cannot be null
        Returns:
        the selected application if present
        Throws:
        org.eclipse.core.runtime.CoreException - if configuration read error occurred
      • createProjectSettings

        protected void createProjectSettings​(org.eclipse.swt.widgets.Composite parent)
        Creates project settings UI elements.
        Parameters:
        parent - the parent composite to create on, cannot be null
      • handleProjectSelection

        protected void handleProjectSelection​(org.eclipse.core.resources.IProject project)
        Handles a project selection.
        Parameters:
        project - the selected project, cannot be null
      • createApplicationSettings

        protected void createApplicationSettings​(org.eclipse.swt.widgets.Composite parent,
                                                 int hSpan)
        Creates application settings UI elements.
        Parameters:
        parent - the parent composite to create on, cannot be null
        hSpan - the horizotnal span of the application viewer
      • handleUseDefaultInfobaseLaunchSelection

        protected void handleUseDefaultInfobaseLaunchSelection()
        Handles use default infobase launch button selection.
      • handleUseInfobaseLaunchSelection

        protected void handleUseInfobaseLaunchSelection()
        Handles use infobase launch button selection.
      • createRuntimeInstallationSettings

        protected void createRuntimeInstallationSettings​(org.eclipse.swt.widgets.Composite parent,
                                                         String label,
                                                         int viewerSpan)
        Creates 1C:Enterprise runtime installations settings UI elements.
        Parameters:
        parent - the parent composite to create on, cannot be null
        label - the viewer label text, cannot be null
        viewerSpan - the viewer horizontal span
      • createAddRuntimeButton

        protected void createAddRuntimeButton​(org.eclipse.swt.widgets.Composite parent)
        Creates "Add new runtime" button.
        Parameters:
        parent - the parent composite to create on, cannot be null
      • validateProject

        protected boolean validateProject()
        Validates project selection.
        Returns:
        whether this selection is in a valid state
      • validateProject

        protected boolean validateProject​(ApplicationUsePurpose usePurpose,
                                          String label)
        Validates project selection and project configuration use purpose.
        Parameters:
        usePurpose - the use purpose to check, cannot be null
        label - the label for the use purpose UI usage, cannot be null
        Returns:
        whether this selection is in a valid state
      • validateRuntimeInstallation

        protected boolean validateRuntimeInstallation()
        Validates 1C:Enterprise runtime installation selection.
        Returns:
        whether this selection is in a valid state
      • getSelectedInstallation

        protected Optional<IResolvableRuntimeInstallation> getSelectedInstallation()
        Returns the selected 1C:Enterprise resolvable installation in the launching tab if present.
        Returns:
        the selected 1C:Enterprise resolvable installation in the launching tab if present
      • getSelectedApplication

        protected Optional<IApplication> getSelectedApplication()
        Returns the selected application in the launching tab if present.
        Returns:
        the selected application in the launching tab if present
      • getSelectedProject

        protected Optional<org.eclipse.core.resources.IProject> getSelectedProject()
        Returns the selected project in the launching tab if present.
        Returns:
        the selected project in the launching tab if present
      • getContextProject

        protected Optional<org.eclipse.core.resources.IProject> getContextProject()
        Returns the current context project if present.
        Returns:
        the current context project if present