예제 #1
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;
		}
예제 #2
0
			public LogViewProgressConsole (LogViewProgressMonitor monitor)
			{
				this.monitor = monitor;
				CancellationSource = monitor.CancellationTokenSource;
			}
예제 #3
0
			public override void Dispose ()
			{
				if (monitor != null) {
					var m = monitor; // Avoid recursive dispose, since the monitor also disposes this console
					monitor = null;
					m.Dispose ();
				}
				base.Dispose ();
			}
예제 #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;
		}
		public OutputProgressMonitor BeginProgress (string title)
		{
			progressStarted = true;
			
			logView.Clear ();
			monitor = (LogViewProgressMonitor) logView.GetProgressMonitor ();

			Runtime.RunInMainThread (delegate {
				Window.HasNewData = false;
				Window.HasErrors = false;
				Window.IsWorking = true;
				buttonStop.Sensitive = true;
			});
			
			monitor.Completed += delegate {
				EndProgress ();
			};
			
			return monitor;
		}
예제 #6
0
파일: LogView.cs 프로젝트: wjohnke/CSS18
 public QueuedEndTask(LogViewProgressMonitor monitor)
 {
     Monitor = monitor;
 }
예제 #7
0
 public LogViewProgressConsole(LogViewProgressMonitor monitor)
 {
     this.monitor       = monitor;
     CancellationSource = monitor.CancellationTokenSource;
 }
예제 #8
0
파일: LogView.cs 프로젝트: wjohnke/CSS18
 public QueuedBeginTask(LogViewProgressMonitor monitor, string name, int totalWork)
 {
     Monitor   = monitor;
     TotalWork = totalWork;
     Name      = name;
 }
예제 #9
0
파일: LogView.cs 프로젝트: wjohnke/CSS18
 public QueuedTextWrite(LogViewProgressMonitor monitor, string text, TextTag tag)
 {
     Monitor = monitor;
     Text    = new System.Text.StringBuilder(text);
     Tag     = tag;
 }
예제 #10
0
파일: LogView.cs 프로젝트: wjohnke/CSS18
        public void WriteError(LogViewProgressMonitor monitor, string text)
        {
            var w = new QueuedTextWrite(monitor, text, errorTag);

            addQueuedUpdate(w);
        }
예제 #11
0
파일: LogView.cs 프로젝트: wjohnke/CSS18
        internal void EndTask(LogViewProgressMonitor monitor)
        {
            var et = new QueuedEndTask(monitor);

            addQueuedUpdate(et);
        }
예제 #12
0
파일: LogView.cs 프로젝트: wjohnke/CSS18
        internal void BeginTask(LogViewProgressMonitor monitor, string name, int totalWork)
        {
            var bt = new QueuedBeginTask(monitor, name, totalWork);

            addQueuedUpdate(bt);
        }