Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update UI class diagram #336

Merged
merged 4 commits into from
Nov 13, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -297,20 +297,20 @@ The following activity diagram illustrates how the complete operation is execute

Alternative 1 (Previous Design): Use a `CompleteCommandDescriptor` that has a `Date` and `Index` field wrapped by Java `Optional`.

* Pros:
* Pros:
* Allows for clean, readable code without having to check for null values regardless of whether user inputs a date or index.

* Cons:
* Have to check for both fields for at every step of the command which is inefficient.

Alternative 2 (Current Choice): Make `CompleteCommand` an abstract class with the subclass `CompleteByIndex` and `CompletebyDate`.

* Pros:
* Pros:
* `LogicManager` can just execute `CompleteCommand` without needing to know if it is `CompleteByIndex` or `CompleteByDate`.
* Also eliminates the need to check for null fields, since each `CompleteCommand` subclass only has their required fields.
* Also eliminates the need to check for null fields, since each `CompleteCommand` subclass only has their required fields.
* This also increases the extensibility of the command, as a new subclass can just be added.

* Cons:
* Cons:
* Increases the amount of code written and testing required.

### Gather Emails Feature
Expand Down
2 changes: 1 addition & 1 deletion docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,7 @@ Format: `gather fp/FINANCIAL PLAN` or `gather t/TAG`
This function currently known to be compatible with gmail and outlook but might not work for all email services.
* Either **Financial Plan or Tag** can be searched at once, but **not both**.
* The search is case-insensitive e.g. `financial` will match `FINANCIAL` or `Financial`.
* A client's email will be gathered if the prompt matches a substring of their financial plan or tag
* A client's email will be gathered if the prompt matches a substring of their financial plan or tag.
eg. `finan` will match `financial` or `financial plan`.

Acceptable Values: Refer to [Argument Summary](#argument-summary).
Expand Down
19 changes: 11 additions & 8 deletions docs/diagrams/UiClassDiagram.puml
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,15 @@ Class "{abstract}\nUiPart" as UiPart
Class UiManager
Class MainWindow
Class HelpWindow
Class OverrideWindow
Class ResultDisplay
Class PersonListPanel
Class PersonCard
Class AppointmentListPanel
Class AppointmentCard
Class StatusBarFooter
Class CommandBox
Class OverrideWindow
Class ClearWindow
}

package Model <<Rectangle>> {
Expand All @@ -33,13 +34,14 @@ HiddenOutside ..> Ui

UiManager .left.|> Ui
UiManager -down-> "1" MainWindow
MainWindow *-down--> "1" CommandBox
MainWindow *-down--> "1" ResultDisplay
MainWindow *-down--> "1" PersonListPanel
MainWindow *-down--> "1" AppointmentListPanel
MainWindow *-down--> "1" StatusBarFooter
MainWindow *-down-> "1" CommandBox
MainWindow *-down-> "1" ResultDisplay
MainWindow *-down-> "1" PersonListPanel
MainWindow *-down-> "1" AppointmentListPanel
MainWindow *-down-> "1" StatusBarFooter
MainWindow --> "0..1" HelpWindow
MainWindow --> "0..1" OverrideWindow
MainWindow --> "0..1" ClearWindow

PersonListPanel -down-> "*" PersonCard
AppointmentListPanel -down-> "*" AppointmentCard
Expand All @@ -55,9 +57,10 @@ AppointmentCard --|> UiPart
StatusBarFooter --|> UiPart
HelpWindow --|> UiPart
OverrideWindow --|> UiPart
ClearWindow --|> UiPart

PersonCard ...> Model
AppointmentCard ...> Model
PersonCard ..> Model
AppointmentCard ..> Model
UiManager -right-> Logic
MainWindow -left-> Logic

Expand Down
Binary file modified docs/images/UiClassDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading