Beispiel #1
0
        public static bool ReplaceSelection(this Gtk.TextBuffer buffer, string newText, bool keepSelection = true)
        {
            bool     retval = false;
            TextIter start;
            TextIter end;

            if (buffer.GetSelectionBounds(out start, out end))
            {
                TextMark startMark = buffer.CreateMark("start", start, false);
                TextMark endMark   = buffer.CreateMark("end", end, true);

                buffer.DeleteSelection(true, true);

                TextIter start2 = buffer.GetIterAtMark(startMark);
                buffer.Insert(ref start2, newText);

                if (keepSelection)
                {
                    TextIter start3 = buffer.GetIterAtMark(startMark);
                    TextIter end3   = buffer.GetIterAtMark(endMark);

                    buffer.SelectRange(start3, end3);
                }
                retval = true;
            }
            return(retval);
        }
Beispiel #2
0
        public LogView()
        {
            buffer                     = new Gtk.TextBuffer(new Gtk.TextTagTable());
            textEditorControl          = new LogTextView(buffer);
            textEditorControl.Editable = false;

            ShadowType = ShadowType.None;
            Add(textEditorControl);

            bold        = new TextTag("bold");
            bold.Weight = Pango.Weight.Bold;
            buffer.TagTable.Add(bold);

            errorTag            = new TextTag("error");
            errorTag.Foreground = "red";
            errorTag.Weight     = Pango.Weight.Bold;
            buffer.TagTable.Add(errorTag);

            consoleLogTag            = new TextTag("consoleLog");
            consoleLogTag.Foreground = "darkgrey";
            buffer.TagTable.Add(consoleLogTag);

            tag            = new TextTag("0");
            tag.LeftMargin = 10;
            buffer.TagTable.Add(tag);
            tags.Add(tag);

            endMark = buffer.CreateMark("end-mark", buffer.EndIter, false);

            UpdateCustomFont();
            IdeApp.Preferences.CustomOutputPadFontChanged += HandleCustomFontChanged;

            outputDispatcher = new GLib.TimeoutHandler(outputDispatchHandler);
        }
Beispiel #3
0
 private void FormatTextBuffer(TextBuffer textBuffer, XmlNode linkTextNode)
 {
     XmlNodeList childNodes = linkTextNode.ChildNodes;
        foreach(XmlNode childNode in childNodes)
        {
     if (childNode.Name.Equals("a"))
     {
      XmlAttribute href = childNode.Attributes["href"];
      if (href != null)
      {
       string textTagName = href.Value;
       TextTag textTag = textBuffer.TagTable.Lookup(textTagName);
       if (textTag != null)
       {
        TextMark startTagMark = textBuffer.CreateMark(textTagName, textBuffer.EndIter, true);
        textBuffer.InsertAtCursor(childNode.InnerText);
        TextIter startTagIter = textBuffer.GetIterAtMark(startTagMark);
        TextIter endTagIter = textBuffer.EndIter;
        textBuffer.ApplyTag(textTag, startTagIter, endTagIter);
       }
      }
      else
       textBuffer.InsertAtCursor(childNode.InnerText);
     }
     else
     {
      textBuffer.InsertAtCursor(childNode.InnerText);
     }
        }
        textBuffer.ApplyTag("small-font", textBuffer.StartIter, textBuffer.EndIter);
 }
		public LogView ()
		{
			buffer = new TextBuffer (new TextTagTable ());
			textEditorControl = new LogTextView (buffer);
			textEditorControl.Editable = false;
			
			scrollView.ShadowType = ShadowType.None;
			scrollView.Add (textEditorControl);
			PackEnd (scrollView, true, true, 0);

			bold = new TextTag ("bold");
			bold.Weight = Weight.Bold;
			buffer.TagTable.Add (bold);
			
			errorTag = new TextTag ("error");
			errorTag.Foreground = "#dc3122";
			errorTag.Weight = Weight.Bold;
			buffer.TagTable.Add (errorTag);

			debugTag = new TextTag ("debug");
			debugTag.Foreground = "#256ada";
			buffer.TagTable.Add (debugTag);

			consoleLogTag = new TextTag ("consoleLog");
			consoleLogTag.Foreground = "darkgrey";
			buffer.TagTable.Add (consoleLogTag);
			
			tag = new TextTag ("0");
			tag.LeftMargin = 10;
			buffer.TagTable.Add (tag);
			tags.Add (tag);
			
			endMark = buffer.CreateMark ("end-mark", buffer.EndIter, false);

			UpdateCustomFont ();
			IdeApp.Preferences.CustomOutputPadFont.Changed += HandleCustomFontChanged;
			
			outputDispatcher = new GLib.TimeoutHandler (outputDispatchHandler);

			InitSearchWidget ();
		}
