Re: EG and Stackless
Posted: Thu Sep 29, 2016 4:19 am
i am in complete agreement with you on the stackless thing.
there is next to no information on how to use it. and how it actually functions and the developer of stackless has pretty much moved on to developing pypi so there hasn't been much going on with it except small patches for years now.
and to be honest i have been trying to work out a solution as to how to handle the way EG opens dialogs. because of the use of the stackless channels and how a call to send will block until a receiver has picked up i have not has success in duplicating. it just keeps on crashing EG. even if i start the dialog in a separate thread.
the while panel.Affirmed() is very misleading. because it never actually loops. the call to Affirmed gets on a received line. and then it gets blocked until an event is triggered from the press of the ok, cancel, test, apply buttons.
and that event then uses the channel send to pass data to allow the while panel.Affirmed() to exit. now if that isn't screwy enough. there is also thread that initiated the dialog that is running separately and trying to iter the dialog for results and that one also gets blocked until a result comes about.
and then there are 2 versions of this setup all smooshed into one class, one runs as a modal and the other as a normal dialog. and they somewhat operate the same but the way the data is received differs.
the file where all of this takes place is in the eg\Classes\TaskletDialog.py
and also any of the "new" modules located in the eg\Classes\MainFrame\UndoHandler
there is a lot of voodoo code with this portion of EG
there is next to no information on how to use it. and how it actually functions and the developer of stackless has pretty much moved on to developing pypi so there hasn't been much going on with it except small patches for years now.
and to be honest i have been trying to work out a solution as to how to handle the way EG opens dialogs. because of the use of the stackless channels and how a call to send will block until a receiver has picked up i have not has success in duplicating. it just keeps on crashing EG. even if i start the dialog in a separate thread.
the while panel.Affirmed() is very misleading. because it never actually loops. the call to Affirmed gets on a received line. and then it gets blocked until an event is triggered from the press of the ok, cancel, test, apply buttons.
and that event then uses the channel send to pass data to allow the while panel.Affirmed() to exit. now if that isn't screwy enough. there is also thread that initiated the dialog that is running separately and trying to iter the dialog for results and that one also gets blocked until a result comes about.
and then there are 2 versions of this setup all smooshed into one class, one runs as a modal and the other as a normal dialog. and they somewhat operate the same but the way the data is received differs.
the file where all of this takes place is in the eg\Classes\TaskletDialog.py
and also any of the "new" modules located in the eg\Classes\MainFrame\UndoHandler
there is a lot of voodoo code with this portion of EG