User:Hrishabh/GSoC20/proposal
OpenSCAD GUI & Text Editor’s Interactivity Enhancements
- May 4 - June 1 (Community Bonding Period)
- Interact with the community and explore the code-base of OpenSCAD to get a better understanding.
- Get comfortable with the Qt-Framework, by making small mockups and reading the documentation.
- Explore the documentation of Scintilla & QScintilla, to get a better understanding.
- Official Coding Period Begins
- June 1 - June 7 (Week-1)
- Create the list of all shortcuts.
- Try to bring some uniformity in the declaration style of shortcuts.
- June 8 - June 14 (Week-2)
- Modify the Shortcut Configurator Class, from the current implementation in my active PR.
- Enhance the config file-based approach for Shortcut Configuration.
- Implement the GUI for the shortcut configurator
- June 15 - June 21 (Week-3)
- Make GUI functional
(Proper update of any shortcuts in the OpenSCAD application as well as the config-file of shortcuts)
- June 22 - June 28 (Week-4)
- Connect the GUI with the existing Preferences GUI
- Extensive Testing of both the Shortcut Configuration through config-file based approach and GUI approach.
June 29 - July 3 (Phase-1 Evaluation)
- Take the feedback from the community and mentors regarding the GUI Experience.
- Implement changes based on suggestions.
- Re-take the feedback and response procedure, and act accordingly.
- July 4 - July 12 (Week-6)
- Go through the current implementation of Changing Number/Values via keys.
- Extend the existing approach to handle the Mouse/Wheel Events for changing values.
- July 13 - July 19 (Week-7)
- Write code for handling various cases like scaling and navigation through the number.
- July 20 - July 26 (Week-8)
- Take into account the user experience, and enhance it by adding markers around the number/values, when the value is being changed.
- July 27 - July 31(Phase-2 Evaluation)
- Take the feedback from the community and mentors regarding the GUI Experience, as it will be very much important for this feature.
- Implement changes based on suggestions.
- Re-take the feedback and response procedure, and act accordingly.
- Aug 1 - Aug 9 (Week-10)
- Understand how error reporting is being done to the console currently.
- Find an effective approach to catch all types of errors and warnings from the parser.
- Use MouseEvents and appropriate public methods to make Error/ Warning messages clickable, and handle the signal emission.
- Write down the code for proper slots, to handle the Jump to Line in Scintilla Based Editor
- Aug 10 - Aug 16 (Week-11)
- Extensive Testing for jump to error line inside the editor.
- Create a GUI for Error/Warnings Log.
- Aug 17 - Aug 23 (Week-12)
- Make GUI Functional
- Add more features to GUI like filters based on Error Types.
- Extend Jump to Error/Warning Line in the Editor feature to this widget.
- Aug 24 - Aug 31 (Week-13)
(Final Evaluation)
- Buffer Week, for any new changes or work.
- Aug 31 - Sep 7 (Week-14)
(Mentors Submit Final Evaluation)
- Continuous discussion with the mentors for any unforeseen changes.