public ApplicationWindowDiagnostics(ApplicationWindow owner, int nFrames = 5)
        {
            Owner = owner;

            PanelPaint  = new StatusTextPanel("diagnostics_paint", Docking.Right);
            PanelLayout = new StatusTextPanel("diagnostics_layout", Docking.Right);

            style = new ApplicationWindowDiagnosticStyle();
            PanelPaint.Styles.SetStyle(style, WidgetStates.Default);
            PanelLayout.Styles.SetStyle(style, WidgetStates.Default);

            PanelPaint.Click  += Panel_Click;
            PanelLayout.Click += Panel_Click;

            //PanelLayout.Style.BackColorBrush.Color = SolarizedColors.Green;
            //PanelPaint.Style.BackColorBrush.Color = SolarizedColors.Cyan;

            Owner.StatusBar.AddChild(PanelPaint);
            Owner.StatusBar.AddChild(PanelLayout);

            LayoutMeter = new FramePerformanceMeter(nFrames);
            PaintMeter  = new FramePerformanceMeter(nFrames);

            PanelPaint.InvalidateOnHeartBeat  = true;
            PanelLayout.InvalidateOnHeartBeat = true;

            Owner.Controls.SubscribeHeartbeat(PanelPaint);
            Owner.Controls.SubscribeHeartbeat(PanelLayout);
        }
Esempio n. 2
0
        public StatusBar(string name, IWidgetStyle style)
            : base(name, Docking.Bottom, style)
        {
            this.ZIndex  = 5000;
            this.Padding = new Padding(6, 3, 5, 3);
            this.Margin  = Padding.Empty;

            DefaultPanel = new StatusTextPanel("default", Docking.Fill, "");
            this.AddChild(DefaultPanel);

            ProgressPanel         = new StatusProgressPanel("progress");
            ProgressPanel.Visible = false;
            this.AddChild(ProgressPanel);

            RootControllerObserver = new Observer <EventMessage> (OnNext, OnError, OnCompleted);

            ReadyStatusString = "Ready.";
            ShowStatus();
        }