On Mon, 28 Jan 2013 17:20:54 -0200 Gustavo Sverzut Barbieri
<barbi...@profusion.mobi> said:

> On Mon, Jan 28, 2013 at 5:11 PM, Jeff Hoogland <jeffhoogl...@linux.com> wrote:
> > That idea works great for a package manager (something on my eventual TODO
> > list in the far off future). However that is just one example of where a
> > columned list was useful - I still don't think there is any better way to
> > lay out a task manager which needs to be able to be sorted by PID/Process
> > Name/CPU or RAM usage for applications.
> 
> the task manager is a different problem as it has less rows to show,
> not dozen thousand lines (usually). Then you can more easily do with
> table + scroller.

tho you may end up with a few thousand lines if you include threads... but
then its unusable for users... so reality is people will only need a few
hundred on a bad day... :)

> There is no automatic "click header to sort", but it's easy to
> implement. Maybe I can have a try and let you know.

i just think this is a good opportunity to point out that - even *IF* you had
to do a columned thing with a table with 100000's of items... you CAN do it
with a scroller+table+ manual sizing tweaks. you need to insert invisible
rectangles into cells as sizing controls - if you want to manually size things,
otherwise widget content is going to be the only thing doing the controlling.

the other thing you can do is monitor table x/y position with move callbacks
and as the table moves around - compare its position with the canvas viewport
and then as cell elements logically come into view, create widgets and pack
them into those cells. when they go out of the viewport, delete them. this
means you keep only an active set. if you are smart - you dont delete, you
recycle and have a pool of "objects to re-use" so you re just MOVING them
around the table as it scrolls. use invisible rects to "fill in rows/columns"
or even multilpe rows/columns all at once so you have only a few rects for the
region of the table outside the current canvas viewport, and these are just
"holding" the table size together. the rest you fill in as needed, or
remove/recycle. this offers speed, memory efficiency and "infinite scrolling"
but HOW to handle this depends really on your exact use case, what kind of
data/layout you have etc. etc.

genlist is a "specific common case pre-packaged" version of the above for you.
the problem is that it has grown out of all proportion and is abused heavily.
when i wrote genlist i knew it was limited but covered a very common case, and
that would save people time, BUT they could do the above if they got fussy and
were willing to do just a little bit of extra work themselves.

so i'm just putting this here as a "fyi/on the record" example of what is
possible, if you bother to go to the effort. thus a table can be used and
"logically" can hold 1000000's of items - every package you have and file and
more, as you LIMIT the active set of objects just to what you can SEE (plus a
little).

> --
> Gustavo Sverzut Barbieri
> http://profusion.mobi embedded systems
> --------------------------------------
> MSN: barbi...@gmail.com
> Skype: gsbarbieri
> Mobile: +55 (19) 9225-2202
> 
> ------------------------------------------------------------------------------
> Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
> MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
> with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
> MVPs and experts. ON SALE this month only -- learn more at:
> http://p.sf.net/sfu/learnnow-d2d
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    ras...@rasterman.com


------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to