Commit Graph
44 Commits
Author SHA1 Message Date
Jessica Syder 9f3cc53a63 Finished Arrow, Title and StartController scene splitting
- scenes do not load in at the same time
- scenes do not rely upon previous abstract controller class
- scenes are not a part of previous main controller class
- unecessary functions and code removed

#story[1261]
2017-09-07 21:40:10 +12:00
Jessica Syder 4a0d04d7ab Created new abstract Controller class with load methods.
- loadScene method to load into current stage
- loadPopupScene method to load into a new window
- icon added to popup windows
- load methods return Controller of the new scee
- KeyBindingsController extends new Controller class and works correctly

#story[1261]
2017-09-04 23:10:25 +12:00
Jessica Syder 1073113589 Merge branch 'master' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into controllerSplit 2017-09-04 15:31:52 +12:00
Jessica Syder 35c595adf8 Merge branches 'master' and 'storyD-3D' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into storyD-3D 2017-09-04 14:00:20 +12:00
Jessica Syder addaaf0de3 Merge remote-tracking branch 'remotes/origin/master' into C_keybindings 2017-09-04 13:23:55 +12:00
Jessica Syder e8977eb0c4 Merge branch '77_racexml_updates' into 'master'
Story 77 task 7 - update xml files at runtime

Task: [S] Adjust race XML so that you can modify the number of boats in a race.

When clients connect they are added to the participant list, and an updated race.xml is sent out.
When they disconnect/timeout, they are unassigned a boat and updated race.xml is sent out.

Also contains code for sending updated boats.xml and regatta.xml.

See merge request !34
2017-09-04 13:14:09 +12:00
Jessica Syder 85eb66d508 Keybindings can be saved and loaded, and work when Jar'd!
- trying to solve jar file reading issue
- learnt a lot about jars including their lack of file structure
- changed location of keybindings settings to outside of jar
- added new folder/file that is generated on first run

#story[1197]
2017-09-04 12:30:01 +12:00
Jessica Syder cfa6fc37e0 User modified keybindings are persistently saved
- Works on windows computers
- KeyFactory processes its own XML saving/loading
- Does not work with Jar yet
- Changed keyFactory to static temporarily to work with existing FXML loading architecture

#story[1197]
2017-09-03 20:44:27 +12:00
Jessica Syder 3fdfbd83e0 User can save, reset or cancel.
- Created a notification popups for errors
- Added functionality to save, cancel and reset buttons
- Key bindings are only saved if they're valid
- Added window close event
- Can not exit without saving correctly
- CSS to cancel, save and reset buttons to differentiate between key buttons
- Javadocd

#story[1197]
2017-09-01 14:29:18 +12:00
Jessica Syder 716a99aac7 Reset to default button is now functional.
- keybindings are reset to built in default
- the table is cleared and reloaded

#story[1197]
2017-08-31 22:58:35 +12:00
Jessica Syder 3e720a9e16 Modified key bindings can be saved to use in a race.
- new key bindings replace old new bindings on save
- javadoc save method and small updates

#story[1197]
2017-08-31 22:47:57 +12:00
Jessica Syder 278fb65852 Pressing ESC cancels the selected command's key from being replaced
- focus is shifted away on esc
- focus is shifted away after successful change

#story[1197]
2017-08-31 22:39:19 +12:00
Jessica Syder ce47b0d813 When a new key is bound other commands bound to this key are removed
- On binding new key existing keys are searched
- If key is in use the old one is removed
- ControlKey is updated with a placeholder key value

#story[1197]
2017-08-31 22:28:55 +12:00
Jessica Syder 2188ddc3a3 Fixed errors in making the keybinding replaceable.
- Changed KeyFactory to not be a singleton
- Simplified keyBindings initializer
- Modified and simplified keyListener
- Added method to copy existing keyState
- Changed button events
- Changed to newer lambda functions
- Modified updateKey method
- Left option for multiple keys bound to one command
- Updated and wrote new JavaDoc

