[Native Shell] Start splitting the docking components#4143
[Native Shell] Start splitting the docking components#4143
Conversation
|
I'm thinking now is a good time to get it into master for the 15.8 timeframe, so that we have time to see if there are regressions |
There was a problem hiding this comment.
The code that calls AutoShow/AutoHide/ScheduleAutoHide should probably also be part of the control logic in DockBarItem
There was a problem hiding this comment.
Done. I'm sure there's other places like that as well that I missed
|
Yes, I think it is a good time. It will take a bit of time to review, it is a huge patch. |
There was a problem hiding this comment.
We should do something smarter here, if we intend to keep it. Doing this every time we want to create an instance is expensive.
We should have a mapping for each platform service and keep the constructor we want to use and invoke that directly.
Worst case, if we do end up using this as the main way to create native implementations, we could rely on something like FastActivator I wrote in Gtk# to avoid slow reflection
There was a problem hiding this comment.
I agree, this was just something I was using to test with, and at the moment isn't used. I'll remove it and when make something better when necessary
There was a problem hiding this comment.
Style: box.Children.Cast<Control> ().ToArray().
There was a problem hiding this comment.
Yup, from old code before I had ToolkitMismatchException
Fixed in all instances
Splitting the Docking components into interfaces with the UI components hidden from the world. Doesn't have a Cocoa backend yet, but I'd like to get the interfaces in so I don't need to keep rebasing them.