OSDN Git Service

ファイル読み込み中の時だけユーザの入力を受け付けないようにした
authorkonekoneko <test2214@hotmail.co.jp>
Sat, 8 Feb 2014 16:10:29 +0000 (01:10 +0900)
committerkonekoneko <test2214@hotmail.co.jp>
Sat, 8 Feb 2014 16:10:29 +0000 (01:10 +0900)
Metro/FooEditEngine/FooTextBox.cs
WPF/FooEditEngine/FooTextBox.cs
Windows/FooEditEngine/FooTextBox.cs

index d29790b..88c7e7e 100644 (file)
@@ -325,6 +325,7 @@ namespace FooEditEngine.Metro
         /// <returns>Taskオブジェクト</returns>\r
         public async Task LoadFileAsync(System.IO.StreamReader sr, System.Threading.CancellationTokenSource token)\r
         {\r
         /// <returns>Taskオブジェクト</returns>\r
         public async Task LoadFileAsync(System.IO.StreamReader sr, System.Threading.CancellationTokenSource token)\r
         {\r
+            this.IsEnabled = false;\r
             this.View.LayoutLines.IsFrozneDirtyFlag = true;\r
             WinFileReader fs = new WinFileReader(sr);\r
             await this.Document.LoadAsync(fs, token);\r
             this.View.LayoutLines.IsFrozneDirtyFlag = true;\r
             WinFileReader fs = new WinFileReader(sr);\r
             await this.Document.LoadAsync(fs, token);\r
@@ -333,6 +334,7 @@ namespace FooEditEngine.Metro
             if (this.verticalScrollBar != null)\r
                 this.verticalScrollBar.Maximum = this.View.LayoutLines.Count;\r
             this.View.CalculateLineCountOnScreen();\r
             if (this.verticalScrollBar != null)\r
                 this.verticalScrollBar.Maximum = this.View.LayoutLines.Count;\r
             this.View.CalculateLineCountOnScreen();\r
+            this.IsEnabled = true;\r
         }\r
 \r
         /// <summary>\r
         }\r
 \r
         /// <summary>\r
index afbdf8e..8f53691 100644 (file)
@@ -373,6 +373,7 @@ namespace FooEditEngine.WPF
 \r
         async Task LoadAsyncImpl(WinFileReader fs,System.Threading.CancellationTokenSource token)\r
         {\r
 \r
         async Task LoadAsyncImpl(WinFileReader fs,System.Threading.CancellationTokenSource token)\r
         {\r
+            this.IsEnabled = false;\r
             this.View.LayoutLines.IsFrozneDirtyFlag = true;\r
             await this.Document.LoadAsync(fs, token);\r
             this.View.LayoutLines.IsFrozneDirtyFlag = false;\r
             this.View.LayoutLines.IsFrozneDirtyFlag = true;\r
             await this.Document.LoadAsync(fs, token);\r
             this.View.LayoutLines.IsFrozneDirtyFlag = false;\r
@@ -380,7 +381,7 @@ namespace FooEditEngine.WPF
             if (this.verticalScrollBar != null)\r
                 this.verticalScrollBar.Maximum = this.View.LayoutLines.Count;\r
             this.View.CalculateLineCountOnScreen();\r
             if (this.verticalScrollBar != null)\r
                 this.verticalScrollBar.Maximum = this.View.LayoutLines.Count;\r
             this.View.CalculateLineCountOnScreen();\r
-\r
+            this.IsEnabled = true;\r
         }\r
 \r
         /// <summary>\r
         }\r
 \r
         /// <summary>\r
index 2f892c4..d868049 100644 (file)
@@ -857,13 +857,14 @@ namespace FooEditEngine.Windows
 \r
         async Task LoadAsyncImpl(WinFileReader fs, System.Threading.CancellationTokenSource token)\r
         {\r
 \r
         async Task LoadAsyncImpl(WinFileReader fs, System.Threading.CancellationTokenSource token)\r
         {\r
+            this.Enabled = false;\r
             this.View.LayoutLines.IsFrozneDirtyFlag = true;\r
             await this.Document.LoadAsync(fs, token);\r
             this.View.LayoutLines.IsFrozneDirtyFlag = false;\r
             this.initScrollBars();\r
             this.OnMouseMove(new MouseEventArgs(MouseButtons.None, 0, MousePosition.X, MousePosition.Y, 0));\r
             this.View.CalculateLineCountOnScreen();\r
             this.View.LayoutLines.IsFrozneDirtyFlag = true;\r
             await this.Document.LoadAsync(fs, token);\r
             this.View.LayoutLines.IsFrozneDirtyFlag = false;\r
             this.initScrollBars();\r
             this.OnMouseMove(new MouseEventArgs(MouseButtons.None, 0, MousePosition.X, MousePosition.Y, 0));\r
             this.View.CalculateLineCountOnScreen();\r
-\r
+            this.Enabled = true;\r
         }\r
 \r
         /// <summary>\r
         }\r
 \r
         /// <summary>\r