예제 #1
0
// コンストラクタ

		/// <summary>
		/// 鳩丸データのデータソースの FileInfo と XmlDocument を指定して、Doc のインスタンスを開始します。
		/// </summary>
		public HatomaruDoc(HatomaruManager manager, FileInfo f, XmlDocument x) : base(manager, f, x){
			int index = 0;
			foreach(XmlElement e in x.GetElementsByTagName(TopicElement)){
				if(string.IsNullOrEmpty(e.GetAttributeValue(HatomaruDoc.PageIdAttribute))){
					DocTopic dt = new DocTopic(e, 0);
					myAnonymousTopics.Add(dt);
				} else {
					DocTopic dt = new DocTopic(e, ++index);
					myTopicsDic.Add(dt.Id, dt);
				}
			}
			myNamedTopics = new DocTopic[myTopicsDic.Values.Count];
			myTopicsDic.Values.CopyTo(myNamedTopics, 0);
		}
예제 #2
0
		public DocTopic GetNextTopic(DocTopic dt){
			if(dt.Index >= myNamedTopics.Length) return null;
			return myNamedTopics[dt.Index];
		}
예제 #3
0
		public DocTopic GetPrevTopic(DocTopic dt){
			if(dt.Index < 2) return null;
			return myNamedTopics[dt.Index-2];
		}