public static void AddStoryFrameMark(string text, int index, StoryFrameModel targetMark) { var marks = ModelsComposite.MarkManager.GetMarks(0, text.Length - 1 , MarkKindEnums.StoryFrame); int headIndex = index; int tailIndex = index; // 同じ開始インデックスがあれば回避 foreach (var mark in marks) { if (mark.HeadCharIndex == index) { return; } } foreach (var mark in marks) { // 同じのがあったら削除 if (mark.Parent == targetMark) { ModelsComposite.MarkManager.DeleteMark(mark); break; } } AddStoryFrameMark(headIndex, tailIndex, targetMark); }
public StoryFrameSateliteViewModel(SateliteViewer viewer, StoryFrameModel model) { _view = viewer; _parent = model; _view.Closed += _view_Closed; _parent.PropertyChanged += _parent_PropertyChanged; _view.OnJumpEvent += _view_OnJumpEvent; EventAggregator.DeleteIMarkableHandler += OnIMarkableDeleted; }
public static void AddStoryFrameMark(int head, int tail, StoryFrameModel model) { var storyFrameMark = new StoryFrameMark(); storyFrameMark.Brush = model.MarkBrush; storyFrameMark.MarkId = model.Id; storyFrameMark.HeadCharIndex = head; storyFrameMark.TailCharIndex = tail; storyFrameMark.Parent = model; ModelsComposite.MarkManager.AddMark(storyFrameMark); }
/// <summary> /// StoryFrameModelからEventModelを作る /// </summary> private static EventModel GenerateEventModel(StoryFrameModel story) { return new EventModel() { Title = story.Name, StartDateTime = story.StartDateTime, EndDateTime = story.EndDateTime, Detail = story.Remarks, SourceObject = story, Participants = new List<int>() { CommonConstants.STORY_FRAME_EVENT_ID } }; }
public StoryFrameModel GetNewModel() { var model = new StoryFrameModel(); model.Name = "名前のないシーン"; model.Id = GetUniqueId(); model.ColorBrush = new SolidColorBrush(Color.FromArgb(255, 200, 0, 0)); model.Symbol = ""; model.Remarks = ""; model.StartDateTime = GetNewStoryDate(); model.EndDateTime = new DateTime(model.StartDateTime.Ticks).AddHours(1); return model; }
/// <summary> /// 新しい展開を追加する /// </summary> /// <param name="storyModel">追加する展開</param> /// <returns>作成した展開</returns> public StoryFrameModel AddStoryFrame(StoryFrameModel storyModel) { var manager = ModelsComposite.StoryFrameModelManager; manager.AddModel(storyModel); ModelsComposite.CharacterStoryModelManager.AddStoryFrameModel(storyModel.Id); ModelsComposite.ItemStoryModelManager.AddStoryFrameModel(storyModel.Id); EventAggregator.OnModelDataChanged(this, new ModelValueChangedEventArgs()); EventAggregator.OnAddIMarkable(this, new AddIMarkableModelEventArgs(storyModel)); return storyModel; }
public StoryFrameModel GetNewModel() { var model = new StoryFrameModel(); model.Name = "名前のないシーン"; model.Id = GetUniqueId(); model.ColorBrush = new SolidColorBrush(Color.FromArgb(255, 200, 0, 0)); model.Symbol = ""; model.Remarks = ""; model.StartDateTime = GetNewStoryDate(); model.EndDateTime = new DateTime(model.StartDateTime.Ticks).AddHours(1); return(model); }
public static SateliteViewer Generate(StoryFrameModel model) { var viewer = new SateliteViewer(Application.Current.MainWindow); var viewModel = new StoryFrameSateliteViewModel(viewer, model); viewer.LeftButtonLabel = "ステータス"; viewer.TopButtonLabel = "登場人物"; viewer.RightButtonLabel = "登場アイテム"; viewer.BottomButtonLabel = "自由記入欄"; viewer.RelatedModel = model; viewer.TopLeftGridElement = new StatusGrid() { DataContext = viewModel }; viewer.TopRightGridElement = new CharactersGrid() { DataContext = viewModel }; viewer.BottomRightGridElement = new ItemsGrid() { DataContext = viewModel }; viewer.BottomLeftGridElement = new RemarkGrid() { DataContext = viewModel }; return viewer; }
public void Select(StoryFrameModel model) { int selectIndex = -1; if (model != null) { selectIndex = StoryFrameModelCollection.IndexOf(model); } SelectingIndex = selectIndex; }
public void RemoveModel(StoryFrameModel model) { var modelMgr = FindModel(model.Id); if (_oneStoryCharaStoryMgrDictionary.ContainsKey(model.Id)) { _oneStoryCharaStoryMgrDictionary.Remove(model.Id); } _modelCollection.Remove(modelMgr); }
public StoryFrameDetailViewModel(StoryFrameModel model) { _model = model; }