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.
- 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 the 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.