feat: clickable buttons

This commit is contained in:
aro 2022-11-17 15:58:02 +01:00
parent e8d3a4be68
commit 1a18dade51
4 changed files with 23 additions and 21 deletions

View file

@ -3,12 +3,10 @@ package xyz.atnrch.wrench
import androidx.compose.desktop.ui.tooling.preview.Preview
import androidx.compose.material.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.window.Window
import androidx.compose.ui.window.application
import xyz.atnrch.wrench.logger.Logger
import xyz.atnrch.wrench.scaffold.WrenchScaffold
import xyz.atnrch.wrench.watcher.Watcher
import javax.swing.UIManager
class WrenchApp {
@ -34,14 +32,7 @@ class WrenchApp {
@JvmStatic
fun App() {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName())
MaterialTheme {
val watcher = remember { Watcher() }
WrenchScaffold(
onStartButtonClick = watcher::start,
onStopButtonClick = watcher::stop,
onAddButtonClick = {}
)
}
MaterialTheme { WrenchScaffold() }
}
}
}

View file

@ -17,7 +17,7 @@ fun WrenchFileManagerInput() {
modifier = Modifier.fillMaxSize(),
) {
Column(
modifier = Modifier.padding(15.dp)
modifier = Modifier.padding(96.dp)
) {
Text("Test")
Text("Test2")

View file

@ -1,13 +1,17 @@
package xyz.atnrch.wrench.components
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
@Composable
@ -17,9 +21,18 @@ fun WrenchFileManagerOutput() {
modifier = Modifier.fillMaxSize(),
) {
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")
}
}

View file

@ -22,13 +22,11 @@ import xyz.atnrch.wrench.components.FilePicker
import xyz.atnrch.wrench.components.WrenchFileManagerInput
import xyz.atnrch.wrench.components.WrenchFileManagerOutput
import xyz.atnrch.wrench.logger.Logger
import xyz.atnrch.wrench.watcher.Watcher
@Composable
fun WrenchScaffold(
onStartButtonClick: () -> Unit,
onStopButtonClick: () -> Unit,
onAddButtonClick: () -> Unit
) {
fun WrenchScaffold() {
val watcher = remember { Watcher() }
var status by remember { mutableStateOf(false) }
Scaffold(
@ -62,7 +60,7 @@ fun WrenchScaffold(
// ADD BUTTON (FLOATING)
//.............
FloatingActionButton(
onClick = {
{
FilePicker({
Logger.info("Path: ${it.absolutePath}")
}, {
@ -94,10 +92,10 @@ fun WrenchScaffold(
Button(
{
status = if (status) {
onStopButtonClick.invoke()
run { watcher.stop() }
false
} else {
onStartButtonClick.invoke()
run { watcher.start() }
true
}
},