Thank you for replying. I understand and have been fixing my mistakes.
I have noticed a difference between python 3.6 and python 3.8 that has
caused issues with the imports. I'm fixing them as fast as I can. That
said, I pushed several changes that I thought were correct but they are
not (all had to do with the imports).
I left the file names the same as they were for demo. IOW I left the
'd' in the file name. I can change them later.
The name space is an issue and I will make an attempt to determine the
root cause of the different imports between 3.6 and 3.8.
I have been working with windows 10 (I assume that will be the one most
people will use) and that's when I realized the issue with imports.
Again thanks for the help!
Johnf
On 9/11/20 8:58 AM, Ed Leafe wrote:
On Sep 11, 2020, at 09:55, john <[email protected]> wrote:
I know you are on another project/job and need to make that your priority - but
a quick yes or no will work.
I am confused you renamed all (most of) the files in the UI. You removed the
'd' in the file names. And of course the class names contain the 'd' i.e.:
box.py ->class dBox(...
Yes, that was to help reduce the name conflicts.
I'm guessing but you didn't have time to deal with the demo/samples files
because none of them have the file names changed (the 'd' was not removed). It
is your intent to changes the samples files too (remove the 'd')?
Yes, but I did not have enough time to get to update anything much beyond the
main framework.
Where I get confused is the git commits suggest that the UI files are running.
They do not run for me without me changing how the inheritance is called:
from dabo.ui import dControlMixin
class dBox(dControlMixin, wx.StaticBox)
to work I need
from dabo.ui import dControlMixin
class dBox(dControlMixin.dControlMixin, wx.StaticBox)
That said, I am testing on Ubuntu 20 (so I can test) wxPython 4.1, python 3.8.x
and on OpenSuse 15.1 wxPython 4.0.7, python 3.6.x.
Am I doing the right thing by making the changes??
No, that is not correct. The UI has to be loaded first before you can access
it. That’s done automatically when creating an instance of dApp, but otherwise
you would need:
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
import dabo.ui
dabo.ui.load_namespace()
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
That method is defined in dabo/ui/__init__.py:
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
def load_namespace():
"""Add all the UI classes to the dabo.ui namespace.
This must be called before any UI work can be done. This is done
automatically when `import
dabo` is called, so you should never have to call it manually.
IMPORTANT: the order of these imports should not be changed without
extensive testing, as some
classes inherit from or otherwise reference other classes, so those
referenced classes need to
be added to the namespace first.
“””
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
As the docstring says, the order of the imports is critical, because so many
classes depend on others being in the namespace already.
-- Ed Leafe
[excessive quoting removed by server]
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: https://mail.leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: https://leafe.com/archives
This message:
https://leafe.com/archives/byMID/[email protected]