tasks for wx

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

tasks for wx

Rob McMullen
Hi list,

Just starting to explore envisage/traits/pyface/etc. It seems like tasks are the way to go over workbench, but tasks don't support wx. I've read that future support from Enthought corporate is concentrating on Qt.

I've got a lot invested in wxPython, especially some specialty controls that would take a lot of time to reimplement in Qt given I have no Qt experience and it's already debugged in wx.  So it would be more interesting for me to contribute to the wx side of things.  If I were to work on a wx port of tasks, is anyone aware of any current effort or would I be starting fresh?

Rob

_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev
Reply | Threaded
Open this post in threaded view
|

Re: tasks for wx

Pietro Berkes
Hi Rob,

I'm afraid you would be starting fresh. In pyface, you will also find "workbench", which is an older, wx-only library to build graphical applications. Depending on what you need to do, that might be a valid alternative. Development on workbench has stopped a while ago, though.

Best,
Pietro



On Wed, Dec 18, 2013 at 4:37 AM, Rob McMullen <[hidden email]> wrote:
Hi list,

Just starting to explore envisage/traits/pyface/etc. It seems like tasks are the way to go over workbench, but tasks don't support wx. I've read that future support from Enthought corporate is concentrating on Qt.

I've got a lot invested in wxPython, especially some specialty controls that would take a lot of time to reimplement in Qt given I have no Qt experience and it's already debugged in wx.  So it would be more interesting for me to contribute to the wx side of things.  If I were to work on a wx port of tasks, is anyone aware of any current effort or would I be starting fresh?

Rob

_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev




--
Pietro Berkes
Scientific software developer
Enthought UK


_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev
Reply | Threaded
Open this post in threaded view
|

Re: tasks for wx

Rob McMullen
Thanks for the info, but I think tasks is the way to go. I have some complex UI needs and for instance I can't find a workbench equivalent to opening two panes, one above another, as in this example I hacked into the pyface/examples/tasks/advanced example:

    def _default_layout_default(self):
        return TaskLayout(
            left=VSplitter(
                PaneItem('example.python_script_browser_pane'),
                PaneItem('example.file_browser_pane'),
                )
            )

so I'll mess around with trying to add wx support for tasks by copying the stuff from pyface/ui/qt4/tasks into pyface/ui/wx/tasks and converting as I go.

I'm just dumb enough to fail to realize the amount of work this is likely to be. :)  But, on the other hand, I'd like to find a new framework to replace one I wrote myself -- mine is flexible but hacky and complicated and not as well designed as Enthought.  Enthought is 95% of what I need, so if I have to write the 5% myself it's still better than writing a new framework from scratch.

Rob


On Wed, Dec 18, 2013 at 12:26 AM, Pietro Berkes <[hidden email]> wrote:
Hi Rob,

I'm afraid you would be starting fresh. In pyface, you will also find "workbench", which is an older, wx-only library to build graphical applications. Depending on what you need to do, that might be a valid alternative. Development on workbench has stopped a while ago, though.

Best,
Pietro



On Wed, Dec 18, 2013 at 4:37 AM, Rob McMullen <[hidden email]> wrote:
Hi list,

Just starting to explore envisage/traits/pyface/etc. It seems like tasks are the way to go over workbench, but tasks don't support wx. I've read that future support from Enthought corporate is concentrating on Qt.

I've got a lot invested in wxPython, especially some specialty controls that would take a lot of time to reimplement in Qt given I have no Qt experience and it's already debugged in wx.  So it would be more interesting for me to contribute to the wx side of things.  If I were to work on a wx port of tasks, is anyone aware of any current effort or would I be starting fresh?

Rob

_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev




--
Pietro Berkes
Scientific software developer
Enthought UK


_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev



_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev
Reply | Threaded
Open this post in threaded view
|

Re: tasks for wx

Corran Webster
Hi Rob,

It's probably not as painful as you might fear to create a Wx backend for Tasks - in particular Tasks uses standard Pyface Actions under the covers, and they already have a Wx implementation.  So you *probably* only need to write versions of the classes defined in:


If you are comfortable with WxPython and Wx dock panes, then you're looking at a non-trivial, but definitely tractable piece of coding, probably in the order of a week to get a working prototype with at least minimal functionality, I'd guess.

-- Corran




On Wed, Dec 18, 2013 at 12:11 PM, Rob McMullen <[hidden email]> wrote:
Thanks for the info, but I think tasks is the way to go. I have some complex UI needs and for instance I can't find a workbench equivalent to opening two panes, one above another, as in this example I hacked into the pyface/examples/tasks/advanced example:

    def _default_layout_default(self):
        return TaskLayout(
            left=VSplitter(
                PaneItem('example.python_script_browser_pane'),
                PaneItem('example.file_browser_pane'),
                )
            )

so I'll mess around with trying to add wx support for tasks by copying the stuff from pyface/ui/qt4/tasks into pyface/ui/wx/tasks and converting as I go.

I'm just dumb enough to fail to realize the amount of work this is likely to be. :)  But, on the other hand, I'd like to find a new framework to replace one I wrote myself -- mine is flexible but hacky and complicated and not as well designed as Enthought.  Enthought is 95% of what I need, so if I have to write the 5% myself it's still better than writing a new framework from scratch.

