/// <summary> /// 書き込みを削除する。 /// </summary> /// <param name="note">削除する書き込み</param> private void RemoveNote(PhotoChatNote note) { try { if (note == null) { return; } Removal removal = new Removal( form.Client.UserName, form.Client.GetNewSerialNumber(), note.PhotoName, note.ID, note.SerialNumber); form.NewData(removal); UpdateImageBox(); imageBox.Invalidate(); Update(); } catch (Exception e) { PhotoChat.WriteErrorLog(e.ToString()); } }
/// <summary> /// データ文字列から書き込みデータのインスタンスを作成する。 /// データが不適切なものであったときはnullを返す。 /// </summary> /// <param name="type">書き込みのタイプ</param> /// <param name="dataString">データ文字列</param> /// <returns>作成したインスタンス。作成できなかったときはnullを返す。</returns> public static PhotoChatNote CreateInstance(int type, string dataString) { try { PhotoChatNote note = null; switch (type) { case TypeStroke: note = new Stroke(dataString); break; case TypeRemoval: note = new Removal(dataString); break; case TypeHyperlink: note = new Hyperlink(dataString); break; case TypeTag: note = new Tag(dataString); break; case TypeText: note = new Text(dataString); break; case TypeSound: note = new Sound(dataString); break; } return(note); } catch (Exception e) { PhotoChat.WriteErrorLog(e.ToString()); return(null); } }
/// <summary> /// 書き込みリストへの追加 /// </summary> /// <param name="note">追加する書き込みオブジェクト</param> public void AddNote(PhotoChatNote note) { try { if (note == null) { return; } lock (noteList) { // noteListへの追加 InsertInSortedList(note, noteList); } // 書き込みの種類に応じた処理 switch (note.Type) { case PhotoChatNote.TypeRemoval: Removal removal = (Removal)note; RemoveNote(removal.TargetID, removal.TargetSerialNumber); break; case PhotoChatNote.TypeTag: AddTag((Tag)note); break; default: noteCount++; Grouping(note); break; } } catch (Exception e) { PhotoChat.WriteErrorLog(e.ToString()); } }