Ejemplo n.º 1
0
            internal static bool HasChildNodes(ITreeBuilder tb, NodeBuilder[] chain, object dataObject)
            {
                NodePosition pos = tb.CurrentPosition;

                foreach (NodeBuilder nb in chain)
                {
                    try
                    {
                        bool res = nb.HasChildNodes(tb, dataObject);
                        if (res)
                        {
                            return(true);
                        }
                    }
                    catch (Exception ex)
                    {
                        LoggingService.LogError(ex.ToString());
                    }
                    finally
                    {
                        tb.MoveToPosition(pos);
                    }
                }
                return(false);
            }
Ejemplo n.º 2
0
            internal static NodeAttributes GetAttributes(ITreeBuilder tb, NodeBuilder[] chain, object dataObject)
            {
                NodePosition   pos = tb.CurrentPosition;
                NodeAttributes ats = NodeAttributes.None;

                foreach (NodeBuilder nb in chain)
                {
                    try {
                        nb.GetNodeAttributes(tb, dataObject, ref ats);
                    } catch (Exception ex) {
                        LoggingService.LogError(ex.ToString());
                    }
                    tb.MoveToPosition(pos);
                }
                return(ats);
            }
		ProjectPackagesFolderNode GetPackagesFolderNode (ITreeBuilder treeBuilder)
		{
			NodePosition originalPosition = treeBuilder.CurrentPosition;

			if (!treeBuilder.MoveToParent ()) {
				return null;
			}

			ProjectPackagesFolderNode packagesFolder = null;
			if (treeBuilder.MoveToChild (ProjectPackagesFolderNode.NodeName, typeof(ProjectPackagesFolderNode))) {
				packagesFolder = treeBuilder.DataItem as ProjectPackagesFolderNode;
			}

			treeBuilder.MoveToPosition (originalPosition);

			return packagesFolder;
		}
Ejemplo n.º 4
0
            internal static void GetNodeInfo(ExtensibleTreeView tree, ITreeBuilder tb, NodeBuilder[] chain, object dataObject, out string text, out Gdk.Pixbuf icon, out Gdk.Pixbuf closedIcon)
            {
                icon       = null;
                closedIcon = null;
                text       = string.Empty;

                NodePosition pos = tb.CurrentPosition;

                foreach (NodeBuilder builder in chain)
                {
                    try
                    {
                        builder.BuildNode(tb, dataObject, ref text, ref icon, ref closedIcon);
                    }
                    catch (Exception ex)
                    {
                        LoggingService.LogError(ex.ToString());
                    }
                    tb.MoveToPosition(pos);
                }

                if (closedIcon == null)
                {
                    closedIcon = icon;
                }

                if (tree.CopyObjects != null && ((IList)tree.CopyObjects).Contains(dataObject) && tree.CurrentTransferOperation == DragOperation.Move)
                {
                    Gdk.Pixbuf gicon = tree.BuilderContext.GetComposedIcon(icon, "fade");
                    if (gicon == null)
                    {
                        gicon = ImageService.MakeTransparent(icon, 0.5);
                        tree.BuilderContext.CacheComposedIcon(icon, "fade", gicon);
                    }
                    icon  = gicon;
                    gicon = tree.BuilderContext.GetComposedIcon(closedIcon, "fade");
                    if (gicon == null)
                    {
                        gicon = ImageService.MakeTransparent(closedIcon, 0.5);
                        tree.BuilderContext.CacheComposedIcon(closedIcon, "fade", gicon);
                    }
                    closedIcon = gicon;
                }
            }
