On Thursday, August 30, 2012 4:08:42 AM UTC-4, Thomas Broyer wrote:
>
>
>
> 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.
>
>
Thank you, Thomas. As always, you've been a great help--less code, my
CellTree now looks even better, and Firebug shows a much cleaner looking
CSS. I'm bookmarking Issue #6144 for future reference.
--
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/-/v9Bp2OyYzRUJ.
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.