Skip to content

Commit

Permalink
fix: showing unsupported message
Browse files Browse the repository at this point in the history
  • Loading branch information
mzdm committed Apr 19, 2021
1 parent 68b6aa0 commit 89ccaeb
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 39 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
package com.github.mzdm.embedded_dartpad.components

import com.intellij.ui.layout.InnerCell
import com.intellij.ui.layout.Cell
import java.awt.Color
import javax.swing.JComponent

fun InnerCell.expandedX() {
button("") { }.constraints(pushX, growX).component.apply {
fun Cell.expandedX() : JComponent {
return button("") { }.constraints(pushX, growX).component.apply {
isOpaque = false
isBorderPainted = false
foreground = Color(0xFFFFFF)
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,35 @@ package com.github.mzdm.embedded_dartpad.toolwindow

import com.github.mzdm.embedded_dartpad.browser.Browser
import com.github.mzdm.embedded_dartpad.components.ComponentPanel
import com.github.mzdm.embedded_dartpad.components.clickableLink
import com.github.mzdm.embedded_dartpad.components.statusMessage
import com.github.mzdm.embedded_dartpad.components.toolbar.toolbarActions
import com.github.mzdm.embedded_dartpad.models.DartPadSettings
import com.github.mzdm.embedded_dartpad.services.SettingsService
import com.github.mzdm.embedded_dartpad.utils.HtmlContentRenderer
import com.github.mzdm.embedded_dartpad.utils.addAll
import com.intellij.ide.BrowserUtil
import com.intellij.openapi.components.service
import com.intellij.openapi.project.Project
import com.intellij.openapi.ui.SimpleToolWindowPanel
import com.intellij.ui.jcef.JBCefApp
import com.intellij.ui.layout.panel
import javax.swing.BoxLayout
import javax.swing.SwingUtilities

class DartPadWindow(private val project: Project) : SimpleToolWindowPanel(false) {
private val browser = Browser()

private val settingsService: SettingsService
get() = project.service()
private val settings: DartPadSettings
get() = settingsService.settings

init {
if (!JBCefApp.isSupported()) {
val isJcefSupported: Boolean = try {
JBCefApp.isSupported()
} catch (t: Throwable) {
false
}

if (!isJcefSupported) {
showUnsupportedMessage()
} else {
SwingUtilities.invokeLater {
Expand All @@ -35,7 +40,8 @@ class DartPadWindow(private val project: Project) : SimpleToolWindowPanel(false)
}

private fun initBrowserToolWindow() {
refresh()
val browser = Browser()
refresh(browser)

val verticalLayout = BoxLayout(this, BoxLayout.Y_AXIS)
layout = verticalLayout
Expand All @@ -44,7 +50,7 @@ class DartPadWindow(private val project: Project) : SimpleToolWindowPanel(false)
ComponentPanel.of(
toolbarActions(
project,
onRefresh = { refresh() },
onRefresh = { refresh(browser) },
),
browser.component,
),
Expand All @@ -54,16 +60,22 @@ class DartPadWindow(private val project: Project) : SimpleToolWindowPanel(false)
repaint()
}

private fun refresh() {
private fun refresh(browser: Browser) {
browser.loadHTML(HtmlContentRenderer.load(settings))
}

private fun showUnsupportedMessage() {
addAll(
ComponentPanel.of(
statusMessage("Dart Pad is not supported in this IDE environment."),
clickableLink("Read more ...", "https://github.com/mzdm/embedded-dartpad#troubleshooting"),
),
)
add(panel {
row {
row {
label("Embedded DartPad is not supported in this IDE version.")
}
row {
link("Read more ...") {
BrowserUtil.browse("https://github.com/mzdm/embedded-dartpad#troubleshooting")
}
}
}
})
}
}

0 comments on commit 89ccaeb

Please sign in to comment.