コード例 #1
0
        public LibraryTabElement(Action <string> onObjectFieldDoubleClick, CustomMenuController customMenuController, GraphTypeMetadata graphTypeMetadata)
        {
            OnObjectFieldDoubleClick = onObjectFieldDoubleClick;

            var uxmlAsset = Resources.Load <VisualTreeAsset>(ResourceAssetPaths.LibraryTabElement_UXML);

            uxmlAsset.CloneTree(this);

            m_currentGraphDisplay               = this.Q <ObjectDisplayField>(OPENED_GRAPH_FIELD);
            m_createGraphInstanceButton         = this.Q <Button>(CREATE_GRAPH_INSTANCE_BUTTON);
            m_generateGraphClassButton          = this.Q <Button>(GENERATE_GRAPH_CLASS_BUTTON);
            m_generateNodeClassButton           = this.Q <Button>(GENERATE_NODE_CLASS_BUTTON);
            m_generateNodeViewDrawerClassButton = this.Q <Button>(GENERATE_NODEVIEWDRAWER_CLASS_BUTTON);

            m_graphTypeMetadata    = graphTypeMetadata;
            m_recentsController    = new RecentsController(this);
            m_favoritesController  = new FavoritesController(this);
            m_allGraphsController  = new AllGraphsController(this);
            m_customMenuController = customMenuController;

            m_customMenuController.AddCustomMenu("CreateGraphInstance", new CreateGraphInstanceCustomMenu(m_graphTypeMetadata));
            m_customMenuController.AddCustomMenu("GenerateGraphClass", new GenerateGraphClassCustomMenu());
            m_customMenuController.AddCustomMenu("GenerateNodeClass", new GenerateNodeClassCustomMenu(m_graphTypeMetadata));
            m_customMenuController.AddCustomMenu("GenerateNodeViewDrawerClass", new GenerateNodeViewDrawerClassCustomMenu(m_graphTypeMetadata));


            m_createGraphInstanceButton.clicked         += () => { m_customMenuController.ShowCustomMenu("CreateGraphInstance"); };
            m_generateGraphClassButton.clicked          += () => { m_customMenuController.ShowCustomMenu("GenerateGraphClass"); };
            m_generateNodeClassButton.clicked           += () => { m_customMenuController.ShowCustomMenu("GenerateNodeClass"); };
            m_generateNodeViewDrawerClassButton.clicked += () => { m_customMenuController.ShowCustomMenu("GenerateNodeViewDrawerClass"); };
        }