Пример #1
0
 private void OnMousePressed(object sender, MouseButtonEventArgs mouseEvent)
 {
     foreach (var clicked in Descendents.Where(d => d.IsMouseOver))
     {
         clicked.MousePressed?.Invoke(clicked, new InputEventArgs());
     }
 }
Пример #2
0
        public void GetDecendents()
        {
            if (Retreieved)
            {
                return;
            }

            Descendents.Clear();

            var children = SitecoreClient.GetChildrenDirectories(Path);

            foreach (var child in children)
            {
                var path         = string.Format("{0}/{1}", Path, child.Name);
                var sitecorePath = new SitecorePath(child.Name, path);
                foreach (var nestedDir in child.Children)
                {
                    var nestedPath = string.Format("{0}/{1}", path, nestedDir);
                    sitecorePath.Descendents.Add(new SitecorePath(nestedDir, nestedPath));
                }

                Descendents.Add(sitecorePath);
            }

            Retreieved = true;
        }
Пример #3
0
        public void Append(ConsoleString str)
        {
            foreach (var ch in str)
            {
                var c = ch.ToConsoleString();
                if (c.StringValue == "\n")
                {
                    WriteNewlineInternal();
                }
                else
                {
                    if (logLines[logLines.Count - 1].Length > logLabel.Width - 10 && c.StringValue == " ")
                    {
                        WriteNewlineInternal();
                    }
                    else if (logLines[logLines.Count - 1].Length > logLabel.Width - 3)
                    {
                        WriteNewlineInternal();
                        logLines[logLines.Count - 1] = (logLines[logLines.Count - 1]) + c;
                    }
                    else
                    {
                        logLines[logLines.Count - 1] = (logLines[logLines.Count - 1]) + c;
                    }
                }
            }
            var linesUsed = 0;
            var text      = ConsoleString.Empty;

            for (var i = logLines.Count - 1; i >= 0; i--)
            {
                var line = logLines[i];
                text = line + "\n" + text;
                linesUsed++;
            }
            logLabel.Text   = text;
            logLabel.Height = linesUsed;
            scrollPanel.ScrollableContent.Height = linesUsed;
            var focused = Application.FocusManager.FocusedControl;

            if (focused is Scrollbar && Descendents.Contains(focused))
            {
                // do nothing since the scrollbar is in focus
            }
            else
            {
                scrollPanel.VerticalScrollUnits = Math.Max(0, logLabel.Height - this.Height);
            }
            this.FirePropertyChanged(nameof(Bounds));
        }
        public void SetDescendentsRecursively(HashSet <int> descendents)
        {
            Descendents.UnionWith(descendents);

            var parentsDescendents = new HashSet <int>(Descendents);

            parentsDescendents.Add(Id);

            foreach (var parentPair in PossibleParents)
            {
                parentPair.FirstParent.SetDescendentsRecursively(parentsDescendents);
                parentPair.SecondParent.SetDescendentsRecursively(parentsDescendents);
            }
        }