feat: clickable buttons
This commit is contained in:
parent
e8d3a4be68
commit
1a18dade51
4 changed files with 23 additions and 21 deletions
|
@ -3,12 +3,10 @@ package xyz.atnrch.wrench
|
||||||
import androidx.compose.desktop.ui.tooling.preview.Preview
|
import androidx.compose.desktop.ui.tooling.preview.Preview
|
||||||
import androidx.compose.material.MaterialTheme
|
import androidx.compose.material.MaterialTheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.remember
|
|
||||||
import androidx.compose.ui.window.Window
|
import androidx.compose.ui.window.Window
|
||||||
import androidx.compose.ui.window.application
|
import androidx.compose.ui.window.application
|
||||||
import xyz.atnrch.wrench.logger.Logger
|
import xyz.atnrch.wrench.logger.Logger
|
||||||
import xyz.atnrch.wrench.scaffold.WrenchScaffold
|
import xyz.atnrch.wrench.scaffold.WrenchScaffold
|
||||||
import xyz.atnrch.wrench.watcher.Watcher
|
|
||||||
import javax.swing.UIManager
|
import javax.swing.UIManager
|
||||||
|
|
||||||
class WrenchApp {
|
class WrenchApp {
|
||||||
|
@ -34,14 +32,7 @@ class WrenchApp {
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun App() {
|
fun App() {
|
||||||
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName())
|
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName())
|
||||||
MaterialTheme {
|
MaterialTheme { WrenchScaffold() }
|
||||||
val watcher = remember { Watcher() }
|
|
||||||
WrenchScaffold(
|
|
||||||
onStartButtonClick = watcher::start,
|
|
||||||
onStopButtonClick = watcher::stop,
|
|
||||||
onAddButtonClick = {}
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -17,7 +17,7 @@ fun WrenchFileManagerInput() {
|
||||||
modifier = Modifier.fillMaxSize(),
|
modifier = Modifier.fillMaxSize(),
|
||||||
) {
|
) {
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier.padding(15.dp)
|
modifier = Modifier.padding(96.dp)
|
||||||
) {
|
) {
|
||||||
Text("Test")
|
Text("Test")
|
||||||
Text("Test2")
|
Text("Test2")
|
||||||
|
|
|
@ -1,13 +1,17 @@
|
||||||
package xyz.atnrch.wrench.components
|
package xyz.atnrch.wrench.components
|
||||||
|
|
||||||
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.material.Text
|
import androidx.compose.material.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.mutableStateOf
|
||||||
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
@ -17,9 +21,18 @@ fun WrenchFileManagerOutput() {
|
||||||
modifier = Modifier.fillMaxSize(),
|
modifier = Modifier.fillMaxSize(),
|
||||||
) {
|
) {
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier.padding(15.dp)
|
modifier = Modifier.padding(96.dp)
|
||||||
) {
|
) {
|
||||||
Text("Test")
|
val backgroundColor = remember { mutableStateOf(Color.Black) }
|
||||||
|
|
||||||
|
Text(
|
||||||
|
text = "Test",
|
||||||
|
color = backgroundColor.value,
|
||||||
|
modifier = Modifier.clickable {
|
||||||
|
println("Click!")
|
||||||
|
backgroundColor.value = Color.Red
|
||||||
|
}
|
||||||
|
)
|
||||||
Text("Test2")
|
Text("Test2")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,13 +22,11 @@ import xyz.atnrch.wrench.components.FilePicker
|
||||||
import xyz.atnrch.wrench.components.WrenchFileManagerInput
|
import xyz.atnrch.wrench.components.WrenchFileManagerInput
|
||||||
import xyz.atnrch.wrench.components.WrenchFileManagerOutput
|
import xyz.atnrch.wrench.components.WrenchFileManagerOutput
|
||||||
import xyz.atnrch.wrench.logger.Logger
|
import xyz.atnrch.wrench.logger.Logger
|
||||||
|
import xyz.atnrch.wrench.watcher.Watcher
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun WrenchScaffold(
|
fun WrenchScaffold() {
|
||||||
onStartButtonClick: () -> Unit,
|
val watcher = remember { Watcher() }
|
||||||
onStopButtonClick: () -> Unit,
|
|
||||||
onAddButtonClick: () -> Unit
|
|
||||||
) {
|
|
||||||
var status by remember { mutableStateOf(false) }
|
var status by remember { mutableStateOf(false) }
|
||||||
|
|
||||||
Scaffold(
|
Scaffold(
|
||||||
|
@ -62,7 +60,7 @@ fun WrenchScaffold(
|
||||||
// ADD BUTTON (FLOATING)
|
// ADD BUTTON (FLOATING)
|
||||||
//.............
|
//.............
|
||||||
FloatingActionButton(
|
FloatingActionButton(
|
||||||
onClick = {
|
{
|
||||||
FilePicker({
|
FilePicker({
|
||||||
Logger.info("Path: ${it.absolutePath}")
|
Logger.info("Path: ${it.absolutePath}")
|
||||||
}, {
|
}, {
|
||||||
|
@ -94,10 +92,10 @@ fun WrenchScaffold(
|
||||||
Button(
|
Button(
|
||||||
{
|
{
|
||||||
status = if (status) {
|
status = if (status) {
|
||||||
onStopButtonClick.invoke()
|
run { watcher.stop() }
|
||||||
false
|
false
|
||||||
} else {
|
} else {
|
||||||
onStartButtonClick.invoke()
|
run { watcher.start() }
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
Reference in a new issue