package com.shootoff.targets;
import com.shootoff.camera.CameraManager;
import com.shootoff.camera.CameraView;
import com.shootoff.gui.CanvasManager;
import com.shootoff.gui.ShotEntry;
import javafx.collections.ObservableList;
import javafx.scene.Node;
import javafx.scene.layout.Pane;
public interface CameraViews {
/**
* Add a view to the same GUI widget used to display camera views, but for a
* non-camera view (i.e. an arena tab).
*
* @param name
* the name of the view (i.e. what will appear in the tab for the
* view)
* @param content
* a pane containing the contents of the view
* @param canvasManager
* the canvas manager for the view
* @param select
* <code>true</code> if this view should be selected (shown) as
* soon as it is added
* @param maximizeView
* <code>true</code> if view should maximize within the camera
* view widget
*/
void addNonCameraView(String name, Pane content, CanvasManager canvasManager, boolean select, boolean maximizeView);
void removeCameraView(String name);
boolean isArenaViewSelected();
CameraView getSelectedCameraView();
CameraManager getSelectedCameraManager();
Node getSelectedCameraContainer();
void selectCameraView(CameraView cameraView);
ObservableList<ShotEntry> getShotTimerModel();
}