Ejemplo n.º 5
0
            internal static NodeInfo GetNodeInfo(ExtensibleTreeView tree, ITreeBuilder tb, NodeBuilder[] chain, object dataObject)
            {
                NodeInfo nodeInfo = new NodeInfo()
                {
                    Label = string.Empty
                };

                NodePosition pos = tb.CurrentPosition;

                foreach (NodeBuilder builder in chain)
                {
                    try {
                        builder.BuildNode(tb, dataObject, nodeInfo);
                    } catch (Exception ex) {
                        LoggingService.LogError(ex.ToString());
                    }
                    tb.MoveToPosition(pos);
                }

                if (nodeInfo.ClosedIcon == null)
                {
                    nodeInfo.ClosedIcon = nodeInfo.Icon;
                }

                if (tree.CopyObjects != null && ((IList)tree.CopyObjects).Contains(dataObject) && tree.CurrentTransferOperation == DragOperation.Move)
                {
                    var gicon = tree.BuilderContext.GetComposedIcon(nodeInfo.Icon, "fade");
                    if (gicon == null)
                    {
                        gicon = nodeInfo.Icon.WithAlpha(0.5);
                        tree.BuilderContext.CacheComposedIcon(nodeInfo.Icon, "fade", gicon);
                    }
                    nodeInfo.Icon = gicon;
                    gicon         = tree.BuilderContext.GetComposedIcon(nodeInfo.ClosedIcon, "fade");
                    if (gicon == null)
                    {
                        gicon = nodeInfo.ClosedIcon.WithAlpha(0.5);
                        tree.BuilderContext.CacheComposedIcon(nodeInfo.ClosedIcon, "fade", gicon);
                    }
                    nodeInfo.ClosedIcon = gicon;
                }
                return(nodeInfo);
            }
        ProjectPackagesFolderNode GetPackagesFolderNode(ITreeBuilder treeBuilder)
        {
            NodePosition originalPosition = treeBuilder.CurrentPosition;

            if (!treeBuilder.MoveToParent())
            {
                return(null);
            }

            ProjectPackagesFolderNode packagesFolder = null;

            if (treeBuilder.MoveToChild(ProjectPackagesFolderNode.NodeName, typeof(ProjectPackagesFolderNode)))
            {
                packagesFolder = treeBuilder.DataItem as ProjectPackagesFolderNode;
            }

            treeBuilder.MoveToPosition(originalPosition);

            return(packagesFolder);
        }
			internal static void GetNodeInfo (ExtensibleTreeView tree, ITreeBuilder tb, NodeBuilder[] chain, object dataObject, out string text, out Gdk.Pixbuf icon, out Gdk.Pixbuf closedIcon)
			{
				icon = null;
				closedIcon = null;
				text = string.Empty;
				
				NodePosition pos = tb.CurrentPosition;
				
				foreach (NodeBuilder builder in chain) {
					try {
						builder.BuildNode (tb, dataObject, ref text, ref icon, ref closedIcon);
					} catch (Exception ex) {
						LoggingService.LogError (ex.ToString ());
					}
					tb.MoveToPosition (pos);
				}
					
				if (closedIcon == null) closedIcon = icon;
				
				if (tree.CopyObjects != null && ((IList)tree.CopyObjects).Contains (dataObject) && tree.CurrentTransferOperation == DragOperation.Move) {
					Gdk.Pixbuf gicon = tree.BuilderContext.GetComposedIcon (icon, "fade");
					if (gicon == null) {
						gicon = ImageService.MakeTransparent (icon, 0.5);
						tree.BuilderContext.CacheComposedIcon (icon, "fade", gicon);
					}
					icon = gicon;
					gicon = tree.BuilderContext.GetComposedIcon (closedIcon, "fade");
					if (gicon == null) {
						gicon = ImageService.MakeTransparent (closedIcon, 0.5);
						tree.BuilderContext.CacheComposedIcon (closedIcon, "fade", gicon);
					}
					closedIcon = gicon;
				}
			}
			internal static bool HasChildNodes (ITreeBuilder tb, NodeBuilder[] chain, object dataObject)
			{
				NodePosition pos = tb.CurrentPosition;
				foreach (NodeBuilder nb in chain) {
					try {
						bool res = nb.HasChildNodes (tb, dataObject);
						if (res) return true;
					} catch (Exception ex) {
						LoggingService.LogError (ex.ToString ());
					} finally {
						tb.MoveToPosition (pos);
					}
				}
				return false;
			}
			internal static NodeAttributes GetAttributes (ITreeBuilder tb, NodeBuilder[] chain, object dataObject)
			{
				NodePosition pos = tb.CurrentPosition;
				NodeAttributes ats = NodeAttributes.None;
				
				foreach (NodeBuilder nb in chain) {
					try {
						nb.GetNodeAttributes (tb, dataObject, ref ats);
					} catch (Exception ex) {
						LoggingService.LogError (ex.ToString ());
					}
					tb.MoveToPosition (pos);
				}
				return ats;
			}
Ejemplo n.º 10
0
			internal static NodeInfo GetNodeInfo (NodeInfo nodeInfo, ExtensibleTreeView tree, ITreeBuilder tb, NodeBuilder[] chain, object dataObject)
			{
				NodePosition pos = tb.CurrentPosition;

				foreach (NodeBuilder builder in chain) {
					try {
						builder.BuildNode (tb, dataObject, nodeInfo);
					} catch (Exception ex) {
						LoggingService.LogError (ex.ToString ());
					}
					tb.MoveToPosition (pos);
				}
					
				if (nodeInfo.ClosedIcon == null) nodeInfo.ClosedIcon = nodeInfo.Icon;
				
				if (tree.CopyObjects != null && ((IList)tree.CopyObjects).Contains (dataObject) && tree.CurrentTransferOperation == DragOperation.Move) {
					var gicon = tree.BuilderContext.GetComposedIcon (nodeInfo.Icon, "fade");
					if (gicon == null) {
						gicon = nodeInfo.Icon.WithAlpha (0.5);
						tree.BuilderContext.CacheComposedIcon (nodeInfo.Icon, "fade", gicon);
					}
					nodeInfo.Icon = gicon;
					gicon = tree.BuilderContext.GetComposedIcon (nodeInfo.ClosedIcon, "fade");
					if (gicon == null) {
						gicon = nodeInfo.ClosedIcon.WithAlpha (0.5);
						tree.BuilderContext.CacheComposedIcon (nodeInfo.ClosedIcon, "fade", gicon);
					}
					nodeInfo.ClosedIcon = gicon;
				}
				return nodeInfo;
			}