コード例 #1
0
            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);
            }
コード例 #2
0
        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;
                }
            }
        }
コード例 #3
0
        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();
        }
コード例 #4
0
        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);
            }
        }
コード例 #5
0
    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;
    }
コード例 #6
0
        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();
            }
        }
コード例 #7
0
        private void    ManualDeletedLog(Row row)
        {
            LogNote log = this.GetLogFromRow(row);

            if (log != null)
            {
                this.JustDeleteNote(log);
                this.UpdateName();
                this.console.SaveModules();
            }
        }
コード例 #8
0
    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;
    }
コード例 #9
0
    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);
    }
コード例 #10
0
        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;
                }
            }
        }
コード例 #11
0
        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);
        }
コード例 #12
0
    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);
    }
コード例 #13
0
    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();
        }
    }
コード例 #14
0
        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();
        }
コード例 #15
0
            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;
                        }
                    }
                }
            }
コード例 #16
0
 void Start()
 {
     AddToolbarButton();
     activeNote = new LogNote("", "");
     fileIO.LoadSettings();
 }
コード例 #17
0
 public LogNoteModel(LogNote model) : base(model)
 {
     LoadFromModel(model);
 }
コード例 #18
0
ファイル: Log.cs プロジェクト: vlad324/TransportSimulator
 public void AddNote(LogNote logNote)
 {
     LogNotes.Add(logNote);
 }
コード例 #19
0
        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);
        }
コード例 #20
0
        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();
        }
コード例 #21
0
        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);
        }