private void PrepareSetNote(object data) { Action <object, string> SetNote = delegate(object data2, string content) { if (data2 is LogNote) { ((LogNote)data2).note = content; } // Add a new note. else if (data2 is Row) { LogNote note = new LogNote() { row = (Row)data2, note = content }; this.notes.Add(note); } this.console.SaveModules(); }; for (int i = 0; i < this.notes.Count; i++) { if (this.notes[i].row == data) { PromptWindow.Start(this.notes[i].note, SetNote, this.notes[i]); return; } } PromptWindow.Start(string.Empty, SetNote, data); }
private void DeleteNote(LogNote log) { for (int i = 0; i < this.folders.Count; i++) { int index = this.folders[i].notes.IndexOf(log); if (index != -1) { this.folders[i].rowsDrawer.RemoveAt(index); for (int j = 0; j < this.folders[i].rowsDrawer.Count; j++) { this.folders[i].rowsDrawer[j] = j; } //int extra = this.folders[i].notes.Count - this.folders[i].rowsDrawer.Count; //// Clean fallback, in case of error somewhere. //if (extra > 0) // this.folders[i].notes.RemoveRange(this.folders[i].notes.Count - extra, extra); //else if (extra < 0) //{ // while (this.folders[i].rowsDrawer.Count < this.folders[i].notes.Count) // this.folders[i].rowsDrawer.RemoveAt(this.folders[i].rowsDrawer.Count - 1); //} break; } } }
public async Task Create(params LogNoteModel[] logNoteObjects) { Guid?academicYearId = null; foreach (var logNoteObject in logNoteObjects) { await AcademicYearModel.CheckLock(_academicYearRepository, logNoteObject.AcademicYearId); var createDate = DateTime.Now; var logNote = new LogNote { TypeId = logNoteObject.TypeId, Message = logNoteObject.Message, StudentId = logNoteObject.StudentId, CreatedDate = createDate, UpdatedDate = createDate, CreatedById = logNoteObject.CreatedById, UpdatedById = logNoteObject.UpdatedById, AcademicYearId = logNoteObject.AcademicYearId }; _logNoteRepository.Create(logNote); } await _logNoteRepository.SaveChanges(); }
private void LoadFromModel(LogNote model) { TypeId = model.TypeId; CreatedById = model.CreatedById; StudentId = model.StudentId; AcademicYearId = model.AcademicYearId; Message = model.Message; CreatedDate = model.CreatedDate; Deleted = model.Deleted; if (model.CreatedBy != null) { CreatedBy = new UserModel(model.CreatedBy); } if (model.Student != null) { Student = new StudentModel(model.Student); } if (model.AcademicYear != null) { AcademicYear = new AcademicYearModel(model.AcademicYear); } if (model.LogNoteType != null) { LogNoteType = new LogNoteTypeModel(model.LogNoteType); } }
void LoadNote(string path, bool isActive) { AddRecentOpenedFiles(path); foreach (TreeNote existTree in MainTabGroup.TreeNotes) { if (existTree.File != null && existTree.File.FullName.Replace('\\', '/') == path.Replace('\\', '/')) { if (existTree.IsActive == false) { existTree.IsActive = true; } return; } } TabButton tab = Instantiate(TabButtonPrefab.gameObject, TabParent.transform).GetComponent <TabButton>(); TreeNote treeNote = Instantiate(TreeNotePrefab.gameObject, NoteParent.transform).GetComponent <TreeNote>(); LogNote logNote = Instantiate(LogNotePrefab.gameObject, LogNoteParent.transform).GetComponent <LogNote>(); MainTabGroup.OnTabCreated(tab); treeNote.LoadNote(path, tab, logNote); treeNote.IsActive = isActive; }
public async Task Create(Guid userId, params CreateLogNoteModel[] logNoteObjects) { using (var unitOfWork = await DataConnectionFactory.CreateUnitOfWork()) { foreach (var logNoteObject in logNoteObjects) { await AcademicHelper.IsAcademicYearLocked(logNoteObject.AcademicYearId, true); var createDate = DateTime.Now; var logNote = new LogNote { TypeId = logNoteObject.TypeId, Message = logNoteObject.Message, StudentId = logNoteObject.StudentId, CreatedDate = createDate, CreatedById = userId, AcademicYearId = logNoteObject.AcademicYearId }; unitOfWork.LogNotes.Create(logNote); } await unitOfWork.SaveChangesAsync(); } }
private void ManualDeletedLog(Row row) { LogNote log = this.GetLogFromRow(row); if (log != null) { this.JustDeleteNote(log); this.UpdateName(); this.console.SaveModules(); } }
void NewNote(string path) { TabButton tab = Instantiate(TabButtonPrefab.gameObject, TabParent.transform).GetComponent <TabButton>(); TreeNote treeNote = Instantiate(TreeNotePrefab.gameObject, NoteParent.transform).GetComponent <TreeNote>(); LogNote logNote = Instantiate(LogNotePrefab.gameObject, LogNoteParent.transform).GetComponent <LogNote>(); MainTabGroup.OnTabCreated(tab); treeNote.NewNote(path, tab, logNote); treeNote.IsActive = true; }
public void NewNote(string path, TabButton tab, LogNote logNote) { tabButton_ = tab; logNote_ = logNote; tree_.NewFile(new FileInfo(path)); tabButton_.BindedNote = this; tabButton_.Text = tree_.TitleText; logNote.Initialize(this); }
private void JustDeleteNote(LogNote log) { for (int i = 0; i < this.folders.Count; i++) { int index = this.folders[i].notes.IndexOf(log); if (index != -1) { this.folders[i].notes.RemoveAt(index); break; } } }
private LogNote GetLogFromRow(Row row) { for (int i = 0; i < this.folders.Count; i++) { LogNote log = this.folders[i].notes.Find(ln => ln.row == row); if (log != null) { return(log); } } return(null); }
public void LoadNote(string path, TabButton tab, LogNote logNote) { tabButton_ = tab; logNote_ = logNote; tree_.LoadFile(new FileInfo(path)); //if( GameContext.Config.DoBackUp && tree_.File.Exists ) //{ // tree_.File.CopyTo(tree_.File.FullName + ".bak", overwrite: true); //} tabButton_.BindedNote = this; tabButton_.Text = tree_.TitleText; targetScrollValue_ = 1.0f; logNote.Initialize(this); }
public void UpdateVerticalLayout() { float logNoteRatio = 0; float height = MainTabGroup.NoteAreaTransform.rect.height; TreeNote treeNote = MainTabGroup.ActiveTreeNote; LogNote logNote = null; if (treeNote != null) { logNote = treeNote.LogNote; LogTabButton.transform.parent.gameObject.SetActive(logNote.IsOpended && logNote.IsFullArea == false); logNoteRatio = logNote.IsOpended ? logNote.OpenRatio : 0.0f; if (logNote.IsFullArea) { OpenLogNoteButton.SetActive(false); CloseLogNoteButton.SetActive(true); } else if (logNote.IsOpended == false) { OpenLogNoteButton.SetActive(true); CloseLogNoteButton.SetActive(false); } treeNote.Tab.UpdateTitleText(); treeNote.Tab.UpdateColor(); } else { OpenLogNoteButton.SetActive(false); CloseLogNoteButton.SetActive(false); LogTabButton.transform.parent.gameObject.SetActive(false); } TreeNoteTransform.sizeDelta = new Vector2(TreeNoteTransform.sizeDelta.x, height * (1.0f - logNoteRatio) - (logNoteRatio > 0.0f ? GameContext.Config.LogNoteHeaderMargin : 0.0f)); LogNoteTransform.sizeDelta = new Vector2(LogNoteTransform.sizeDelta.x, height * logNoteRatio); LogNoteTransform.anchoredPosition = new Vector2(LogNoteTransform.anchoredPosition.x, -height + LogNoteTransform.sizeDelta.y); if (treeNote != null) { treeNote.CheckScrollbarEnabled(); logNote.CheckScrollbarEnabled(); } }
private void ToggleRowFromArchive(object data) { Row row = data as Row; LogNote log = this.GetLogFromRow(row); if (log == null) { this.folders[0].notes.Add(new LogNote() { row = row }); this.folders[0].rowsDrawer.Add(this.folders[0].notes.Count - 1); } else { this.DeleteNote(log); } this.UpdateName(); this.console.SaveModules(); }
private void ShowNote(Rect r, Row row) { if (Event.current.type == EventType.MouseDrag) { if (DragAndDrop.GetGenericData("n") != null) { // Start the actual drag DragAndDrop.StartDrag("Dragging Row"); // Make sure no one uses the event after us Event.current.Use(); } } else if (Event.current.type == EventType.MouseMove) { DragAndDrop.PrepareStartDrag(); this.viewingNote = null; for (int i = 0; i < this.notes.Count; i++) { if (this.notes[i].row == row) { if (string.IsNullOrEmpty(this.notes[i].note) == false) { this.noteRect = r; this.noteRect.x += this.rowsDrawer.bodyRect.x; this.noteRect.y += this.rowsDrawer.bodyRect.y; this.viewingNote = this.notes[i]; } break; } } } }
void Start() { AddToolbarButton(); activeNote = new LogNote("", ""); fileIO.LoadSettings(); }
public LogNoteModel(LogNote model) : base(model) { LoadFromModel(model); }
public void AddNote(LogNote logNote) { LogNotes.Add(logNote); }
private Rect DrawFolderTabs(Rect r) { ConsoleSettings settings = HQ.Settings.Get <ConsoleSettings>(); GeneralSettings general = HQ.Settings.Get <GeneralSettings>(); float height = r.height; r.height = ConsoleConstants.DefaultSingleLineHeight; // Switch stream if (settings.inputsManager.Check("Navigation", ConsoleConstants.SwitchNextStreamCommand) == true) { this.currentVars.workingFolder += 1; if (this.currentVars.workingFolder >= this.folders.Count) { this.currentVars.workingFolder = 0; } Event.current.Use(); } if (settings.inputsManager.Check("Navigation", ConsoleConstants.SwitchPreviousStreamCommand) == true) { this.currentVars.workingFolder -= 1; if (this.currentVars.workingFolder < 0) { this.currentVars.workingFolder = this.folders.Count - 1; } Event.current.Use(); } GUILayout.BeginArea(r); { GUILayout.BeginHorizontal(); { for (int i = 0; i < this.folders.Count; i++) { EditorGUI.BeginChangeCheck(); GUILayout.Toggle(i == this.currentVars.workingFolder, this.folders[i].name + " (" + this.folders[i].rowsDrawer.Count + ")", general.MenuButtonStyle); if (EditorGUI.EndChangeCheck() == true) { if (Event.current.button == 0) { this.currentVars.workingFolder = i; this.console.SaveModules(); } // Forbid to alter the main folder. else if (i > 0 || Conf.DebugMode != Conf.DebugState.None) { // Show context menu on right click. if (Event.current.button == 1) { GenericMenu menu = new GenericMenu(); menu.AddItem(new GUIContent(LC.G("ArchiveModule_ChangeName")), false, this.ChangeStreamName, i); if (i > 0) { menu.AddItem(new GUIContent(LC.G("Delete")), false, this.DeleteFolder, i); } if (Conf.DebugMode != Conf.DebugState.None) { menu.AddItem(new GUIContent("Clear"), false, this.ClearFolder, i); } menu.DropDown(new Rect(Event.current.mousePosition.x, Event.current.mousePosition.y, 0, 0)); } else if (Event.current.button == 2) { if (i > 0 || Conf.DebugMode != Conf.DebugState.None) { this.DeleteFolder(i); } } } } if ((Event.current.type == EventType.DragPerform || Event.current.type == EventType.DragUpdated || Event.current.type == EventType.DragExited || Event.current.type == EventType.MouseUp) && DragAndDrop.GetGenericData("n") != null) { Rect toggleRect = GUILayoutUtility.GetLastRect(); // Check drop Row. if (toggleRect.Contains(Event.current.mousePosition)) { if (Event.current.type == EventType.DragUpdated) { LogNote note = DragAndDrop.GetGenericData("n") as LogNote; if (this.folders[i].notes.Contains(note) == false) { DragAndDrop.visualMode = DragAndDropVisualMode.Move; } else { DragAndDrop.visualMode = DragAndDropVisualMode.Rejected; } Event.current.Use(); } else if (Event.current.type == EventType.DragPerform) { DragAndDrop.AcceptDrag(); LogNote note = DragAndDrop.GetGenericData("n") as LogNote; Folder f = this.folders[i]; EditorApplication.delayCall += () => { this.DeleteNote(note); f.notes.Add(note); f.rowsDrawer.Add(f.notes.Count - 1); this.UpdateName(); this.console.SaveModules(); this.console.Repaint(); }; Event.current.Use(); } RowUtility.drawingWindow.Repaint(); } if (Event.current.type == EventType.DragExited || Event.current.type == EventType.MouseUp) { DragAndDrop.PrepareStartDrag(); } } } if (GUILayout.Button("+", general.MenuButtonStyle) == true) { Folder folder = new Folder() { name = "Folder " + this.folders.Count }; this.InitFolder(folder); this.folders.Add(folder); this.console.SaveModules(); if (this.folders.Count == 1) { this.currentVars.workingFolder = 0; } } GUILayout.FlexibleSpace(); } GUILayout.EndHorizontal(); } GUILayout.EndArea(); r.y += r.height + 2F; r.height = height - r.height - 2F; return(r); }
void NotesWindow(int id) { GUILayout.BeginHorizontal(); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); GUILayout.Space(10); GUILayout.EndVertical(); GUILayout.BeginVertical(GUILayout.Width(130)); HighLogic.CurrentGame.Parameters.CustomParams <Notes2Log_Settings>().altSkin = GUILayout.Toggle(HighLogic.CurrentGame.Parameters.CustomParams <Notes2Log_Settings>().altSkin, "Alt.Skin"); //GUILayout.Space(35); scrollPosition = GUILayout.BeginScrollView(scrollPosition, GUILayout.Height(HEIGHT - 50)); foreach (var n in notes) { GUILayout.BeginHorizontal(); if (GUILayout.Button(n.title, GUILayout.Width(120))) { activeNote = n; } GUILayout.EndHorizontal(); } GUILayout.EndScrollView(); GUILayout.EndVertical(); GUILayout.BeginVertical(); GUILayout.BeginHorizontal(); GUILayout.Space(10); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Note:"); activeNote.title = GUILayout.TextField(activeNote.title, GUILayout.Width(200)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); activeNote.note = GUILayout.TextArea(activeNote.note, GUILayout.Height(HEIGHT - 70), GUILayout.ExpandWidth(true)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); if (GUILayout.Button("Write to log")) { WriteToLog(); } if (GUILayout.Button("Save")) { notes.Add(new LogNote(activeNote.title, activeNote.note)); fileIO.SaveSettings(); } if (GUILayout.Button("Delete")) { notes.Remove(activeNote); activeNote.Clear(); } if (GUILayout.Button("Clear")) { activeNote.Clear(); } GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUILayout.EndHorizontal(); GUI.DragWindow(); }
private void ArchiveFromContextMenu(GenericMenu menu, RowsDrawer rowsDrawer, int streamIndex, Row row) { LogNote log = this.GetLogFromRow(row); menu.AddItem(new GUIContent("Archive log"), log != null, this.ToggleRowFromArchive, row); }