Skip to content
Draft
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
299 changes: 15 additions & 284 deletions src/DynamoCoreWpf/DynamoCoreWpf.csproj

Large diffs are not rendered by default.

49 changes: 49 additions & 0 deletions src/DynamoCoreWpf/ViewModels/Core/DynamoViewModelEvents.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,55 @@

namespace Dynamo.ViewModels
{
/// <summary>
/// EventArgs for opening PackageManagerView with a specific tab.
/// </summary>
public class OpenPackageManagerEventArgs : EventArgs
{
private string tab;

/// <summary>
/// The tab to open in the PackageManagerView
/// </summary>
public string Tab { get { return tab; } }

/// <summary>
/// Constructor
/// </summary>
/// <param name="_Tab">Tab name to open</param>
public OpenPackageManagerEventArgs(string _Tab)
{
tab = _Tab;
}
}

/// <summary>
/// EventArgs for opening PackageManagerView with specific dimensions.
/// </summary>
public class PackageManagerSizeEventArgs : EventArgs
{
/// <summary>
/// Width of the PackageManagerView
/// </summary>
public double Width;

/// <summary>
/// Height of the PackageManagerView
/// </summary>
public double Height;

/// <summary>
/// Constructor
/// </summary>
/// <param name="width">Width of the window</param>
/// <param name="height">Height of the window</param>
public PackageManagerSizeEventArgs(double width, double height)
{
Width = width;
Height = height;
}
}

partial class DynamoViewModel
{

Expand Down
166 changes: 0 additions & 166 deletions src/DynamoCoreWpf/Views/Core/DynamoView.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
using Dynamo.Models;
using Dynamo.Nodes;
using Dynamo.PackageManager;
using Dynamo.PackageManager.UI;
using Dynamo.PythonServices;
using Dynamo.Search.SearchElements;
using Dynamo.Selection;
Expand Down Expand Up @@ -80,7 +79,6 @@ public partial class DynamoView : Window, IDisposable
private readonly LoginService loginService;
private ShortcutToolbar shortcutBar;
private PreferencesView preferencesWindow;
private PackageManagerView packageManagerWindow;
private bool loaded = false;
private bool graphMetadataHooked;
private MenuItem graphPropsGeneralMenuItem;
Expand Down Expand Up @@ -1455,12 +1453,6 @@ private void DynamoView_Loaded(object sender, EventArgs e)
LoadSamplesMenu();
#endif

#region Package manager

dynamoViewModel.RequestPackagePublishDialog += DynamoViewModelRequestPackageManager;
dynamoViewModel.RequestPackageManagerSearchDialog += DynamoViewModelRequestShowPackageManagerSearch;
dynamoViewModel.RequestPackageManagerDialog += DynamoViewModelRequestShowPackageManager;

#endregion

#region Node view injection
Expand Down Expand Up @@ -1620,17 +1612,6 @@ private void TrackStartupAnalytics()
/// is accepted by the user, or false otherwise. If this method returns
/// false, then download of package should be terminated.</returns>
///
private bool DisplayTermsOfUseForAcceptance()
{
var prefSettings = dynamoViewModel.Model.PreferenceSettings;
if (prefSettings.PackageDownloadTouAccepted)
return true; // User accepted the terms of use.

prefSettings.PackageDownloadTouAccepted = TermsOfUseHelper.ShowTermsOfUseDialog(false, null, _this);

// User may or may not accept the terms.
return prefSettings.PackageDownloadTouAccepted;
}

private void DynamoView_Unloaded(object sender, RoutedEventArgs e)
{
Expand All @@ -1645,84 +1626,7 @@ private void DynamoViewModelRequestAboutWindow(DynamoViewModel model)
aboutWindow.ShowDialog();
}

private PublishPackageView _pubPkgView;

private void DynamoViewModelRequestPackageManager(PublishPackageViewModel model)
{
if (packageManagerWindow == null)
{
if (_pkgSearchVM == null)
{
_pkgSearchVM = new PackageManagerSearchViewModel(dynamoViewModel.PackageManagerClientViewModel);
}

if (_pkgVM == null)
{
_pkgVM = new PackageManagerViewModel(dynamoViewModel, _pkgSearchVM);
}

packageManagerWindow = new PackageManagerView(this, _pkgVM)
{
Owner = this,
WindowStartupLocation = WindowStartupLocation.CenterOwner
};

// setting the owner to the packageManagerWindow will centralize promts originating from the Package Manager
dynamoViewModel.Owner = packageManagerWindow;

packageManagerWindow.Closed += HandlePackageManagerWindowClosed;
packageManagerWindow.Show();

if (packageManagerWindow.IsLoaded && IsLoaded) packageManagerWindow.Owner = this;
}
if (_pkgVM != null)
{
_pkgVM.PublishPackageViewModel = model;
}

packageManagerWindow.Focus();
packageManagerWindow.Navigate(Wpf.Properties.Resources.PackageManagerPublishTab);
}

private PackageManagerSearchView _searchPkgsView;
private PackageManagerSearchViewModel _pkgSearchVM;
private PackageManagerViewModel _pkgVM;

private void DynamoViewModelRequestShowPackageManagerSearch(object s, EventArgs e)
{
if (!DisplayTermsOfUseForAcceptance())
return; // Terms of use not accepted.

var cmd = Analytics.TrackTaskCommandEvent("SearchPackage");

// The package search view model is shared and can be shared by resources at the moment
// If it hasn't been initialized yet, we do that here
if (_pkgSearchVM == null)
{
_pkgSearchVM = new PackageManagerSearchViewModel(dynamoViewModel.PackageManagerClientViewModel);
}
else
{
_pkgSearchVM.InitializeLuceneForPackageManager();
}

if (_searchPkgsView == null)
{
_searchPkgsView = new PackageManagerSearchView(_pkgSearchVM)
{
Owner = this,
WindowStartupLocation = WindowStartupLocation.CenterOwner
};

_searchPkgsView.Closed += (sender, args) => { _searchPkgsView = null; Analytics.EndTaskCommandEvent(cmd); };
_searchPkgsView.Show();

if (_searchPkgsView.IsLoaded && IsLoaded) _searchPkgsView.Owner = this;
}

_searchPkgsView.Focus();
_pkgSearchVM.RefreshAndSearchAsync();
}

private void ClipBoard_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
Expand Down Expand Up @@ -2198,16 +2102,6 @@ private void WindowClosed(object sender, EventArgs e)
dynamoViewModel.Model.RequestLayoutUpdate -= vm_RequestLayoutUpdate;
dynamoViewModel.RequestViewOperation -= DynamoViewModelRequestViewOperation;

//PACKAGE MANAGER
dynamoViewModel.RequestPackagePublishDialog -= DynamoViewModelRequestPackageManager;
dynamoViewModel.RequestPackageManagerSearchDialog -= DynamoViewModelRequestShowPackageManagerSearch;

//FUNCTION NAME PROMPT
dynamoViewModel.Model.RequestsFunctionNamePrompt -= DynamoViewModelRequestsFunctionNamePrompt;

//Preset Name Prompt
dynamoViewModel.Model.RequestPresetsNamePrompt -= DynamoViewModelRequestPresetNamePrompt;
dynamoViewModel.RequestPresetsWarningPrompt -= DynamoViewModelRequestPresetWarningPrompt;

dynamoViewModel.RequestClose -= DynamoViewModelRequestClose;
dynamoViewModel.RequestSaveImage -= DynamoViewModelRequestSaveImage;
Expand Down Expand Up @@ -2288,8 +2182,6 @@ private void WindowClosed(object sender, EventArgs e)

this.Dispose();
sharedViewExtensionLoadedParams?.Dispose();
this._pkgSearchVM?.Dispose();
this._pkgVM?.Dispose();
}

// Remove the HomePage from the visual tree and dispose of its resources
Expand Down Expand Up @@ -2521,65 +2413,7 @@ private void OnPreferencesWindowClick(object sender, RoutedEventArgs e)
preferencesWindow.Show();
}

private void DynamoViewModelRequestShowPackageManager(object s, EventArgs e)
{
if (!DisplayTermsOfUseForAcceptance())
return; // Terms of use not accepted.

if (_pkgSearchVM == null)
{
_pkgSearchVM = new PackageManagerSearchViewModel(dynamoViewModel.PackageManagerClientViewModel);
}

if (_pkgVM == null)
{
_pkgVM = new PackageManagerViewModel(dynamoViewModel, _pkgSearchVM);
}

if (packageManagerWindow == null)
{
if (e is PackageManagerSizeEventArgs)
{
var packageManagerSizeEventArgs = e as PackageManagerSizeEventArgs;
//Set a fixed size for the PackageManagerView
_pkgVM.Width = packageManagerSizeEventArgs.Width;
_pkgVM.Height = packageManagerSizeEventArgs.Height;
}

packageManagerWindow = new PackageManagerView(this, _pkgVM)
{
Owner = this,
WindowStartupLocation = WindowStartupLocation.CenterOwner
};

// setting the owner to the packageManagerWindow will centralize promts originating from the Package Manager
dynamoViewModel.Owner = packageManagerWindow;

packageManagerWindow.Closed += HandlePackageManagerWindowClosed;
packageManagerWindow.Show();

if (packageManagerWindow.IsLoaded && IsLoaded) packageManagerWindow.Owner = this;
}

packageManagerWindow.Focus();
if (e is OpenPackageManagerEventArgs)
{
packageManagerWindow.Navigate((e as OpenPackageManagerEventArgs).Tab);
}

_pkgSearchVM.RefreshAndSearchAsync();
}

private void HandlePackageManagerWindowClosed(object sender, EventArgs e)
{
packageManagerWindow.Closed -= HandlePackageManagerWindowClosed;
packageManagerWindow = null;

var cmd = Analytics.TrackCommandEvent("PackageManager");
cmd.Dispose();

this.Activate();
}

/// <summary>
/// Adds/Removes an overlay so the user won't be able to interact with the background (this behavior was implemented for Dynamo and for Library)
Expand Down
Loading
Loading