Hi Matthew,

unfortunately the proposed solution from Fabian does not work anymore. I 
added a small tutorial about adding a (appearance) theme of a 
contribution to one's own application.
-> http://qooxdoo.org/documentation/0.8/ui_using_themes_of_contribs

This should clear up things a little bit.

cheers,
   Alex

Matthew Gregory wrote:
> That's great Fabian, i'm going to add this example to my README :)
> 
> Thanks
> Matt
> 
> Fabian Jakobs wrote:
>> Matthew Gregory schrieb:
>>> OK,
>>> So if somebody wants to use the tileview they have to supply their own 
>>> theme?
>>> Since I cannot extend my appearance from the default qooxdoo one, if I 
>>> specify tileview.theme.TileView inf my config.json I get loads of 
>>> missing appearances.
>>>
>>> Is it reasonable to require people to create thier own theme just to use 
>>> the tileview widget?
>>>   
>> No but there is a second way to include a theme. Just like with mixins 
>> you can include a theme from a contrib into an existing theme.
>>
>> qx.Theme.include(qx.theme.modern.Decoration, tileview.theme.Decoration);
>> qx.Theme.include(qx.theme.modern.Appearance, tileview.theme.Apperance);
>>
>> This will include the tileview appearance into the modern appearance. 
>> This is the only code the user has to add to his application.
>>
>>
>> Best Fabian
>>
>>
>>> Alexander Back wrote:
>>>   
>>>> Hi Matt,
>>>>
>>>> Matthew Gregory wrote:
>>>>     
>>>>> OK, I've got it working but I'm a little unsure
>>>>>
>>>>> If I add "include : tileview.theme.TileView" to my theme as per your 
>>>>> instructions I get this error:
>>>>> It is not allowed to overwrite the key 'appearance' of theme 
>>>>> 'custom.theme.Custom' by mixin theme 'tileview.theme.TileView'.
>>>>>
>>>>> The only way I got it working was to add "include : 
>>>>> tileview.theme.Appearance" to my own Appearance.js and remove "extend : 
>>>>> qx.theme.modern.Appearance" from tileview.theme.Appearance
>>>>>
>>>>> This works, but I feel I've missed something
>>>>>       
>>>> No, that's the way to go. The "tileview.theme.Appearance" is a kind of 
>>>> mixin which is included in your custom appearance theme. The tileview 
>>>> appearance theme only has to define its own appearances and should not 
>>>> extend an existing appearance theme, because your custom theme (the 
>>>> "includer" theme does this already).
>>>> Technically the tileview appearance theme is merged into your custom 
>>>> appearance theme. So you only have to define keys below the 
>>>> "appearances" data structure, because the include mechnism simply grabs 
>>>> all the defined keys and merges them with the existing ones of your 
>>>> custom theme.
>>>>
>>>> cheers,
>>>>    Alex
>>>>
>>>>     
>>>>> Alexander Back wrote:
>>>>>       
>>>>>> Hi Derrell,
>>>>>>
>>>>>> Derrell Lipman wrote:
>>>>>>         
>>>>>>> On Fri, Nov 14, 2008 at 9:13 AM, Alexander Back <[EMAIL 
>>>>>>> PROTECTED]>wrote:
>>>>>>>
>>>>>>>           
>>>>>>>>> The problem is how can I include this theme in my other project? If I
>>>>>>>>> change the QXTHEME entry in config.json to tileview.theme.TileView 
>>>>>>>>> that
>>>>>>>>> works. But the problem is my other project already has it's own theme,
>>>>>>>>> how can I include both? Am I missing something from the contrib's
>>>>>>>>>               
>>>>>>>> Manifest?
>>>>>>>> Short answer: you can't.
>>>>>>>>
>>>>>>>> It is only possible to set one theme for your application in the
>>>>>>>> config.json. To use both themes you have to change a little bit in your
>>>>>>>> own appearance theme to get it to work.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>             
>>>>>>> The author of a contrib project doesn't know what theme an application
>>>>>>> writer will want to use.  If I understand you correctly, you're saying 
>>>>>>> that
>>>>>>> an application writer will need to make changes to the qooxdoo-contrib
>>>>>>> project to use their theme.  If that's correct, it eliminates the
>>>>>>> possibility of using the contrib: URI to load the contrib from its 
>>>>>>> read-only
>>>>>>> location online.
>>>>>>>           
>>>>>> I guess you misunderstood me :)
>>>>>>
>>>>>> The application writer has no to make any changes to the qooxdoo-contrib 
>>>>>> project he uses. If the contrib project offers an own appearance theme, 
>>>>>> the application writer has to make sure that he is including this 
>>>>>> appearance theme into his own appearance theme to make it work.
>>>>>>
>>>>>>         
>>>>>>> Or maybe I misunderstand.  Maybe in one's own appearance theme, one can
>>>>>>> include the themes from each of the (possibly many) qooxdoo-contrib 
>>>>>>> projects
>>>>>>> that the application is making use of, and thus solve the problem?
>>>>>>>           
>>>>>> Yes, that's exactly what I wanted to express ;-)
>>>>>>
>>>>>> cheers,
>>>>>>    Alex

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to