private void updateGui() {
        if (generating) {
            generateButton.setEnabled(false);
            cancelButton.setEnabled(true);
            zoomOutButton.setEnabled(false);
            zoomInButton.setEnabled(false);

            northButton.setEnabled(false);
            eastButton.setEnabled(false);
            refButton.setEnabled(false);

            northCancel.setEnabled(false);
            eastCancel.setEnabled(false);
            refCancel.setEnabled(false);
        } else {
            cancelButton.setEnabled(false);

            northButton.setEnabled(true);
            eastButton.setEnabled(true);
            refButton.setEnabled(true);
            if(northSet){
               northCancel.setEnabled(true);
            }
            if(eastSet){
               eastCancel.setEnabled(true);
            }
            if(refSet){
               refCancel.setEnabled(true);
            }
            // can't do generation without 3 sets!
            if (northSet && eastSet && refSet) {
                generateButton.setEnabled(true);
                zoomInButton.setEnabled(true);
                if (zoomed) {
                    zoomOutButton.setEnabled(true);
                } else {
                    zoomOutButton.setEnabled(false);
                }
            } else {
                generateButton.setEnabled(false);
                zoomInButton.setEnabled(false);
                zoomOutButton.setEnabled(false);
            }
        }
    }