Skip to content
Snippets Groups Projects
Commit 52a05f8b authored by Kiljala Renne Lauri Olavi's avatar Kiljala Renne Lauri Olavi
Browse files

projektin lisääminen toimii nyt oikein

parent 0b4e6b81
No related branches found
No related tags found
No related merge requests found
......@@ -3,6 +3,7 @@ package fxHarakka;
import fi.jyu.mit.fxgui.Dialogs;
import fi.jyu.mit.fxgui.ModalController;
import fxHarakka.luokat.Harakka;
import fxHarakka.luokat.Naytto;
import fxHarakka.luokat.Projekti;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
......@@ -152,7 +153,7 @@ public class HarakkaController {
//-------------------------------------------------------------------------------------------
private Harakka harakka = new Harakka();
private static Harakka harakka = new Harakka();
......@@ -167,6 +168,19 @@ public class HarakkaController {
Dialogs.showMessageDialog("Myöhemmin: Tästä saat piilotettua viikonlopun");
}
/**Asettaa muokattavan harakan controllerille
*
* @param uusiHarakka muokattava harakka
*
* esim. Naytto-luokalla on harakan instanssi joka halutaan olla käyttäjän harakka "istunto"
* --> setHarakka asettaa tämän istunnoksi
*/
public static void setHarakka(Harakka uusiHarakka){
harakka = uusiHarakka;
}
/** Tapahtumankäsittelijä kun painetaan lisää Projekti painiketta päämenussa.
* avaa modaalisen ikkunan ja pyytää uuden projektin tiedot, jonka jälkeen hierarkiaa pitkin
......@@ -207,41 +221,85 @@ public class HarakkaController {
}
/** Tapahtumankäsittelijä päämenun "Lisää tehtävä" painikkeelle
*
* @param event tapahtuma
*/
@FXML
void handleLisaaTeht(ActionEvent event) {
ModalController.showModal(HarakkaController.class.getResource("LisääTehtävä.fxml"), "Muokkaa", null, "");
}
/** Tapahtumankäsittelijä tehtävänmuokkausta varten
*
* @param event tapahtuma
*/
@FXML
void handleMuokkaa(ActionEvent event) {
Dialogs.showMessageDialog("Myöhemmin: Tästä saat muokattua tehtävää");
}
/** Tapahtumankäsittelijä Muokkaa tehtävää päämenussa
*
* @param event tapahtuma
*/
@FXML
void handleTehtava(ActionEvent event) {
ModalController.showModal(HarakkaController.class.getResource("Oksa.fxml"), "Muokkaa", null, "");
}
/** Tapahtumankäsittelijä kun klikataan tileä tilematriisissa
*
* @param event
*/
@FXML
void handleTile(ActionEvent event) {
Dialogs.showMessageDialog("Myöhemmin: Tästä saat muokattua tileä");
}
/** Ylä toolbaarissa oleva tabi joka sulkee ohjelman
*
* TODO lisää promptin "haluatko tallentaa ennen sulkemista"
*
* @param event
*/
@FXML
void suljeOhjelma(ActionEvent event) {
Dialogs.showMessageDialog("Myöhemmin: Sulkee ohjelman");
}
/**
* Poista projekti tapahtumankäsittelikä
* @param event
*/
@FXML
void handlePoistaPro(ActionEvent event) {
Dialogs.showMessageDialog("Myöhemmin: Poistaa projektin");
//klikattu poista projekti nappia --> tarvitaan tieto mikä tabi on auki projekti valikossa
Tab valittuLehti = lehti.getSelectionModel().getSelectedItem(); //valittu lehti
//poistaessa pitää mennä tietorakenteeseen ja poistaa sieltä kyseinen projekti
//jonka jälkeen kun tämä tehty niin poistetaan valitun projektin lehti/tabi
// CRC --> projektit-luokka "lisää ja poistaa projekteja" --> kutustaan harakka.projektit luokkaa
//harakka.projektit.poistaProjekti();
}
/** Ylä toolbaarissa apu tabin tapahtumankäsittelijä --> avaa FAQ tai ohjevalikon ohjelmalle
*
* @param event
*/
@FXML
void handleApu(ActionEvent event) {
Dialogs.showMessageDialog("Myöhemmin: Saat lisätietoja ohjelmasta");
}
/** Lisaa tabin
*
* @param nimi
*/
@FXML
public void lisaaLehti(String nimi){
......@@ -254,6 +312,7 @@ public class HarakkaController {
private Projekti lisaaProjekti (){
Projekti projekti = new Projekti(); //tähän palautetaan luotu projekti
return LuoProjektiController.kysyProjekti(null, projekti);
//suuntaa ProjektinluontiControllerille --> pitää koodin selkeänä tässä controllerissa
}
......
......@@ -55,15 +55,17 @@ public class LuoProjektiController implements ModalControllerInterface<Projekti>
*/
@FXML
void HylkaaProjekti(ActionEvent event) {
projektiNimi = null;
projektiAihe = null;
projektiNimi = null; //null koska kun palataan ikkunasta takaisin päämenuun ja jos nimi tai aihe null niin
projektiAihe = null; //niin poistetaan alustettu uusi tabi
ModalController.closeStage(projektiNimi);
}
/**
*
* @param modalityStage jos halutaan että on modaalinen vain tietylle (null ==> modaalinen kaikille)
* @param oletus oletusprojekti joka palautetaan
* @param oletus oletusprojekti joka palautetaan -> modaali vaatii oletuspalautuksen
* mutta muuten ei käyttöä projektin luomisessa
* koska ei tarvitse populoida ikkunaa valmiilla datalla
* @return Käyttämän luoma projekti
*/
public static Projekti kysyProjekti(Stage modalityStage, Projekti oletus){
......@@ -77,8 +79,6 @@ public class LuoProjektiController implements ModalControllerInterface<Projekti>
/**Jos tietokentät täytetty uusi projekti ikkunassa niin antaa modaalin kautta tiedon luodusta projektista
* eteenpäin
*
*
*
* @param event kun painetaan luo projekti projektin luomisikkunassa
*/
@FXML
......
......@@ -5,7 +5,7 @@ import fxHarakka.HarakkaController;
public class Harakka {
//harakalla on tehtavat ja projektit instanssit
private final Tehtavat tehtavat = new Tehtavat();
private final Projektit projektit = new Projektit();
public final Projektit projektit = new Projektit();
public static void main (String[] args) {
......
......@@ -7,6 +7,23 @@ public class Naytto {
public Harakka harakka = new Harakka(); //luodaan ns. uusi istunto --> voi olla useampi harakka
//jos jatkossa haluaa useamman käyttäjän
//TODO tarvitaan aliohjelma joka vie tästä luokasta harakka controllerille sen harakan jota ollaan
//muokkaamassa --> staattinen aliohjelma jolle viedään parametrinä harakka
//vai harakan oma metodi? harakka.lisääOhjain();
/**Vie harakan HarakkaControllerille jotta harakka controller tietää mihin harakka instanssiin
* projektit ja tehtävät lisätään
*
* @param harakka ohjailmelle vietävä harakka
*/
private static void lisaaHarakka(Harakka harakka){
HarakkaController.setHarakka(harakka); // setHarakka lisää harakan muokattavaksi harakaksi
}
public void main(){
}
......
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