On 04/03/2013 03:00 PM, Tobias Koller (GERMO GmbH) wrote:
> Hi list,
>
> I finally created my application with all the new features I needed under qx 
> 0.7.4.
> Everything worked fine till yesterday ;)
>
> The windows-update installed IE10 on my machine and my application didn't 
> work anymore.
> A known problem (Invalid Character DOM Exception in IE9) occurred. I could 
> fix it in 0.7.4 but many other things didn't work too.
> My colleague are also using IE10 and on there machine everything works 
> without problems...
>
> So I decided to give the migration from 0.7 to 2.2.1 a second chance ;)
>
> I migrated my application to 0.8 but still with all legacy-widgets included.
> And here I really need your help.
>
> I followed the migration-guide from 
> http://attic.qooxdoo.org/documentation/0.8/migration_guide_from_07#manual_work
> But I just don't know what to do with this future-embed-thing.

I presume you also looked through the "Porting parts" section. Is your 
app working after the migration (Checkpoint 2)? 0.8 has both the legacy 
widget system and the new widget system in the library. The whole idea 
is to have a working app while step-wise switching from legacy to 
new-style widgets.

At this stage your entire application uses 0.7-style widgets, but runs 
on a 0.8 runtime. The first step is to move your main application class 
over to the new layer. Did you reach Checkpoint 3?!

There is also a list-style document for API changes to keep an eye on 
(I'm not sure how much the automatic migration covers those):
[] http://attic.qooxdoo.org/documentation/0.8/migration_notes_from_07

Now you can step-wise move your custom classes, as described for 
feedreader.view.Tree. When you change the class itself, you need to wrap 
it inside your main application class (or wherever you instantiate the 
migrated class). This is the point where the future-embed-thing comes 
in! You need to wrap the instance of the migrated class into this 
qx.legacy.ui.embed.Future() thing. This ensures that old and new GUI 
classes continue to run together.

After much laboring you will have removed all qx.legacy.* references 
from your application code *except* for the qx.legacy.ui.embed.Future 
thingies. You then only need to "unwrap" those and use the original 
widget instances in their place. This would be the last step, and you 
would then be free of all qx.legacy.* calls.

It might look intimidating but the process has been successfully applied 
to various, sometimes big, applications.

>
> Could someone help me here?
>
> Some of my questions are:
> 1. what to do with f.e. qx.legacy.util.AliasManager.getInstance("myicons", 
> ...).add ? this is no

Mh, .getInstance() doesn't take any arguments, neither in the 0.7 nor in 
the 0.8 API!?

> widget. Can I just use it without the future-widget?

Yes, give it a shot. You might need to consult the wiki and API docs to 
make sure the old method is still available, or find its replacement.

>       When I remove the "legacy" my application will not show any icon 
> anymore...

This can't be a big deal, AliasManager is such a trivial class ... Just 
stick to the new API and put the calls straight. You can call the 
AliasManager in the browser console to check what aliases get resolved to.

>
> 2. how to use the future-widget in detail?  How to layout it?

There is not much more detail to care about. You use the Future instance 
with I guess the 0.7 layouting as long as the container is a 0.7 legacy 
container. Once you migrate the container, you use the 0.8 layout 
facilities.

>
> Do I have to remove all legacy-widgets ( I have 259 legacy-widgets included 
> in my project ;)) before migrating to 2.2.1?
> Or can I just do the next migration and then remove the legacy-widgets?

No, you should get rid of all the legacy stuff before doing the next 
migration step. You can then go from 0.8 to 2.1.1 in one go. 259 is a 
decent piece of work, but we migrated apps with around 800 custom 
classes :-).

HTH,
T.


------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to