package oripa.viewsetting.main.uipanel;
import oripa.paint.EditMode;
import oripa.paint.creasepattern.tool.TypeForChange;
import oripa.viewsetting.ViewSettingDataBase;
public class UIPanelSettingDB extends ViewSettingDataBase{
//-------------------------------------------------------
// singleton pattern
private static UIPanelSettingDB settingDB = null;
private UIPanelSettingDB(){}
public static UIPanelSettingDB getInstance(){
if(settingDB == null){
settingDB = new UIPanelSettingDB();
}
return settingDB;
}
//-------------------------------------------------------
private boolean subPanelVisible = false;
private boolean alterLineTypePanelVisible = true;
private boolean mountainButtonEnabled = true;
private boolean valleyButtonEnabled = true;
private boolean auxButtonEnabled = true;
private EditMode selectedMode = EditMode.NONE;
private int lineTypeFromIndex;
private int lineTypeToIndex;
private TypeForChange typeFrom = TypeForChange.EMPTY;
private TypeForChange typeTo = TypeForChange.EMPTY;
public TypeForChange getTypeFrom() {
return typeFrom;
}
public void setTypeFrom(TypeForChange typeFrom) {
this.typeFrom = typeFrom;
}
public TypeForChange getTypeTo() {
return typeTo;
}
public void setTypeTo(TypeForChange typeTo) {
this.typeTo = typeTo;
}
public int getLineTypeFromIndex() {
return lineTypeFromIndex;
}
public void setLineTypeFromIndex(int lineTypeFromIndex) {
this.lineTypeFromIndex = lineTypeFromIndex;
this.setChanged();
}
public int getLineTypeToIndex() {
return lineTypeToIndex;
}
public void setLineTypeToIndex(int lineTypeToIndex) {
this.lineTypeToIndex = lineTypeToIndex;
this.setChanged();
}
public boolean isValuePanelVisible() {
return subPanelVisible;
}
public boolean isAlterLineTypePanelVisible() {
return alterLineTypePanelVisible;
}
public boolean isMountainButtonEnabled() {
return mountainButtonEnabled;
}
public boolean isValleyButtonEnabled() {
return valleyButtonEnabled;
}
public boolean isAuxButtonEnabled() {
return auxButtonEnabled;
}
public void setValuePanelVisible(boolean subPanelVisible) {
this.subPanelVisible = subPanelVisible;
this.setChanged();
}
public void setAlterLineTypePanelVisible(boolean alterLineTypePanelVisible) {
this.alterLineTypePanelVisible = alterLineTypePanelVisible;
this.setChanged();
}
public void setMountainButtonEnabled(boolean mountainButtonEnabled) {
this.mountainButtonEnabled = mountainButtonEnabled;
this.setChanged();
}
public void setValleyButtonEnabled(boolean valleyButtonEnabled) {
this.valleyButtonEnabled = valleyButtonEnabled;
this.setChanged();
}
public void setAuxButtonEnabled(boolean auxButtonEnabled) {
this.auxButtonEnabled = auxButtonEnabled;
this.setChanged();
}
public void selectInputMode(){
selectedMode = EditMode.INPUT;
this.setChanged();
}
public void selectChangeLineTypeMode(){
selectedMode = EditMode.CHANGE_TYPE;
this.setChanged();
}
public void selectSelectMode(){
selectedMode = EditMode.SELECT;
this.setChanged();
}
public void selectDeleteLineMode(){
selectedMode = EditMode.DELETE_LINE;
this.setChanged();
}
public void selectAddVertexMode(){
selectedMode = EditMode.ADD_VERTEX;
this.setChanged();
}
public void selectDeleteVertexMode(){
selectedMode = EditMode.DELETE_VERTEX;
this.setChanged();
}
public EditMode getSelectedMode(){
EditMode ret = selectedMode;
selectedMode = EditMode.NONE;
return ret;
}
@Override
public String getName() {
return this.getClass().getName();
}
}