Example #1
0
        //protected override CreateParams CreateParams
        //{
        //    get
        //    {
        //        CreateParams cp = base.CreateParams;
        //        cp.ExStyle |= 0x02000000;
        //        return cp;
        //    }
        //}

        private void TitleLabelClick(object sender, EventArgs e)
        {
            if (CloseLabel.Equals(sender))
            {
                Close();
                //SendDataTest(LANAllComputerIp.ComputerStatus.BREAK_LIEN);
            }
            else
            {
                if (MaxOrMinLabel.Equals(sender))
                {
                    if (WindowState.Equals(FormWindowState.Normal))
                    {
                        WindowState = FormWindowState.Maximized;
                    }
                    else if (WindowState.Equals(FormWindowState.Maximized))
                    {
                        WindowState = FormWindowState.Normal;
                    }
                }
                else
                {
                    WindowState = FormWindowState.Minimized;
                }
            }
        }
Example #2
0
        private void OnVisibilityChanged(bool visible)
        {
            this.ToTop();

            Node.SetProcessUnhandledInput(visible);

            UpLabel.Iter(l => l.Active    = visible && this.CanGoUp());
            CloseLabel.Iter(l => l.Active = visible);

            if (!visible)
            {
                ItemsContainer.GetChildren()
                .OfType <Node>()
                .Filter(c => !EmptyLabel.Contains(c))
                .Iter(ItemsContainer.FreeChild);
            }
        }
Example #3
0
        protected override void PostConstruct()
        {
            base.PostConstruct();

            var disposed = Disposed.Where(identity);

            OnItemsChange
            .Do(items => Items = items)
            .TakeUntil(disposed)
            .Subscribe(HandleItemsChange, this);

            OnNavigate
            .Do(_ => UpLabel.Iter(l => l.Active = this.CanGoUp()))
            .Select(i => i.Bind(v => v.GetPath()).Reverse())
            .Select(p => string.Join(" > ", p.Map(v => v.DisplayName)))
            .TakeUntil(disposed)
            .Subscribe(v => Breadcrumb.Iter(b => b.Text = v), this);

            UpLabel
            .Map(l => l.OnAction)
            .ToObservable()
            .Switch()
            .TakeUntil(disposed)
            .Subscribe(_ => this.GoUp());
            CloseLabel
            .Map(l => l.OnAction)
            .ToObservable()
            .Switch()
            .TakeUntil(disposed)
            .Subscribe(_ => this.Hide());

            Node.OnVisibilityChange()
            .StartWith(Visible)
            .TakeUntil(disposed)
            .Subscribe(OnVisibilityChanged, this);

            if (BackAction.IsSome)
            {
                Node.OnUnhandledInput()
                .Where(e => BackAction.Exists(v => e.IsActionPressed(v)) && this.CanGoUp())
                .TakeUntil(disposed)
                .Do(_ => Node.GetTree().SetInputAsHandled())
                .Subscribe(_ => this.GoUp(), this);
            }
        }