Added Biome Theme
parent
93cce95884
commit
12255f2986
|
@ -20,6 +20,22 @@ dependencies {
|
|||
// (in a separate module for demo project and in testMain).
|
||||
// With compose.desktop.common you will also lose @Preview functionality
|
||||
implementation(compose.desktop.currentOs)
|
||||
implementation(kotlin("stdlib"))
|
||||
implementation("mysql:mysql-connector-java:8.0.23")
|
||||
implementation("org.jetbrains.compose.material:material:1.0.0-beta-02")
|
||||
implementation("org.jetbrains.compose.ui:ui:1.0.0-beta-02")
|
||||
implementation("org.jetbrains.compose.foundation:foundation:1.0.0-beta-02")
|
||||
implementation("org.jetbrains.compose.desktop:desktop:1.0.0-beta-02")
|
||||
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2")
|
||||
implementation("io.ktor:ktor-client-cio:1.6.3")
|
||||
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.30")
|
||||
implementation("com.almworks.sqlite4java:sqlite4java:1.0.392")
|
||||
implementation("io.ktor:ktor-server-netty:1.6.3")
|
||||
implementation("io.ktor:ktor-html-builder:1.6.3")
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
compose.desktop {
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
import java.sql.DriverManager
|
||||
|
||||
// the model class
|
||||
data class User(val id: Int, val name: String)
|
||||
|
||||
fun main(){
|
||||
|
||||
|
||||
val connection = DriverManager.getConnection(
|
||||
"jdbc:mysql://localhost:3306/sae",
|
||||
"root", "0000");
|
||||
|
||||
// prints true if the connection is valid
|
||||
println(connection.isValid(0))
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
package database
|
||||
|
||||
import java.sql.Connection
|
||||
import java.sql.DriverManager
|
||||
import java.sql.SQLException
|
||||
|
||||
|
||||
object DatabaseManager {
|
||||
private var connection: Connection? = null
|
||||
// Chargez le pilote JDBC
|
||||
fun connect() {
|
||||
try
|
||||
{
|
||||
Class.forName("com.mysql.cj.jdbc.Driver")
|
||||
} catch (e: ClassNotFoundException)
|
||||
{
|
||||
println("Erreur lors du chargement du pilote JDBC")
|
||||
e.printStackTrace()
|
||||
return
|
||||
}
|
||||
|
||||
// Informations de connexion à la base de données
|
||||
val url = "jdbc:mysql://qualinommedb.odabasioglu.fr:3307"
|
||||
val utilisateur = "QualiNommeUser"
|
||||
val motDePasse = "QualiNommeDB"
|
||||
|
||||
try
|
||||
{
|
||||
connection = DriverManager.getConnection(url, utilisateur, motDePasse)
|
||||
|
||||
} catch (e: SQLException)
|
||||
{
|
||||
println("Erreur lors de la connexion à la base de données")
|
||||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
|
||||
fun getConnection(): Connection? {
|
||||
return connection
|
||||
}
|
||||
|
||||
}
|
||||
fun main() {
|
||||
DatabaseManager.connect()
|
||||
}
|
|
@ -1,5 +1,7 @@
|
|||
package main
|
||||
|
||||
import androidx.compose.desktop.ui.tooling.preview.Preview
|
||||
import androidx.compose.foundation.hoverable
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
|
@ -13,22 +15,17 @@ import androidx.compose.material.icons.filled.Check
|
|||
import androidx.compose.material.icons.filled.Close
|
||||
import java.awt.FileDialog
|
||||
import java.awt.Frame
|
||||
import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.drawscope.DrawScope
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.material.Button
|
||||
import androidx.compose.material.MaterialTheme
|
||||
import androidx.compose.material.lightColors
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.input.pointer.pointerMoveFilter
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.window.*
|
||||
import database.DatabaseManager
|
||||
|
||||
val connection = DatabaseManager.getConnection()
|
||||
val customRedColor = Color(0xFFB70D1B)
|
||||
|
||||
@OptIn(ExperimentalComposeUiApi::class)
|
||||
@Composable
|
||||
|
@ -52,16 +49,29 @@ fun HomePage(
|
|||
horizontalArrangement = Arrangement.spacedBy(16.dp)
|
||||
) {
|
||||
Button(
|
||||
onClick = onGlossaireClick
|
||||
onClick = onGlossaireClick,
|
||||
colors = ButtonDefaults.buttonColors(
|
||||
backgroundColor = customRedColor,
|
||||
contentColor = Color.White
|
||||
)
|
||||
) {
|
||||
Text("Glossaire")
|
||||
}
|
||||
|
||||
Button(onClick = onCodeAVerifierClick ) {
|
||||
Button(onClick = onCodeAVerifierClick,
|
||||
colors = ButtonDefaults.buttonColors(
|
||||
backgroundColor = customRedColor,
|
||||
contentColor = Color.White
|
||||
) ) {
|
||||
Text("Code à Vérifier")
|
||||
}
|
||||
|
||||
Button(onClick = { /* Action de Comparer */ }) {
|
||||
Button(onClick = { /* Action de Comparer */ },
|
||||
colors = ButtonDefaults.buttonColors(
|
||||
backgroundColor = customRedColor,
|
||||
contentColor = Color.White
|
||||
)
|
||||
) {
|
||||
Text("Comparer")
|
||||
}
|
||||
}
|
||||
|
@ -196,15 +206,31 @@ fun ChoixLangagePage(
|
|||
horizontalAlignment = Alignment.CenterHorizontally
|
||||
|
||||
) {
|
||||
Button(onClick = onPythonClick) {
|
||||
Button(
|
||||
onClick = onPythonClick,
|
||||
colors = ButtonDefaults.buttonColors(
|
||||
backgroundColor = customRedColor,
|
||||
contentColor = Color.White
|
||||
)
|
||||
) {
|
||||
Text("Python")
|
||||
}
|
||||
|
||||
Button(onClick = onJavaClick) {
|
||||
Button(
|
||||
onClick = onJavaClick,
|
||||
colors = ButtonDefaults.buttonColors(
|
||||
backgroundColor = customRedColor,
|
||||
contentColor = Color.White
|
||||
)) {
|
||||
Text("Java")
|
||||
}
|
||||
|
||||
Button(onClick = onJavaScriptClick) {
|
||||
Button(
|
||||
onClick = onJavaScriptClick,
|
||||
colors = ButtonDefaults.buttonColors(
|
||||
backgroundColor = customRedColor,
|
||||
contentColor = Color.White
|
||||
)) {
|
||||
Text("JavaScript")
|
||||
}
|
||||
}
|
||||
|
@ -215,7 +241,12 @@ fun ChoixLangagePage(
|
|||
verticalArrangement = Arrangement.Bottom,
|
||||
horizontalAlignment = Alignment.CenterHorizontally
|
||||
) {
|
||||
Button(onClick = onRetourClick) {
|
||||
Button(
|
||||
onClick = onRetourClick,
|
||||
colors = ButtonDefaults.buttonColors(
|
||||
backgroundColor = customRedColor,
|
||||
contentColor = Color.White
|
||||
)) {
|
||||
Text("Retour")
|
||||
}
|
||||
}
|
||||
|
@ -247,15 +278,30 @@ fun glossairePage(
|
|||
|
||||
) {
|
||||
|
||||
Button(onClick = onAjouterMotClick) {
|
||||
Button(
|
||||
onClick = onAjouterMotClick,
|
||||
colors = ButtonDefaults.buttonColors(
|
||||
backgroundColor = customRedColor,
|
||||
contentColor = Color.White
|
||||
)) {
|
||||
Text("Ajouter un mot")
|
||||
}
|
||||
|
||||
Button(onClick = onImporterClick) {
|
||||
Button(
|
||||
onClick = onImporterClick,
|
||||
colors = ButtonDefaults.buttonColors(
|
||||
backgroundColor = customRedColor,
|
||||
contentColor = Color.White
|
||||
)) {
|
||||
Text("Importer un fichier CSV")
|
||||
}
|
||||
|
||||
Button(onClick = onExporterClick) {
|
||||
Button(
|
||||
onClick = onExporterClick,
|
||||
colors = ButtonDefaults.buttonColors(
|
||||
backgroundColor = customRedColor,
|
||||
contentColor = Color.White
|
||||
)) {
|
||||
Text("Exporter un fichier CSV")
|
||||
}
|
||||
|
||||
|
@ -267,7 +313,12 @@ fun glossairePage(
|
|||
verticalArrangement = Arrangement.Bottom,
|
||||
horizontalAlignment = Alignment.CenterHorizontally
|
||||
) {
|
||||
Button(onClick = onRetourClick) {
|
||||
Button(
|
||||
onClick = onRetourClick,
|
||||
colors = ButtonDefaults.buttonColors(
|
||||
backgroundColor = customRedColor,
|
||||
contentColor = Color.White
|
||||
)) {
|
||||
Text("Retour")
|
||||
}
|
||||
}
|
||||
|
@ -286,64 +337,101 @@ fun FormulairePage(onAnnulerClick: () -> Unit) {
|
|||
) {
|
||||
Text(text = "Nouveau contexte métier", style = MaterialTheme.typography.h5)
|
||||
|
||||
val mot = remember { mutableStateOf("") }
|
||||
val nom = remember { mutableStateOf("") }
|
||||
TextField(
|
||||
value = mot.value,
|
||||
onValueChange = { mot.value = it },
|
||||
label = { Text("Mot") }
|
||||
value = nom.value,
|
||||
onValueChange = { nom.value = it },
|
||||
label = { Text("Mot") },
|
||||
colors = TextFieldDefaults.textFieldColors(
|
||||
focusedIndicatorColor = customRedColor, // Change this to the color you want
|
||||
unfocusedIndicatorColor = Color.Gray // Change this to the color you want
|
||||
)
|
||||
)
|
||||
|
||||
val description = remember { mutableStateOf("") }
|
||||
TextField(
|
||||
value = description.value,
|
||||
onValueChange = { description.value = it },
|
||||
label = { Text("Description") }
|
||||
label = { Text("Description") },
|
||||
colors = TextFieldDefaults.textFieldColors(
|
||||
focusedIndicatorColor = customRedColor, // Change this to the color you want
|
||||
unfocusedIndicatorColor = Color.Gray // Change this to the color you want
|
||||
)
|
||||
)
|
||||
|
||||
val contextePrincipal = remember { mutableStateOf("") }
|
||||
TextField(
|
||||
value = contextePrincipal.value,
|
||||
onValueChange = { contextePrincipal.value = it },
|
||||
label = { Text("Contexte principal") }
|
||||
label = { Text("Contexte principal") },
|
||||
colors = TextFieldDefaults.textFieldColors(
|
||||
focusedIndicatorColor = customRedColor, // Change this to the color you want
|
||||
unfocusedIndicatorColor = Color.Gray // Change this to the color you want
|
||||
)
|
||||
)
|
||||
|
||||
val contexte2 = remember { mutableStateOf("") }
|
||||
TextField(
|
||||
value = contexte2.value,
|
||||
onValueChange = { contexte2.value = it },
|
||||
label = { Text("Contexte 2") }
|
||||
label = { Text("Contexte 2") },
|
||||
colors = TextFieldDefaults.textFieldColors(
|
||||
focusedIndicatorColor = customRedColor, // Change this to the color you want
|
||||
unfocusedIndicatorColor = Color.Gray // Change this to the color you want
|
||||
)
|
||||
)
|
||||
|
||||
val lieA = remember { mutableStateOf("") }
|
||||
TextField(
|
||||
value = lieA.value,
|
||||
onValueChange = { lieA.value = it },
|
||||
label = { Text("Lié à") }
|
||||
label = { Text("Lié à") },
|
||||
colors = TextFieldDefaults.textFieldColors(
|
||||
focusedIndicatorColor = customRedColor, // Change this to the color you want
|
||||
unfocusedIndicatorColor = Color.Gray // Change this to the color you want
|
||||
)
|
||||
)
|
||||
|
||||
val synonyme = remember { mutableStateOf("") }
|
||||
TextField(
|
||||
value = synonyme.value,
|
||||
onValueChange = { synonyme.value = it },
|
||||
label = { Text("Synonyme") }
|
||||
label = { Text("Synonyme") },
|
||||
colors = TextFieldDefaults.textFieldColors(
|
||||
focusedIndicatorColor = customRedColor, // Change this to the color you want
|
||||
unfocusedIndicatorColor = Color.Gray // Change this to the color you want
|
||||
)
|
||||
)
|
||||
|
||||
val antonyme = remember { mutableStateOf("") }
|
||||
TextField(
|
||||
value = antonyme.value,
|
||||
onValueChange = { antonyme.value = it },
|
||||
label = { Text("Antonyme") }
|
||||
label = { Text("Antonyme") },
|
||||
colors = TextFieldDefaults.textFieldColors(
|
||||
focusedIndicatorColor = customRedColor, // Change this to the color you want
|
||||
unfocusedIndicatorColor = Color.Gray // Change this to the color you want
|
||||
)
|
||||
)
|
||||
|
||||
Row(
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
horizontalArrangement = Arrangement.SpaceEvenly
|
||||
) {
|
||||
Button(onClick = onAnnulerClick) {
|
||||
Button(
|
||||
onClick = onAnnulerClick,
|
||||
colors = ButtonDefaults.buttonColors(
|
||||
backgroundColor = customRedColor,
|
||||
contentColor = Color.White
|
||||
)) {
|
||||
Icon(imageVector = Icons.Default.Close, contentDescription = null)
|
||||
Text("Annuler")
|
||||
}
|
||||
Button(onClick = { /* Action de validation */ }) {
|
||||
Button(onClick = { /* Action de validation */ },
|
||||
colors = ButtonDefaults.buttonColors(
|
||||
backgroundColor = customRedColor,
|
||||
contentColor = Color.White
|
||||
)) {
|
||||
Icon(imageVector = Icons.Default.Check, contentDescription = null)
|
||||
Text("Valider")
|
||||
}
|
Loading…
Reference in New Issue