Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Xilem Python integration sketch #2185

Draft
wants to merge 10 commits into
base: master
Choose a base branch
from
Draft

Xilem Python integration sketch #2185

wants to merge 10 commits into from

Commits on Apr 12, 2022

  1. Initial commit of idiopath experiment

    This is similar to lasagna but with strongly typed elements. Let's see how it goes.
    raphlinus committed Apr 12, 2022
    Configuration menu
    Copy the full SHA
    9f06dda View commit details
    Browse the repository at this point in the history
  2. Add AnyView

    Support for type erasure of views and widgets.
    raphlinus committed Apr 12, 2022
    Configuration menu
    Copy the full SHA
    1caa8ca View commit details
    Browse the repository at this point in the history

Commits on Apr 13, 2022

  1. Add more widget tuples

    Bring in more widget tuples with a macro.
    raphlinus committed Apr 13, 2022
    Configuration menu
    Copy the full SHA
    899feb2 View commit details
    Browse the repository at this point in the history
  2. Implement not very useful form of use_state

    Event propagation has no mutable access.
    raphlinus committed Apr 13, 2022
    Configuration menu
    Copy the full SHA
    fc142ea View commit details
    Browse the repository at this point in the history
  3. A slightly more useful version

    This passes the app state down through an Rc using a lens-like construction.
    
    I'm not sure this is the best construction. Perhaps it should be combined with adapt (the callback could take both mutable state references), but that's 3 callbacks.
    
    Also makes state mutable in event propagation, which seems useful.
    raphlinus committed Apr 13, 2022
    Configuration menu
    Copy the full SHA
    08afce9 View commit details
    Browse the repository at this point in the history
  4. Add README

    Also trying out a few more node types in the example.
    raphlinus committed Apr 13, 2022
    Configuration menu
    Copy the full SHA
    8a4b687 View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2022

  1. Continuing to tinker

    Can call into Python and downcast resulting object...
    raphlinus committed Apr 15, 2022
    Configuration menu
    Copy the full SHA
    83b895f View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2022

  1. Actually showing button

    Now to wire up some state
    raphlinus committed Apr 16, 2022
    Configuration menu
    Copy the full SHA
    66ac494 View commit details
    Browse the repository at this point in the history
  2. Wire up Python types

    Make the main type `View<PyObject, PyObject>`
    
    Implement ViewTuple similarly.
    raphlinus committed Apr 16, 2022
    Configuration menu
    Copy the full SHA
    5dfc6e5 View commit details
    Browse the repository at this point in the history
  3. Type ViewTuple more strongly

    Use PyTuple rather than PyObject, so downcasting happens in call to functions like `column` rather than in the ViewTuple impl.
    raphlinus committed Apr 16, 2022
    Configuration menu
    Copy the full SHA
    4ef6312 View commit details
    Browse the repository at this point in the history