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

Reply via email to