Added shared code controller.
This commit is contained in:
parent
bc9cce00e2
commit
ed93affd9c
1 changed files with 125 additions and 0 deletions
|
@ -1,5 +1,12 @@
|
||||||
package uk.ac.aber.cs22120.group20.javafx;
|
package uk.ac.aber.cs22120.group20.javafx;
|
||||||
|
|
||||||
|
import javafx.fxml.FXML;
|
||||||
|
import javafx.scene.control.Alert;
|
||||||
|
import javafx.scene.image.Image;
|
||||||
|
import javafx.scene.image.ImageView;
|
||||||
|
import javafx.scene.shape.Rectangle;
|
||||||
|
import javafx.scene.text.Text;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Abstract class that contains all the shared FXML elements between the
|
* Abstract class that contains all the shared FXML elements between the
|
||||||
* different controller classes including the sliding menu and the test score counter, to reduce code
|
* different controller classes including the sliding menu and the test score counter, to reduce code
|
||||||
|
@ -9,4 +16,122 @@ package uk.ac.aber.cs22120.group20.javafx;
|
||||||
* @See
|
* @See
|
||||||
*/
|
*/
|
||||||
abstract public class SharedCodeController {
|
abstract public class SharedCodeController {
|
||||||
|
|
||||||
|
static int sideBarWidth = 50;
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
Rectangle sideBar;
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
Text dictionaryText;
|
||||||
|
@FXML
|
||||||
|
Text practiceListTest;
|
||||||
|
@FXML
|
||||||
|
Text flashcardsText;
|
||||||
|
@FXML
|
||||||
|
Text studyText;
|
||||||
|
@FXML
|
||||||
|
Text addDefinitionText;
|
||||||
|
@FXML
|
||||||
|
Text currentPageText;
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
ImageView expandMenuIcon;
|
||||||
|
@FXML
|
||||||
|
ImageView dictionaryIcon;
|
||||||
|
@FXML
|
||||||
|
ImageView practiceListIcon;
|
||||||
|
@FXML
|
||||||
|
ImageView flashcardIcon;
|
||||||
|
@FXML
|
||||||
|
ImageView studyIcon;
|
||||||
|
@FXML
|
||||||
|
ImageView searchIcon;
|
||||||
|
@FXML
|
||||||
|
ImageView addDefinitionIcon;
|
||||||
|
@FXML
|
||||||
|
ImageView currentPageIcon;
|
||||||
|
|
||||||
|
public void setup() {
|
||||||
|
initializeIcons();
|
||||||
|
sideBar.setWidth(sideBarWidth);
|
||||||
|
|
||||||
|
if (sideBarWidth != 50)
|
||||||
|
initializeMenuText();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initializeIcons() {
|
||||||
|
expandMenuIcon.setImage(new Image("file:src/main/resources/assets/icons/white_icons/50px/menu-50.png"));
|
||||||
|
dictionaryIcon.setImage(new Image("file:src/main/resources/assets/icons/white_icons/50px/read-50.png"));
|
||||||
|
practiceListIcon.setImage(new Image("file:src/main/resources/assets/icons/white_icons/50px/rating-50.png"));
|
||||||
|
flashcardIcon.setImage(new Image("file:src/main/resources/assets/icons/white_icons/50px/flashcard-50.png"));
|
||||||
|
studyIcon.setImage(new Image("file:src/main/resources/assets/icons/white_icons/50px/pass-fail-50.png"));
|
||||||
|
addDefinitionIcon.setImage(new Image("file:src/main/resources/assets/icons/white_icons/50px/add-50.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initializeMenuText() {
|
||||||
|
dictionaryText.setText("Dictionary");
|
||||||
|
practiceListTest.setText("Practice List");
|
||||||
|
flashcardsText.setText("Flashcards");
|
||||||
|
studyText.setText("Study");
|
||||||
|
addDefinitionText.setText("Add");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void disableMenuText() {
|
||||||
|
dictionaryText.setText("");
|
||||||
|
practiceListTest.setText("");
|
||||||
|
flashcardsText.setText("");
|
||||||
|
studyText.setText("");
|
||||||
|
addDefinitionText.setText("");
|
||||||
|
}
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
private void expandMenuClick() {
|
||||||
|
if(sideBar.getWidth() == 50) {
|
||||||
|
|
||||||
|
sideBar.setWidth(sideBarWidth = 230);
|
||||||
|
initializeMenuText();
|
||||||
|
} else {
|
||||||
|
sideBar.setWidth(sideBarWidth = 50);
|
||||||
|
disableMenuText();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
private void dictionaryIconClick() {
|
||||||
|
ScreenSwitch.swap(ScreenSwitch.SceneEnum.dictionaryScene);
|
||||||
|
}
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
private void practiceListIconClick() {
|
||||||
|
ScreenSwitch.swap(ScreenSwitch.SceneEnum.practiceListScene);
|
||||||
|
}
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
private void flashcardIconClick() {
|
||||||
|
|
||||||
|
if(Application.practiseList.size() == 0) {
|
||||||
|
Alert alert = new Alert(Alert.AlertType.ERROR);
|
||||||
|
alert.setTitle("Error");
|
||||||
|
alert.setHeaderText("Unable to use Flashcard");
|
||||||
|
alert.setContentText("The practice list is currently empty, please add some practice words to use the Flashcard feature.");
|
||||||
|
alert.showAndWait();
|
||||||
|
} else{
|
||||||
|
ScreenSwitch.swap(ScreenSwitch.SceneEnum.flashcardScene);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
private void studyIconClick() {
|
||||||
|
|
||||||
|
ScreenSwitch.swap(ScreenSwitch.SceneEnum.translationScene);
|
||||||
|
}
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
private void addWordIconClick(){
|
||||||
|
|
||||||
|
ScreenSwitch.swap(ScreenSwitch.SceneEnum.addWordScene);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in a new issue