示例#1
0
        private void HighlightEvent(Note note, int i)
        {
            NoteBuffer buf = note.Buffer;

            Console.WriteLine("Highlight line:" + i);
            Gtk.TextIter start = buf.GetIterAtLine(i);
            Gtk.TextIter end   = start;
            end.ForwardToLineEnd();

            buf.ApplyTag("reminder", start, end);
        }
示例#2
0
        void PrependTimestampedText(Note note, DateTime timestamp, string text)
        {
            NoteBuffer    buffer      = note.Buffer;
            StringBuilder insert_text = new StringBuilder();

            insert_text.Append("\n");              // initial newline
            string date_format = Catalog.GetString("dddd, MMMM d, h:mm tt");

            insert_text.Append(timestamp.ToString(date_format));
            insert_text.Append("\n");              // begin content
            insert_text.Append(text);
            insert_text.Append("\n");              // trailing newline

            buffer.Undoer.FreezeUndo();

            // Insert the date and list of links...
            Gtk.TextIter cursor = buffer.StartIter;
            cursor.ForwardLines(1);              // skip title

            buffer.Insert(ref cursor, insert_text.ToString());

            // Make the date string a small font...
            cursor = buffer.StartIter;
            cursor.ForwardLines(2);              // skip title & leading newline

            Gtk.TextIter end = cursor;
            end.ForwardToLineEnd();              // end of date

            buffer.ApplyTag("datetime", cursor, end);

            // Select the text we've inserted (avoid trailing newline)...
            end = cursor;
            end.ForwardChars(insert_text.Length - 1);

            buffer.MoveMark(buffer.SelectionBound, cursor);
            buffer.MoveMark(buffer.InsertMark, end);

            buffer.Undoer.ThawUndo();
        }