diff --git a/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PiezoMonitoringView.kt b/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PiezoMonitoringView.kt index 2fc41f2..da8924b 100644 --- a/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PiezoMonitoringView.kt +++ b/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PiezoMonitoringView.kt @@ -662,22 +662,32 @@ fun PiezoMonitoringView(appState: AppState) { HorizontalDivider() - // Distance Per Sample - var currentDps by remember { mutableStateOf(PiezoHW.distancePerSample.toFloat()) } + // Distance Per Sample (직접 입력) + var dpsText by remember { mutableStateOf("%.3f".format(PiezoHW.distancePerSample)) } Row(verticalAlignment = Alignment.CenterVertically) { Text("Distance/Sample", fontSize = 14.sp, fontWeight = FontWeight.SemiBold) Spacer(modifier = Modifier.weight(1f)) - Text("${"%.3f".format(currentDps)} mm", fontSize = 14.sp, fontWeight = FontWeight.Bold, color = Color(0xFF4CAF50)) + OutlinedTextField( + value = dpsText, + onValueChange = { input -> + dpsText = input + input.toDoubleOrNull()?.let { v -> + if (v in 0.5..5.0) PiezoHW.distancePerSample = v + } + }, + suffix = { Text("mm", fontSize = 12.sp, color = MlSecondaryText) }, + singleLine = true, + keyboardOptions = androidx.compose.foundation.text.KeyboardOptions( + keyboardType = androidx.compose.ui.text.input.KeyboardType.Decimal + ), + modifier = Modifier.width(120.dp), + textStyle = androidx.compose.ui.text.TextStyle( + fontSize = 14.sp, + fontWeight = FontWeight.Bold, + color = Color(0xFF4CAF50) + ) + ) } - Slider( - value = currentDps, - onValueChange = { - currentDps = it - PiezoHW.distancePerSample = it.toDouble() - }, - valueRange = 1.5f..2.5f, - colors = SliderDefaults.colors(thumbColor = Color(0xFF4CAF50), activeTrackColor = Color(0xFF4CAF50)) - ) HorizontalDivider()