Hello. After the last changes to the interface of the Oculars plug-in, there have been some complaints by users that the current menu is too cumbersome to use. The menu itself was created to avoid the key bindings problem, which has two parts: - Stellarium has no way of customizing key bindings - there are simply not enough possible or useful unique key bindings for all tasks
This is a part of a more general problem with plug-ins: their ways of getting input from the user are somehow limited. Plug-ins can open dialog windows, assign key bindings and add buttons to the bottom bar. Dialog windows grab the focus away from the scene, key bindings are limited in number and the bottom bar soon will be impractically long to accommodate all plug-in buttons, even if we assume only one button per plug-in (and this is another problem). Fabien mentioned that he may re-write Stellarium's GUI to use QtQuick. Until that happens, if it happens at all, there are several things that can be done to make plug-ins, and Oculars in particular, more user-friendly. Here's my experimental branch: https://code.launchpad.net/~daggerstab/stellarium/plugins-gui-improvement I want to allow plug-ins to use controls directly in the SkyGui, similar to the current toolbars and the InfoPanel in the upper left corner. For example, this will allow Oculars to use an on-screen interface to switch telescopes and oculars without obscuring the view with a window. Instead of drawing on the sky the information in the upper right corner, Oculars will be able to display it in a widget and use buttons or even drop-down lists on that widget. This is the current revision: http://bazaar.launchpad.net/~daggerstab/stellarium/plugins-gui-improvement/revision/4949 It demonstrates a hack to get hold of SkyGui's QGraphicsWidget and use it to display a widget with a QPushButton in the upper right corner, using a QGraphicsProxyWidget. (Note that the corner widget follows the corner even when the screen is resized.) The hack seems to work, but it would be nice to have a more organized way of doing it, similar to StelProgressBarMgr. Creating an explicit interface in StelGui/SkyGui will allow plug-ins widgets to be managed and will suggest explicitly the possibility of creating such widgets, instead of waiting plug-in developers to discover the hack. :) I chose the hack way because I was reluctant to change StelGuiBase and it was faster. At the very least, there should be an easy way to get a SkyGui pointer. I'm going to make a control/info panel for Oculars, based on ordinary widgets wrapped in a QGraphicsProxyWidget. The advantages of this approach is that I don't have to re-invent the wheel (implementing button classes, etc.), because I can use existing controls like buttons and comboboxes, and that it already respects the "night vision" mode, unlike the current Oculars info panel. I'm not sure what is the proper way to get information about oculars/telescopes/CCDs from the main class (friend class? additional get methods?), so Timothy Reaves can help with some suggestions. Or he can leave me do it and then clean up and/or re-design it. ;) Regards, Bogdan Marinov ------------------------------------------------------------------------------ Get a FREE DOWNLOAD! and learn more about uberSVN rich system, user administration capabilities and model configuration. Take the hassle out of deploying and managing Subversion and the tools developers use with it. http://p.sf.net/sfu/wandisco-d2d-2 _______________________________________________ Stellarium-pubdevel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/stellarium-pubdevel
