Skip to content
This repository was archived by the owner on Oct 4, 2021. It is now read-only.

[Native Shell] Start splitting the docking components#4143

Open
iainx wants to merge 1 commit intomainfrom
native-shell
Open

[Native Shell] Start splitting the docking components#4143
iainx wants to merge 1 commit intomainfrom
native-shell

Conversation

@iainx
Copy link
Copy Markdown
Contributor

@iainx iainx commented Mar 13, 2018

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.

@iainx iainx requested review from Therzok, sevoku and slluis March 13, 2018 16:47
@iainx
Copy link
Copy Markdown
Contributor Author

iainx commented Mar 13, 2018

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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code that calls AutoShow/AutoHide/ScheduleAutoHide should probably also be part of the control logic in DockBarItem

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done. I'm sure there's other places like that as well that I missed

@slluis
Copy link
Copy Markdown
Member

slluis commented Mar 13, 2018

Yes, I think it is a good time. It will take a bit of time to review, it is a huge patch.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown
Contributor

@Therzok Therzok Mar 13, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style: box.Children.Cast<Control> ().ToArray().

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

throw here?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup, from old code before I had ToolkitMismatchException

Fixed in all instances

Base automatically changed from master to main March 9, 2021 14:17
@akoeplinger akoeplinger changed the base branch from main to master March 15, 2021 17:02
Base automatically changed from master to main March 15, 2021 17:03
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants