Browse Source

Add AvalonEdit to setup.

Fixed text selection at end of document.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@3636 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 17 years ago
parent
commit
053bdcee81
  1. 9
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs
  2. 2
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Gui/SelectionMouseHandler.cs
  3. 7
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Gui/TextView.cs
  4. 4
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Utils/ExtensionMethods.cs
  5. 3
      src/Setup/Files.wxs
  6. 1
      src/Setup/Setup.wxs

9
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs

@ -5,12 +5,13 @@ @@ -5,12 +5,13 @@
// <version>$Revision$</version>
// </file>
using ICSharpCode.AvalonEdit.Document;
using System;
using System.IO;
using System.Windows.Media;
using ICSharpCode.AvalonEdit.Highlighting;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
using System.Windows.Media;
namespace ICSharpCode.AvalonEdit.AddIn
{
@ -25,6 +26,12 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -25,6 +26,12 @@ namespace ICSharpCode.AvalonEdit.AddIn
{
this.Files.Add(file);
file.ForceInitializeView(this);
textEditor.Document.Changed += textEditor_Document_Changed;
}
void textEditor_Document_Changed(object sender, DocumentChangeEventArgs e)
{
PrimaryFile.IsDirty = true;
}
public override object Content {

2
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Gui/SelectionMouseHandler.cs

@ -329,6 +329,8 @@ namespace ICSharpCode.AvalonEdit.Gui @@ -329,6 +329,8 @@ namespace ICSharpCode.AvalonEdit.Gui
if (pos.Y > textView.ActualHeight)
pos.Y = textView.ActualHeight;
pos += textView.ScrollOffset;
if (pos.Y > textView.DocumentHeight)
pos.Y = textView.DocumentHeight - ExtensionMethods.Epsilon;
VisualLine line = textView.GetVisualLineFromVisualTop(pos.Y);
if (line != null) {
visualColumn = line.GetVisualColumn(pos);

7
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Gui/TextView.cs

@ -336,6 +336,13 @@ namespace ICSharpCode.AvalonEdit.Gui @@ -336,6 +336,13 @@ namespace ICSharpCode.AvalonEdit.Gui
return heightTree.CollapseText(start, end);
}
/// <summary>
/// Gets the height of the document.
/// </summary>
public double DocumentHeight {
get { return heightTree.TotalHeight; }
}
#region Measure
TextFormatter formatter;
List<VisualLine> allVisualLines = new List<VisualLine>();

4
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Utils/ExtensionMethods.cs

@ -19,6 +19,8 @@ namespace ICSharpCode.AvalonEdit.Utils @@ -19,6 +19,8 @@ namespace ICSharpCode.AvalonEdit.Utils
{
static class ExtensionMethods
{
public const double Epsilon = 1e-8;
/// <summary>
/// Returns true if the doubles are close (difference smaller than 10^-8).
/// </summary>
@ -26,7 +28,7 @@ namespace ICSharpCode.AvalonEdit.Utils @@ -26,7 +28,7 @@ namespace ICSharpCode.AvalonEdit.Utils
{
if (d1 == d2) // required for infinities
return true;
return Math.Abs(d1 - d2) < 1e-8;
return Math.Abs(d1 - d2) < Epsilon;
}
/// <summary>

3
src/Setup/Files.wxs

@ -706,6 +706,9 @@ @@ -706,6 +706,9 @@
<Component Guid="C54C86B8-EB49-473F-B7BD-639B71226E9E" Id="ICSharpCodeCorePresentationDll" DiskId="1">
<File Source="..\..\bin\ICSharpCode.Core.Presentation.dll" Name="ICSharpCode.Core.Presentation.dll" Id="ICSharpCode.Core.Presentation.dll" KeyPath="yes" />
</Component>
<Component Guid="7ACA96F6-7075-405A-B85D-D5930E984B19" Id="ICSharpCodeAvalonEditDll" DiskId="1">
<File Source="C:\driveD\SD\4.0\SharpDevelop\bin\ICSharpCode.AvalonEdit.dll" Name="ICSharpCode.AvalonEdit.dll" Id="ICSharpCode.AvalonEdit.dll" KeyPath="yes" />
</Component>
</Directory>
<Directory Id="DocFolder" Name="doc">
<Component Guid="9DCED5AC-B771-4A4F-B4FE-69867BF2EBDE" Id="SharpDevelopDocFiles" DiskId="1">

1
src/Setup/Setup.wxs

@ -167,6 +167,7 @@ @@ -167,6 +167,7 @@
<ComponentRef Id="ICSharpCodeSharpDevelopWidgets"/>
<ComponentRef Id="ICSharpCodeSharpDevelopSdaFiles"/>
<ComponentRef Id="ICSharpCodeTextEditorDll"/>
<ComponentRef Id="ICSharpCodeAvalonEditDll"/>
<ComponentRef Id="AgaControlsDll"/>
<ComponentRef Id="log4netDll"/>
<ComponentRef Id="MonoCecilDll"/>

Loading…
Cancel
Save