コード例 #1
0
        public static OutputProgressMonitor GetProgressMonitor(this LogView logView, bool clearConsole)
        {
            if (clearConsole)
            {
                return(logView.GetProgressMonitor());
            }

            var method = logView.GetType().GetMethod("GetProgressMonitor", BindingFlags.Instance | BindingFlags.NonPublic);

            if (method != null)
            {
                return((OutputProgressMonitor)method.Invoke(logView, new object [] { clearConsole }));
            }

            return(logView.GetProgressMonitor());
        }
コード例 #2
0
        public OutputProgressMonitor BeginProgress(string title)
        {
            progressStarted = true;

            if (ClearOnBeginProgress)
            {
                logView.Clear();
            }

            monitor = (LogViewProgressMonitor)logView.GetProgressMonitor(ClearOnBeginProgress);

            Runtime.RunInMainThread(delegate {
                Window.HasNewData    = false;
                Window.HasErrors     = false;
                Window.IsWorking     = true;
                buttonStop.Sensitive = true;
            });
            monitor.Disposed += delegate {
                if (progressStarted)
                {
                    EndProgress();
                }
            };

            monitor.Completed += delegate {
                EndProgress();
            };

            return(monitor);
        }
コード例 #3
0
 public IProgressMonitor GetBuildProgressMonitor()
 {
     if (control == null)
     {
         CreateControl();
     }
     return(outputView.GetProgressMonitor());
 }
コード例 #4
0
        public OutputProgressMonitor BeginProgress(string title)
        {
            progressStarted = true;

            logView.Clear();
            monitor = (LogViewProgressMonitor)logView.GetProgressMonitor();

            DispatchService.GuiDispatch(delegate {
                window.HasNewData    = false;
                window.HasErrors     = false;
                window.IsWorking     = true;
                buttonStop.Sensitive = true;
            });

            monitor.Completed += delegate {
                EndProgress();
            };

            return(monitor);
        }
コード例 #5
0
        public IProgressMonitor BeginProgress(string title)
        {
            progressStarted = true;

            logView.Clear();
            monitor        = logView.GetProgressMonitor();
            asyncOperation = monitor.AsyncOperation;

            Gtk.Application.Invoke(delegate {
                window.HasNewData    = false;
                window.HasErrors     = false;
                window.IsWorking     = true;
                buttonStop.Sensitive = true;
            });

            monitor.AsyncOperation.Completed += delegate {
                EndProgress();
            };

            return(monitor);
        }
コード例 #6
0
        private void WriteLog(LogView logView, LogEvent logEvent)
        {
            var monitor = logView.GetProgressMonitor(false);

            if (logEvent.LogLevel == LogLevel.Error)
            {
                monitor.ErrorLog.WriteLine(logEvent.Message);
            }
            else if (logEvent.LogLevel == LogLevel.Debug)
            {
                monitor.DebugLog.WriteLine(logEvent.Message);
            }
            else if (logEvent.LogLevel == LogLevel.Warning)
            {
                monitor.WarningLog.WriteLine(logEvent.Message);
            }
            else
            {
                monitor.Log.WriteLine(logEvent.Message);
            }
        }