>> I found out an alternative solution that's safer and does away with my
>> pointer problems. I also found out why my server pushes made my app slow.
>> I'm such a dork for having to create a topic!
>
> It would be good to list the reasons in case anyone else encounters
> something similar.  :)

In my map program, users can see others drag and drop objects around a
grid of container widgets.

I don't use the dragged widget as a source anymore for a drop event;
instead I use the dragged widget's container as the source. The
container will at least have a longer lifetime than the dragged
widget. For my old way, I couldn't guarantee the dragged widget still
existed (someone may have dragged it to a trashcan widget or it could
have been deleted in a graphic update).

Then, from the destination widget, I would emit a signal at the source
container widget's side that says: "the drop has been completed and
here are the destination coordinates."

Draggable widgets inside the source container will interpret this
signal to see if the drop event applies to any of them. If it does
apply, the respective drag widget will alter its record in the
database with the location of its new parent container.

Then the dragged widget passes its destination and origin coordinates
on the map to a service object that manages server pushes. Any
container widgets having the above coordinates will actualize their
contents again. As a result, everyone on the map program will see the
dragged widget be put in its new spot.

(main point: )
I like communicating via signals versus pointers. With pointers, I
have to hope the pointer I'm using to communicate is still valid.
Also, it keeps my container widget's implementation clean: I don't
want it to keep track of my draggable widgets.

As for me making my server push process go faster, my widgets weren't
interpreting the update event properly: all widgets were refreshing
their contents versus certain ones.

Sorry for being verbose.

Regards,
david

------------------------------------------------------------------------------
_______________________________________________
witty-interest mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/witty-interest

Reply via email to