Esempio n. 1
0
        public override void Initialize(QFrameworkContainer container)
        {
            var typeDatabase = new TypeDatabase(new JsonRepositoryFactory(Path.Combine(Application.dataPath, "../uFrame")));

            container.RegisterInstance <IRepository>(typeDatabase, "Settings");
            container.RegisterInstance <IDesctiptorsService>(new DescriptorsService(typeDatabase));
        }
        public override void Initialize(QFrameworkContainer container)
        {
            base.Initialize(container);
            var path          = DbRootPath;
            var dbDirectories = Directory.GetDirectories(path, "*.db", SearchOption.AllDirectories);

            foreach (var item in dbDirectories)
            {
                var db     = new TypeDatabase(new JsonRepositoryFactory(item));
                var config = GetConfig(db, Path.GetFileNameWithoutExtension(item));
                config.FullPath = item;
                container.RegisterInstance <IGraphConfiguration>(config, config.Identifier);
            }

            CurrentConfiguration = Configurations.ContainsKey(CurrentDatabaseIdentifier)
                ? Configurations[CurrentDatabaseIdentifier]
                : Configurations.Values.FirstOrDefault();

            if (CurrentConfiguration != null)
            {
                container.RegisterInstance <IGraphConfiguration>(CurrentConfiguration);

                container.RegisterInstance <IRepository>(CurrentConfiguration.Database);

                //var typeDatabase = container.Resolve<IRepository>();
                CurrentConfiguration.Database.AddListener <IDataRecordInserted>(this);
                CurrentConfiguration.Database.AddListener <IDataRecordRemoved>(this);
                CurrentConfiguration.Database.AddListener <IDataRecordPropertyChanged>(this);
                CurrentConfiguration.Database.AddListener <IDataRecordPropertyBeforeChange>(this);
            }
            else
            {
                InvertApplication.Log("A uFrameDatabase doesn't exist.");
            }
        }
Esempio n. 3
0
        public override void Initialize(QFrameworkContainer container)
        {
            EditorUtility.ClearProgressBar();
            // TODO 2.0: Obviously fix undo
            //Undo.undoRedoPerformed = delegate
            //{
            //    var ps = container.Resolve<WorkspaceService>();

            //    ps.RefreshProjects();
            //    InvertGraphEditor.DesignerWindow.RefreshContent();
            //};
            container.RegisterInstance <IPlatformDrawer>(InvertGraphEditor.PlatformDrawer);
            container.RegisterInstance <IStyleProvider>(new UnityStyleProvider());
#if DOCS
            container.RegisterToolbarCommand <GenerateDocsCommand>();
            container.RegisterToolbarCommand <DocsModeCommand>();
#endif
            // container.RegisterInstance<IToolbarCommand>(new Test(), "Test");


            //container.RegisterInstance<IAssetManager>(new UnityAssetManager());

            // Command Drawers
            container.RegisterInstance <ToolbarUI>(new UnityToolbar()
            {
            });
            container.Register <ContextMenuUI, UnityContextMenu>();

            container.RegisterInstance <IGraphEditorSettings>(new UFrameSettings());
            // Where the generated code files are placed
            container.Register <ICodePathStrategy, DefaultCodePathStrategy>("Default");
            container.RegisterInstance <IWindowManager>(new UnityWindowManager());
        }
Esempio n. 4
0
        public PackageLoginApp()
        {
            mContainer = new QFrameworkContainer();

            mContainer.RegisterInstance(new PackageLoginModel());
            mContainer.RegisterInstance <IPackageLoginService>(new PacakgeLoginService());
            TypeEventSystem.Register <IPackageLoginCommand>(OnCommandExecute);
        }
Esempio n. 5
0
        // Use this for initialization
        void Start()
        {
            var container = new QFrameworkContainer();

            container.RegisterInstance(new A());
            container.Inject(this);

            container.Resolve <A>().HelloWorld();
        }
 public override void Initialize(QFrameworkContainer container)
 {
     base.Initialize(container);
     container.RegisterInstance <IExplorerProvider>(new GraphExplorerProvider(), "Graphs");
 }
