コード例 #1
0
        private void BuildChildNodesGui(DatabaseConnectionContext context, bool connected, object state)
        {
            ITreeBuilder builder = Context.GetTreeBuilder(state);

            builder.Update();
            if (connected)
            {
                ISchemaProvider provider = context.SchemaProvider;

                if (provider.IsSchemaActionSupported(SchemaType.Table, SchemaActions.Schema))
                {
                    builder.AddChild(new TablesNode(context));
                }

                if (provider.IsSchemaActionSupported(SchemaType.View, SchemaActions.Schema))
                {
                    builder.AddChild(new ViewsNode(context));
                }

                if (provider.IsSchemaActionSupported(SchemaType.Procedure, SchemaActions.Schema))
                {
                    builder.AddChild(new ProceduresNode(context));
                }

                if (provider.IsSchemaActionSupported(SchemaType.User, SchemaActions.Schema))
                {
                    builder.AddChild(new UsersNode(context));
                }

                //TODO: custom datatypes, sequences, roles, operators, languages, groups and aggregates

                builder.Expanded = true;
            }
        }
コード例 #2
0
        void Monitor(object sender, FileUpdateEventArgs args)
        {
            foreach (var uinfo in args)
            {
                if (uinfo.RepositoryChanged)
                {
                    foreach (var kv in pathToObject)
                    {
                        var builder = Context.GetTreeBuilder(kv.Value);
                        if (kv.Value is WorkspaceObject wo)
                        {
                            var rep = VersionControlService.GetRepository(wo);
                            rep.ClearCachedVersionInfo(kv.Key);
                        }

                        builder?.Update();
                    }
                    break;
                }
                foreach (var ob in GetObjectsForPath(uinfo.FilePath))
                {
                    ITreeBuilder builder = Context.GetTreeBuilder(ob);
                    if (builder != null)
                    {
                        builder.Update();
                    }
                }
            }
        }
コード例 #3
0
		void OnRenameFile (object sender, ProjectFileRenamedEventArgs args)
		{
			foreach (ProjectFileEventInfo e in args) {
				ITreeBuilder tb = Context.GetTreeBuilder (e.ProjectFile);
				if (tb != null) tb.Update ();
			}
		}
コード例 #4
0
        void OnCombineRenamed(object sender, WorkspaceItemRenamedEventArgs e)
        {
            ITreeBuilder tb = Context.GetTreeBuilder(e.Item);

            if (tb != null)
            {
                tb.Update();
            }
        }
        void UpdateFolderNodeText()
        {
            ITreeBuilder builder = Context.GetTreeBuilder(currentFolderNode);

            if (builder != null)
            {
                builder.Update();
            }
        }
コード例 #6
0
        void OnChanged(object s, EventArgs a)
        {
            ITreeBuilder tb = Context.GetTreeBuilder(s);

            if (tb != null)
            {
                tb.Update();
            }
        }
コード例 #7
0
        public void OnTestStatusChanged(object sender, EventArgs args)
        {
            ITreeBuilder tb = Context.GetTreeBuilder(sender);

            if (tb != null)
            {
                tb.Update();
            }
        }
コード例 #8
0
        void OnSolutionItemAddedRemoved(object sender, SolutionItemChangeEventArgs e)
        {
            ITreeBuilder tb = Context.GetTreeBuilder(e.Solution);

            if (tb != null)
            {
                tb.Update();                    // Update the entry count
            }
        }
コード例 #9
0
        void OnRenameFile(object sender, ProjectFileRenamedEventArgs e)
        {
            ITreeBuilder tb = Context.GetTreeBuilder(e.ProjectFile);

            if (tb != null)
            {
                tb.Update();
            }
        }
コード例 #10
0
        void OnProjectRenamed(object sender, SolutionItemRenamedEventArgs e)
        {
            ITreeBuilder tb = Context.GetTreeBuilder(e.SolutionItem);

            if (tb != null)
            {
                tb.Update();
            }
        }
コード例 #11
0
 void DotNetCoreRuntimeChanged(object sender, EventArgs e)
 {
     foreach (DotNetProject project in IdeApp.Workspace.GetAllItems <DotNetProject> ())
     {
         if (project.HasFlavor <DotNetCoreProjectExtension> ())
         {
             ITreeBuilder builder = Context.GetTreeBuilder(project);
             builder?.Update();
         }
     }
 }
コード例 #12
0
 void HandleApplicationFocusIn(object sender, EventArgs e)
 {
     foreach (object ob in repos.Values)
     {
         ITreeBuilder tb = Context.GetTreeBuilder(ob);
         if (tb != null)
         {
             tb.Update();
         }
     }
 }
