// Path: src/main/java/uk/co/compendiumdev/javafortesters/gui/javafx/Config.java
// public class Config {
// 
//     public static int getDefaultWindowWidth(){
//         return 600;
//     }
// 
//     public static int getDefaultWindowHeight(){
//         return 200;
//     }
// 
//     // string of paired characters, first is the 'wanted' char, next is the 'shifted' char
//     // escaped modifier in string representation are at the end
//     private static String defaultShiftModifiers = "~`!1@2$4%5^6&7*8(9)0_-+={[}]:;<,>.?/" + '"' + "'" + "|" + '\\';
// 
//     // £3
//     // had to take £ out of the above as it failed when added to the default config
// 
//     public static String currentShiftModifiers = defaultShiftModifiers;
// 
//     public static String getCurrentShiftModifiers() {
//         return currentShiftModifiers;
//     }
// 
//     public static void setCurrentShiftModifiers(String currentShiftModifiers) {
//         Config.currentShiftModifiers = currentShiftModifiers;
//     }
// 
//     public static String getDefaultShiftModifiers() {
//         return defaultShiftModifiers;
//     }
// }


import uk.co.compendiumdev.javafortesters.gui.javafx.Config;
import java.awt.*;
import java.util.HashSet;
import java.util.Set;


    public Robot getRobot(){

        if(this.robot==null) {
            try {
                this.robot = new Robot();
            } catch (AWTException e) {
                e.printStackTrace();
            }
        }

        return this.robot;
    }

    public boolean hasAnotherCharToType(){
        if(this.textToType!=null && this.currentChar<this.textToType.length()){
            return true;
        }
        return false;
    }

    public void setTextToType(String textToType) {
        this.textToType = textToType;
        this.currentChar = 0;
        this.totalChars = textToType.length();

        collateCouldNotTypeKeys();

        awtKeys = new AwtKeyBridge(getRobot());
// Path: src/main/java/uk/co/compendiumdev/javafortesters/gui/javafx/Config.java
// public class Config {
// 
//     public static int getDefaultWindowWidth(){
//         return 600;
//     }
// 
//     public static int getDefaultWindowHeight(){
//         return 200;
//     }
// 
//     // string of paired characters, first is the 'wanted' char, next is the 'shifted' char
//     // escaped modifier in string representation are at the end
//     private static String defaultShiftModifiers = "~`!1@2$4%5^6&7*8(9)0_-+={[}]:;<,>.?/" + '"' + "'" + "|" + '\\';
// 
//     // £3
//     // had to take £ out of the above as it failed when added to the default config
// 
//     public static String currentShiftModifiers = defaultShiftModifiers;
// 
//     public static String getCurrentShiftModifiers() {
//         return currentShiftModifiers;
//     }
// 
//     public static void setCurrentShiftModifiers(String currentShiftModifiers) {
//         Config.currentShiftModifiers = currentShiftModifiers;
//     }
// 
//     public static String getDefaultShiftModifiers() {
//         return defaultShiftModifiers;
//     }
// }


// Path: src/main/java/uk/co/compendiumdev/javafortesters/gui/awtbridge/RobotTyper.java
import uk.co.compendiumdev.javafortesters.gui.javafx.Config;
import java.awt.*;
import java.util.HashSet;
import java.util.Set;



    public Robot getRobot(){

        if(this.robot==null) {
            try {
                this.robot = new Robot();
            } catch (AWTException e) {
                e.printStackTrace();
            }
        }

        return this.robot;
    }

    public boolean hasAnotherCharToType(){
        if(this.textToType!=null && this.currentChar<this.textToType.length()){
            return true;
        }
        return false;
    }

    public void setTextToType(String textToType) {
        this.textToType = textToType;
        this.currentChar = 0;
        this.totalChars = textToType.length();

        collateCouldNotTypeKeys();

        awtKeys = new AwtKeyBridge(getRobot());
        awtKeys.setShiftModifiers(Config.getCurrentShiftModifiers());