File: /Users/shatabdi/Education/GitHub/se450_project/src/model/dialogs/DialogProvider.java
1
2 package model.dialogs;
3
4 import model.interfaces.IApplicationState;
5 import model.interfaces.IDialogProvider;
6 import view.Enum.MouseMode;
7 import view.Enum.ShapeColor;
8 import view.Enum.ShapeShadingType;
9 import view.Enum.ShapeType;
10 import view.interfaces.IDialogChoice;
11
12 public class DialogProvider implements IDialogProvider {
13 private final IApplicationState applicationState;
14 private final IDialogChoice<MouseMode> mouseModetDialogChoice;
15 private final IDialogChoice<ShapeColor> primaryColorDialogChoice;
16 private final IDialogChoice<ShapeColor> secondaryColorDialogChoice;
17 private final IDialogChoice<ShapeShadingType> shadingTypeDialogChoice;
18 private final IDialogChoice<ShapeType> shapeDialogChoice;
19
20 public DialogProvider(IApplicationState applicationState) {
21 this.applicationState = applicationState;
22 this.primaryColorDialogChoice = new ChoosePrimaryColorDialog(this.applicationState);
23 this.secondaryColorDialogChoice = new ChooseSecondaryColorDialog(this.applicationState);
24 this.shadingTypeDialogChoice = new ChooseShadingTypeDialog(this.applicationState);
25 this.shapeDialogChoice = new ChooseShapeTypeDialog(this.applicationState);
26 this.mouseModetDialogChoice = new ChooseMouseMode(this.applicationState);
27 }
28
29 @Override
30 public IDialogChoice<MouseMode> getMouseModeDialogChoice() {
31 return mouseModetDialogChoice;
32 }
33
34 @Override
35 public IDialogChoice<ShapeColor> getPrimaryColorDialogChoice() {
36 return primaryColorDialogChoice;
37 }
38
39 @Override
40 public IDialogChoice<ShapeColor> getSecondaryColorDialogChoice() {
41 return secondaryColorDialogChoice;
42 }
43
44 @Override
45 public IDialogChoice<ShapeShadingType> getShadingTypeDialogChoice() {
46 return shadingTypeDialogChoice;
47 }
48
49 @Override
50 public IDialogChoice<ShapeType> getShapeDialogChoice() {
51 return shapeDialogChoice;
52 }
53 }
54