Esempio n. 7
0
        public override void Initialize(QFrameworkContainer container)
        {
            //
//#if UNITY_EDITOR

//            foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies())
//            {
//                InvertApplication.CachedAssemblies.Add(assembly);
//            }
//#endif
            var typeContainer = InvertGraphEditor.TypesContainer;

            // Drawers
            container.Register <DiagramViewModel, DiagramViewModel>();
            container.RegisterDrawer <PropertyFieldViewModel, PropertyFieldDrawer>();
            container.Register <SectionHeaderDrawer, SectionHeaderDrawer>();
            container.RegisterItemDrawer <GenericItemHeaderViewModel, GenericChildItemHeaderDrawer>();

            container.RegisterDrawer <InspectorViewModel, InspectorDrawer>();
            container.RegisterDrawer <SectionHeaderViewModel, SectionHeaderDrawer>();
            container.RegisterDrawer <ConnectorViewModel, ConnectorDrawer>();
            container.RegisterDrawer <ConnectionViewModel, ConnectionDrawer>();
            container.RegisterDrawer <InputOutputViewModel, SlotDrawer>();

            container.RegisterDrawer <DiagramViewModel, DiagramDrawer>();
            //typeContainer.AddItem<GenericSlot,InputOutputViewModel,SlotDrawer>();
            //typeContainer.AddItem<BaseClassReference, InputOutputViewModel, SlotDrawer>();

            container.RegisterInstance <IConnectionStrategy>(new InputOutputStrategy(), "InputOutputStrategy");
            //container.RegisterConnectable<GenericTypedChildItem, IClassTypeNode>();
            container.RegisterConnectable <GenericInheritableNode, GenericInheritableNode>();
            container.RegisterInstance <IConnectionStrategy>(new TypedItemConnectionStrategy(), "TypedConnectionStrategy");
            //container.RegisterInstance<IConnectionStrategy>(new RegisteredConnectionStrategy(),"RegisteredConnectablesStrategy");

            container.AddNode <EnumNode>("Enum")
            .AddCodeTemplate <EnumNode, EnumNodeGenerator>();
            container.AddItem <EnumChildItem>();

            typeContainer.RegisterInstance(new GraphTypeInfo()
            {
                Type = typeof(int), Group = "", Label = "int", IsPrimitive = true
            }, "int");
            typeContainer.RegisterInstance(new GraphTypeInfo()
            {
                Type = typeof(string), Group = "", Label = "string", IsPrimitive = true
            }, "string");
            typeContainer.RegisterInstance(new GraphTypeInfo()
            {
                Type = typeof(decimal), Group = "", Label = "decimal", IsPrimitive = true
            }, "decimal");
            typeContainer.RegisterInstance(new GraphTypeInfo()
            {
                Type = typeof(float), Group = "", Label = "float", IsPrimitive = true
            }, "float");
            typeContainer.RegisterInstance(new GraphTypeInfo()
            {
                Type = typeof(bool), Group = "", Label = "bool", IsPrimitive = true
            }, "bool");
            typeContainer.RegisterInstance(new GraphTypeInfo()
            {
                Type = typeof(char), Group = "", Label = "char", IsPrimitive = true
            }, "char");
            typeContainer.RegisterInstance(new GraphTypeInfo()
            {
                Type = typeof(DateTime), Group = "", Label = "date", IsPrimitive = true
            }, "date");
            typeContainer.RegisterInstance(new GraphTypeInfo()
            {
                Type = typeof(Vector2), Group = "", Label = "Vector2", IsPrimitive = true
            }, "Vector2");
            typeContainer.RegisterInstance(new GraphTypeInfo()
            {
                Type = typeof(Vector3), Group = "", Label = "Vector3", IsPrimitive = true
            }, "Vector3");

            container.Register <DesignerGeneratorFactory, RegisteredTemplateGeneratorsFactory>("TemplateGenerators");

#if UNITY_EDITOR
            typeContainer.RegisterInstance(new GraphTypeInfo()
            {
                Type = typeof(Quaternion), Group = "", Label = "Quaternion", IsPrimitive = true
            }, "Quaternion");
            //container.Register<DesignerGeneratorFactory, Invert.uFrame.CodeGen.ClassNodeGenerators.SimpleClassNodeCodeFactory>("ClassNodeData");
#endif
            // Register the container itself
            container.RegisterInstance <IQFrameworkContainer>(container);
            container.RegisterInstance <QFrameworkContainer>(container);

            container.AddNode <TypeReferenceNode, TypeReferenceNodeViewModel, TypeReferenceNodeDrawer>("Type Reference");
            container.AddNode <NoteNode, NoteNodeViewModel, NoteNodeDrawer>("Note");

            // TODO 2.0 Key-bindings
//            container.RegisterKeyBinding(new RenameCommand(), "Rename", KeyCode.F2);
//            container.RegisterKeyBinding(new SimpleEditorCommand<DiagramViewModel>((p) =>
//            {
//                p.DeselectAll();
//            }), "End All Editing", KeyCode.Return);

//            container.RegisterKeyBinding(new DeleteItemCommand(), "Delete Item", KeyCode.X, true);
//            container.RegisterKeyBinding(new DeleteCommand(), "Delete", KeyCode.Delete);
//#if UNITY_EDITOR
//            container.RegisterKeyBinding(new MoveUpCommand(), "Move Up", KeyCode.UpArrow);
//            container.RegisterKeyBinding(new MoveDownCommand(), "Move Down", KeyCode.DownArrow);
//#endif


//            container.RegisterKeyBinding(new SimpleEditorCommand<DiagramViewModel>((p) =>
//            {
//                InvertGraphEditor.Settings.ShowHelp = !InvertGraphEditor.Settings.ShowHelp;
//            }), "Show/Hide This Help", KeyCode.F1);
//#if DEBUG
//            container.RegisterKeyBinding(new SimpleEditorCommand<DiagramViewModel>((p) =>
//            {
//                InvertGraphEditor.Settings.ShowGraphDebug = !InvertGraphEditor.Settings.ShowGraphDebug;
//            }), "Show/Hide Debug", KeyCode.F3);
//#endif
//            container.RegisterKeyBinding(new SimpleEditorCommand<DiagramViewModel>((p) =>
//            {
//                var saveCommand = InvertApplication.Container.Resolve<IToolbarCommand>("Save");
//                InvertGraphEditor.ExecuteCommand(saveCommand);
//            }), "Save & Compile", KeyCode.S, true, true);
        }
