GSOC project – UI brushup of OpenSCAD


As I mentioned in my previous posts about my GSOC project, I have been working to improve the UI of OpenSCAD, a 3D CAD Modeler. The project is aimed to enhance the usability of the software by adding new features that are easy and quick to access and use and also to provide the aesthetic look. The major contribution of this project to the software was adding..

  • QScintilla Editor
  • Toolbar
  • Rendered Model color themes
  • Launching Screen

QScintilla Editor

The legacy editor of the openscad is just a simple editor with minimal features and this issue of lacking useful features was raised many times in github issues and openscad mailing list. So, this was one of the most important task to pick up at first as part of my project. As concluded from a good discussion about which editor should be integrated in the mailing list and IRC, QScintilla was selected because of its nice features and feasibility to integrate.

Detailed Description

QScintilla is a Scintilla based editor that uses Qt functions to implement a good number of impressive features such as syntax highlighting, error indication, folding, line numbers, code completion, breakpoints etc. It is available under the GNU GPL (v2 and v3) and under a commercial license. QScintilla supports Qtv3, Qtv4, and Qtv5. The downloading, installation processes and documentation to develop QScintilla applications are already described in previous posts. Here I will concentrate about the features that have been added in the latest editor of OpenSCAD.

Editor with Dark Background Theme

Editor with dark background theme

Editor with Light Background Theme

Editor with light background Theme

Monokai Theme

Monokai Theme

Solarized Theme

Solarized Theme

The list of features that have been added in the editor are

  • Run time option to switch between new QScintilla Editor and Legacy Editor
  • Line Numbers
  • Auto Indentation
  • Brace Matching
  • Error Indicator with marker at margin
  • Automatic Wrapping on changing size of editor widget
  • Utf8 text format for special symbols
  • A new lexer named ‘scad’ for openscad programs
  • Syntax highlighting
  • Highlighter for showing current line
  • ToolBar

    As we know how much a toolbar can help a user to access useful features quickly and save his lot of time. So adding a simple toolbar in openscad was necessary. Two different toolbars for editor and rendering window are added with small icons specifying the most useful features.
    Toolbar
    (no proprietary image for the icons has been used.)

    The toolbars are made in such a way, that it will first sense the default color theme of the window depending upon the operating system used by the user, and then according to a particular grey level of the default theme, the color of the icons will change from black to white maintaining the proper contrast of the images with the toolbar.
    The user can also hide these toolbar if required.

    Rendered Model color themes

    The rendered model window already has 4 themes, but to give them better look and calm to the eyes of the user, I added 3 more themes with new names, here they are..

    Before Dawn

    Before Dawn

    Nature

    Nature

    Deep Ocean

    Deep Ocean

    Launching Screen

    Launching screen is defined as a small screen which opens up as a first window when the software launches displaying some actions that user need to perform such as open new window, open an existing project, opening online documentation for help, examples, etc. This small window can save a lot of time. Such a dialog box welcoming the user- Welcome to OpenSCAD is added.
    Launcher

    These are the major contribution of GSOC project to openscad. We are still working to improve existing features and adding new. Please do ask if there is any doubt through comments and also give feedback.
    Thanks 🙂


    Big Data QScintilla Editor Development