Rob


On Wed, Dec 18, 2013 at 12:26 AM, Pietro Berkes <[hidden email]> wrote:
Hi Rob,

I'm afraid you would be starting fresh. In pyface, you will also find "workbench", which is an older, wx-only library to build graphical applications. Depending on what you need to do, that might be a valid alternative. Development on workbench has stopped a while ago, though.

Best,
Pietro



On Wed, Dec 18, 2013 at 4:37 AM, Rob McMullen <[hidden email]> wrote:
Hi list,

Just starting to explore envisage/traits/pyface/etc. It seems like tasks are the way to go over workbench, but tasks don't support wx. I've read that future support from Enthought corporate is concentrating on Qt.

I've got a lot invested in wxPython, especially some specialty controls that would take a lot of time to reimplement in Qt given I have no Qt experience and it's already debugged in wx.  So it would be more interesting for me to contribute to the wx side of things.  If I were to work on a wx port of tasks, is anyone aware of any current effort or would I be starting fresh?

Rob

_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev




--
Pietro Berkes
Scientific software developer
Enthought UK


_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev



_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev



_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev
Reply | Threaded
Open this post in threaded view
|

Re: tasks for wx

Rob McMullen
Makin' progress. So far I've got a working minimal example with a blank Editor in a EditorAreaPane using the AuiNotebook as the tabbed control. I'm working on the dockable panes in MainWindowLayout and haven't quite grokked set_layout_for_area yet and how the arbitrary nesting of PaneItems is laid out in Qt terms. Particularly confusing is the CORNER_MAP vs the AREA_MAP. I might just start from scratch attempting to use the AuiManager without first figuring out the Qt stuff. But so far the Qt code has been a good guide even though I know nothing about Qt.

At any rate I'm getting familiar with the pyface internals and it doesn't seem impossible.  My code is living at:

https://github.com/robmcmullen/pyface/tree/wxtasks

Rob


On Wed, Dec 18, 2013 at 10:44 AM, Corran Webster <[hidden email]> wrote:
Hi Rob,

It's probably not as painful as you might fear to create a Wx backend for Tasks - in particular Tasks uses standard Pyface Actions under the covers, and they already have a Wx implementation.  So you *probably* only need to write versions of the classes defined in:


If you are comfortable with WxPython and Wx dock panes, then you're looking at a non-trivial, but definitely tractable piece of coding, probably in the order of a week to get a working prototype with at least minimal functionality, I'd guess.

-- Corran




On Wed, Dec 18, 2013 at 12:11 PM, Rob McMullen <[hidden email]> wrote:
Thanks for the info, but I think tasks is the way to go. I have some complex UI needs and for instance I can't find a workbench equivalent to opening two panes, one above another, as in this example I hacked into the pyface/examples/tasks/advanced example:

    def _default_layout_default(self):
        return TaskLayout(
            left=VSplitter(
                PaneItem('example.python_script_browser_pane'),
                PaneItem('example.file_browser_pane'),
                )
            )

so I'll mess around with trying to add wx support for tasks by copying the stuff from pyface/ui/qt4/tasks into pyface/ui/wx/tasks and converting as I go.

I'm just dumb enough to fail to realize the amount of work this is likely to be. :)  But, on the other hand, I'd like to find a new framework to replace one I wrote myself -- mine is flexible but hacky and complicated and not as well designed as Enthought.  Enthought is 95% of what I need, so if I have to write the 5% myself it's still better than writing a new framework from scratch.

Rob


On Wed, Dec 18, 2013 at 12:26 AM, Pietro Berkes <[hidden email]> wrote:
Hi Rob,

I'm afraid you would be starting fresh. In pyface, you will also find "workbench", which is an older, wx-only library to build graphical applications. Depending on what you need to do, that might be a valid alternative. Development on workbench has stopped a while ago, though.

Best,
Pietro



On Wed, Dec 18, 2013 at 4:37 AM, Rob McMullen <[hidden email]> wrote:
Hi list,

Just starting to explore envisage/traits/pyface/etc. It seems like tasks are the way to go over workbench, but tasks don't support wx. I've read that future support from Enthought corporate is concentrating on Qt.

I've got a lot invested in wxPython, especially some specialty controls that would take a lot of time to reimplement in Qt given I have no Qt experience and it's already debugged in wx.  So it would be more interesting for me to contribute to the wx side of things.  If I were to work on a wx port of tasks, is anyone aware of any current effort or would I be starting fresh?

Rob

_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev




--
Pietro Berkes
Scientific software developer
Enthought UK


_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev



_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev



_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev



_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev
Reply | Threaded
Open this post in threaded view
|

Re: tasks for wx

Rob McMullen
Oh, I get the CORNER_MAP now. It's telling the Qt layout that the corners belong to the appropriate dock.  E.g. if top_left_corner == top, the corner part of the window belongs to the top dock rather that the left dock.  The difference between


+-----------~
|           ~
+--+--------~
|  |        ~
|  |        ~

and

+--+--------~
|  |        ~
|  +--------~
|  |        ~
|  |        ~


Rob


_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev