<commit_before>package gui.sub_controllers;

import graph.SequenceGraph;
import gui.GraphDrawer;
import gui.MenuController;
import javafx.concurrent.Task;
import javafx.scene.Node;
import javafx.scene.control.Button;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.scene.input.MouseEvent;

import java.util.Observable;

/**
 * Created by <NAME> on 29-5-2017.
 * <p>
 * Controls the panning functionality.
 */
public final class PanningController extends Observable {

    /**
     * The amount of nodes to render.
     */
    public static final int RENDER_RANGE = 2000;

    /**
     * The speed at which to pan.
     */
    private static final double PANN_FACTOR = 0.03;

    /**
     * The the threshold to update the subGraph.
     */
    private static final int RENDER_THRESHOLD = 500;

    /**
     * The amount of nodes to shift.
     */
    private static final int RENDER_SHIFT = 1000;

    private static final PanningController PANNING_CONTROLLER = new PanningController();

    private MenuController menuController;
    private Button rightPannButton;
    private Button leftPannButton;
    private boolean updating;

    /**
     * Constructor for the panning controller.
     */
    private PanningController() {
    }

    /**
     * Return the singleton instance of panning controller.
     *
     * @return The panning controller
     */
    public static PanningController getInstance() {<commit_msg>Set max zoomout level twice as high<commit_after>package gui.sub_controllers;

import graph.SequenceGraph;
import gui.GraphDrawer;
import gui.MenuController;
import javafx.concurrent.Task;
import javafx.scene.Node;
import javafx.scene.control.Button;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.scene.input.MouseEvent;

import java.util.Observable;

/**
 * Created by <NAME> on 29-5-2017.
 * <p>
 * Controls the panning functionality.
 */
public final class PanningController extends Observable {

    /**
     * The amount of nodes to render.
     */
    public static final int RENDER_RANGE = 4000;

    /**
     * The speed at which to pan.
     */
    private static final double PANN_FACTOR = 0.03;

    /**
     * The the threshold to update the subGraph.
     */
    private static final int RENDER_THRESHOLD = 1000;

    /**
     * The amount of nodes to shift.
     */
    private static final int RENDER_SHIFT = 2000;

    private static final PanningController PANNING_CONTROLLER = new PanningController();

    private MenuController menuController;
    private Button rightPannButton;
    private Button leftPannButton;
    private boolean updating;

    /**
     * Constructor for the panning controller.
     */
    private PanningController() {
    }

    /**
     * Return the singleton instance of panning controller.
     *
     * @return The panning controller
     */
    public static PanningController getInstance() {
{'fraction_non_alphanumeric': 0.08302143586253828, 'fraction_numerical': 0.014630826811840763, 'mean_word_length': 2.989145183175034, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1788355', 'n_tokens_mistral': 885, 'n_tokens_neox': 827, 'n_words': 262}