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

Dynamo Right Side Extensions Panel #9691

Merged
merged 5 commits into from
May 30, 2019
Merged

Conversation

QilongTang
Copy link
Contributor

@QilongTang QilongTang commented Apr 30, 2019

Please Note:

  1. Before submitting the PR, please review How to Contribute to Dynamo
  2. Dynamo Team will meet 1x a month to review PRs found on Github (Issues will be handled separately)
  3. PRs will be reviewed from oldest to newest
  4. If a reviewed PR requires changes by the owner, the owner of the PR has 30 days to respond. If the PR has seen no activity by the next session, it will be either closed by the team or depending on its utility will be taken over by someone on the team
  5. PRs should use either Dynamo's default PR template or one of these other template options in order to be considered for review.
  6. PRs that do not have one of the Dynamo PR templates completely filled out with all declarations satisfied will not be reviewed by the Dynamo team.
  7. PRs made to the DynamoRevit repo will need to be cherry-picked into all the DynamoRevit Release branches that Dynamo supports. Contributors will be responsible for cherry-picking their reviewed commits to the other branches after a LGTM label is added to the PR.

Purpose

This PR is aiming to give proposal to new UX using multiple view extensions in Dynamo by prototyping Dynamo right side extensions panel within Dynamo main windows and provide API for extension developer to inject customized UI into Dynamo.

Current progress:
image

TODO (yes, a lot of TODOs)

  • Fix UI so that the drag and drop experience is seemless like library view extension on the left

  • Propose APIs so library view extension will use that to inject it self

  • Provide another view extension example using right side WPF grid
    NodeSuggestionInDynamoRightSideExtensionPanel_v2

  • Use Dynamo with multiple view extension open at the same time and test

Declarations

Check these if you believe they are true

  • The code base is in a better state after this PR
  • Is documented according to the standards
  • The level of testing this PR includes is appropriate
  • User facing strings, if any, are extracted into *.resx files
  • All tests pass using the self-service CI.
  • Snapshot of UI changes, if any.
  • Changes to the API follow Semantic Versioning, and are documented in the API Changes document.

Reviewers

@mjkkirschner

FYIs

@DynamoDS/dynamo

@QilongTang QilongTang added the WIP label Apr 30, 2019
@mjkkirschner
Copy link
Member

have you considered adding a tabbed view so that the API adds a new tab with the extension name? That way extensions don't stomp on each other?

@QilongTang
Copy link
Contributor Author

QilongTang commented Apr 30, 2019

@mjkkirschner It is definitely in my plan, similar to what we are doing in AVP but beyond. But I am looking at design first, I am debating on where the tabs should live, because I think it is cleaner if the tabs live outside of the right panel and replace the extensions grid once it is loaded. We can review together in person when you are available. There are some UX sweet spots here.

@mjkkirschner
Copy link
Member

@QilongTang whats the plan here, do we have a follow up task to realize this?

@QilongTang
Copy link
Contributor Author

QilongTang commented May 20, 2019

@mjkkirschner I believe what we discussed is:

In short, we need a task to modify stuff based on team's comments in my UX proposal and review/merge this PR. Everything should be useful in this PR from my assessment so far, but we are missing the view injection UI for extensions to use.

</data>
<data name="PackagePathAutoAddNotificationDetailedDescription" xml:space="preserve">
<value>The import path "{0}" was added to "Manage Node and Package Paths". If you want to update or remove this path, please open "Settings > Manage Node and Package Paths..."</value>
<value>The import path "{0}" was added to "Manage Node and Package Paths". If you want to update or remove this path, please open "Settings &gt; Manage Node and Package Paths..."</value>
Copy link
Contributor Author

Choose a reason for hiding this comment

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

These changes are generated by VS, should be equivalent.

</Grid.ColumnDefinitions>

<!--Titlebar-->
<Border BorderBrush="#FF3F4040"
BorderThickness="0,0,0,1"
Grid.Row="0"
Grid.Column="0"
Grid.ColumnSpan="3"
Grid.ColumnSpan="5"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

If you guys find it difficult to understand why I made this change, that indicates team need knowledge share with me on WPF UI grid. I have shared why I had to expand the number here with @scottmitchell but would be happy to cover this with team

<Grid Background="#353535"
Width="80"
Width="100"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I made both left and right side button to be 100px wide so they are symmetric

<StackPanel Grid.Row="2"
Grid.Column="2"
Orientation="Vertical"
Name="collapsedSidebar"
Name="collapsedLibrarySidebar"
Copy link
Member

Choose a reason for hiding this comment

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

I wonder if we should consider these names public APIs?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You mean so people could access these without looking at our code?

@QilongTang QilongTang changed the title [WIP] Dynamo Right Side Extensions Panel Dynamo Right Side Extensions Panel May 21, 2019
@QilongTang QilongTang added PTAL Please Take A Look 👀 and removed WIP labels May 21, 2019
@QilongTang
Copy link
Contributor Author

Addressed all the comments, let me know

@QilongTang QilongTang removed the PTAL Please Take A Look 👀 label May 30, 2019
@QilongTang
Copy link
Contributor Author

After talking with Team at standup, merging. The actual API for extension view injection are being worked on and will be in a different PR

@QilongTang QilongTang merged commit b8b80a1 into master May 30, 2019
@QilongTang QilongTang deleted the RightSideExtensionsGrid branch May 30, 2019 15:05
mjkkirschner pushed a commit that referenced this pull request Aug 3, 2019
* First Commit

* Get Right Extension Grid in

* Align the position of extensions button

* Decouple collaps/uncollaps logic with left extension grid

* Address Comments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants