Ejemplo n.º 1
0
        /// <summary>
        /// Creates and add the library view to the WPF visual tree
        /// </summary>
        /// <returns>LibraryView control</returns>
        internal ViewportView AddViewportToExtensionsPanel(IViewExtension ext, ViewLoadedParams p)
        {
            var model = new ViewportWindowViewModel(this.viewLoadedParams, this.address);
            var view  = new ViewportView(model);

            var browser = view.Browser;

            this.browser = browser;

            p.AddToExtensionsSideBar(ext, view);

            browser.RegisterAsyncJsObject("controller", this);

            view.Loaded         += OnViewportViewLoaded;
            browser.SizeChanged += Browser_SizeChanged;
            browser.LoadError   += Browser_LoadError;

            return(view);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Call this method to create a new node in Dynamo canvas.
        /// </summary>
        /// <param name="nodeName">Node creation name</param>

/*
 *      public void CreateNode(string nodeName)
 *      {
 *          dynamoWindow.Dispatcher.BeginInvoke(new Action(() =>
 *          {
 *              //if the node we're trying to create is a customNode, lets disable the eventObserver.
 *              // this will stop the libraryController from refreshing the libraryView on custom node creation.
 *              var resultGuid = Guid.Empty;
 *              if (Guid.TryParse(nodeName, out resultGuid))
 *              {
 *                  this.disableObserver = true;
 *              }
 *              //Create the node of given item name
 *              var cmd = new DynamoModel.CreateNodeCommand(Guid.NewGuid().ToString(), nodeName, -1, -1, true, false);
 *              commandExecutive.ExecuteCommand(cmd, Guid.NewGuid().ToString(), ViewExtension.ExtensionName);
 *              LogEventsToInstrumentation(CreateNodeInstrumentationString, nodeName);
 *
 *              this.disableObserver = false;
 *          }));
 *      }
 */

        /// <summary>
        /// Creates and add the library view to the WPF visual tree
        /// </summary>
        /// <returns>LibraryView control</returns>
        internal ViewportView AddViewportView()
        {
            var libraryViewColumn = dynamoWindow.FindName("LeftExtensionsViewColumn") as ColumnDefinition;

            libraryViewColumn.MaxWidth = dynamoWindow.ActualWidth - 50; // TODO - cleanup

            var model = new ViewportWindowViewModel(this.viewLoadedParams, this.address);
            var view  = new ViewportView(model); // This crashes

            var browser = view.Browser;

            this.browser = browser;

            var sidebarGrid = dynamoWindow.FindName("sidebarGrid") as Grid;

            sidebarGrid.Children.Clear(); // Clear library contents
            sidebarGrid.Children.Add(view);
            browser.RegisterAsyncJsObject("controller", this);

            view.Loaded         += OnViewportViewLoaded;
            browser.SizeChanged += Browser_SizeChanged;
            browser.LoadError   += Browser_LoadError;

            // TODO - this was added Fall 2017 due to issues with
            // library failing to load due to timing issues.

            /*
             *          //wait for the browser to load before setting the resources
             *          browser.LoadingStateChanged += (sender, args) =>
             *          {
             *              //Wait for the Page to finish loading
             *              if (args.IsLoading == false)
             *              {
             *                  RegisterResources(browser);
             *              }
             *          };
             */
            return(view);
        }