Beispiel #5
0
		public LogView ()
		{
			buffer = new Gtk.TextBuffer (new Gtk.TextTagTable ());
			textEditorControl = new LogTextView (buffer);
			textEditorControl.Editable = false;
			
			ShadowType = ShadowType.None;
			Add (textEditorControl);

			bold = new TextTag ("bold");
			bold.Weight = Pango.Weight.Bold;
			buffer.TagTable.Add (bold);
			
			errorTag = new TextTag ("error");
			errorTag.Foreground = "red";
			errorTag.Weight = Pango.Weight.Bold;
			buffer.TagTable.Add (errorTag);
			
			consoleLogTag = new TextTag ("consoleLog");
			consoleLogTag.Foreground = "darkgrey";
			buffer.TagTable.Add (consoleLogTag);
			
			tag = new TextTag ("0");
			tag.LeftMargin = 10;
			buffer.TagTable.Add (tag);
			tags.Add (tag);
			
			endMark = buffer.CreateMark ("end-mark", buffer.EndIter, false);

			UpdateCustomFont (IdeApp.Preferences.CustomOutputPadFont);
			IdeApp.Preferences.CustomOutputPadFontChanged += HandleCustomFontChanged;
			
			outputDispatcher = new GLib.TimeoutHandler (outputDispatchHandler);
		}
Beispiel #6
0
	public TextRange (TextIter start, TextIter end)
	{
		if (start.Buffer != end.Buffer)
			throw new Exception ("Start buffer and end buffer do not match");
		
		buffer = start.Buffer;
		start_mark = buffer.CreateMark (null, start, true);
		end_mark = buffer.CreateMark (null, end, true);
	}
Beispiel #7
0
 public GtkHighlighter(TextBuffer buffer)
 {
     this.buffer = buffer;
     lineStart = buffer.CreateMark(null, buffer.EndIter, true);
 }
Beispiel #8
0
        public OutputConsole()
        {
            buffer                     = new Gtk.TextBuffer(new Gtk.TextTagTable());
            textEditorControl          = new Gtk.TextView(buffer);
            textEditorControl.Editable = true;

            sw = new ScrolledWindow();

            sw.ShadowType = ShadowType.Out;
            sw.Add(textEditorControl);

            this.PackStart(sw, true, true, 0);

            vbt = new VBox();

            Gdk.Pixbuf clear_pixbuf = MainClass.Tools.GetIconFromStock("file-new.png", IconSize.SmallToolbar);
            Button     btnClear     = new Button(new Gtk.Image(clear_pixbuf));

            btnClear.TooltipText  = MainClass.Languages.Translate("clear");
            btnClear.Relief       = ReliefStyle.None;
            btnClear.CanFocus     = false;
            btnClear.WidthRequest = btnClear.HeightRequest = 24;
            btnClear.Clicked     += delegate(object sender, EventArgs e) {
                Clear();
            };

            Gdk.Pixbuf save_pixbuf = MainClass.Tools.GetIconFromStock("save.png", IconSize.SmallToolbar);
            Button     btnSave     = new Button(new Gtk.Image(save_pixbuf));

            btnSave.TooltipText  = MainClass.Languages.Translate("save");
            btnSave.Relief       = ReliefStyle.None;
            btnSave.CanFocus     = false;
            btnSave.WidthRequest = btnSave.HeightRequest = 24;
            btnSave.Clicked     += delegate(object sender, EventArgs e) {
                Save();
            };

            vbt.WidthRequest = 24;
            vbt.PackStart(btnClear, false, false, 0);
            vbt.PackStart(btnSave, false, false, 0);

            this.PackEnd(vbt, false, false, 0);

            bold        = new TextTag("bold");
            bold.Weight = Pango.Weight.Bold;
            buffer.TagTable.Add(bold);

            errorTag            = new TextTag("error");
            errorTag.Foreground = "red";
            buffer.TagTable.Add(errorTag);

            consoleLogTag            = new TextTag("consoleLog");
            consoleLogTag.Foreground = "darkgrey";
            buffer.TagTable.Add(consoleLogTag);

            tag            = new TextTag("0");
            tag.LeftMargin = 10;
            buffer.TagTable.Add(tag);
            tags.Add(tag);

            endMark = buffer.CreateMark("end-mark", buffer.EndIter, false);

            outputDispatcher = new GLib.TimeoutHandler(OutputDispatchHandler);

            customFont = Pango.FontDescription.FromString(MainClass.Settings.ConsoleTaskFont);
            textEditorControl.ModifyFont(customFont);

            textEditorControl.KeyPressEvent += HandleTextEditorControlKeyPressEvent;
            this.ShowAll();
        }