Esempio n. 8
0
        public override void Initialize(QFrameworkContainer container)
        {
            var typeContainer = InvertGraphEditor.TypesContainer;

            // Drawers
            container.Register <DiagramViewModel, DiagramViewModel>();
            container.RegisterDrawer <PropertyFieldViewModel, PropertyFieldDrawer>();
            container.Register <SectionHeaderDrawer, SectionHeaderDrawer>();
            container.RegisterItemDrawer <GenericItemHeaderViewModel, GenericChildItemHeaderDrawer>();

            container.RegisterDrawer <InspectorViewModel, InspectorDrawer>();
            container.RegisterDrawer <SectionHeaderViewModel, SectionHeaderDrawer>();
            container.RegisterDrawer <ConnectorViewModel, ConnectorDrawer>();
            container.RegisterDrawer <ConnectionViewModel, ConnectionDrawer>();
            container.RegisterDrawer <InputOutputViewModel, SlotDrawer>();

            container.RegisterDrawer <DiagramViewModel, DiagramDrawer>();

            container.RegisterInstance <IConnectionStrategy>(new InputOutputStrategy(), "InputOutputStrategy");
            container.RegisterConnectable <GenericInheritableNode, GenericInheritableNode>();
            container.RegisterInstance <IConnectionStrategy>(new TypedItemConnectionStrategy(),
                                                             "TypedConnectionStrategy");

            container.AddNode <EnumNode>("Enum")
            .AddCodeTemplate <EnumNode, EnumNodeGenerator>();
            container.AddItem <EnumChildItem>();

            typeContainer.RegisterInstance(
                new GraphTypeInfo()
            {
                Type = typeof(int), Group = "", Label = "int", IsPrimitive = true
            }, "int");
            typeContainer.RegisterInstance(
                new GraphTypeInfo()
            {
                Type = typeof(string), Group = "", Label = "string", IsPrimitive = true
            }, "string");
            typeContainer.RegisterInstance(
                new GraphTypeInfo()
            {
                Type = typeof(decimal), Group = "", Label = "decimal", IsPrimitive = true
            },
                "decimal");
            typeContainer.RegisterInstance(
                new GraphTypeInfo()
            {
                Type = typeof(float), Group = "", Label = "float", IsPrimitive = true
            }, "float");
            typeContainer.RegisterInstance(
                new GraphTypeInfo()
            {
                Type = typeof(bool), Group = "", Label = "bool", IsPrimitive = true
            }, "bool");
            typeContainer.RegisterInstance(
                new GraphTypeInfo()
            {
                Type = typeof(char), Group = "", Label = "char", IsPrimitive = true
            }, "char");
            typeContainer.RegisterInstance(
                new GraphTypeInfo()
            {
                Type = typeof(DateTime), Group = "", Label = "date", IsPrimitive = true
            }, "date");
            typeContainer.RegisterInstance(
                new GraphTypeInfo()
            {
                Type = typeof(Vector2), Group = "", Label = "Vector2", IsPrimitive = true
            },
                "Vector2");
            typeContainer.RegisterInstance(
                new GraphTypeInfo()
            {
                Type = typeof(Vector3), Group = "", Label = "Vector3", IsPrimitive = true
            },
                "Vector3");

            container.Register <DesignerGeneratorFactory, RegisteredTemplateGeneratorsFactory>("TemplateGenerators");

#if UNITY_EDITOR
            typeContainer.RegisterInstance(
                new GraphTypeInfo()
            {
                Type = typeof(Quaternion), Group = "", Label = "Quaternion", IsPrimitive = true
            },
                "Quaternion");
            //container.Register<DesignerGeneratorFactory, Invert.uFrame.CodeGen.ClassNodeGenerators.SimpleClassNodeCodeFactory>("ClassNodeData");
#endif
            // Register the container itself
            container.RegisterInstance <IQFrameworkContainer>(container);
            container.RegisterInstance <QFrameworkContainer>(container);

            container.AddNode <TypeReferenceNode, TypeReferenceNodeViewModel, TypeReferenceNodeDrawer>("Type Reference");
            container.AddNode <NoteNode, NoteNodeViewModel, NoteNodeDrawer>("Note");
        }