On Wednesday, August 29, 2012 9:15:43 PM UTC+2, Thad wrote:
>
> On Wednesday, August 29, 2012 12:29:07 PM UTC-4, Thomas Broyer wrote:
>>
>>
>> On Wednesday, August 29, 2012 5:42:44 PM UTC+2, Thad wrote:
>>>
>>> Maybe I'm not understanding how resources are used or applied, but that 
>>> is not working for me. If I try the following interface, the resulting 
>>> CellTree looks like CellTree.Style, not BasicStyle:
>>>
>>>   interface TreeBasicResources extends CellTree.Resources {
>>>     @Override
>>>     @Source(value = { CellTree.Style.DEFAULT_CSS, 
>>>         "com/google/gwt/user/cellview/client/CellTreeBasic.css" })
>>>     CellTree.Style cellTreeStyle();
>>>   }
>>>   ...
>>>   Cell Tree myTree = new CellTree(treeModel, null, 
>>>           GWT.<TreeBasicResources> create(TreeBasicResources.class));
>>>
>>
>> You have to create an interface that extends CellTree.Style and use that 
>> inerface as the return type of the overridden cellTreeStyle().
>> See http://code.google.com/p/google-web-toolkit/issues/detail?id=6144
>>
>
> In searching the list, I don't see this issue continued in the list after 
> it was marked "AsDesigned". I may come back to this at some point. My 
> current app has one CellTable, one CellTree, and one CellList. However I 
> can see needing several CellTables, each with a very different style--one 
> for database records, one for a to-do list, one with a file hex dump, etc.
>

See comment #3 (and comment #5 for some sample code, but 
BasicResources/BasicStyle is the same)

Also, BasicStyle does not use CellTree.Style.DEFAULT_CSS (that's the whole 
>> reason it exists in the first place!)
>>
>> (that being said, BasicStyle not being public is probably an oversight)
>>
>>
>> And if it did work, how then to add my change? Extend this interface with 
>>> another? (All I want is cellTreeItem padding-top/-bottom to be 0px).
>>>
>>
>> Add a CSS file and list it in the @Source annotation.
>> In your CSS file, only include the cellTreeItem definition. And if you 
>> override rules, make sure you list your file after CellTreeBasic.css: CSS 
>> cascading rules apply when processing CssResources.
>>
>
> Interesting. Two approaches that I would think would give me the same 
> result look different. See the two screenshots from Firefox (v14 in Linux). 
> The first, tree-override-DEFAULT.png, uses this code:
>
>   interface TreeResources extends CellTree.Resources {
>     @Override
>     @Source({ CellTree.Style.DEFAULT_CSS, "CellTreePatch.css" })
>     CellTree.Style cellTreeStyle();
>   }
>
> where CellTreePatch.css 
> is ./com/google/gwt/user/cellview/client/CellTree.css copied and modified.
>

Given the stylesheets will be merged, copying is probably not a good idea. 
Or use your CellTreePatch only.
 

> This is what I started with after realizing I couldn't override 
> BasicStyle. (I'll add that I'm happy with visual result. Now I'm trying to 
> understand what's going on as I expect to be using GWT for a long time.)
>

@Source("com/google/gwt/user/cellview/client/CellTreeBasic.css", 
"CellTreePatch.css")

(where CellTreePatch only contains styles to be *added* to CellTreeBasic)
 

> The second screen shot, tree-extend-CellTree.Style.png, packs the cells 
> much closer, although CellTreePatch.css is the same:
>
>   public interface ScreenCellTreeStyle extends CellTree.Style {}
>   interface TreeResources extends CellTree.Resources {
>     @Override
>     @Source("CellTreePatch.css")
>     ScreenCellTreeStyle cellTreeStyle();
>   }
>
> Why wouldn't they be the same?
>

It depends what you changed in the CSS compared to 
CellTree.Style.DEFAULT_CSS. Keep in mind the stylesheets are merged when 
you specify more than one as argument to the @Source annotation.
And use your browser's developer tools to debug the CSS (and possibly use 
<set-configuration-property name="CssResource.style" value="pretty" /> when 
debugging)
For instance, if you simply removed the lines with padding/margin, then the 
ones CellTree.Style.DEFAULT_CSS would still be there (in the 
tree-override-DEFAULT case). As the doc says, there might be something *
wrong* (in your case) with merging the stylesheets; you can temporary 
disable merging to check whether it makes a difference: 
https://developers.google.com/web-toolkit/doc/latest/DevGuideClientBundle#Levers_and_Knobs

Also, you're not only changing the @Source value, but also the return type 
of the cellTreeStyle() method: keep using a specific interface as the 
return type (ScreenCellTreeStyle) and play only with the @Source, unless 
you really understand what you're doing (more info in comment #3 of issue 
6144)
 

> Also, if CellTreePatch.css is reduced to only the cellTreeItem definition, 
> the app crashes when trying to draw the tree (apparently because the other 
> settings aren't present).
>

In the tree-extend-CellTree.Style case, that's expected. It shouldn't be 
the case in the tree-override-DEFAULT case.

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-web-toolkit/-/Fb7jcwZrfQAJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to