in src/rider/main/kotlin/com/jetbrains/rider/plugins/dotnetdisassembler/AsmContentPanel.kt [111:138]
fun showError(message: String, details: String?) {
if (details.isNullOrBlank()) {
showMessage(message)
return
}
val detailsLink = HyperlinkLabel(AsmViewerBundle.message("error.show.details")).apply {
addHyperlinkListener {
ErrorDetailsDialog(project, details).show()
}
}
val innerPanel = JPanel().apply {
layout = BoxLayout(this, BoxLayout.Y_AXIS)
add(JLabel(message).apply { alignmentX = Component.CENTER_ALIGNMENT })
add(Box.createVerticalStrut(JBUI.scale(8)))
add(JPanel(FlowLayout(FlowLayout.CENTER, 0, 0)).apply { add(detailsLink) })
}
val errorPanel = JPanel(GridBagLayout()).apply {
add(innerPanel)
}
component.removeAll()
component.add(errorPanel, BorderLayout.CENTER)
component.revalidate()
component.repaint()
}