l0b0 / mian

Mine analysis - Graph blocks to height in a Minecraft save game
https://github.com/l0b0/mian/wiki
GNU General Public License v3.0
14 stars 4 forks source link

Add some kind of GUI #23

Open denilsonsa opened 13 years ago

denilsonsa commented 13 years ago

I think this program would be a lot better if it had some kind of GUI.

The GUI should let the user choose the graph type and which blocks to display. Letting the user to select the world is also neat (but it's not essential for the very first version).

Here are some ideas about how to implement it:

  1. Create a simple pythondialog text-mode GUI. Not sure if it will be easy-to-use. http://pythondialog.sourceforge.net/
  2. Create a Tkinter GUI. Advantage: no extra dependencies, works on all platforms. Not sure how to display the graph in the interface, though. Maybe save as a temporary file and open it? Maybe save it to a bytestring and load from it?
  3. Create a PyGTK GUI. Advantage: it is possible to integrate Matplotlib graph into a PyGTK program. Look at this small quick-and-dirty proof-of-concept: https://bitbucket.org/denilsonsa/pygtk-matplotlib/src

[update] Actually, matplotlib has plenty of backends, so it should be possible to plug it with GTK, Qt4, WxWidgets and probably also Tkinter. Check out the "backends/" dir from within matplotlib sources.

Fenixin commented 13 years ago

Yes, that's a good idea. I think pygtk is a good candidate. But there should be a --no-gui mode or something like that... mian is suffering big changes right now, so is a good moment to propose new features.

denilsonsa commented 13 years ago

Another idea: the GUI should display the equivalent command-line for current selected options.

And, also, a -o, --output option that will make mian .save() the plot, instead of displaying it.