W3C home > Mailing lists > Public > public-html@w3.org > February 2008

Re: Visual-components support in HTML by default?

From: Andrew Fedoniouk <news@terrainformatica.com>
Date: Tue, 12 Feb 2008 20:00:30 -0800
Message-ID: <47B26B5E.2060104@terrainformatica.com>
To: Pavel Perna <pavel@icewarp.com>
CC: "public-html@w3.org" <public-html@w3.org>

Pavel Perna wrote:
> Hi guys,
> 
>   I just wanted to ask if there will be a posibility to show data in some sort of tab-control.
> Nowadays, many developers implement the tab-control by themselves(by javascript).
> I think that it will be nice to implement it in HTML,with the possibility of skinning(CSS) and 
> scripting(onclick,onmousemove... events).
> 
> The same question for:
> *Data-grids( list of items with specified fields ,with the availability of paging, columns sorting ,columns resizing,columns repositioning ... )
> *Resizing components(horizontal resizer, vertical resizer, between two container elements( ie. div(pane in Visual Studio)))
> *Let's say i'm a bit sophisticated, but I'd also love the possibility of inserting the  TreeView and ListView components into the page(should be based on <ul> elm or such)
> *More and more....
> 
> My reasons are very simple .To offer HTML developers the same interface possibilities, like the current Visual development tools(Visual Studio,XUL,etc.)
> If you are not going to specify the format for theese features, please at least let me know why, I would love such extended HTML....
>  
> 

* Data grids (and ListView):

For data grids it is enough to add support of overflow:auto for 
<table>s. By adding simple scripting layer [1] you will have scrollable 
grid as here: http://www.terrainformatica.com/htmlayout/images/grid1.jpg

* Resizing components:

For resizing it is enough to allow <frameset> to appear in html and to 
allow it to contain not only frames but arbitrary block elements:

<frameset>
   <div>First</div>
   <frame>Second</frame>
</frameset>

We've implemented such <frameset>'s in htmlayout/sciter[2,3] and it is 
quite popular feature. And yet, in our case[2,3] any element can have 
such "container-with-splitter" behavior by declaring behavior:frameset 
in CSS.

* TreeView

I believe that you mean something close to elements in third row here:
http://www.terrainformatica.com/htmlayout/images/selects2.jpg

If "yes" then it is enough to 1) allow <option> elements (or in some new 
element like <options>) in <select> to contain other <option>s and 2) to 
enable styling (CSS) for <option>/<options> elements.

Here is how such extended markup looks like:

           <select name="chemical-elements">
             <OPTIONS expanded>Alkaline Metals
                 <OPTION>Lithium (Li)</OPTION>
                 <OPTION>Sodium (Na)</OPTION>
                 <OPTION>Potassium (K)</OPTION>
             </OPTIONS>
             <OPTIONS>Halogens
                 <OPTION>Fluorine (F)</OPTION>
                 <OPTION>Chlorine (Cl)</OPTION>
                 <OPTION>Bromine (Br)</OPTION>
             </OPTIONS>
           </select>

* But!

The biggest obstacle for tasks above in conventional html/css is that 
box model. It does not support vertical alignment/flex. At all.
You cannot say: "I want this table span the whole height of the 
view/container minus possible margins and borders". Thus we were forced 
to introduce "flex length units" to be able to support such typical UI 
tasks.

-- 
Andrew Fedoniouk.
http://terrainformatica.com


[1] Sciter, Grid behavior, source code: 
http://www.terrainformatica.com/wiki/doku.php?id=sciter:snippets:grid
[2] htmlayout engine
http://www.terrainformatica.com/htmlayout
[3] The Sciter:
http://www.terrainformatica.com/sciter
Received on Wednesday, 13 February 2008 04:07:39 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 9 May 2012 00:16:12 GMT