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.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 = {}
)
}
} }
} }
} }

View file

@ -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")

View file

@ -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")
} }
} }

View file

@ -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
} }
}, },