X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=Core%2FDocument.cs;h=0db90096040d53ec99fe12fc21651676ea7beffc;hb=eb426998af26b5b7e58a2d2e42444561037db20c;hp=cef3067b973010bb42dc5e41e92311287cf296fd;hpb=9d75b2642503100705b013db684e604920f5676c;p=fooeditengine%2FFooEditEngine.git
diff --git a/Core/Document.cs b/Core/Document.cs
index cef3067..0db9009 100644
--- a/Core/Document.cs
+++ b/Core/Document.cs
@@ -224,6 +224,8 @@ namespace FooEditEngine
set;
}
+ public event ProgressEventHandler LoadProgress;
+
///
/// ã«ã¼ã©ã¼ããã£ã¬ããã»è¡çªå·ãªã©ã®è¡¨ç¤ºãã¹ããã®ãå¤åããå ´åã«å¼ã³åºããããããã¥ã¡ã³ãã®å
容ãå¤åããéç¥ãåãåãå ´åã¯Updateã使ç¨ãã¦ãã ãã
///
@@ -980,11 +982,14 @@ namespace FooEditEngine
/// èªã¿åãæä½ã¯å¥ã¹ã¬ããã§è¡ããã¾ãã
/// ã¾ããéåææä½ä¸ã¯ãã®ã¡ã½ãããå®è¡ãããã¨ã¯ã§ãã¾ããã
///
- internal async Task LoadAsync(IStreamReader fs, CancellationTokenSource tokenSource = null)
+ public async Task LoadAsync(TextReader fs, CancellationTokenSource tokenSource = null)
{
- if (fs.IsEnd())
+ if (fs.Peek() == -1)
return;
+ if (this.LoadProgress != null)
+ this.LoadProgress(this, new ProgressEventArgs(ProgressState.Start));
+
try
{
this.Clear();
@@ -997,6 +1002,8 @@ namespace FooEditEngine
this.FireUpdateEvent = true;
//ãã以éã®æä½ã«ã ããã¼ãã£ãã©ã°ãé©ç¨ããªãã¨ããããªãã¨ã«ãªã
this.LayoutLines.IsFrozneDirtyFlag = false;
+ if (this.LoadProgress != null)
+ this.LoadProgress(this, new ProgressEventArgs(ProgressState.Complete));
}
}
@@ -1007,7 +1014,7 @@ namespace FooEditEngine
/// ãã£ã³ã»ã«ãã¼ã¯ã³
/// Taskãªãã¸ã§ã¯ã
/// éåææä½ä¸ã¯ãã®ã¡ã½ãããå®è¡ãããã¨ã¯ã§ãã¾ãã
- internal async Task SaveAsync(IStreamWriter fs, CancellationTokenSource tokenSource = null)
+ public async Task SaveAsync(TextWriter fs, CancellationTokenSource tokenSource = null)
{
try
{
@@ -1205,50 +1212,6 @@ namespace FooEditEngine
}
///
- /// IStreamReaderã¤ã³ã¿ã¼ãã§ã¤ã¹
- ///
- public interface IStreamReader
- {
- ///
- /// ã¹ããªã¼ã ã空ãã©ãããè¿ã
- ///
- bool IsEnd();
-
- ///
- /// ã¹ããªã¼ã ããè¡ãèªã¿åã£ãç©ãè¿ããLoadAsyncãå¼ã³åºãå ´åã¯å¿
ãå®è£
ãã¦ãã ãã
- ///
- Task ReadLineAsync();
- ///
- /// ã¹ããªã¼ã ããæå®ããæåæ°ã ãèªã¿åã
- ///
- /// æ¸ãè¾¼ã¿å
ãããã¡ã¼
- /// æ¸ãè¾¼ã¿å
ãããã¡ã¼ã®ã¤ã³ããã¯ã¹
- /// èªã¿åãæåæ°
- /// èªã¿åã£ãæåæ°
- Task ReadAsync(char[] buffer, int index, int count);
- }
-
- ///
- /// IStreamWriter
- ///
- public interface IStreamWriter
- {
- ///
- /// ã¹ããªã¼ã ã«æ¸ãè¾¼ããSaveAsyncãå¼ã³åºãå ´åã¯å¿
ãå®è£
ãã¦ãã ãã
- ///
- Task WriteAsync(string str);
-
- ///
- /// æ¸ãè¾¼ãéã«ä½¿ç¨ããæ¹è¡ã³ã¼ã
- ///
- string NewLine
- {
- get;
- set;
- }
- }
-
- ///
/// æ¤ç´¢çµæã表ã
///
public class SearchResult