On Sun, 23 Jun 2019, Sven Schreiber wrote:
> - The Spyder IDE ...
Some inspiration might be gained from IDEs, but then gretl is more than
a programming language. Please point out which are the concrete GUI
features or design choices that you think would be useful in arranging
gretl windows.
Very true. In fact, we should never forget that what we offer is a rather
unique combination of a point-n-click app (nice for basic teaching) and a
full-featured programming environment (nice for advanced teaching and
research work).
Allin and I briefly discussed a few ideas over dinner in Naples, and I
believe the following proposal may be a good starting point for keeping
together different needs.
When you launch the program, TWO windows appear: one is the present GUI
main window, which would remain unmodified (bar some marginal adjustments
--- see below); I'll call this the "basic" view. The other one is what
I'll call the "pro" view. The pro view should typically occupy the full
screen, and would look like this (forgive the ASCII rendition)
+-------------+-------------+
| left tabs | right tabs |
+-------------+-------------+
| left icons | |
+-------------+ |
| | right pane |
| left pane | |
| | |
+-------------+-------------+
The "left pane" would be what we now have as the script editor, and the
"left tabs" areas would show you tabs for all currently open scripts. The
"right tabs", instead, contains a fixed set of tabs, which control what
you get in the right panel. The list for the right tabs that I have in
mind at the moment is:
* Console
* Script output
* Icon view
* Command log
* Functions list
The "Console" tab would give what the console is today, whereas the
"Script output" tab would contain the output from running scripts, much
like the "script output" window we have now, only it'd become a tab for
the left pane. The "Icon view" and "command log" would be what we have
today. The "Function list" tab would be what I understand Artur had in
mind, that is, a list of currently defined functions (maybe together with
return type); perhaps, this could be clickable, in which case you'd get a
listing of the function that is currently in memory (but I'm not quite
sure about this one).
No output would be created in separate windows, with two exceptions: GUI
actions behave as they do today (so you still get the "Model" window when
you run an estimation command from the GUI, for example), and plots. Plots
would still appear in pop-up windows, although possibly, we could have ONE
plot output window with tabs, but I'm not sure I like this very much.
The general idea is that you use the "basic" view for simple exploratory
data analysis, point-n-click actions, stuff that you need when teaching
undergrads, or when you load a datafile and you'd like to make sense of
what it contains. In fact, the "basic" view could be simplified somewhat,
since elements like the console and the command log would be part of the
"pro" window.
Instead, the "pro" view is the window you'd typically like to have up
front when you have a more complex problem, that requires scripting,
trial-and-error etc.
This arrangement would limit the proliferation of windows
you currently have, that Allin and I don't dislike at all, but it seems
we're the only ones[*].
Please note that this proposal is by no means rigid, but IMO puts together
most ideas that came out during the brainstorming session we had in Naples
during the Thursday afternoon session, so comments are very welcome.
A final point: as you probably know, my coding skills are very limited
when it comes to GUI programming, so all the work (except testing) would
be on Allin's shoulders. The present proposal would also have the
advantage of reusing quite a lot of the GUI code we currently have.
Let the flamefest begin!
[*] Although, I must say, it could be an OS thing. I spent some time on a
friend's pc yesterday and I must admit that on Windows it's not at all
easy to chase all the windows that we open today when we do things. I find
this not to be a problem on Linux.
-------------------------------------------------------
Riccardo (Jack) Lucchetti
Dipartimento di Scienze Economiche e Sociali (DiSES)
Università Politecnica delle Marche
(formerly known as Università di Ancona)
r.lucchetti(a)univpm.it
http://www2.econ.univpm.it/servizi/hpp/lucchetti
-------------------------------------------------------