New Eto Documentation

Good morning Devs,

I’ve been working on some Eto Docs to make developing Eto easier.

My goal is that anyone can learn Eto, on any platform, with any skill level. As such the guides suggest using the script editor to keep any instructions platform agnostic, and also make simple projects easier.

The guides cover C# and python (where possible). I’ve also tested all the samples on Mac/Win, so you really should be good to go :slight_smile:

Each page has lots of samples so you can try things yourself

Eto Guides Link

This really is just the start, I’ve got a lot more things I’d like to document, existing pages I’d like to improve, but I wanted to get something out! I’ve listed some potential candidates below, if any in particular strike your fancy let me know and I’ll focus on those first.

Next Potential Guides
  • UI Controls

    • Menu Bar
    • Commands
    • Layouts
    • Sizing
    • ComboBox
  • Advanced Controls

    • Tree Views
    • Image View
    • Numeric Input
  • Misc

    • Binding without a View Model
    • Alternatives to Bindings
    • Focus
    • Logical Pixels
    • Styling
    • Custom Controls
    • Custom Handlers
    • Mouse Events
    • Clipboard
  • Your First Eto Project
    A very long walkthrough detaling how to create a full Eto Project end to end. This will likely be in ~ 10 parts and will not skimp on detail

  • Rhino Controls

    • NumericUpDownWithUnitParsing
    • ViewportControl
    • RhinoButtonStackLayout
    • RhinoDialogPanel
    • ImageButton
    • AddRemoveButton
  • OS Specific eccentricities

    • Windows
    • Mac OSX
  • Localization

    • Strings
    • Menus

–cs

29 Likes

Firstly thanks for working on this – I think it will become an invaluable resource.

Adding a +1 for TreeView guide, but looking forward to all of them.

1 Like

Thank you @CallumSykes for this great addition to the Eto documentation! As I’m trying to find my way around the Eto Universe myself at the moment, I’m quite fortunate that you decided to release what you have!

I just now posted a question regarding the GridView and how to populate it with Clickable Buttons in an MVVM approach here and yesterday @curtisw guided me in the right direction when trying to understand the dynamic population of a DataDrop, also in MVVM here.

Maybe these examples could be of use for your documentation? If so please feel free to use as much as you need - I would be humbled if I could contribute a small bit to the docs :slight_smile:
Although - without Curtis’ help there wouldn’t exist anything usable so all credits to him !

Of course, if you have some thoughts to my second question, all hints would be more than welcome!

As TreeGridView would be the next on my list to tackle, I would add my +1 to that - even if you don’t have it on your list (yet? :wink: ).
Furthermore i’m interested in the (easiest/simplest) ways to handle all controls in an MVVM context.

Thank you for your great work!

1 Like

Glad it’s useful :slight_smile:

My next article will be Your First View Model and that should cover this.

Can you expand on this?

1 Like

Nice! Do you already have an idea when it will be avaliable? And inbetween maybe a hint or an example for a possible solution? :wink:

My formulation was a bit over-complicated, sorry! Basically I’m interested in all things concerning Binding, especially on the more difficult controls (like TreeGridView) with the context of wiring them up to the ViewModel. Still quite a broad statement, I know :slight_smile:

1 Like

I’ll see if I can finish it today.

Yeah that makes sense, there are some very good examples and explanations about direct bindings in the docs, but these kinds of indirect bindings are tricky.

1 Like

Wow, that would be great! Thank you!

6 posts were split to a new topic: Issue in Eto Docs python sample

Really great start on these docs @CallumSykes!

Already learned many new things that I haven’t seen scouring these forums for Eto tips.

I’m really looking forward to these docs because once you realize Eto can do pretty much anything the world really is the developers oyster haha

2 Likes

That’s great to hear! I spent a lot of time reading the Eto source code to really understand bindings :slight_smile:.

I also found putting together small test projects that show how something works really helped, and I hope putting those in the docs helps devs learn too :slight_smile:

IMO this is one of the most important pieces of learning, having a hands on example one can manipulate, stretch, and break to learn from.

Personally, I have a hard time learning without an example to reference and will end up making one myself (or attempting to) so including those side by side in the docs is something I really appreciate

2 Likes