Jim Hunter schrieb:
> Thanks for the reply, but no, I wasn't thinking of the table controls.
> I was reading about the new features of .8 and read about other
> 'virtual' controls and was excited because I immediately thought about
> this scenario for their use. But at the time I read the news, I hadn't
> even started my conversion to .8. Now that I have most of my app
> converted and running, I really need extremely light wieght controls
> to get past this problem.
>
> I already have a version of my application where I create ALL the HTML
> but I don't have any way to theme it and doing it myself is a step
> backward.
If you need theming using plain HTML becomes a problem.
We don't have lighweight controls in 0.8 but I have an idea how you
could solve your problem.
Its a bit of a hack and I'm not sure if it will work but you can at
least try it. The idea is basically to use just one label widget and
"steal" the rendered HTML.
var label = new qx.ui.basic.Label()
// repeat these steps for all your label instances.
label.set({
content: "text"
... // configure the label
});
this.getRoot().add(label, {left: -1000, top: -1000}); // DOM nodes are
only generated for widgets added to the application
qx.ui.core.queue.Manager.flush(); // flush all queues, this triggers
generation of the DOM nodes.
var labelDom = label.getElement().getDomElement().cloneNode(true); // do
a deep copy of the label DOM
// insert these domNodes into your report
labelDom.style.left = "20px";
labelDom.style.top = "10px";
report.getElement().getDomElement().appendChild(labelDom);
This way you only need one label instance. This should be much faster
than creating hundreds of labels. Of coarse you cannot interact with the
cloned widgets and you cannot modify them. I would be interested if this
works and if it solves your problem.
Best Fabian
>
> I can't create any sort of master control because I never know what is
> going to be displayed, that is 100% designed by the client using the
> software, I simply display what they create. I read in the form/tool
> definition out of a db and render it on the fly. Most of the controls
> are labels and edit boxes, but they do need to match the theme being
> used (which is also set by the user and 'created' at run time). I
> suppose I could create a subclass of these basic controls and after
> they are rendered have the control delete itself to free up memory.
> That is if doing a JavaScript delete would kill the control but not
> remove the DOM rendering of it?
>
> Thanks,
> Jim
>
>
> On Mon, Jan 12, 2009 at 1:47 AM, Fabian Jakobs <[email protected]
> <mailto:[email protected]>> wrote:
>
> Jim Hunter schrieb:
> > I remember reading, a couple of months ago, that there were new
> > controls in .8 that were basically DOM only controls so that they
> > would be created and written to the DOM without using up memory.
> I think you are talking about the table and TreeVirtual. Both widgets
> don't create any qooxdoo widgets for the contents. They just
> create the
> required HTML markup and add it to the table pane using innerHTML.
>
> > I just spent the last hour trying to find information on the
> controls
> > but I seem to be coming up short. Can someone lend some advice as to
> > what is the best way to go about creating DOM controls that are
> > basically only needed to display information, no event handling
> etc. I
> > am working with user generated pages and on one page, that contains
> > hundreds of controls, it takes over 30 seconds to render on IE7. The
> > same page on FireFox renders in just a couple of seconds. I know
> that
> > IE sucks on JavaScript, but I don't have a choice, I have to support
> > it. So I need to make rendering this page as fast as possible and I
> > won't need access to the controls once they are rendered to the
> > browser. Any ideas?
> Is it possible to combine those controls into one single widget?
> If this
> is the case you could use an HtmlEmbed widget and render the
> contents of
> your controls using plain html.
>
> Best Fabian
>
>
>
> >
> > Thanks,
> > Jim
> >
> >
> ------------------------------------------------------------------------
> >
> >
>
> ------------------------------------------------------------------------------
> > Check out the new SourceForge.net Marketplace.
> > It is the best place to buy or sell services for
> > just about anything Open Source.
> > http://p.sf.net/sfu/Xq1LFB
> >
> ------------------------------------------------------------------------
> >
> > _______________________________________________
> > qooxdoo-devel mailing list
> > [email protected]
> <mailto:[email protected]>
> > https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
> >
>
>
> --
> Fabian Jakobs
> JavaScript Framework Developer
>
> 1&1 Internet AG
> Brauerstraße 48
> 76135 Karlsruhe
>
> Amtsgericht Montabaur HRB 6484
>
> Vorstand: Henning Ahlert, Ralph Dommermuth, Matthias Ehrlich,
> Thomas Gottschlich, Matthias Greve, Robert Hoffmann, Markus Huhn,
> Oliver Mauss, Achim Weiss
> Aufsichtsratsvorsitzender: Michael Scheeren
>
>
>
> ------------------------------------------------------------------------------
> Check out the new SourceForge.net Marketplace.
> It is the best place to buy or sell services for
> just about anything Open Source.
> http://p.sf.net/sfu/Xq1LFB
> _______________________________________________
> qooxdoo-devel mailing list
> [email protected]
> <mailto:[email protected]>
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>
>
> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------------
> Check out the new SourceForge.net Marketplace.
> It is the best place to buy or sell services for
> just about anything Open Source.
> http://p.sf.net/sfu/Xq1LFB
> ------------------------------------------------------------------------
>
> _______________________________________________
> qooxdoo-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>
--
Fabian Jakobs
JavaScript Framework Developer
1&1 Internet AG
Brauerstraße 48
76135 Karlsruhe
Amtsgericht Montabaur HRB 6484
Vorstand: Henning Ahlert, Ralph Dommermuth, Matthias Ehrlich, Thomas
Gottschlich, Matthias Greve, Robert Hoffmann, Markus Huhn, Oliver Mauss, Achim
Weiss
Aufsichtsratsvorsitzender: Michael Scheeren
------------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It is the best place to buy or sell services for
just about anything Open Source.
http://p.sf.net/sfu/Xq1LFB
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel