Re: [anjuta-devel] New project interface and introspection



Hi,

Le 24/10/2010 11:14, Abderrahim KITOUNI a écrit :
Maybe I can help with this. I'll try to look at it when I'm home.

I have planned to fix it this week but I will work on something else. Tell me if you haven't enough time. I think I just need a few hours to fix it.


Just curious, are you using async IO here? (if not, then it's normal
that GUI is frozen). It would be nice to see if the freeze is coming
from the blocking IO or from the actual parsing.

I don't use async IO because it's more work, I don't know if I can fix the problem. I will look at this.


Previously, to reload a node, I make a copy of the node without its
children, recreate all its children, and then replace all these new children
in the project tree. If the same node was already existing, the item in the
project tree view is the same but point to another AnjutaProjectNode object.

Can this logic be integrated in the ProjectNode object instead?

I don't think so. If you are not using a thread it's not needed, you can directly reload the original node. Then, copying the specific data of each node need to know them. By example, the autotool group node create a file monitor using as user data the node address, so copying the node need to update this signal. So I think it's better to keep all this in the backend which know everything.

Anyway, I will add a function to copy the common node data or rather, I think, to swap two nodes data.


It's still very incomplete. I have only played with the API so far, so
I'm still not there.

Ok. I have already made it work for the autotools backend so it's not impossible.


I think it's better avoided. But if it cannot, I think a "destroy"
signal can be used to tell the users they should drop their
references.

I think the users can use weak reference and be warned when the node is destroyed. It makes no sense to keep a node which is not existing in the project so weak reference should be enough.

Regards,

Sébastien



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]