Hi Daniel,

thank you, that helped a lot! Got some widget working!

How do I add other framework classes or even my own classes to the
build? I would prefer to get a single .min.js file in the end. I've
tried to set QXWEB_ALL in config.json and put my files into
source/class/... (like in a deskop application) but that didn't work.

Thank you!
Best regards,
   Leo


On 13.02.2015 10:01, Daniel Wagner wrote:
> Hi Leo,
>
> unfortunately, there's no documentation in the manual on how to create
> custom qx.Website widgets. That said, it's still possible if you're
> willing to jump through a few hoops and dig into the framework's widgets
> to see how they're implemented. The main steps are:
>
> * Use q.define to create your widget class
> * Inherit from qx.ui.website.Widget or one of its subclasses - there's
> no global qx symbol in qx.Website so you have to use q.$$qx
> * Create a factory method for your widget and attach it to the q collection
> * Override the render method as a starting point for your widget's
> implementation logic. Try to stick to the q API if possible. If you need
> to use framework classes that aren't included in your qx.Website build,
> you'll have to customize your build config (in a qx.Website skeleton
> application).
>
> Here's a simple but functional example:
>
>
> q.ready(function() {
>   var qx = q.$$qx;
>
>   q.define ("Custom", {
>
>     extend: qx.ui.website.Widget,
>
>     construct : function(selector, context) {
>       this.base(arguments, selector, context);
>     },
>
>     statics: {
>       // default configuration
>       _config : {
>         label : "Custom qx.Website widget"
>       },
>
>       // factory method
>       custom: function(label) {
>         var custom =  new Custom(this);
>         if (label) {
>           custom.setConfig("label", label);
>         }
>         custom.init(); // initialize the widget
>         custom.render();
>
>         return custom;
>       }
>     },
>
>     members: {
>       // apply custom config, templates, etc.
>       render: function() {
>         this.setHtml(this.getConfig("label"));
>       }
>     },
>
>     defer: function(statics) {
>       // attach factory method to q()
>       q.$attach({custom : statics.custom});
>     }
>   });
>
>   q.create("<div>").custom("My awesome widget").appendTo(document.body);
> });
>
>
> Hope this helps.
>
> Regards,
> Daniel
>
> On 12.02.2015 08:54, Leo von Klenze wrote:
>> Hi John,
>>
>> Thank you for the hint but I'm talking about Website widgets not Desktop. 
>>
>> Therefore I've no application class where to reference my new widget. 
>>
>> Thank you! 
>> Leo 
>>
>> John Spackman <john-li...@zenesis.com> schrieb:
>>> Creating a new widget is as simple as just writing a new class and
>>> using it; you have to re-run the generator each time you reference a
>>> new class, but it will find it automatically and include it into your
>>> application. Contribs are not automatically added but it’s a simple
>>> process - see this page
>>> http://manual.qooxdoo.org/current/pages/development/contrib.html for
>>> how to. If you want help on how to write a widget from scratch, here’s
>>> a useful starting point:
>>> http://manual.qooxdoo.org/current/pages/desktop/ui_develop.html John >
>>> On 11 Feb 2015, at 21:51, Leo von Klenze wrote: > > Hello, > > I've
>>> created a Website using create-application.pb -t Website and want > to
>>> add own widgets. > > I assumed to modify config.json but unfortunately
>>> I haven't found any > information on how to do this. Is such
>>> information missing in the manual? > > Do you have any suggestions? > >
>>> Thank you! > Best regards, > Leo > >
>>> ------------------------------------------------------------------------------
>>>> Dive into the World of Parallel Programming. The Go Parallel Website,
>>>> sponsored by Intel and developed in partnership with Slashdot Media,
>>> is your > hub for all things parallel software development, from weekly
>>> thought > leadership blogs to news, videos, case studies, tutorials and
>>> more. Take a > look and join the conversation now.
>>> http://goparallel.sourceforge.net/ >
>>> _______________________________________________ > qooxdoo-devel mailing
>>> list > qooxdoo-devel@lists.sourceforge.net >
>>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>>> ------------------------------------------------------------------------------
>>> Dive into the World of Parallel Programming. The Go Parallel Website,
>>> sponsored by Intel and developed in partnership with Slashdot Media, is
>>> your hub for all things parallel software development, from weekly
>>> thought leadership blogs to news, videos, case studies, tutorials and
>>> more. Take a look and join the conversation now.
>>> http://goparallel.sourceforge.net/
>>> _______________________________________________ qooxdoo-devel mailing
>>> list qooxdoo-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel 
>>
>> ------------------------------------------------------------------------------
>> Dive into the World of Parallel Programming. The Go Parallel Website,
>> sponsored by Intel and developed in partnership with Slashdot Media, is your
>> hub for all things parallel software development, from weekly thought
>> leadership blogs to news, videos, case studies, tutorials and more. Take a
>> look and join the conversation now. http://goparallel.sourceforge.net/
>> _______________________________________________
>> qooxdoo-devel mailing list
>> qooxdoo-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>>
> ------------------------------------------------------------------------------
> Dive into the World of Parallel Programming. The Go Parallel Website,
> sponsored by Intel and developed in partnership with Slashdot Media, is your
> hub for all things parallel software development, from weekly thought
> leadership blogs to news, videos, case studies, tutorials and more. Take a
> look and join the conversation now. http://goparallel.sourceforge.net/
> _______________________________________________
> qooxdoo-devel mailing list
> qooxdoo-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel


------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to