Skip to content

Conversation

@OliverEGreen
Copy link
Contributor

Purpose

This PR adds in the node informational states functionality.

It has been carried over from these PRs: #11997 and #12011

It reponds to this issue:
[DYN-3960] https://jira.autodesk.com/browse/DYN-3960

Declarations

Check these if you believe they are true

  • The codebase 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.
  • This PR modifies some build requirements and the readme is updated

Reviewers

@QilongTang

FYIs

@mjkkirschner

OliverEGreen and others added 30 commits July 6, 2021 10:48
Adds Artifakt font, changes colors, port/header height config, code block editor colours.
* Updates node styling

* Updates UI

Adds Artifakt font, changes colors, port/header height config, code block editor colours.

* Update UI

* Updates UI

* Updates UI

* Updates UI

* Ports visual states are working.

* Revert "Ports visual states are working."

* Revert "Revert "Ports visual states are working.""

This reverts commit 3557726.

* Updates UI

* Updates ContextMenu style

* Updates UI

* Updates UI

* Updates ComboBox and Output Ports style for Code Blocks

* Loads icon to node header

* Updates UI

* Updates UI

* Updates UI

* Bug fixes and responding to comments

* DYN-3875: Restore LocalPackages property in PreferencesViewModel (#11881)

* restore property in PreferencesViewModel

* add regression test for installedpackagesview

* fix test

* remove setting datacontext for installed packages view control as it is inherited

* undo unnecessary changes

* more cleanup

* Updates UI

* fix node autocomplete crash (#11887)

* Minor UI changes to Autodesk feedback

* Temporarily disabled dismissed alerts features

* Minor UI fix to the nodes' GlyphStackPanel

Co-authored-by: aparajit-pratap <aparajit.pratap@autodesk.com>
* DYN-3768-SurveyWindowUI (#11834)

* DYN-3768-SurveyWindowUI

I created 3 resources for the two titles of the SurveyWindow and one for the text content.
I modified the CustomRichTextBox because hyperlink names separated by spaces were not supported then I did some changes and now are working.
I added the RatingControl UI and the SurveyPopup UI and some used styles in the DynamoModern.xaml.
Finally I added a instance of the Survey in the DynamoView.xaml.cs and now a survey popup will be displayed just for testing purposes.

* DYN-3768-SurveyWindowUI Code Review

I added several comments in SurveyPopupViewModel and RatingControl and removed a comment Survey

* DYN-3768-SurveyWindowUI Code Review2

Updated the DependencyProperty name to Value

* Update and rename 4_stdlib.md to 4_builtinpackages.md (#11850)

* Update and rename 4_stdlib.md to 4_builtinpackages.md

* Update 4_builtinpackages.md

* Add ways to pass Analytics Host Entitlement info for out of process integrators (#11841)

* Initial Commit

* Add ParentId to update manager

* Updates

* Add CLI support

* Add unit tests

* Update tests

* Update HostContextInfo type usage

* Comments to use struct

* Move properties out of update manager

* Update

* Comments

* Comments

* update test

* Force Dynamo to run on nvidia graphics card to address helix crash with multiple monitors (#11855)

* enable nvidia graphics card for helix

* make new field private

* Triggering Node AutoComplete on input port should not destroy the connection. (#11859)

* Extension fix (#11861)

DYN-3773

* Upgrade Helix to 2.17.0. (#11860)

* DYN-3834-GeoScaling-GraphRun (#11845)

* DYN-3834-GeoScaling-GraphRun

There was an issue that when the Geometry Scaling was updated in a very large graph the Preferences panel was blocked not allowing the user to close it. I think this behavior was because when the Preference panel was opened immediately a graph run was executed (without changing anything in the Preferences panel).
I was NOT able to reproduce the Preferences panel freezing behavior but we noticed that the graph execution was always happening when the Preferences panel was opened (when nothing was changed), then I did a fix in a way that the selected radio button (in geometry scaling section) is updated every time a new workspace is created or a dyn file is loaded (as is happening with the WorkspaceModel.ScaleFactor), so the graph run will be executed just when the ScaleFactor is changed.

* DYN-3834-GeoScaling-GraphRun Code Review

Unsubscribing from the WorkspaceSettingsChanged when the PreferencesViewModel is cleared.

* DYN-3834-GeoScaling-GraphRun Code Review

Making method private due that is just used in the same class.

* DYN-3834-GeoScaling-GraphRun Code Review

I did some changes so only when the ScaleFactor was changed a graph run will be executed when the Preferences dialog is closed

* DYN-3834-GeoScaling-GraphRun Code Review2

Replacing the call to ForceRunCancelCommand method for MarkNodesAsModifiedAndRequestRun due that the first one was executing the graph when the RunMode = Manual at the moment of updating the Geometry Scaling in the other hand with the MarkNodesAsModifiedAndRequestRun doesn't happen that behavior.

* Pin Note to Node (#11840)

* Pin to node squashed commit

* Changes for pin to node pr

* Add spacing to pin icon

* Retain pin node in copy paste, also correct spacing between note pin icon and text

* Move selection to command

* Place PIN_WIDTH as constant

* Fix distance in unit tests

* update libG for perimeter curves refactor (#11870)

Co-authored-by: pinzart <tiberiu.pinzariu@autodesk.com>

* add test for dyn-3628 fix (#11872)

* add dump bytecode debug mode (#11871)

* add dump bytecode debug mode

* DYN-3815 - Prevent reloading of packages unless there are new packages in list of package paths (#11835)

* initial commit - WIP

* fixes for extraneous notifications and duplicate nodes

* cleanup

* revert unchanged file

* fix new package logic

* remove unused property

* fix some tests

* revert unchanged file

* fix remaining tests

* obsolete property

* cleanup

* edit obsoletion message

* load loose custom node defn files by simply adding root path

* add unit tests

* review comments

* revert rename of public API

* unsub events in tests

* DYN-3834-GeoScaling-UnitTest (#11867)

* DYN-3834-GeoScaling-UnitTest

I added one unit tests with two parameters, one is for validating that when RunMode=Manual and the MarkNodesAsModifiedAndRequestRun() method is called the graph execution is NOT kicked off.
The other when the RunMode=Automatic and the MarkNodesAsModifiedAndRequestRun() method is called the graph execution is kicked off.

* DYN-3834-GeoScaling-UnitTest Code Review

I had to split the tests in two (one for Automatic and other for Manual) due that the Resources strings can not be used as a parameters in nUnit Tests parameters (since parameters expected should be constant values).

* DYN-3834-GeoScaling-UnitTest Code Review2

Adding extra assert before validating the node warning state.
A comment was updated reflecting the behavior when RunType = Manual

* Pin to Node Selection Behaivior (#11874)

* Pin to node squashed commit

* Changes for pin to node pr

* Add spacing to pin icon

* Retain pin node in copy paste, also correct spacing between note pin icon and text

* Move selection to command

* Place PIN_WIDTH as constant

* Fix distance in unit tests

* Selection behaviour corrected

* Limit pin to node behaviour

* Add tooltip for Pin to node command,
Enable Pin To Node only when a node and a note is selected

* Add test to PinToNodeCommand.canExecute

* Update ScopeIf description (#11876)

* Update ScopeIf description

* ScopeIf Description Update

* Update Resources.Designer.cs

* DYN-3875: Restore LocalPackages property in PreferencesViewModel (#11881)

* restore property in PreferencesViewModel

* add regression test for installedpackagesview

* fix test

* remove setting datacontext for installed packages view control as it is inherited

* undo unnecessary changes

* more cleanup

* fix node autocomplete crash (#11887)

* Node redesign (#3)

* Updates node styling

* Updates UI

Adds Artifakt font, changes colors, port/header height config, code block editor colours.

* Update UI

* Updates UI

* Updates UI

* Updates UI

* Ports visual states are working.

* Revert "Ports visual states are working."

* Revert "Revert "Ports visual states are working.""

This reverts commit 3557726.

* Updates UI

* Updates ContextMenu style

* Updates UI

* Updates UI

* Updates ComboBox and Output Ports style for Code Blocks

* Loads icon to node header

* Updates UI

* Updates UI

* Updates UI

* Bug fixes and responding to comments

* DYN-3875: Restore LocalPackages property in PreferencesViewModel (#11881)

* restore property in PreferencesViewModel

* add regression test for installedpackagesview

* fix test

* remove setting datacontext for installed packages view control as it is inherited

* undo unnecessary changes

* more cleanup

* Updates UI

* fix node autocomplete crash (#11887)

* Minor UI changes to Autodesk feedback

* Temporarily disabled dismissed alerts features

* Minor UI fix to the nodes' GlyphStackPanel

Co-authored-by: aparajit-pratap <aparajit.pratap@autodesk.com>

Co-authored-by: Roberto T <61755417+RobertGlobant20@users.noreply.github.com>
Co-authored-by: Michael Kirschner <mjk.kirschner@gmail.com>
Co-authored-by: Aaron (Qilong) <173288704@qq.com>
Co-authored-by: aparajit-pratap <aparajit.pratap@autodesk.com>
Co-authored-by: reddyashish <43763136+reddyashish@users.noreply.github.com>
Co-authored-by: Ashish Aggarwal <aggarwal.ash@husky.neu.edu>
Co-authored-by: Jorgen Dahl <sm6srw@users.noreply.github.com>
Co-authored-by: Martin Stacey <martin__stacey@hotmail.com>
Co-authored-by: pinzart90 <46732933+pinzart90@users.noreply.github.com>
Co-authored-by: pinzart <tiberiu.pinzariu@autodesk.com>
Co-authored-by: Sol Amour <amoursol@gmail.com>
@mjkkirschner
Copy link
Member

this PR is timing out the parallel tests

@mjkkirschner mjkkirschner marked this pull request as draft September 30, 2021 15:18
@mjkkirschner
Copy link
Member

made draft because timing out the tests.

@OliverEGreen
Copy link
Contributor Author

Nodes now load and display their ErrorBubbles when a warning/error occurs.

Note: I'm not 100% confident that deleting the node is deleting the ErrorBubble view, rather than just hiding it. I've added the DisposeErrorBubble method to try and delete the ErrorBubble view.

@QilongTang @saintentropy

@OliverEGreen OliverEGreen marked this pull request as ready for review October 1, 2021 16:17
@QilongTang
Copy link
Contributor

Seems this PR currently does not build with the error

D:\a\Dynamo\Dynamo\Dynamo\src\DynamoCoreWpf\Views\Core\NodeView.xaml.cs(731,92): error CS1002: ; expected [D:\a\Dynamo\Dynamo\Dynamo\src\DynamoCoreWpf\DynamoCoreWpf.csproj]

@OliverEGreen
Copy link
Contributor Author

Seems this PR currently does not build with the error

D:\a\Dynamo\Dynamo\Dynamo\src\DynamoCoreWpf\Views\Core\NodeView.xaml.cs(731,92): error CS1002: ; expected [D:\a\Dynamo\Dynamo\Dynamo\src\DynamoCoreWpf\DynamoCoreWpf.csproj]

Thanks for this! Seems like it was caused by an odd half-built method. Didn't have a method body so removed.

Copy link
Contributor

@QilongTang QilongTang left a comment

Choose a reason for hiding this comment

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

Some comments and regressions found:

DynamoCoreWpfTests.CoreUserInterfaceTests.CanSaveImage
DynamoCoreWpfTests.InfoBubbleTests.CanAddUserFacingMessagesToNode
DynamoCoreWpfTests.InfoBubbleTests.CanDismissUserFacingMessages
DynamoCoreWpfTests.InfoBubbleTests.IteratorsDisplayWhenMoreThanOneMessage
DynamoCoreWpfTests.NoteViewTests.CanPinNodeToNode
DynamoCoreWpfTests.NoteViewTests.CanSelectPinnedNodeThroughNote
DynamoCoreWpfTests.NoteViewTests.HasUnsavedChangesWhenPinToNode
DynamoCoreWpfTests.NoteViewTests.NoteIsPlacedAbovePinnedNode
DynamoCoreWpfTests.NoteViewTests.PinToNodeCommandIsProperlyEnabled

@QilongTang
Copy link
Contributor

Hi @OliverEGreen Once you address these comments, should be able to move this forward

@OliverEGreen
Copy link
Contributor Author

Some comments and regressions found:

DynamoCoreWpfTests.CoreUserInterfaceTests.CanSaveImage
DynamoCoreWpfTests.InfoBubbleTests.CanAddUserFacingMessagesToNode
DynamoCoreWpfTests.InfoBubbleTests.CanDismissUserFacingMessages
DynamoCoreWpfTests.InfoBubbleTests.IteratorsDisplayWhenMoreThanOneMessage
DynamoCoreWpfTests.NoteViewTests.CanPinNodeToNode
DynamoCoreWpfTests.NoteViewTests.CanSelectPinnedNodeThroughNote
DynamoCoreWpfTests.NoteViewTests.HasUnsavedChangesWhenPinToNode
DynamoCoreWpfTests.NoteViewTests.NoteIsPlacedAbovePinnedNode
DynamoCoreWpfTests.NoteViewTests.PinToNodeCommandIsProperlyEnabled

I've got all tests passing now.

@QilongTang QilongTang merged commit b79f127 into DynamoDS:master Oct 26, 2021
@OliverEGreen OliverEGreen deleted the node_informational_states branch November 9, 2021 09:29
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.

5 participants