#story[1197]
2017-08-31 21:59:28 +12:00
Jessica Syder 8250226bde Key bindings can be updated with any key.
- Changed key press from FXML key event to a listener
- UP, DOWN, ENTER keys now work
- Keys no longer change cells or press buttons
- Added placeholder buttons Cancel, Reset and Save
- Added some JavaDoc

#story[1197]
2017-08-31 15:00:37 +12:00
Jessica Syder ad0e26e882 Created scene to view/update current key bindings.
- Current key bindings are shown on buttons
- Added button action events to store the clicked button
- Added key press event to entire pane
- Button text is updated to display its key
- Added functionality to keyFactory to update key bindings
- CSS styling for some components

#story[1197]
2017-08-30 17:16:15 +12:00
Jessica Syder 3d953362a6 Merge branch 'story_61' into 'master'
Story 61

[Agilefant link](http://agilefant.cosc.canterbury.ac.nz:8080/agilefant302/qrq.action?q=story:1095)

```
Note: the boat should be permanently circled with a highlight (or something similar)
See: (http://learn.canterbury.ac.nz/mod/forum/discuss.php?d=213948). Contains boat request to join, and server response messages.

Acceptance criteria:

- The boat that responds to control keypresses is permanently highlighted on screen.
- No boat without a highlight responds to keypresses.
```

Works with either single player or multiplayer game (see HostController.hostGamePressed()).

The race.xml currently is not updated when players join/quit, so there are 6 boats by default, and any boats without playes will just sail off the side of the map.

- resolves #39 
- resolves #37 
- resolves #35 
- resolves #27 
- resolves #25 
- resolves #32 


See merge request !26
2017-08-16 00:00:08 +12:00
Jessica Syder 0558629dc6 Added luffing sails image.
- Created transparent gif of luffing sail
- Displayed image when sail is luffing
- Repositioned luffing sail

#story[1098]
2017-08-14 10:42:28 +12:00
Jessica Syder 8b1561cdc7 Fixed nullpointer when boat passes finish line.
- Added a condition in calculateBearingToNextMethod to avoid nullpointer
2017-08-13 16:08:14 +12:00
Jessica Syder 321dcde72f Implemented luffing sail without image (yet).
- Added sailsLuff image property
- Displayed luffing sail in correct position and angle

#story[1098]
2017-08-10 12:49:00 +12:00
Jessica Syder ce973fecfe Sails are displayed correctly for all wind and active boat directions.
- Figured out the different situations that can occur using accurate points of sail
- Mathed out the rotation angle for each situation
- Manual testing carried out by running simulations
- Manual testing carried out using pen and paper

#story[1098]
2017-08-09 21:48:17 +12:00
Jessica Syder ace1252c1d Fixed sails so they behave correctly
- Changed sail angle calculations back
- Luffing currently displays no sail as a temporary representation of sails in

#story[1098]
2017-08-07 17:40:21 +12:00
Jessica Syder 7c5670f8c2 Sails are displayed on first boat in a race. Optimised imports.
- Implemented drawSails method
- Sail position is displayed and updated using a boat's heading
- Sails conform to 'Points of sail'
- Javadoc'd new method and tidied up existing
- Sped up track point frequency (visualiserBoat class)
- Optimised imports (any other classes changed)
- A lot of canvas drawing and sail rotating issues were discovered and eventually overcome along the way. Using a sail image to draw and rotate on the existing canvas rather than a JavaFX shape on a new canvas was the final decision.

#story[1098]
2017-08-07 12:20:52 +12:00
Jessica Syder 9eaf24e699 Fixed title screen having whitespace on different screen resolutions.
- Title screen has no white space on edges
- Main controller now anchors title to corners of main window

#story[1087] #pair[fjc40, jam339]
2017-07-27 14:54:56 +12:00
Jessica Syder 402df18b71 Merge remote-tracking branch 'remotes/origin/master' into css 2017-07-27 14:31:33 +12:00
Jessica McAuslin 4ba9c6b774 Added a pretty title screen to the application.
- Created a GUI title screen
- Drew images to be display on the title
- Created controller for the title
- Changed visualiser main to initially display title
- Added functionality for host button

#story[1087]
2017-07-24 17:38:46 +12:00
Jessica McAuslin 6e841f180d Spelling errors fixed. 2017-06-28 21:24:20 +12:00
Jessica McAuslin cf0adb8511 Fixed JavaDoc, spelling errors, and redundant classes
- Removed some default templates (eg: created by X)
- Wrote JavaDoc for classes that had none
- Made JavaDoc more clear for classes
- Linked JavaDoc to other classes
- Minor spelling errors fixed
- BoatInRace and BoatInRaceTest commented out (to be removed)

#story[1003]
2017-06-28 20:37:01 +12:00
Jessica McAuslin 2bbcb10458 Removed unused classes and imports
- Removed references to Constants class from other classes and tests
- ArrowController, Constants, Regatta removed
- Removed imports from various classes no longer used

#story[1003]
2017-06-26 22:29:30 +12:00
Jessica McAuslin 6ba1aca074 Annotations moved to its own class
- Annotations class sets annotations to be displayed
- removed annotation implementation from RaceController
- deconstructed previous annotation method
- fixing RaceController code smells

#story[1003]
2017-06-26 21:36:44 +12:00
Jessica McAuslin c027a0ee6e Sparkline moved to its own class
- Sparkline class creates and modifies sparkLine chart
- removed sparkline implementation from RaceController
- fixing RaceController code smells

#story[876, 1003]
2017-06-25 19:59:59 +12:00
Jessica McAuslin fdeec19b20 Wind Arrow direction fixed
- arrow shows wind direction as from instead of to
- removed old unused displayArrow method
- renamed displayFancyArrow to displayWindArrow
- removed coordinates parameter not used

#story[882, 1003]
2017-06-24 13:41:03 +12:00
Jessica McAuslin f44ea57d11 Merge branch 'master' into sprint4_master 2017-06-24 12:58:54 +12:00
Jessica McAuslin e9ecdf5cbc Merge branch 'noDependencyArrow' into 'sprint4_master'
story48

sprint4_master <- noDependencyArrow if DoD == true

See merge request !8
2017-05-23 12:52:51 +12:00
Jessica McAuslin ef9d8884d4 Sparkline methods Javadoc'd
- createSparkline
- updateSparkline

#story[876]
2017-05-19 21:39:25 +12:00
Jessica McAuslin 3f2ad8886e Fixed FPS issues and beautified sparkline display
- set upper and lower bounds for axis height
- formatted Y axis to show/hide necessary info
- reduced some looped actions
- added conditions for the first leg
- all boats start in 'last' place

#story[876]
2017-05-19 21:21:00 +12:00
Jessica McAuslin 2e1f8a2e9a Lowered frequency sparkline updates
- sparkline only updates when a boat passes a point
- all lines start in the middle
- slow frame rate issue resolved

#story[876]
2017-05-17 19:15:28 +12:00
Jessica McAuslin 7647a93d7a Implemented an updating sparkline
- sparkline is set with X number of lines
- sparkline height fits X lines
- lines are updated regularly
- size is adjusted relevant to plotted points

#story[876]
2017-05-15 20:59:16 +12:00
Jessica McAuslin d294ee7994 Deleted redundant and deprecated code (Visualiser)
- References to deprecated objects replaced
- Deprecated Constants class removed
- general redundant code deleted
2017-05-11 15:44:58 +12:00
Jessica McAuslin 43757b34d1 General code tidy up (Visualiser)
- access modifiers adjusted
- unused declarations removed
- spelling fixes
- removed redundant code
2017-05-08 20:45:00 +12:00
Jessica McAuslin 2d983eccfd General code tidy up
- access modifiers adjusted
- unused declarations removed
- spelling fixes
- removed redundant code
2017-05-08 20:21:20 +12:00
Jessica McAuslin 2bf264c6bb Populated starting boat table
- boat names shown in first column
- boat abbrevs. shown in second column

#story[760]
2017-04-06 19:29:57 +12:00
Jessica McAuslin 58cae682ab Merge branch 'story27' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into story27 2017-04-06 16:31:54 +12:00
Jessica McAuslin 44fac754a7 Created screen for showing starters
- modified start pane
- added table to populate with starting boats

#Story[760]
2017-04-06 16:31:12 +12:00