public void runFactory(StartingFactory fac, Part part)
        {
            reader = fac.Reader;
            info   = fac.Info;
            info.Position.reset();
            selected = createSelected();

            converter  = createMouseStateConverter();
            selections = createCommandSelections();
            executor   = createExecutor();
            tree       = createTree();
            handler    = createHandler();
            updater    = createUpdater();

            length_view   = createLengthView();
            delete_view   = createDeleteView();
            add_item_view = createAddItemView();
            canvas_view   = createCanvasView();
            property_view = createPropertyView();
            fret_view     = createFretView();
            select_view   = createNoteSelectView();
            time_sig_view = createBPMTimeSigView();
            part_view     = createPartMenuView();
            visuals_view  = createVisualsView();
            scroll_view   = createScollView();

            main_view = createMainView();

            initView(part);
        }
        private GuiTreeUpdater createUpdater()
        {
            var updator = new GuiTreeUpdater(tree, info.Position);

            executor.Updater = updator;
            return(updator);
        }
 public void initView(Part part)
 {
     createDimensionUpdaters();
     setPart(part);
     tree.Root?.updateBounds();
     tree.Root?.refreshVisual();
     GuiTreeUpdater.rebarPart(tree.Root);
 }
 private void initOrSetPart(Part part)
 {
     if (part == null)
     {
         var click = new NodeClick(new System.Windows.Point(0, 0));
         executor.executeInitPart(click, 120, 4, NoteLength.Quarter);
     }
     else
     {
         tree.buildObject(null, part);
         tree.Root?.updateBounds();
         GuiTreeUpdater.rebarPart(tree.Root);
     }
 }