[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sc-dev] QT-only-GUI



Following a brief discussion on sc-users, I've taken the initiative to simplify the GUI system and remove the GUI redirects. This means that GUI kits like cocoa and swingosc can't be switched in anymore at runtime.

I've added a branch here: https://github.com/supercollider/supercollider/commits/qt-only-gui

Maybe some of you would like to try if all works? I'm not a heavy GUI user, so I only tested the standard stuff.


Here is the main commit note:
-----------------------------

This is a rather large refactoring that removes all redirects which were introduced to allow to switch between different GUI kits (such as cocoa, swing and QT) at runtime. This ability was useful, but made the system very complicated and inefficient (This change speeds up Pen by 100 %).

This refactoring leaves intact old syntax insofar as (e.g.) GUI.slider still works, also QSlider can be used. Slider should be used directly now (this has been standard for a while, but there are still other cases around). In the folder GUI/backwardsCompatibility there are redirects for the classes prefixed by Q.

I changed all classes from QSomething to Something wherever there was already a direct access in such a way. More QT specific classes lile QPalette kept their Q-prefix.

The implClass functionaliyt was removed, but it is kept intact in the help system in case in the future someone wants to use class name redirects for something.

Also Stethoscope and FreqScopeWindow (and related classes) needed a change, they now keep the server as an instance variable instead of initialising a global server at startup.

Some helpfiles still need to be adjusted.

Thanks to Jakob Leben for very useful hints.





_______________________________________________
sc-dev mailing list

info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: https://listarc.bham.ac.uk/marchives/sc-dev/
search: https://listarc.bham.ac.uk/lists/sc-dev/search/