2021-02-18 15:29:07 +01:00
< div align = "center" >
2021-02-18 15:18:01 +01:00
# Banana Editor
2021-02-18 15:29:07 +01:00
< img src = "src/main/resources/graphics/logo.svg" width = "160" height = "130" >
2021-02-18 15:18:01 +01:00
Probably tastes better than any Apple editor and NetBeans combined.
2021-02-12 22:25:41 +01:00
2021-04-25 23:28:39 +02:00
--> [See project requirement details here][requirements.md] < --
< img src = ".gitlab/graphics/main-screenshot.png" >
2021-02-18 15:29:07 +01:00
< / div >
---
2021-02-12 22:25:41 +01:00
## TODO:
2021-04-07 06:00:21 +02:00
- [x] ~~Tabs~~
- [x] Modeline w/ linenumbers
- [x] Syntax highlighting
- [x] Filetree
- [x] Line numbers
- [x] Shortcuts
- [x] Change languages
- [x] Toggle line comment
- [x] Soft wrap
- [x] Darkmode/Lightmode or color themes
- [x] Add icons for files/folders in filetree
- [x] Add [code coverage check ](https://docs.gitlab.com/ee/user/project/merge_requests/test_coverage_visualization.html ) to verify quality of unit tests
2021-04-17 19:05:19 +02:00
- [ ] ~~Search~~
- [ ] ~~And replace~~
2021-02-23 13:40:32 +01:00
2021-02-12 22:25:41 +01:00
## Credits/Sources
2021-04-07 06:00:21 +02:00
2021-02-12 22:25:41 +01:00
- [james-d/SimpleMVP ](https://github.com/james-d/SimpleMVP/tree/master/src/examples/mvp ) -> Demonstration of JavaFX Model/View/Controller application
2021-02-18 15:18:01 +01:00
- [FXMisc/RichTextFX ](https://github.com/FXMisc/RichTextFX ) -> Library for handling rich text and line numbers
- [richtextfx-demos ](https://github.com/FXMisc/RichTextFX/blob/master/richtextfx-demos/README.md ) -> Examples and demos of how to use RichTextFX, including [Java Keywords Demo ](https://github.com/FXMisc/RichTextFX/blob/master/richtextfx-demos/src/main/java/org/fxmisc/richtext/demo/JavaKeywordsAsyncDemo.java )
2021-02-19 16:56:30 +01:00
- [Pixabay/311788 ](https://pixabay.com/vectors/bananas-fruits-pair-yellow-bananas-311788/ ) -> Banana logo
2021-02-20 12:33:56 +01:00
- [Guava Event Bus ](https://github.com/google/guava/wiki/EventBusExplained ) -> Library for handling communication between controllers
2021-02-23 17:35:32 +01:00
- [JFX Moderna ](https://github.com/openjdk/jfx/blob/master/modules/javafx.controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/modena.css ) -> CSS reference
2021-04-07 06:00:21 +02:00
<!-- -
- [devicons/devicon ](https://github.com/devicons/devicon ) -> Icon languages
-->
- [icons8 ](https://icons8.com/ ) -> Filetree and language icons.
- [StackOverflow/38278601 ](https://stackoverflow.com/questions/38278601/javafx-treeview-directory-listing ) ->
Example of how to generate and show a filetree recursively.
- [Youtube/ProgrammingKnowledge ](https://www.youtube.com/watch?v=RY_Rb2UVQKQ ) -> Introduction to the fundamentals
to create a filetree.
- [GenuineCoder ](https://www.genuinecoder.com/save-files-javafx-filechooser/ ) -> Examples of how to use FileChooser
and setting extensionfilters. Also included a nice method to save files.
- [Tutorialspoint ](https://www.tutorialspoint.com/how-to-save-files-using-a-file-chooser-in-javafx ) -> Example
2021-04-07 06:04:44 +02:00
of how to use the openSaveDialog with FileChooser.
- [mkyoung ](https://mkyong.com/java/how-to-create-directory-in-java/ ) -> Example of how to create a directory/folder.
2021-04-07 06:00:21 +02:00
- [Youtube/Cool IT Help ](https://www.youtube.com/watch?v=gnXRI3pHxrU&t=727s ) -> Showing how to cast (Stage). Example of how FXML, listener/event and DirectyChooser nicely can cooperate.
- [Code Makery ](https://code.makery.ch/blog/javafx-dialogs-official/ ) -> Examples of many different javafx dialogs.
2021-04-07 12:39:52 +02:00
- [Oracle ](https://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html#button ) -> How to use JOption.
2021-04-25 23:28:39 +02:00
[requirements.md]: https://gitlab.stud.idi.ntnu.no/oysteikt/h20-tdt4100-project/-/blob/master/REQUIREMENTS.md