Skip to content

Ideas 2011:GUI overhaul

ChrisOelmueller edited this page Feb 16, 2013 · 2 revisions

Rewriting many parts of our current menu / ingame GUI

Our problem

The files horizons/gui/gui.py and horizons/gui/ingamegui.py exist for several years now. Whenever something got added, everybody did a little bit of patchwork to it.

  • nobody understands how the widgets work anymore
  • a lot of methods are too huge and need to be split up into smaller pieces

Besides this, we miss several features already defined in our current GUI and want others improved. See below for a detailed list.

Our idea

We have collected ideas on how to improve the following parts by adding new features:

  • island inventory display (top bar when hovering settlements)
  • build menu
  • new chat widget

Besides this, we want a documented rewrite of gui.py and ingamegui.py with eydocified comments for each method.

What you need

  • Python skills, basic xml knowledge
  • delight in [pychan] (http://fifedocs.boxbox.org/epydoc/fife.extensions.pychan-module.html)
  • A lot of communication with everybody when implementing new or altering current UI elements
  • motivation to tackle several smaller parts instead of one large task
  • Estimated difficulties: Pychan interaction, very clear documentation
  • We expect a moderate difficulty -- most of the stuff is already done, you just ;-) need to understand how.

What we provide

There exist references for nearly everything related to our GUI in

  • horizons/gui/ and
  • content/gui/xml/.

You might want to find your way through them first.

Additionally, we assembled a list of tickets and wiki articles covering most of your tasks:

As a pre-GSoC task you could pick one item of the ticket list below and try working with it.

  • This should get you accustomed to our GUI code quite well.

What we expect

You can shift around release goals and target dates in the planning stage as you like. Once your mentor and you agreed on a rough timetable, only sensible modifications should occur if there happens nothing unforeseeable.

What you can add

In general: If your mentor agrees, you can change almost everything in our descriptions. They are just meant to provide guidance if you are not sure where to start or which way to choose.

You are especially free to alter the following parts:

  • the order you work on individual tasks
  • the amount of tickets you plan to work on -- we will rather enjoy less features that work than a lot of GUI elements that need several bugfixes!

Who looks after you

Your mentor for this task will probably be: eoc

These devs are known for their endurance when it comes to pychan problems: chew-ie, totycro, nihathrael

Clone this wiki locally