Hi there,

Recently I have been looking into the TVGuide menu. It responds very
slow, so I took a look and see if I could make it faster.
I saw that the real work of the menu is done in the tvlisting_area.py.
It even does all the epg acces. Not really gui area stuff!
So in stead of making it faster I began thinking about a nicer solution.
And this is what I came up with:

The TVGuide is all about displaying programs in a grid. So I figured
that there should be a grid_area, which draws a grid with columns and
rows. A normal column and row view is not sufficient for the TVGuide. A
row or column will contain programs for one channel and the other will
contain a time line. The size of the programs in the time line are not
equal to the size of the column/row. 
So I propose that the grid_area will have two modes.
One plain grid view:
      | Column1 | Column2 | Column3 |
-------------------------------------
Row1  |         |         |         |
-------------------------------------
Row2  |         |         |         |
-------------------------------------
Row3  |         |         |         |
-------------------------------------
Items in a row/column have the size of the row/column.

And one advanced view:
      | Column1 | Column2 | Column3 |
-------------------------------------
Row1  |     |             |_________|
---------------------------         
Row2  | |         |       |         |
---------------------------_________
Row3  |             |     |         |
-------------------------------------
Items in a row/column don't necessarily have the same size as the
row/column.

To make this all work an new menu is needed. A GridMenu. This menu will
have functions to return the items in the specified row/column. In the
plain grid view it would return only one item per row/column. in the
advanced view it can return more items per row/column.
It also has functions for returning the row/column captions/titles.

This grid menu can be inherited again by a TVGuide plugin, which
eventually knows what should be viewed in the rows/columns.
Another example of a plugin using the grid_area could be a audio plugin:
        | Album1  | Album2  | Album3  |
---------------------------------------
Artist1 |         |         |         |
---------------------------------------
Artist1 |         |         |         |
---------------------------------------
Artist1 |         |         |         |
--------------------------------------

I have done some small prototyping and I think I can make this work. I
also have ideas to make the grid_area very configurable by themes. eg.
number of columns/rows, view colomn/row titles, switch columns and rows
and so on.

Please let me know your opinion about this. Do you think this is a good
solution and does it fit in the freevo2.0 design?
If it does, I would like to continue and make a first version of the new
TVGuide.

Best regards,
Joost


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Freevo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-devel

Reply via email to