public abstract class CreateRemoteSdkForm<T extends RemoteSdkAdditionalData> extends javax.swing.JPanel implements Disposable
javax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
java.awt.Container.AccessibleAWTContainer
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
Disposable.Parent
Modifier and Type | Field and Description |
---|---|
protected TextFieldWithBrowseButton |
myHelpersPathField |
protected TextFieldWithBrowseButton |
myInterpreterPathField |
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
CreateRemoteSdkForm(Project project,
RemoteSdkEditorContainer parentContainer,
java.lang.Runnable validator,
BundleAccessor bundleAccessor) |
CreateRemoteSdkForm(Project project,
RemoteSdkEditorContainer parentContainer,
SdkScopeController sdkScopeController,
java.lang.Runnable validator,
BundleAccessor bundleAccessor) |
Modifier and Type | Method and Description |
---|---|
RemoteSdkCredentials |
computeSdkCredentials() |
T |
createSdkData() |
protected T |
createSdkDataInner() |
protected void |
disableChangeTypePanel() |
void |
dispose()
Usually not invoked directly, see class javadoc.
|
protected abstract T |
doCreateSdkData(java.lang.String interpreterPath) |
BundleAccessor |
getBundleAccessor() |
protected java.util.List<CredentialsLanguageContribution> |
getContributions() |
Disposable |
getDisposable() |
java.lang.String |
getInterpreterPath() |
RemoteSdkEditorContainer |
getParentContainer() |
javax.swing.JComponent |
getPreferredFocusedComponent() |
Project |
getProject() |
java.lang.String |
getSdkName() |
SdkScopeController |
getSdkScopeController() |
StatusPanel |
getStatusPanel() |
java.lang.String |
getTempFilesPath() |
java.lang.String |
getValidationError() |
java.lang.Runnable |
getValidator() |
void |
init(T data) |
boolean |
isConnectionTypeSupported(CredentialsType type)
Returns whether editing of SDK with specified
CredentialsType is
supported or not. |
boolean |
isSdkInConsistentState(CredentialsType<?> connectionType) |
boolean |
isSshSudoSupported()
Returns whether running SSH interpreter as root via sudo is
supported or not.
|
void |
selectType(CredentialsType credentialsType) |
protected void |
setInterpreterPathVisible(boolean visible) |
void |
setSdkName(java.lang.String name) |
protected void |
setTempFilesPathVisible(boolean visible) |
void |
showBrowsePathsDialog(TextFieldWithBrowseButton textFieldWithBrowseButton,
java.lang.String dialogTitle) |
void |
updateHelpersPath(java.lang.String helpersPath) |
void |
updateModifiedValues(RemoteSdkCredentials data) |
java.lang.String |
validateFinal() |
ValidationInfo |
validateRemoteInterpreter() |
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
protected TextFieldWithBrowseButton myInterpreterPathField
protected TextFieldWithBrowseButton myHelpersPathField
public CreateRemoteSdkForm(Project project, RemoteSdkEditorContainer parentContainer, java.lang.Runnable validator, BundleAccessor bundleAccessor)
public CreateRemoteSdkForm(Project project, RemoteSdkEditorContainer parentContainer, SdkScopeController sdkScopeController, java.lang.Runnable validator, BundleAccessor bundleAccessor)
public void showBrowsePathsDialog(TextFieldWithBrowseButton textFieldWithBrowseButton, java.lang.String dialogTitle)
protected void disableChangeTypePanel()
protected java.util.List<CredentialsLanguageContribution> getContributions()
public final SdkScopeController getSdkScopeController()
public final RemoteSdkCredentials computeSdkCredentials() throws ExecutionException, java.lang.InterruptedException
ExecutionException
java.lang.InterruptedException
public javax.swing.JComponent getPreferredFocusedComponent()
public T createSdkData() throws RemoteSdkException
RemoteSdkException
protected T createSdkDataInner()
protected abstract T doCreateSdkData(java.lang.String interpreterPath)
public void setSdkName(java.lang.String name)
public void init(T data)
protected void setTempFilesPathVisible(boolean visible)
protected void setInterpreterPathVisible(boolean visible)
public java.lang.String getInterpreterPath()
public java.lang.String getTempFilesPath()
public ValidationInfo validateRemoteInterpreter()
public java.lang.String getSdkName()
public void updateModifiedValues(RemoteSdkCredentials data)
public void updateHelpersPath(java.lang.String helpersPath)
public boolean isSdkInConsistentState(CredentialsType<?> connectionType)
public java.lang.String getValidationError()
public java.lang.String validateFinal()
public void dispose()
Disposable
dispose
in interface Disposable
public final Disposable getDisposable()
public final BundleAccessor getBundleAccessor()
public Project getProject()
public final RemoteSdkEditorContainer getParentContainer()
public StatusPanel getStatusPanel()
public java.lang.Runnable getValidator()
public boolean isSshSudoSupported()
public boolean isConnectionTypeSupported(CredentialsType type)
CredentialsType
is
supported or not.
Certain remote interpreters (e.g. PHP, Python, Ruby, etc.) may or may not support SDK with certain credentials type (e.g. Docker, Docker Compose, WSL, etc.).
type
- credentials type to checkpublic void selectType(CredentialsType credentialsType)