コード例 #13
0
 void HandleApplicationFocusIn(object sender, EventArgs e)
 {
     foreach (var ob in filePaths.Values)
     {
         ITreeBuilder tb = Context.GetTreeBuilder(ob.Object);
         if (tb != null)
         {
             tb.Update();
         }
     }
 }
コード例 #14
0
 void IdeAppWorkspaceActiveConfigurationChanged(object sender, EventArgs e)
 {
     foreach (Project p in IdeApp.Workspace.GetAllProjects())
     {
         ITreeBuilder tb = Context.GetTreeBuilder(p);
         if (tb != null)
         {
             tb.Update();
         }
     }
 }
コード例 #15
0
 void OnStartupChanged(object sender, EventArgs args)
 {
     foreach (SolutionItem it in IdeApp.Workspace.GetAllSolutionItems())
     {
         ITreeBuilder tb = Context.GetTreeBuilder(it);
         if (tb != null)
         {
             tb.Update();
         }
     }
 }
コード例 #16
0
		void IdeAppWorkspaceActiveConfigurationChanged (object sender, EventArgs e)
		{
			foreach (Project p in IdeApp.Workspace.GetAllProjects ()) {
				ITreeBuilder tb = Context.GetTreeBuilder (p);
				if (tb != null) {
					tb.Update ();
					SolutionConfiguration conf = p.ParentSolution.GetConfiguration (IdeApp.Workspace.ActiveConfiguration);
					if (conf == null || !conf.BuildEnabledForItem (p))
						tb.Expanded = false;
				}
			}
		}
コード例 #17
0
        void UpdatePath(FilePath path)
        {
            DirData dd;

            if (filePaths.TryGetValue(path, out dd))
            {
                ITreeBuilder builder = Context.GetTreeBuilder(dd.Object);
                if (builder != null)
                {
                    builder.Update();
                }
            }
        }
コード例 #18
0
        void UpdateProjectFileParent(ITreeNavigator nav)
        {
            ITreeBuilder tb = Context.GetTreeBuilder(nav);

            if (!(tb.DataItem is ProjectFolder))
            {
                tb.MoveToParent();
            }
            while (tb.DataItem is ProjectFolder)
            {
                tb.Update();
                tb.MoveToParent();
            }
        }
コード例 #19
0
 void Monitor(object sender, FileUpdateEventArgs args)
 {
     foreach (var uinfo in args)
     {
         foreach (var ob in GetObjectsForPath(uinfo.FilePath))
         {
             ITreeBuilder builder = Context.GetTreeBuilder(ob);
             if (builder != null)
             {
                 builder.Update();
             }
         }
     }
 }
コード例 #20
0
		void OnProjectModified (object sender, SolutionItemModifiedEventArgs args)
		{
			foreach (SolutionItemModifiedEventInfo e in args) {
				if (e.Hint == "References" || e.Hint == "Files")
					continue;
				ITreeBuilder tb = Context.GetTreeBuilder (e.SolutionItem);
				if (tb != null) {
					if (e.Hint == "BaseDirectory" || e.Hint == "TargetFramework")
						tb.UpdateAll ();
					else
						tb.Update ();
				}
			}
		}
コード例 #21
0
        void HandleApplicationFocusIn(object sender, EventArgs e)
        {
            // This way of keeping the version control state in sync with what happens
            // outside of MonoDevelop is too slow when many nodes are expanded. We need
            // a better way.
            return;

            foreach (var ob in filePaths.Values)
            {
                ITreeBuilder tb = Context.GetTreeBuilder(ob.Object);
                if (tb != null)
                {
                    tb.Update();
                }
            }
        }
コード例 #22
0
        void OnProjectModified(object sender, SolutionItemModifiedEventArgs e)
        {
            if (e.Hint == "References" || e.Hint == "Files")
            {
                return;
            }
            ITreeBuilder tb = Context.GetTreeBuilder(e.SolutionItem);

            if (tb != null)
            {
                if (e.Hint == "BaseDirectory" || e.Hint == "TargetFramework")
                {
                    tb.UpdateAll();
                }
                else
                {
                    tb.Update();
                }
            }
        }
コード例 #23
0
        private void OnRefreshEvent(object sender, EventArgs args)
        {
            ITreeBuilder builder = Context.GetTreeBuilder(sender);

            builder.Update();
        }
コード例 #24
0
        protected void OnNameChanged(object sender, EventArgs args)
        {
            ITreeBuilder builder = Context.GetTreeBuilder(sender);

            builder.Update();
        }