Removed unnecessary code

This commit is contained in:
Abdelilah El Aissaoui 2023-04-25 10:07:29 +02:00
parent 6ae68957e3
commit 50fff76b1f
No known key found for this signature in database
GPG Key ID: 7587FC860F594869

View File

@ -1,113 +1,6 @@
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>) {
val app = App()
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() }
}
}