in src/main/kotlin/com/jetbrains/interactiveRebase/visuals/LabeledBranchPanel.kt [406:447]
fun wrapLabelWithTextField(
commitLabel: JBLabel,
commitInfo: CommitInfo,
): JComponent {
val textLabelWrapper = JBPanel<JBPanel<*>>()
textLabelWrapper.layout = OverlayLayout(textLabelWrapper)
textLabelWrapper.isOpaque = false
val gbc = gridCellForTextLabel()
val labelWrapper = JBPanel<JBPanel<*>>()
labelWrapper.layout = GridBagLayout()
labelWrapper.isOpaque = false
labelWrapper.isVisible = true
labelWrapper.add(commitLabel, gbc)
val textWrapper = JBPanel<JBPanel<*>>()
textWrapper.layout = GridBagLayout()
textWrapper.isOpaque = false
textWrapper.isVisible = false
val textField = createTextBox(commitLabel, commitInfo)
textWrapper.add(textField, gbc)
if (commitInfo.isTextFieldEnabled) {
enableTextField(textField, textWrapper, labelWrapper, commitInfo)
}
textLabelWrapper.add(labelWrapper)
textLabelWrapper.add(textWrapper)
val labelListener = LabelListener(commitInfo, branch)
commitLabel.addMouseListener(labelListener)
if (commitLabel is Disposable) {
Disposer.register(commitLabel, labelListener)
}
messages.add(textLabelWrapper)
return textLabelWrapper
}