Left: Implement composite structures
This commit is contained in:
Executable
+86
@@ -0,0 +1,86 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user