Removed unnecessary code
This commit is contained in:
parent
6ae68957e3
commit
50fff76b1f
@ -1,113 +1,6 @@
|
|||||||
package com.jetpackduba.gitnuro
|
package com.jetpackduba.gitnuro
|
||||||
|
|
||||||
|
|
||||||
import androidx.compose.foundation.ExperimentalFoundationApi
|
|
||||||
import androidx.compose.foundation.layout.Column
|
|
||||||
import androidx.compose.foundation.text.JPopupTextMenu
|
|
||||||
import androidx.compose.foundation.text.LocalTextContextMenu
|
|
||||||
import androidx.compose.foundation.text.selection.SelectionContainer
|
|
||||||
import androidx.compose.material.Text
|
|
||||||
import androidx.compose.material.TextField
|
|
||||||
import androidx.compose.runtime.Composable
|
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
|
||||||
import androidx.compose.runtime.getValue
|
|
||||||
import androidx.compose.runtime.mutableStateOf
|
|
||||||
import androidx.compose.runtime.remember
|
|
||||||
import androidx.compose.runtime.setValue
|
|
||||||
import androidx.compose.ui.awt.ComposePanel
|
|
||||||
import androidx.compose.ui.platform.LocalLocalization
|
|
||||||
import java.awt.Color
|
|
||||||
import java.awt.Component
|
|
||||||
import java.awt.Dimension
|
|
||||||
import java.awt.Graphics
|
|
||||||
import java.awt.event.KeyEvent
|
|
||||||
import java.awt.event.KeyEvent.CTRL_DOWN_MASK
|
|
||||||
import java.awt.event.KeyEvent.META_DOWN_MASK
|
|
||||||
import javax.swing.Icon
|
|
||||||
import javax.swing.JFrame
|
|
||||||
import javax.swing.JMenuItem
|
|
||||||
import javax.swing.JPopupMenu
|
|
||||||
import javax.swing.KeyStroke.getKeyStroke
|
|
||||||
import javax.swing.SwingUtilities
|
|
||||||
import org.jetbrains.skiko.hostOs
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
fun main(args: Array<String>) {
|
fun main(args: Array<String>) {
|
||||||
val app = App()
|
val app = App()
|
||||||
app.start(args)
|
app.start(args)
|
||||||
}
|
}
|
||||||
|
|
||||||
//fun main() = SwingUtilities.invokeLater {
|
|
||||||
// val panel = ComposePanel()
|
|
||||||
// panel.setContent {
|
|
||||||
// JPopupTextMenuProvider(panel) {
|
|
||||||
// Column {
|
|
||||||
// SelectionContainer {
|
|
||||||
// Text("Hello, Compose!")
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// var text by remember { mutableStateOf("") }
|
|
||||||
//
|
|
||||||
// TextField(text, { text = it })
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// val window = JFrame()
|
|
||||||
// window.contentPane.add(panel)
|
|
||||||
// window.size = Dimension(800, 600)
|
|
||||||
// window.isVisible = true
|
|
||||||
//}
|
|
||||||
|
|
||||||
@OptIn(ExperimentalFoundationApi::class)
|
|
||||||
@Composable
|
|
||||||
fun JPopupTextMenuProvider(owner: Component, content: @Composable () -> Unit) {
|
|
||||||
val localization = LocalLocalization.current
|
|
||||||
CompositionLocalProvider(
|
|
||||||
LocalTextContextMenu provides JPopupTextMenu(owner) { textManager, items ->
|
|
||||||
JPopupMenu().apply {
|
|
||||||
textManager.cut?.also {
|
|
||||||
add(
|
|
||||||
swingItem(localization.cut,KeyEvent.VK_X, it)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
textManager.copy?.also {
|
|
||||||
add(
|
|
||||||
swingItem(localization.copy, KeyEvent.VK_C, it)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
textManager.paste?.also {
|
|
||||||
add(
|
|
||||||
swingItem(localization.paste, KeyEvent.VK_V, it)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
textManager.selectAll?.also {
|
|
||||||
add(JPopupMenu.Separator())
|
|
||||||
add(
|
|
||||||
swingItem(localization.selectAll, KeyEvent.VK_A, it)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Here we add other items that can be defined additionaly in the other places of the application via ContextMenuDataProvider
|
|
||||||
for (item in items) {
|
|
||||||
add(
|
|
||||||
JMenuItem(item.label).apply {
|
|
||||||
addActionListener { item.onClick() }
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
content = content
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun swingItem(
|
|
||||||
label: String,
|
|
||||||
key: Int,
|
|
||||||
onClick: () -> Unit
|
|
||||||
) = JMenuItem(label).apply {
|
|
||||||
accelerator = getKeyStroke(key, if (hostOs.isMacOS) META_DOWN_MASK else CTRL_DOWN_MASK)
|
|
||||||
addActionListener { onClick() }
|
|
||||||
}
|
|
||||||
|
Loading…
Reference in New Issue
Block a user