87 lines
2.5 KiB
Java
87 lines
2.5 KiB
Java
|
|
package model.persistence;
|
||
|
|
|
||
|
|
import model.ShapeColor;
|
||
|
|
import model.ShapeShadingType;
|
||
|
|
import model.ShapeType;
|
||
|
|
import model.MouseMode;
|
||
|
|
import model.dialogs.DialogProvider;
|
||
|
|
import model.interfaces.IApplicationState;
|
||
|
|
import model.interfaces.IDialogProvider;
|
||
|
|
import view.interfaces.IUiModule;
|
||
|
|
|
||
|
|
public class ApplicationState implements IApplicationState {
|
||
|
|
private final IUiModule uiModule;
|
||
|
|
private final IDialogProvider dialogProvider;
|
||
|
|
|
||
|
|
private ShapeType activeShapeType;
|
||
|
|
private ShapeColor activePrimaryColor;
|
||
|
|
private ShapeColor activeSecondaryColor;
|
||
|
|
private ShapeShadingType activeShapeShadingType;
|
||
|
|
private MouseMode activeMouseMode;
|
||
|
|
|
||
|
|
public ApplicationState(IUiModule uiModule) {
|
||
|
|
this.uiModule = uiModule;
|
||
|
|
this.dialogProvider = new DialogProvider(this);
|
||
|
|
setDefaults();
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void setActiveShape() {
|
||
|
|
activeShapeType = uiModule.getDialogResponse(dialogProvider.getChooseShapeDialog());
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void setActivePrimaryColor() {
|
||
|
|
activePrimaryColor = uiModule.getDialogResponse(dialogProvider.getChoosePrimaryColorDialog());
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void setActiveSecondaryColor() {
|
||
|
|
activeSecondaryColor = uiModule.getDialogResponse(dialogProvider.getChooseSecondaryColorDialog());
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void setActiveShadingType() {
|
||
|
|
activeShapeShadingType = uiModule.getDialogResponse(dialogProvider.getChooseShadingTypeDialog());
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void setActiveStartAndEndPointMode() {
|
||
|
|
activeMouseMode = uiModule.getDialogResponse(dialogProvider.getChooseStartAndEndPointModeDialog());
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public ShapeType getActiveShapeType() {
|
||
|
|
return activeShapeType;
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public ShapeColor getActivePrimaryColor() {
|
||
|
|
return activePrimaryColor;
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public ShapeColor getActiveSecondaryColor() {
|
||
|
|
return activeSecondaryColor;
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public ShapeShadingType getActiveShapeShadingType() {
|
||
|
|
return activeShapeShadingType;
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public MouseMode getActiveMouseMode() {
|
||
|
|
return activeMouseMode;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
private void setDefaults() {
|
||
|
|
activeShapeType = ShapeType.RECTANGLE;
|
||
|
|
activePrimaryColor = ShapeColor.BLUE;
|
||
|
|
activeSecondaryColor = ShapeColor.GREEN;
|
||
|
|
activeShapeShadingType = ShapeShadingType.FILLED_IN;
|
||
|
|
activeMouseMode = MouseMode.DRAW;
|
||
|
|
}
|
||
|
|
}
|