Beispiel #9
0
        public OutputConsole()
        {
            buffer = new Gtk.TextBuffer(new Gtk.TextTagTable());
            textEditorControl = new Gtk.TextView(buffer);
            textEditorControl.Editable = true;

            sw = new ScrolledWindow();

            sw.ShadowType = ShadowType.Out;
            sw.Add(textEditorControl);

            this.PackStart(sw, true, true, 0);

            vbt = new VBox();

            Gdk.Pixbuf clear_pixbuf = MainClass.Tools.GetIconFromStock("file-new.png", IconSize.SmallToolbar);
            Button btnClear = new Button(new Gtk.Image(clear_pixbuf));
            btnClear.TooltipText = MainClass.Languages.Translate("clear");
            btnClear.Relief = ReliefStyle.None;
            btnClear.CanFocus = false;
            btnClear.WidthRequest = btnClear.HeightRequest = 24;
            btnClear.Clicked += delegate(object sender, EventArgs e) {
                Clear();
            };

            Gdk.Pixbuf save_pixbuf = MainClass.Tools.GetIconFromStock("save.png", IconSize.SmallToolbar);
            Button btnSave = new Button(new Gtk.Image(save_pixbuf));
            btnSave.TooltipText = MainClass.Languages.Translate("save");
            btnSave.Relief = ReliefStyle.None;
            btnSave.CanFocus = false;
            btnSave.WidthRequest = btnSave.HeightRequest = 24;
            btnSave.Clicked += delegate(object sender, EventArgs e) {
                Save();
            };

            vbt.WidthRequest = 24;
            vbt.PackStart(btnClear, false, false, 0);
            vbt.PackStart(btnSave, false, false, 0);

            this.PackEnd(vbt, false, false, 0);

            bold = new TextTag("bold");
            bold.Weight = Pango.Weight.Bold;
            buffer.TagTable.Add(bold);

            errorTag = new TextTag("error");
            errorTag.Foreground = "red";
            buffer.TagTable.Add(errorTag);

            consoleLogTag = new TextTag("consoleLog");
            consoleLogTag.Foreground = "darkgrey";
            buffer.TagTable.Add(consoleLogTag);

            tag = new TextTag("0");
            tag.LeftMargin = 10;
            buffer.TagTable.Add(tag);
            tags.Add(tag);

            endMark = buffer.CreateMark("end-mark", buffer.EndIter, false);

            outputDispatcher = new GLib.TimeoutHandler(OutputDispatchHandler);

            customFont =  Pango.FontDescription.FromString(MainClass.Settings.ConsoleTaskFont);
            textEditorControl.ModifyFont(customFont);

            textEditorControl.KeyPressEvent += HandleTextEditorControlKeyPressEvent;
            this.ShowAll();
        }