Skip to content
Snippets Groups Projects
Commit cd747c81 authored by Vesa Lappalainen's avatar Vesa Lappalainen :bicyclist:
Browse files

muokkaa tuplaklikkaamalla

parent 8e895f2f
No related branches found
No related tags found
No related merge requests found
......@@ -13,6 +13,7 @@ import kerho.Jasen;
import javafx.fxml.FXML;
import javafx.scene.Node;
import javafx.scene.control.Label;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
......@@ -26,6 +27,7 @@ public class JasenDialogController implements ModalControllerInterface<Jasen>, I
@FXML private Label labelVirhe;
@FXML private GridPane gridJasen;
@FXML ScrollPane panelJasen;
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
......@@ -46,7 +48,8 @@ public class JasenDialogController implements ModalControllerInterface<Jasen>, I
@Override
public void handleShown() {
//
kentta = Math.max(apujasen.ekaKentta(), Math.min(kentta, apujasen.getKenttia()-1));
edits[kentta].requestFocus();
}
......@@ -70,6 +73,7 @@ public class JasenDialogController implements ModalControllerInterface<Jasen>, I
private Jasen jasenKohdalla;
private TextField[] edits;
private static Jasen apujasen = new Jasen();
private int kentta;
/**
......@@ -98,7 +102,7 @@ public class JasenDialogController implements ModalControllerInterface<Jasen>, I
for (TextField edit : edits)
if ( edit != null )
edit.setOnKeyReleased( e -> kasitteleMuutosJaseneen((TextField)(e.getSource())));
panelJasen.setFitToHeight(true);
}
......@@ -125,6 +129,12 @@ public class JasenDialogController implements ModalControllerInterface<Jasen>, I
return Mjonot.erotaInt(node.getId().substring(1),oletus);
}
private void setKentta(int kentta) {
this.kentta = kentta;
}
/**
* Käsitellään jäseneen tullut muutos
......@@ -139,7 +149,7 @@ public class JasenDialogController implements ModalControllerInterface<Jasen>, I
if (virhe == null) {
Dialogs.setToolTipText(edit,"");
naytaVirhe(virhe);
edit.getStyleClass().add("normaali");
edit.getStyleClass().removeAll("virhe");
} else {
Dialogs.setToolTipText(edit,virhe);
naytaVirhe(virhe);
......@@ -167,9 +177,15 @@ public class JasenDialogController implements ModalControllerInterface<Jasen>, I
* TODO: korjattava toimimaan
* @param modalityStage mille ollaan modaalisia, null = sovellukselle
* @param oletus mitä dataan näytetään oletuksena
* @param kentta mikä kenttä saa fokuksen kun näytetään
* @return null jos painetaan Cancel, muuten täytetty tietue
*/
public static Jasen kysyJasen(Stage modalityStage, Jasen oletus) {
return ModalController.showModal(KerhoGUIController.class.getResource("JasenDialogView.fxml"), "Jäsen", modalityStage, oletus);
public static Jasen kysyJasen(Stage modalityStage, Jasen oletus, int kentta) {
return ModalController.<Jasen, JasenDialogController>showModal(
KerhoGUIController.class.getResource("JasenDialogView.fxml"),
"Jäsen",
modalityStage,
oletus,
ctrl -> ctrl.setKentta(kentta));
}
}
......@@ -26,7 +26,7 @@
</VBox>
</bottom>
<center>
<ScrollPane fitToWidth="true" pannable="true" BorderPane.alignment="CENTER">
<ScrollPane fx:id="panelJasen" fitToWidth="true" pannable="true" BorderPane.alignment="CENTER">
<content>
<GridPane fx:id="gridJasen" hgap="10.0">
<columnConstraints>
......
package fxKerho;
import static fxKerho.JasenDialogController.getFieldId;
import java.awt.Desktop;
import java.io.IOException;
import java.io.PrintStream;
......@@ -94,7 +95,7 @@ public class KerhoGUIController implements Initializable {
@FXML private void handleMuokkaaJasen() {
muokkaa();
muokkaa(kentta);
}
......@@ -136,6 +137,7 @@ public class KerhoGUIController implements Initializable {
private Kerho kerho;
private Jasen jasenKohdalla;
private TextField[] edits;
private int kentta = 0;
/**
......@@ -150,7 +152,14 @@ public class KerhoGUIController implements Initializable {
chooserJasenet.clear();
chooserJasenet.addSelectionListener(e -> naytaJasen());
edits = JasenDialogController.luoKentat(gridJasen);
edits = JasenDialogController.luoKentat(gridJasen);
for (TextField edit: edits)
if ( edit != null ) {
edit.setEditable(false);
edit.setOnMouseClicked(e -> { if ( e.getClickCount() > 1 ) muokkaa(getFieldId(edit,kentta)); });
edit.focusedProperty().addListener((a,o,n) -> kentta = getFieldId(edit,kentta));
}
}
......@@ -257,7 +266,7 @@ public class KerhoGUIController implements Initializable {
private void muokkaa() {
private void muokkaa(int k) {
Jasen jasen = chooserJasenet.getSelectedObject();
if (jasen == null) return;
try {
......@@ -265,7 +274,7 @@ public class KerhoGUIController implements Initializable {
} catch (CloneNotSupportedException e) {
// Ei voi tapahtua
}
jasen = JasenDialogController.kysyJasen(null, jasen);
jasen = JasenDialogController.kysyJasen(null, jasen, k);
if (jasen == null) return;
try {
kerho.korvaaTaiLisaa(jasen);
......@@ -312,7 +321,7 @@ public class KerhoGUIController implements Initializable {
*/
protected void uusiJasen() {
Jasen uusi = new Jasen();
uusi = JasenDialogController.kysyJasen(null, uusi);
uusi = JasenDialogController.kysyJasen(null, uusi, uusi.ekaKentta());
if (uusi == null) return;
uusi.rekisteroi();
try {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment