From 227ea3bf0502ce35f7eddc218c522e1be4e5971b Mon Sep 17 00:00:00 2001 From: Frank Tovar Date: Sun, 19 Apr 2026 00:41:25 +0200 Subject: [PATCH] netpoet coop and 64kode --- .gitignore | 3 + 64kode/64kode.sln | 86 + 64kode/src/Core/Constant.h | 17 + 64kode/src/Core/Core.cpp | 1 + 64kode/src/Core/Core.h | 7 + 64kode/src/Core/Core.vcxproj | 133 + 64kode/src/Core/Core.vcxproj.user | 4 + 64kode/src/Core/DoWhile.h | 18 + 64kode/src/Core/For.h | 19 + 64kode/src/Core/If.h | 25 + 64kode/src/Core/Variable.h | 39 + 64kode/src/Core/While.h | 17 + 64kode/src/Math/Add.h | 23 + 64kode/src/Math/Bool.h | 78 + 64kode/src/Math/Math.cpp | 1 + 64kode/src/Math/Math.h | 6 + 64kode/src/Math/Math.i | 8 + 64kode/src/Math/Math.vcxproj | 133 + 64kode/src/Math/Math.vcxproj.user | 4 + 64kode/src/Math/MathNode.h | 33 + 64kode/src/NodeSystem/Any.h | 126 + 64kode/src/NodeSystem/Functions.h | 73 + 64kode/src/NodeSystem/Functions.inc | 117 + 64kode/src/NodeSystem/NodeRegistry.h | 357 + 64kode/src/NodeSystem/NodeRunner.h | 34 + 64kode/src/NodeSystem/NodeRunner.inc | 64 + 64kode/src/NodeSystem/NodeSystem.cpp | 4 + 64kode/src/NodeSystem/NodeSystem.h | 14 + 64kode/src/NodeSystem/NodeSystem.vcxproj | 130 + 64kode/src/NodeSystem/NodeSystem.vcxproj.user | 4 + 64kode/src/Tool/Actions/ActionBase.cs | 81 + 64kode/src/Tool/Actions/AddNewNodeAction.cs | 37 + .../src/Tool/Actions/AddNewVariableAction.cs | 35 + .../src/Tool/Actions/ChangePropertyAction.cs | 39 + .../src/Tool/Actions/ChangeSelectionAction.cs | 58 + 64kode/src/Tool/Actions/DeleteLinkAction.cs | 82 + 64kode/src/Tool/Actions/DeleteNodeAction.cs | 61 + 64kode/src/Tool/App.config | 18 + 64kode/src/Tool/App.xaml | 14 + 64kode/src/Tool/App.xaml.cs | 113 + 64kode/src/Tool/Dialogs/MessageBox.xaml | 28 + 64kode/src/Tool/Dialogs/MessageBox.xaml.cs | 32 + 64kode/src/Tool/Dialogs/QueryChooseBox.xaml | 29 + .../src/Tool/Dialogs/QueryChooseBox.xaml.cs | 39 + 64kode/src/Tool/Dialogs/UserInputBox.xaml | 23 + 64kode/src/Tool/Dialogs/UserInputBox.xaml.cs | 38 + 64kode/src/Tool/Dialogs/YesNoBox.xaml | 20 + 64kode/src/Tool/Dialogs/YesNoBox.xaml.cs | 41 + 64kode/src/Tool/IUndoContext.cs | 13 + 64kode/src/Tool/IUndoItem.cs | 19 + 64kode/src/Tool/Images/audio.png | Bin 0 -> 1172 bytes 64kode/src/Tool/Images/bigerror.png | Bin 0 -> 1464 bytes 64kode/src/Tool/Images/biginfo.png | Bin 0 -> 2362 bytes 64kode/src/Tool/Images/error.png | Bin 0 -> 909 bytes 64kode/src/Tool/Images/explorer.png | Bin 0 -> 567 bytes 64kode/src/Tool/Images/histogram.png | Bin 0 -> 639 bytes 64kode/src/Tool/Images/intro.png | Bin 0 -> 720 bytes 64kode/src/Tool/Images/notepad++.png | Bin 0 -> 642 bytes 64kode/src/Tool/Images/parade.png | Bin 0 -> 171 bytes 64kode/src/Tool/Images/sync.png | Bin 0 -> 240 bytes 64kode/src/Tool/Images/thumb.png | Bin 0 -> 158 bytes 64kode/src/Tool/Images/vectorscope.png | Bin 0 -> 645 bytes 64kode/src/Tool/Images/warning.png | Bin 0 -> 502 bytes .../Layout/Attributes/LayoutViewAttribute.cs | 21 + .../Attributes/LayoutWindowAttribute.cs | 18 + .../Attributes/MainLayoutViewAttribute.cs | 12 + .../Tool/Layout/Interfaces/ILayoutWindow.cs | 14 + .../Layout/Services/LayoutViewRegistry.cs | 183 + .../Layout/ViewModels/InheritedViewModel.cs | 32 + .../Tool/Layout/ViewModels/LayoutViewModel.cs | 23 + .../Tool/Layout/ViewModels/LeafViewModel.cs | 331 + .../Tool/Layout/ViewModels/NodeViewModel.cs | 170 + .../Layout/ViewModels/NodeViewModelBase.cs | 14 + .../Tool/Layout/ViewModels/RootViewModel.cs | 69 + .../Tool/Layout/ViewModels/ViewViewModel.cs | 48 + .../Tool/Layout/ViewModels/WindowViewModel.cs | 116 + 64kode/src/Tool/Layout/Views/LeafView.xaml | 132 + 64kode/src/Tool/Layout/Views/LeafView.xaml.cs | 396 + 64kode/src/Tool/Layout/Views/Resources.xaml | 30 + 64kode/src/Tool/Layout/Views/ViewBase.cs | 167 + 64kode/src/Tool/Layout/Views/WindowView.xaml | 31 + .../src/Tool/Layout/Views/WindowView.xaml.cs | 29 + 64kode/src/Tool/MainWindow.xaml | 59 + 64kode/src/Tool/MainWindow.xaml.cs | 119 + 64kode/src/Tool/MessageBoxService.cs | 94 + 64kode/src/Tool/NodeTemplateSelector.cs | 45 + 64kode/src/Tool/ObservableCollectionEx.cs | 79 + 64kode/src/Tool/PinConverter.cs | 47 + 64kode/src/Tool/Properties/AssemblyInfo.cs | 55 + .../src/Tool/Properties/Resources.Designer.cs | 71 + 64kode/src/Tool/Properties/Resources.resx | 117 + .../src/Tool/Properties/Settings.Designer.cs | 49 + 64kode/src/Tool/Properties/Settings.settings | 12 + 64kode/src/Tool/RelayCommand.cs | 77 + 64kode/src/Tool/Resources.xaml | 7 + 64kode/src/Tool/Themes/Dark/Theme.xaml | 96 + 64kode/src/Tool/Themes/Shared/Controls.xaml | 1388 + 64kode/src/Tool/Themes/White/Theme.xaml | 101 + 64kode/src/Tool/Tool.csproj | 321 + 64kode/src/Tool/Tool.csproj.user | 6 + .../Tool/ViewModels/ExecutePinViewModel.cs | 51 + .../Tool/ViewModels/FunctionCallViewModel.cs | 20 + .../src/Tool/ViewModels/FunctionViewModel.cs | 74 + .../src/Tool/ViewModels/InputPinViewModel.cs | 26 + 64kode/src/Tool/ViewModels/LinkViewModel.cs | 12 + 64kode/src/Tool/ViewModels/MainViewModel.cs | 110 + 64kode/src/Tool/ViewModels/NodeViewModel.cs | 140 + .../src/Tool/ViewModels/OutputPinViewModel.cs | 50 + .../src/Tool/ViewModels/PinViewModelBase.cs | 52 + .../src/Tool/ViewModels/RootPinViewModel.cs | 24 + .../src/Tool/ViewModels/UndoRedoViewModel.cs | 290 + .../Tool/ViewModels/VariableNodeViewModel.cs | 24 + .../src/Tool/ViewModels/VariableViewModel.cs | 60 + 64kode/src/Tool/ViewModels/ViewModelBase.cs | 60 + 64kode/src/Tool/Views/Core/ForView.xaml | 47 + 64kode/src/Tool/Views/Core/ForView.xaml.cs | 28 + 64kode/src/Tool/Views/Core/GetView.xaml | 77 + 64kode/src/Tool/Views/Core/GetView.xaml.cs | 28 + 64kode/src/Tool/Views/Core/IfView.xaml | 46 + 64kode/src/Tool/Views/Core/IfView.xaml.cs | 28 + 64kode/src/Tool/Views/Core/SetView.xaml | 76 + 64kode/src/Tool/Views/Core/SetView.xaml.cs | 28 + 64kode/src/Tool/Views/Core/WhileView.xaml | 45 + 64kode/src/Tool/Views/Core/WhileView.xaml.cs | 28 + 64kode/src/Tool/Views/DefaultNodeView.xaml | 79 + 64kode/src/Tool/Views/DefaultNodeView.xaml.cs | 39 + 64kode/src/Tool/Views/ExecutePinView.xaml | 13 + 64kode/src/Tool/Views/ExecutePinView.xaml.cs | 28 + 64kode/src/Tool/Views/InputPinView.xaml | 15 + 64kode/src/Tool/Views/InputPinView.xaml.cs | 28 + 64kode/src/Tool/Views/Link.cs | 65 + 64kode/src/Tool/Views/LinksView.xaml | 12 + 64kode/src/Tool/Views/LinksView.xaml.cs | 201 + 64kode/src/Tool/Views/NodeGraphView.xaml | 86 + 64kode/src/Tool/Views/NodeGraphView.xaml.cs | 336 + 64kode/src/Tool/Views/NodeViewBase.cs | 205 + 64kode/src/Tool/Views/OutputPinView.xaml | 15 + 64kode/src/Tool/Views/OutputPinView.xaml.cs | 28 + 64kode/src/Tool/Views/PinViewBase.cs | 59 + 64kode/src/Tool/Views/RootPinView.xaml | 13 + 64kode/src/Tool/Views/RootPinView.xaml.cs | 28 + 64kode/src/Tool/Views/VariablesView.xaml | 25 + 64kode/src/Tool/Views/VariablesView.xaml.cs | 53 + 64kode/src/ToolBridge/ToolBridge.cpp | 6 + 64kode/src/ToolBridge/ToolBridge.i | 5 + 64kode/src/ToolBridge/ToolBridge.vcxproj | 124 + 64kode/src/ToolBridge/ToolBridge.vcxproj.user | 4 + 64kode/src/helloworld/Fibonacci.h | 117 + 64kode/src/helloworld/helloworld.cpp | 1 + 64kode/src/helloworld/helloworld.h | 4 + 64kode/src/helloworld/helloworld.vcxproj | 134 + 64kode/src/helloworld/helloworld.vcxproj.user | 4 + 64kode/src/intro/ReadMe.txt | 40 + 64kode/src/intro/intro.cpp | 36 + 64kode/src/intro/intro.vcxproj | 147 + 64kode/src/intro/intro.vcxproj.user | 4 + 64kode/src/intro/stdafx.cpp | 8 + 64kode/src/intro/stdafx.h | 16 + 64kode/src/intro/targetver.h | 8 + 64kode/test.txt | 1 + netpoet-coop-8k/8kode.sln | 80 + .../AvalonEdit.5.0.2/AvalonEdit.5.0.2.nupkg | Bin 0 -> 552547 bytes .../AvalonEdit.5.0.2/AvalonEdit.5.0.2.nuspec | 33 + .../lib/Net35/ICSharpCode.AvalonEdit.dll | Bin 0 -> 606208 bytes .../lib/Net35/ICSharpCode.AvalonEdit.xml | 9939 ++++ .../lib/Net40/ICSharpCode.AvalonEdit.dll | Bin 0 -> 606208 bytes .../lib/Net40/ICSharpCode.AvalonEdit.xml | 9939 ++++ .../SharpDX.4.0.1/SharpDX.4.0.1.nupkg | Bin 0 -> 1317559 bytes .../SharpDX.4.0.1/lib/net40/SharpDX.dll | Bin 0 -> 278016 bytes .../SharpDX.4.0.1/lib/net40/SharpDX.xml | 38946 +++++++++++++++ .../SharpDX.4.0.1/lib/net45/SharpDX.dll | Bin 0 -> 276992 bytes .../SharpDX.4.0.1/lib/net45/SharpDX.xml | 38946 +++++++++++++++ .../lib/netcoreapp1.0/SharpDX.dll | Bin 0 -> 276992 bytes .../lib/netcoreapp1.0/SharpDX.xml | 38946 +++++++++++++++ .../lib/netstandard1.1/SharpDX.dll | Bin 0 -> 278016 bytes .../lib/netstandard1.1/SharpDX.xml | 38957 ++++++++++++++++ .../SharpDX.4.0.1/lib/uap10.0/SharpDX.dll | Bin 0 -> 262144 bytes .../SharpDX.4.0.1/lib/uap10.0/SharpDX.pri | Bin 0 -> 656 bytes .../SharpDX.4.0.1/lib/uap10.0/SharpDX.xml | 34497 ++++++++++++++ .../SharpDX.Mathematics.4.0.1.nupkg | Bin 0 -> 680261 bytes .../lib/net40/SharpDX.Mathematics.dll | Bin 0 -> 220672 bytes .../lib/net40/SharpDX.Mathematics.xml | 16396 +++++++ .../lib/net45/SharpDX.Mathematics.dll | Bin 0 -> 220672 bytes .../lib/net45/SharpDX.Mathematics.xml | 16396 +++++++ .../lib/netcoreapp1.0/SharpDX.Mathematics.dll | Bin 0 -> 220160 bytes .../lib/netcoreapp1.0/SharpDX.Mathematics.xml | 16396 +++++++ .../netstandard1.1/SharpDX.Mathematics.dll | Bin 0 -> 220672 bytes .../netstandard1.1/SharpDX.Mathematics.xml | 16396 +++++++ .../lib/uap10.0/SharpDX.Mathematics.dll | Bin 0 -> 221184 bytes .../lib/uap10.0/SharpDX.Mathematics.pri | Bin 0 -> 704 bytes .../lib/uap10.0/SharpDX.Mathematics.xml | 16396 +++++++ netpoet-coop-8k/packages/repositories.config | 4 + netpoet-coop-8k/readme.txt | 58 + .../src/intro/framework/authoring.h | 663 + .../intro/framework/codegen/intro_hlsl.g.h | 543 + .../src/intro/framework/codegen/merged.hlsl | 865 + .../intro/framework/codegen/merged.hlsl.meta | 865 + .../intro/framework/codegen/shaders_shc.g.h | 133 + .../src/intro/framework/codegen/sync.g.meta | 88 + .../src/intro/framework/codegen/syncdata.g.h | 3133 ++ .../intro/framework/codegen/syncvars.g.meta | 88 + .../src/intro/framework/codegen/syncvars.meta | 72 + netpoet-coop-8k/src/intro/framework/directx.h | 275 + .../src/intro/framework/framework.h | 141 + netpoet-coop-8k/src/intro/framework/log.h | 65 + netpoet-coop-8k/src/intro/framework/shaders.h | 139 + .../intro/framework/shaders/fullscreen.hlsl | 6 + .../framework/shaders/histogramGather.hlsl | 15 + .../framework/shaders/histogramMaximum.hlsl | 12 + .../framework/shaders/histogramSpread.hlsl | 28 + .../shaders/paradeVectorscopeGather.hlsl | 28 + .../shaders/paradeVectorscopeMaximum.hlsl | 17 + .../shaders/paradeVectorscopeSpread.hlsl | 34 + .../src/intro/framework/shaders/resolve.hlsl | 9 + .../framework/shaders/textureViewer.hlsl | 11 + netpoet-coop-8k/src/intro/framework/sound.h | 88 + netpoet-coop-8k/src/intro/framework/sync.h | 107 + .../src/intro/framework/synth/4klang.asm | 1766 + .../src/intro/framework/synth/4klang.h | 22 + .../src/intro/framework/synth/4klang.inc | 1312 + .../src/intro/framework/synth/8klang.merge | Bin 0 -> 32380 bytes .../src/intro/framework/synth/patterns.dbg | 1872 + netpoet-coop-8k/src/intro/framework/video.h | 152 + netpoet-coop-8k/src/intro/framework/window.h | 93 + netpoet-coop-8k/src/intro/intro.vcxproj | 548 + netpoet-coop-8k/src/intro/intro.vcxproj.user | 10 + netpoet-coop-8k/src/intro/intro/data.h | 70 + netpoet-coop-8k/src/intro/intro/init.h | 15 + netpoet-coop-8k/src/intro/intro/sync.xml | 549 + netpoet-coop-8k/src/intro/intro/update.h | 35 + netpoet-coop-8k/src/intro/main.cpp | 19 + netpoet-coop-8k/src/intro/shaders/aces.hlsl | 53 + .../src/intro/shaders/bluenoise.hlsl | 23 + netpoet-coop-8k/src/intro/shaders/intro.hlsl | 206 + netpoet-coop-8k/src/intro/shaders/render.hlsl | 267 + netpoet-coop-8k/src/intro/shaders/sdf.hlsl | 293 + netpoet-coop-8k/src/intro/shaders/taa.hlsl | 29 + netpoet-coop-8k/src/shc/App.config | 6 + netpoet-coop-8k/src/shc/Program.cs | 616 + .../src/shc/Properties/AssemblyInfo.cs | 36 + netpoet-coop-8k/src/shc/shc.csproj | 51 + netpoet-coop-8k/src/shc/shc.csproj.user | 7 + .../src/tool/Actions/SyncEditAction.cs | 61 + netpoet-coop-8k/src/tool/App.config | 18 + netpoet-coop-8k/src/tool/App.xaml | 13 + netpoet-coop-8k/src/tool/App.xaml.cs | 117 + .../src/tool/Dialogs/MessageBox.xaml | 27 + .../src/tool/Dialogs/MessageBox.xaml.cs | 32 + .../src/tool/Dialogs/QueryChooseBox.xaml | 28 + .../src/tool/Dialogs/QueryChooseBox.xaml.cs | 39 + .../src/tool/Dialogs/UserInputBox.xaml | 22 + .../src/tool/Dialogs/UserInputBox.xaml.cs | 38 + .../src/tool/Dialogs/YesNoBox.xaml | 19 + .../src/tool/Dialogs/YesNoBox.xaml.cs | 41 + netpoet-coop-8k/src/tool/HLSL.xshd | 409 + .../src/tool/ImageSourceService.cs | 145 + netpoet-coop-8k/src/tool/Images/audio.png | Bin 0 -> 1172 bytes netpoet-coop-8k/src/tool/Images/bigerror.png | Bin 0 -> 1464 bytes netpoet-coop-8k/src/tool/Images/biginfo.png | Bin 0 -> 2362 bytes netpoet-coop-8k/src/tool/Images/error.png | Bin 0 -> 909 bytes netpoet-coop-8k/src/tool/Images/explorer.png | Bin 0 -> 567 bytes netpoet-coop-8k/src/tool/Images/histogram.png | Bin 0 -> 639 bytes netpoet-coop-8k/src/tool/Images/intro.png | Bin 0 -> 720 bytes netpoet-coop-8k/src/tool/Images/notepad++.png | Bin 0 -> 642 bytes netpoet-coop-8k/src/tool/Images/parade.png | Bin 0 -> 171 bytes netpoet-coop-8k/src/tool/Images/sync.png | Bin 0 -> 240 bytes netpoet-coop-8k/src/tool/Images/thumb.png | Bin 0 -> 158 bytes .../src/tool/Images/vectorscope.png | Bin 0 -> 645 bytes netpoet-coop-8k/src/tool/Images/warning.png | Bin 0 -> 502 bytes .../Layout/Attributes/LayoutViewAttribute.cs | 21 + .../Attributes/LayoutWindowAttribute.cs | 18 + .../Attributes/MainLayoutViewAttribute.cs | 12 + .../tool/Layout/Interfaces/ILayoutWindow.cs | 14 + .../Layout/Services/LayoutViewRegistry.cs | 183 + .../Layout/ViewModels/InheritedViewModel.cs | 32 + .../tool/Layout/ViewModels/LeafViewModel.cs | 331 + .../tool/Layout/ViewModels/NodeViewModel.cs | 170 + .../Layout/ViewModels/NodeViewModelBase.cs | 14 + .../tool/Layout/ViewModels/RootViewModel.cs | 69 + .../tool/Layout/ViewModels/ViewViewModel.cs | 48 + .../tool/Layout/ViewModels/WindowViewModel.cs | 116 + .../src/tool/Layout/Views/LeafView.xaml | 127 + .../src/tool/Layout/Views/LeafView.xaml.cs | 396 + .../src/tool/Layout/Views/Resources.xaml | 30 + .../src/tool/Layout/Views/ViewBase.cs | 167 + .../src/tool/Layout/Views/WindowView.xaml | 31 + .../src/tool/Layout/Views/WindowView.xaml.cs | 29 + netpoet-coop-8k/src/tool/MainWindow.xaml | 32 + netpoet-coop-8k/src/tool/MainWindow.xaml.cs | 165 + netpoet-coop-8k/src/tool/MessageBoxService.cs | 94 + .../src/tool/ObservableCollectionEx.cs | 79 + .../src/tool/Properties/AssemblyInfo.cs | 55 + .../src/tool/Properties/Resources.Designer.cs | 63 + .../src/tool/Properties/Resources.resx | 117 + .../src/tool/Properties/Settings.Designer.cs | 49 + .../src/tool/Properties/Settings.settings | 12 + netpoet-coop-8k/src/tool/RelayCommand.cs | 110 + netpoet-coop-8k/src/tool/SecondaryWindow.xaml | 8 + .../src/tool/SecondaryWindow.xaml.cs | 72 + netpoet-coop-8k/src/tool/SharedMemoryTool.cs | 68 + .../src/tool/Themes/Dark/Theme.xaml | 96 + .../src/tool/Themes/Shared/Controls.xaml | 1393 + .../src/tool/Themes/White/Theme.xaml | 101 + .../src/tool/ViewModels/AudioViewModel.cs | 260 + .../src/tool/ViewModels/ErrorsViewModel.cs | 90 + .../tool/ViewModels/FileSystemViewModel.cs | 79 + .../src/tool/ViewModels/HistogramViewModel.cs | 56 + .../src/tool/ViewModels/IntroViewModel.cs | 66 + .../src/tool/ViewModels/LayoutViewModel.cs | 21 + .../src/tool/ViewModels/ParadeViewModel.cs | 58 + .../src/tool/ViewModels/SyncViewModel.cs | 344 + .../src/tool/ViewModels/TexturesViewModel.cs | 144 + .../src/tool/ViewModels/ToolViewModel.cs | 273 + .../src/tool/ViewModels/UndoRedoViewModel.cs | 216 + .../tool/ViewModels/VectorscopeViewModel.cs | 59 + .../src/tool/ViewModels/ViewModelBase.cs | 58 + netpoet-coop-8k/src/tool/Views/AudioView.xaml | 11 + .../src/tool/Views/AudioView.xaml.cs | 44 + .../src/tool/Views/ChannelsControl.xaml | 19 + .../src/tool/Views/ChannelsControl.xaml.cs | 740 + .../src/tool/Views/CodeControl.xaml | 14 + .../src/tool/Views/CodeControl.xaml.cs | 136 + netpoet-coop-8k/src/tool/Views/CodeView.xaml | 21 + .../src/tool/Views/CodeView.xaml.cs | 188 + .../src/tool/Views/ErrorsView.xaml | 50 + .../src/tool/Views/ErrorsView.xaml.cs | 47 + .../src/tool/Views/ExplorerView.xaml | 19 + .../src/tool/Views/ExplorerView.xaml.cs | 69 + .../src/tool/Views/HistogramView.xaml | 10 + .../src/tool/Views/HistogramView.xaml.cs | 32 + netpoet-coop-8k/src/tool/Views/IntroView.xaml | 27 + .../src/tool/Views/IntroView.xaml.cs | 468 + .../src/tool/Views/ParadeView.xaml | 12 + .../src/tool/Views/ParadeView.xaml.cs | 32 + .../src/tool/Views/TextMarkerService.cs | 144 + .../src/tool/Views/TexturesView.xaml | 24 + .../src/tool/Views/TexturesView.xaml.cs | 24 + .../src/tool/Views/VectorscopeView.xaml | 10 + .../src/tool/Views/VectorscopeView.xaml.cs | 32 + netpoet-coop-8k/src/tool/WriteableBitmapEx.cs | 174 + netpoet-coop-8k/src/tool/packages.config | 6 + netpoet-coop-8k/src/tool/tool.csproj | 329 + netpoet-coop-8k/src/tool/tool.csproj.user | 9 + netpoet-coop-8k/tools/4klang.dll | Bin 0 -> 1018368 bytes netpoet-coop-8k/tools/8klang.dll | Bin 0 -> 1017856 bytes netpoet-coop-8k/tools/App.config | 16 + netpoet-coop-8k/tools/FParsec.dll | Bin 0 -> 297984 bytes netpoet-coop-8k/tools/FParsec.xml | 1657 + netpoet-coop-8k/tools/FParsecCS.dll | Bin 0 -> 156160 bytes netpoet-coop-8k/tools/FParsecCS.xml | 277 + netpoet-coop-8k/tools/FSharp.Core.dll | Bin 0 -> 1506120 bytes netpoet-coop-8k/tools/FSharp.Core.xml | 11118 +++++ .../tools/FSharp.PowerPack.Linq.dll | Bin 0 -> 384512 bytes .../tools/FSharp.PowerPack.Linq.xml | 367 + .../tools/FSharp.PowerPack.Metadata.dll | Bin 0 -> 2021376 bytes .../tools/FSharp.PowerPack.Metadata.xml | 15761 +++++++ .../tools/FSharp.PowerPack.Parallel.Seq.dll | Bin 0 -> 83456 bytes .../tools/FSharp.PowerPack.Parallel.Seq.xml | 817 + netpoet-coop-8k/tools/FSharp.PowerPack.dll | Bin 0 -> 716288 bytes netpoet-coop-8k/tools/FSharp.PowerPack.pdb | Bin 0 -> 802304 bytes netpoet-coop-8k/tools/FSharp.PowerPack.xml | 5118 ++ netpoet-coop-8k/tools/link.exe | Bin 0 -> 739328 bytes netpoet-coop-8k/tools/shader_code.h | 1047 + netpoet-coop-8k/tools/shader_minifier.exe | Bin 0 -> 242176 bytes .../tools/shader_minifier.exe.config | 16 + netpoet-coop-8k/tools/shader_minifier.pdb | Bin 0 -> 378368 bytes netpoet-coop-8k/tools/yasm.exe | Bin 0 -> 628224 bytes 367 files changed, 364128 insertions(+) create mode 100644 64kode/64kode.sln create mode 100644 64kode/src/Core/Constant.h create mode 100644 64kode/src/Core/Core.cpp create mode 100644 64kode/src/Core/Core.h create mode 100644 64kode/src/Core/Core.vcxproj create mode 100644 64kode/src/Core/Core.vcxproj.user create mode 100644 64kode/src/Core/DoWhile.h create mode 100644 64kode/src/Core/For.h create mode 100644 64kode/src/Core/If.h create mode 100644 64kode/src/Core/Variable.h create mode 100644 64kode/src/Core/While.h create mode 100644 64kode/src/Math/Add.h create mode 100644 64kode/src/Math/Bool.h create mode 100644 64kode/src/Math/Math.cpp create mode 100644 64kode/src/Math/Math.h create mode 100644 64kode/src/Math/Math.i create mode 100644 64kode/src/Math/Math.vcxproj create mode 100644 64kode/src/Math/Math.vcxproj.user create mode 100644 64kode/src/Math/MathNode.h create mode 100644 64kode/src/NodeSystem/Any.h create mode 100644 64kode/src/NodeSystem/Functions.h create mode 100644 64kode/src/NodeSystem/Functions.inc create mode 100644 64kode/src/NodeSystem/NodeRegistry.h create mode 100644 64kode/src/NodeSystem/NodeRunner.h create mode 100644 64kode/src/NodeSystem/NodeRunner.inc create mode 100644 64kode/src/NodeSystem/NodeSystem.cpp create mode 100644 64kode/src/NodeSystem/NodeSystem.h create mode 100644 64kode/src/NodeSystem/NodeSystem.vcxproj create mode 100644 64kode/src/NodeSystem/NodeSystem.vcxproj.user create mode 100644 64kode/src/Tool/Actions/ActionBase.cs create mode 100644 64kode/src/Tool/Actions/AddNewNodeAction.cs create mode 100644 64kode/src/Tool/Actions/AddNewVariableAction.cs create mode 100644 64kode/src/Tool/Actions/ChangePropertyAction.cs create mode 100644 64kode/src/Tool/Actions/ChangeSelectionAction.cs create mode 100644 64kode/src/Tool/Actions/DeleteLinkAction.cs create mode 100644 64kode/src/Tool/Actions/DeleteNodeAction.cs create mode 100644 64kode/src/Tool/App.config create mode 100644 64kode/src/Tool/App.xaml create mode 100644 64kode/src/Tool/App.xaml.cs create mode 100644 64kode/src/Tool/Dialogs/MessageBox.xaml create mode 100644 64kode/src/Tool/Dialogs/MessageBox.xaml.cs create mode 100644 64kode/src/Tool/Dialogs/QueryChooseBox.xaml create mode 100644 64kode/src/Tool/Dialogs/QueryChooseBox.xaml.cs create mode 100644 64kode/src/Tool/Dialogs/UserInputBox.xaml create mode 100644 64kode/src/Tool/Dialogs/UserInputBox.xaml.cs create mode 100644 64kode/src/Tool/Dialogs/YesNoBox.xaml create mode 100644 64kode/src/Tool/Dialogs/YesNoBox.xaml.cs create mode 100644 64kode/src/Tool/IUndoContext.cs create mode 100644 64kode/src/Tool/IUndoItem.cs create mode 100644 64kode/src/Tool/Images/audio.png create mode 100644 64kode/src/Tool/Images/bigerror.png create mode 100644 64kode/src/Tool/Images/biginfo.png create mode 100644 64kode/src/Tool/Images/error.png create mode 100644 64kode/src/Tool/Images/explorer.png create mode 100644 64kode/src/Tool/Images/histogram.png create mode 100644 64kode/src/Tool/Images/intro.png create mode 100644 64kode/src/Tool/Images/notepad++.png create mode 100644 64kode/src/Tool/Images/parade.png create mode 100644 64kode/src/Tool/Images/sync.png create mode 100644 64kode/src/Tool/Images/thumb.png create mode 100644 64kode/src/Tool/Images/vectorscope.png create mode 100644 64kode/src/Tool/Images/warning.png create mode 100644 64kode/src/Tool/Layout/Attributes/LayoutViewAttribute.cs create mode 100644 64kode/src/Tool/Layout/Attributes/LayoutWindowAttribute.cs create mode 100644 64kode/src/Tool/Layout/Attributes/MainLayoutViewAttribute.cs create mode 100644 64kode/src/Tool/Layout/Interfaces/ILayoutWindow.cs create mode 100644 64kode/src/Tool/Layout/Services/LayoutViewRegistry.cs create mode 100644 64kode/src/Tool/Layout/ViewModels/InheritedViewModel.cs create mode 100644 64kode/src/Tool/Layout/ViewModels/LayoutViewModel.cs create mode 100644 64kode/src/Tool/Layout/ViewModels/LeafViewModel.cs create mode 100644 64kode/src/Tool/Layout/ViewModels/NodeViewModel.cs create mode 100644 64kode/src/Tool/Layout/ViewModels/NodeViewModelBase.cs create mode 100644 64kode/src/Tool/Layout/ViewModels/RootViewModel.cs create mode 100644 64kode/src/Tool/Layout/ViewModels/ViewViewModel.cs create mode 100644 64kode/src/Tool/Layout/ViewModels/WindowViewModel.cs create mode 100644 64kode/src/Tool/Layout/Views/LeafView.xaml create mode 100644 64kode/src/Tool/Layout/Views/LeafView.xaml.cs create mode 100644 64kode/src/Tool/Layout/Views/Resources.xaml create mode 100644 64kode/src/Tool/Layout/Views/ViewBase.cs create mode 100644 64kode/src/Tool/Layout/Views/WindowView.xaml create mode 100644 64kode/src/Tool/Layout/Views/WindowView.xaml.cs create mode 100644 64kode/src/Tool/MainWindow.xaml create mode 100644 64kode/src/Tool/MainWindow.xaml.cs create mode 100644 64kode/src/Tool/MessageBoxService.cs create mode 100644 64kode/src/Tool/NodeTemplateSelector.cs create mode 100644 64kode/src/Tool/ObservableCollectionEx.cs create mode 100644 64kode/src/Tool/PinConverter.cs create mode 100644 64kode/src/Tool/Properties/AssemblyInfo.cs create mode 100644 64kode/src/Tool/Properties/Resources.Designer.cs create mode 100644 64kode/src/Tool/Properties/Resources.resx create mode 100644 64kode/src/Tool/Properties/Settings.Designer.cs create mode 100644 64kode/src/Tool/Properties/Settings.settings create mode 100644 64kode/src/Tool/RelayCommand.cs create mode 100644 64kode/src/Tool/Resources.xaml create mode 100644 64kode/src/Tool/Themes/Dark/Theme.xaml create mode 100644 64kode/src/Tool/Themes/Shared/Controls.xaml create mode 100644 64kode/src/Tool/Themes/White/Theme.xaml create mode 100644 64kode/src/Tool/Tool.csproj create mode 100644 64kode/src/Tool/Tool.csproj.user create mode 100644 64kode/src/Tool/ViewModels/ExecutePinViewModel.cs create mode 100644 64kode/src/Tool/ViewModels/FunctionCallViewModel.cs create mode 100644 64kode/src/Tool/ViewModels/FunctionViewModel.cs create mode 100644 64kode/src/Tool/ViewModels/InputPinViewModel.cs create mode 100644 64kode/src/Tool/ViewModels/LinkViewModel.cs create mode 100644 64kode/src/Tool/ViewModels/MainViewModel.cs create mode 100644 64kode/src/Tool/ViewModels/NodeViewModel.cs create mode 100644 64kode/src/Tool/ViewModels/OutputPinViewModel.cs create mode 100644 64kode/src/Tool/ViewModels/PinViewModelBase.cs create mode 100644 64kode/src/Tool/ViewModels/RootPinViewModel.cs create mode 100644 64kode/src/Tool/ViewModels/UndoRedoViewModel.cs create mode 100644 64kode/src/Tool/ViewModels/VariableNodeViewModel.cs create mode 100644 64kode/src/Tool/ViewModels/VariableViewModel.cs create mode 100644 64kode/src/Tool/ViewModels/ViewModelBase.cs create mode 100644 64kode/src/Tool/Views/Core/ForView.xaml create mode 100644 64kode/src/Tool/Views/Core/ForView.xaml.cs create mode 100644 64kode/src/Tool/Views/Core/GetView.xaml create mode 100644 64kode/src/Tool/Views/Core/GetView.xaml.cs create mode 100644 64kode/src/Tool/Views/Core/IfView.xaml create mode 100644 64kode/src/Tool/Views/Core/IfView.xaml.cs create mode 100644 64kode/src/Tool/Views/Core/SetView.xaml create mode 100644 64kode/src/Tool/Views/Core/SetView.xaml.cs create mode 100644 64kode/src/Tool/Views/Core/WhileView.xaml create mode 100644 64kode/src/Tool/Views/Core/WhileView.xaml.cs create mode 100644 64kode/src/Tool/Views/DefaultNodeView.xaml create mode 100644 64kode/src/Tool/Views/DefaultNodeView.xaml.cs create mode 100644 64kode/src/Tool/Views/ExecutePinView.xaml create mode 100644 64kode/src/Tool/Views/ExecutePinView.xaml.cs create mode 100644 64kode/src/Tool/Views/InputPinView.xaml create mode 100644 64kode/src/Tool/Views/InputPinView.xaml.cs create mode 100644 64kode/src/Tool/Views/Link.cs create mode 100644 64kode/src/Tool/Views/LinksView.xaml create mode 100644 64kode/src/Tool/Views/LinksView.xaml.cs create mode 100644 64kode/src/Tool/Views/NodeGraphView.xaml create mode 100644 64kode/src/Tool/Views/NodeGraphView.xaml.cs create mode 100644 64kode/src/Tool/Views/NodeViewBase.cs create mode 100644 64kode/src/Tool/Views/OutputPinView.xaml create mode 100644 64kode/src/Tool/Views/OutputPinView.xaml.cs create mode 100644 64kode/src/Tool/Views/PinViewBase.cs create mode 100644 64kode/src/Tool/Views/RootPinView.xaml create mode 100644 64kode/src/Tool/Views/RootPinView.xaml.cs create mode 100644 64kode/src/Tool/Views/VariablesView.xaml create mode 100644 64kode/src/Tool/Views/VariablesView.xaml.cs create mode 100644 64kode/src/ToolBridge/ToolBridge.cpp create mode 100644 64kode/src/ToolBridge/ToolBridge.i create mode 100644 64kode/src/ToolBridge/ToolBridge.vcxproj create mode 100644 64kode/src/ToolBridge/ToolBridge.vcxproj.user create mode 100644 64kode/src/helloworld/Fibonacci.h create mode 100644 64kode/src/helloworld/helloworld.cpp create mode 100644 64kode/src/helloworld/helloworld.h create mode 100644 64kode/src/helloworld/helloworld.vcxproj create mode 100644 64kode/src/helloworld/helloworld.vcxproj.user create mode 100644 64kode/src/intro/ReadMe.txt create mode 100644 64kode/src/intro/intro.cpp create mode 100644 64kode/src/intro/intro.vcxproj create mode 100644 64kode/src/intro/intro.vcxproj.user create mode 100644 64kode/src/intro/stdafx.cpp create mode 100644 64kode/src/intro/stdafx.h create mode 100644 64kode/src/intro/targetver.h create mode 100644 64kode/test.txt create mode 100644 netpoet-coop-8k/8kode.sln create mode 100644 netpoet-coop-8k/packages/AvalonEdit.5.0.2/AvalonEdit.5.0.2.nupkg create mode 100644 netpoet-coop-8k/packages/AvalonEdit.5.0.2/AvalonEdit.5.0.2.nuspec create mode 100644 netpoet-coop-8k/packages/AvalonEdit.5.0.2/lib/Net35/ICSharpCode.AvalonEdit.dll create mode 100644 netpoet-coop-8k/packages/AvalonEdit.5.0.2/lib/Net35/ICSharpCode.AvalonEdit.xml create mode 100644 netpoet-coop-8k/packages/AvalonEdit.5.0.2/lib/Net40/ICSharpCode.AvalonEdit.dll create mode 100644 netpoet-coop-8k/packages/AvalonEdit.5.0.2/lib/Net40/ICSharpCode.AvalonEdit.xml create mode 100644 netpoet-coop-8k/packages/SharpDX.4.0.1/SharpDX.4.0.1.nupkg create mode 100644 netpoet-coop-8k/packages/SharpDX.4.0.1/lib/net40/SharpDX.dll create mode 100644 netpoet-coop-8k/packages/SharpDX.4.0.1/lib/net40/SharpDX.xml create mode 100644 netpoet-coop-8k/packages/SharpDX.4.0.1/lib/net45/SharpDX.dll create mode 100644 netpoet-coop-8k/packages/SharpDX.4.0.1/lib/net45/SharpDX.xml create mode 100644 netpoet-coop-8k/packages/SharpDX.4.0.1/lib/netcoreapp1.0/SharpDX.dll create mode 100644 netpoet-coop-8k/packages/SharpDX.4.0.1/lib/netcoreapp1.0/SharpDX.xml create mode 100644 netpoet-coop-8k/packages/SharpDX.4.0.1/lib/netstandard1.1/SharpDX.dll create mode 100644 netpoet-coop-8k/packages/SharpDX.4.0.1/lib/netstandard1.1/SharpDX.xml create mode 100644 netpoet-coop-8k/packages/SharpDX.4.0.1/lib/uap10.0/SharpDX.dll create mode 100644 netpoet-coop-8k/packages/SharpDX.4.0.1/lib/uap10.0/SharpDX.pri create mode 100644 netpoet-coop-8k/packages/SharpDX.4.0.1/lib/uap10.0/SharpDX.xml create mode 100644 netpoet-coop-8k/packages/SharpDX.Mathematics.4.0.1/SharpDX.Mathematics.4.0.1.nupkg create mode 100644 netpoet-coop-8k/packages/SharpDX.Mathematics.4.0.1/lib/net40/SharpDX.Mathematics.dll create mode 100644 netpoet-coop-8k/packages/SharpDX.Mathematics.4.0.1/lib/net40/SharpDX.Mathematics.xml create mode 100644 netpoet-coop-8k/packages/SharpDX.Mathematics.4.0.1/lib/net45/SharpDX.Mathematics.dll create mode 100644 netpoet-coop-8k/packages/SharpDX.Mathematics.4.0.1/lib/net45/SharpDX.Mathematics.xml create mode 100644 netpoet-coop-8k/packages/SharpDX.Mathematics.4.0.1/lib/netcoreapp1.0/SharpDX.Mathematics.dll create mode 100644 netpoet-coop-8k/packages/SharpDX.Mathematics.4.0.1/lib/netcoreapp1.0/SharpDX.Mathematics.xml create mode 100644 netpoet-coop-8k/packages/SharpDX.Mathematics.4.0.1/lib/netstandard1.1/SharpDX.Mathematics.dll create mode 100644 netpoet-coop-8k/packages/SharpDX.Mathematics.4.0.1/lib/netstandard1.1/SharpDX.Mathematics.xml create mode 100644 netpoet-coop-8k/packages/SharpDX.Mathematics.4.0.1/lib/uap10.0/SharpDX.Mathematics.dll create mode 100644 netpoet-coop-8k/packages/SharpDX.Mathematics.4.0.1/lib/uap10.0/SharpDX.Mathematics.pri create mode 100644 netpoet-coop-8k/packages/SharpDX.Mathematics.4.0.1/lib/uap10.0/SharpDX.Mathematics.xml create mode 100644 netpoet-coop-8k/packages/repositories.config create mode 100644 netpoet-coop-8k/readme.txt create mode 100644 netpoet-coop-8k/src/intro/framework/authoring.h create mode 100644 netpoet-coop-8k/src/intro/framework/codegen/intro_hlsl.g.h create mode 100644 netpoet-coop-8k/src/intro/framework/codegen/merged.hlsl create mode 100644 netpoet-coop-8k/src/intro/framework/codegen/merged.hlsl.meta create mode 100644 netpoet-coop-8k/src/intro/framework/codegen/shaders_shc.g.h create mode 100644 netpoet-coop-8k/src/intro/framework/codegen/sync.g.meta create mode 100644 netpoet-coop-8k/src/intro/framework/codegen/syncdata.g.h create mode 100644 netpoet-coop-8k/src/intro/framework/codegen/syncvars.g.meta create mode 100644 netpoet-coop-8k/src/intro/framework/codegen/syncvars.meta create mode 100644 netpoet-coop-8k/src/intro/framework/directx.h create mode 100644 netpoet-coop-8k/src/intro/framework/framework.h create mode 100644 netpoet-coop-8k/src/intro/framework/log.h create mode 100644 netpoet-coop-8k/src/intro/framework/shaders.h create mode 100644 netpoet-coop-8k/src/intro/framework/shaders/fullscreen.hlsl create mode 100644 netpoet-coop-8k/src/intro/framework/shaders/histogramGather.hlsl create mode 100644 netpoet-coop-8k/src/intro/framework/shaders/histogramMaximum.hlsl create mode 100644 netpoet-coop-8k/src/intro/framework/shaders/histogramSpread.hlsl create mode 100644 netpoet-coop-8k/src/intro/framework/shaders/paradeVectorscopeGather.hlsl create mode 100644 netpoet-coop-8k/src/intro/framework/shaders/paradeVectorscopeMaximum.hlsl create mode 100644 netpoet-coop-8k/src/intro/framework/shaders/paradeVectorscopeSpread.hlsl create mode 100644 netpoet-coop-8k/src/intro/framework/shaders/resolve.hlsl create mode 100644 netpoet-coop-8k/src/intro/framework/shaders/textureViewer.hlsl create mode 100644 netpoet-coop-8k/src/intro/framework/sound.h create mode 100644 netpoet-coop-8k/src/intro/framework/sync.h create mode 100644 netpoet-coop-8k/src/intro/framework/synth/4klang.asm create mode 100644 netpoet-coop-8k/src/intro/framework/synth/4klang.h create mode 100644 netpoet-coop-8k/src/intro/framework/synth/4klang.inc create mode 100644 netpoet-coop-8k/src/intro/framework/synth/8klang.merge create mode 100644 netpoet-coop-8k/src/intro/framework/synth/patterns.dbg create mode 100644 netpoet-coop-8k/src/intro/framework/video.h create mode 100644 netpoet-coop-8k/src/intro/framework/window.h create mode 100644 netpoet-coop-8k/src/intro/intro.vcxproj create mode 100644 netpoet-coop-8k/src/intro/intro.vcxproj.user create mode 100644 netpoet-coop-8k/src/intro/intro/data.h create mode 100644 netpoet-coop-8k/src/intro/intro/init.h create mode 100644 netpoet-coop-8k/src/intro/intro/sync.xml create mode 100644 netpoet-coop-8k/src/intro/intro/update.h create mode 100644 netpoet-coop-8k/src/intro/main.cpp create mode 100644 netpoet-coop-8k/src/intro/shaders/aces.hlsl create mode 100644 netpoet-coop-8k/src/intro/shaders/bluenoise.hlsl create mode 100644 netpoet-coop-8k/src/intro/shaders/intro.hlsl create mode 100644 netpoet-coop-8k/src/intro/shaders/render.hlsl create mode 100644 netpoet-coop-8k/src/intro/shaders/sdf.hlsl create mode 100644 netpoet-coop-8k/src/intro/shaders/taa.hlsl create mode 100644 netpoet-coop-8k/src/shc/App.config create mode 100644 netpoet-coop-8k/src/shc/Program.cs create mode 100644 netpoet-coop-8k/src/shc/Properties/AssemblyInfo.cs create mode 100644 netpoet-coop-8k/src/shc/shc.csproj create mode 100644 netpoet-coop-8k/src/shc/shc.csproj.user create mode 100644 netpoet-coop-8k/src/tool/Actions/SyncEditAction.cs create mode 100644 netpoet-coop-8k/src/tool/App.config create mode 100644 netpoet-coop-8k/src/tool/App.xaml create mode 100644 netpoet-coop-8k/src/tool/App.xaml.cs create mode 100644 netpoet-coop-8k/src/tool/Dialogs/MessageBox.xaml create mode 100644 netpoet-coop-8k/src/tool/Dialogs/MessageBox.xaml.cs create mode 100644 netpoet-coop-8k/src/tool/Dialogs/QueryChooseBox.xaml create mode 100644 netpoet-coop-8k/src/tool/Dialogs/QueryChooseBox.xaml.cs create mode 100644 netpoet-coop-8k/src/tool/Dialogs/UserInputBox.xaml create mode 100644 netpoet-coop-8k/src/tool/Dialogs/UserInputBox.xaml.cs create mode 100644 netpoet-coop-8k/src/tool/Dialogs/YesNoBox.xaml create mode 100644 netpoet-coop-8k/src/tool/Dialogs/YesNoBox.xaml.cs create mode 100644 netpoet-coop-8k/src/tool/HLSL.xshd create mode 100644 netpoet-coop-8k/src/tool/ImageSourceService.cs create mode 100644 netpoet-coop-8k/src/tool/Images/audio.png create mode 100644 netpoet-coop-8k/src/tool/Images/bigerror.png create mode 100644 netpoet-coop-8k/src/tool/Images/biginfo.png create mode 100644 netpoet-coop-8k/src/tool/Images/error.png create mode 100644 netpoet-coop-8k/src/tool/Images/explorer.png create mode 100644 netpoet-coop-8k/src/tool/Images/histogram.png create mode 100644 netpoet-coop-8k/src/tool/Images/intro.png create mode 100644 netpoet-coop-8k/src/tool/Images/notepad++.png create mode 100644 netpoet-coop-8k/src/tool/Images/parade.png create mode 100644 netpoet-coop-8k/src/tool/Images/sync.png create mode 100644 netpoet-coop-8k/src/tool/Images/thumb.png create mode 100644 netpoet-coop-8k/src/tool/Images/vectorscope.png create mode 100644 netpoet-coop-8k/src/tool/Images/warning.png create mode 100644 netpoet-coop-8k/src/tool/Layout/Attributes/LayoutViewAttribute.cs create mode 100644 netpoet-coop-8k/src/tool/Layout/Attributes/LayoutWindowAttribute.cs create mode 100644 netpoet-coop-8k/src/tool/Layout/Attributes/MainLayoutViewAttribute.cs create mode 100644 netpoet-coop-8k/src/tool/Layout/Interfaces/ILayoutWindow.cs create mode 100644 netpoet-coop-8k/src/tool/Layout/Services/LayoutViewRegistry.cs create mode 100644 netpoet-coop-8k/src/tool/Layout/ViewModels/InheritedViewModel.cs create mode 100644 netpoet-coop-8k/src/tool/Layout/ViewModels/LeafViewModel.cs create mode 100644 netpoet-coop-8k/src/tool/Layout/ViewModels/NodeViewModel.cs create mode 100644 netpoet-coop-8k/src/tool/Layout/ViewModels/NodeViewModelBase.cs create mode 100644 netpoet-coop-8k/src/tool/Layout/ViewModels/RootViewModel.cs create mode 100644 netpoet-coop-8k/src/tool/Layout/ViewModels/ViewViewModel.cs create mode 100644 netpoet-coop-8k/src/tool/Layout/ViewModels/WindowViewModel.cs create mode 100644 netpoet-coop-8k/src/tool/Layout/Views/LeafView.xaml create mode 100644 netpoet-coop-8k/src/tool/Layout/Views/LeafView.xaml.cs create mode 100644 netpoet-coop-8k/src/tool/Layout/Views/Resources.xaml create mode 100644 netpoet-coop-8k/src/tool/Layout/Views/ViewBase.cs create mode 100644 netpoet-coop-8k/src/tool/Layout/Views/WindowView.xaml create mode 100644 netpoet-coop-8k/src/tool/Layout/Views/WindowView.xaml.cs create mode 100644 netpoet-coop-8k/src/tool/MainWindow.xaml create mode 100644 netpoet-coop-8k/src/tool/MainWindow.xaml.cs create mode 100644 netpoet-coop-8k/src/tool/MessageBoxService.cs create mode 100644 netpoet-coop-8k/src/tool/ObservableCollectionEx.cs create mode 100644 netpoet-coop-8k/src/tool/Properties/AssemblyInfo.cs create mode 100644 netpoet-coop-8k/src/tool/Properties/Resources.Designer.cs create mode 100644 netpoet-coop-8k/src/tool/Properties/Resources.resx create mode 100644 netpoet-coop-8k/src/tool/Properties/Settings.Designer.cs create mode 100644 netpoet-coop-8k/src/tool/Properties/Settings.settings create mode 100644 netpoet-coop-8k/src/tool/RelayCommand.cs create mode 100644 netpoet-coop-8k/src/tool/SecondaryWindow.xaml create mode 100644 netpoet-coop-8k/src/tool/SecondaryWindow.xaml.cs create mode 100644 netpoet-coop-8k/src/tool/SharedMemoryTool.cs create mode 100644 netpoet-coop-8k/src/tool/Themes/Dark/Theme.xaml create mode 100644 netpoet-coop-8k/src/tool/Themes/Shared/Controls.xaml create mode 100644 netpoet-coop-8k/src/tool/Themes/White/Theme.xaml create mode 100644 netpoet-coop-8k/src/tool/ViewModels/AudioViewModel.cs create mode 100644 netpoet-coop-8k/src/tool/ViewModels/ErrorsViewModel.cs create mode 100644 netpoet-coop-8k/src/tool/ViewModels/FileSystemViewModel.cs create mode 100644 netpoet-coop-8k/src/tool/ViewModels/HistogramViewModel.cs create mode 100644 netpoet-coop-8k/src/tool/ViewModels/IntroViewModel.cs create mode 100644 netpoet-coop-8k/src/tool/ViewModels/LayoutViewModel.cs create mode 100644 netpoet-coop-8k/src/tool/ViewModels/ParadeViewModel.cs create mode 100644 netpoet-coop-8k/src/tool/ViewModels/SyncViewModel.cs create mode 100644 netpoet-coop-8k/src/tool/ViewModels/TexturesViewModel.cs create mode 100644 netpoet-coop-8k/src/tool/ViewModels/ToolViewModel.cs create mode 100644 netpoet-coop-8k/src/tool/ViewModels/UndoRedoViewModel.cs create mode 100644 netpoet-coop-8k/src/tool/ViewModels/VectorscopeViewModel.cs create mode 100644 netpoet-coop-8k/src/tool/ViewModels/ViewModelBase.cs create mode 100644 netpoet-coop-8k/src/tool/Views/AudioView.xaml create mode 100644 netpoet-coop-8k/src/tool/Views/AudioView.xaml.cs create mode 100644 netpoet-coop-8k/src/tool/Views/ChannelsControl.xaml create mode 100644 netpoet-coop-8k/src/tool/Views/ChannelsControl.xaml.cs create mode 100644 netpoet-coop-8k/src/tool/Views/CodeControl.xaml create mode 100644 netpoet-coop-8k/src/tool/Views/CodeControl.xaml.cs create mode 100644 netpoet-coop-8k/src/tool/Views/CodeView.xaml create mode 100644 netpoet-coop-8k/src/tool/Views/CodeView.xaml.cs create mode 100644 netpoet-coop-8k/src/tool/Views/ErrorsView.xaml create mode 100644 netpoet-coop-8k/src/tool/Views/ErrorsView.xaml.cs create mode 100644 netpoet-coop-8k/src/tool/Views/ExplorerView.xaml create mode 100644 netpoet-coop-8k/src/tool/Views/ExplorerView.xaml.cs create mode 100644 netpoet-coop-8k/src/tool/Views/HistogramView.xaml create mode 100644 netpoet-coop-8k/src/tool/Views/HistogramView.xaml.cs create mode 100644 netpoet-coop-8k/src/tool/Views/IntroView.xaml create mode 100644 netpoet-coop-8k/src/tool/Views/IntroView.xaml.cs create mode 100644 netpoet-coop-8k/src/tool/Views/ParadeView.xaml create mode 100644 netpoet-coop-8k/src/tool/Views/ParadeView.xaml.cs create mode 100644 netpoet-coop-8k/src/tool/Views/TextMarkerService.cs create mode 100644 netpoet-coop-8k/src/tool/Views/TexturesView.xaml create mode 100644 netpoet-coop-8k/src/tool/Views/TexturesView.xaml.cs create mode 100644 netpoet-coop-8k/src/tool/Views/VectorscopeView.xaml create mode 100644 netpoet-coop-8k/src/tool/Views/VectorscopeView.xaml.cs create mode 100644 netpoet-coop-8k/src/tool/WriteableBitmapEx.cs create mode 100644 netpoet-coop-8k/src/tool/packages.config create mode 100644 netpoet-coop-8k/src/tool/tool.csproj create mode 100644 netpoet-coop-8k/src/tool/tool.csproj.user create mode 100644 netpoet-coop-8k/tools/4klang.dll create mode 100644 netpoet-coop-8k/tools/8klang.dll create mode 100644 netpoet-coop-8k/tools/App.config create mode 100644 netpoet-coop-8k/tools/FParsec.dll create mode 100644 netpoet-coop-8k/tools/FParsec.xml create mode 100644 netpoet-coop-8k/tools/FParsecCS.dll create mode 100644 netpoet-coop-8k/tools/FParsecCS.xml create mode 100644 netpoet-coop-8k/tools/FSharp.Core.dll create mode 100644 netpoet-coop-8k/tools/FSharp.Core.xml create mode 100644 netpoet-coop-8k/tools/FSharp.PowerPack.Linq.dll create mode 100644 netpoet-coop-8k/tools/FSharp.PowerPack.Linq.xml create mode 100644 netpoet-coop-8k/tools/FSharp.PowerPack.Metadata.dll create mode 100644 netpoet-coop-8k/tools/FSharp.PowerPack.Metadata.xml create mode 100644 netpoet-coop-8k/tools/FSharp.PowerPack.Parallel.Seq.dll create mode 100644 netpoet-coop-8k/tools/FSharp.PowerPack.Parallel.Seq.xml create mode 100644 netpoet-coop-8k/tools/FSharp.PowerPack.dll create mode 100644 netpoet-coop-8k/tools/FSharp.PowerPack.pdb create mode 100644 netpoet-coop-8k/tools/FSharp.PowerPack.xml create mode 100644 netpoet-coop-8k/tools/link.exe create mode 100644 netpoet-coop-8k/tools/shader_code.h create mode 100644 netpoet-coop-8k/tools/shader_minifier.exe create mode 100644 netpoet-coop-8k/tools/shader_minifier.exe.config create mode 100644 netpoet-coop-8k/tools/shader_minifier.pdb create mode 100644 netpoet-coop-8k/tools/yasm.exe diff --git a/.gitignore b/.gitignore index e69de29..f677870 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,3 @@ +bin +obj +.vs \ No newline at end of file diff --git a/64kode/64kode.sln b/64kode/64kode.sln new file mode 100644 index 0000000..676515c --- /dev/null +++ b/64kode/64kode.sln @@ -0,0 +1,86 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26403.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "intro", "src\intro\intro.vcxproj", "{3156012A-9165-4DAC-B53B-FEA6EC9A1D32}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NodeSystem", "src\NodeSystem\NodeSystem.vcxproj", "{3F0D4F6B-03BE-4D66-A2EF-47EC5D961BCA}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Core", "src\Core\Core.vcxproj", "{8E06A4A1-40D6-4ACA-BAFB-2B3850CD3578}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Math", "src\Math\Math.vcxproj", "{618E98D1-BDE7-49A2-8CDD-FB2E660CD590}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tool", "src\Tool\Tool.csproj", "{8F47CC11-D2A1-4C38-8ECF-30BCEDA2208B}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{E142202B-520D-432C-B26F-F79F910EB90F}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Executables", "Executables", "{C0D563AE-148C-489F-8462-83282F7D00BB}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ToolBridge", "src\ToolBridge\ToolBridge.vcxproj", "{4AC87545-9F48-48A7-A84A-95C84BA97921}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "helloworld", "src\helloworld\helloworld.vcxproj", "{DFADD377-3C32-4920-98A8-79696F83382C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Authoring|x86 = Authoring|x86 + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {3156012A-9165-4DAC-B53B-FEA6EC9A1D32}.Authoring|x86.ActiveCfg = Authoring|Win32 + {3156012A-9165-4DAC-B53B-FEA6EC9A1D32}.Authoring|x86.Build.0 = Authoring|Win32 + {3156012A-9165-4DAC-B53B-FEA6EC9A1D32}.Debug|x86.ActiveCfg = Debug|Win32 + {3156012A-9165-4DAC-B53B-FEA6EC9A1D32}.Debug|x86.Build.0 = Debug|Win32 + {3156012A-9165-4DAC-B53B-FEA6EC9A1D32}.Release|x86.ActiveCfg = Release|Win32 + {3156012A-9165-4DAC-B53B-FEA6EC9A1D32}.Release|x86.Build.0 = Release|Win32 + {3F0D4F6B-03BE-4D66-A2EF-47EC5D961BCA}.Authoring|x86.ActiveCfg = Authoring|Win32 + {3F0D4F6B-03BE-4D66-A2EF-47EC5D961BCA}.Authoring|x86.Build.0 = Authoring|Win32 + {3F0D4F6B-03BE-4D66-A2EF-47EC5D961BCA}.Debug|x86.ActiveCfg = Debug|Win32 + {3F0D4F6B-03BE-4D66-A2EF-47EC5D961BCA}.Debug|x86.Build.0 = Debug|Win32 + {3F0D4F6B-03BE-4D66-A2EF-47EC5D961BCA}.Release|x86.ActiveCfg = Release|Win32 + {3F0D4F6B-03BE-4D66-A2EF-47EC5D961BCA}.Release|x86.Build.0 = Release|Win32 + {8E06A4A1-40D6-4ACA-BAFB-2B3850CD3578}.Authoring|x86.ActiveCfg = Authoring|Win32 + {8E06A4A1-40D6-4ACA-BAFB-2B3850CD3578}.Authoring|x86.Build.0 = Authoring|Win32 + {8E06A4A1-40D6-4ACA-BAFB-2B3850CD3578}.Debug|x86.ActiveCfg = Debug|Win32 + {8E06A4A1-40D6-4ACA-BAFB-2B3850CD3578}.Debug|x86.Build.0 = Debug|Win32 + {8E06A4A1-40D6-4ACA-BAFB-2B3850CD3578}.Release|x86.ActiveCfg = Release|Win32 + {8E06A4A1-40D6-4ACA-BAFB-2B3850CD3578}.Release|x86.Build.0 = Release|Win32 + {618E98D1-BDE7-49A2-8CDD-FB2E660CD590}.Authoring|x86.ActiveCfg = Authoring|Win32 + {618E98D1-BDE7-49A2-8CDD-FB2E660CD590}.Authoring|x86.Build.0 = Authoring|Win32 + {618E98D1-BDE7-49A2-8CDD-FB2E660CD590}.Debug|x86.ActiveCfg = Debug|Win32 + {618E98D1-BDE7-49A2-8CDD-FB2E660CD590}.Debug|x86.Build.0 = Debug|Win32 + {618E98D1-BDE7-49A2-8CDD-FB2E660CD590}.Release|x86.ActiveCfg = Release|Win32 + {618E98D1-BDE7-49A2-8CDD-FB2E660CD590}.Release|x86.Build.0 = Release|Win32 + {8F47CC11-D2A1-4C38-8ECF-30BCEDA2208B}.Authoring|x86.ActiveCfg = Debug|x86 + {8F47CC11-D2A1-4C38-8ECF-30BCEDA2208B}.Authoring|x86.Build.0 = Debug|x86 + {8F47CC11-D2A1-4C38-8ECF-30BCEDA2208B}.Debug|x86.ActiveCfg = Debug|x86 + {8F47CC11-D2A1-4C38-8ECF-30BCEDA2208B}.Debug|x86.Build.0 = Debug|x86 + {8F47CC11-D2A1-4C38-8ECF-30BCEDA2208B}.Release|x86.ActiveCfg = Release|x86 + {8F47CC11-D2A1-4C38-8ECF-30BCEDA2208B}.Release|x86.Build.0 = Release|x86 + {4AC87545-9F48-48A7-A84A-95C84BA97921}.Authoring|x86.ActiveCfg = Authoring|Win32 + {4AC87545-9F48-48A7-A84A-95C84BA97921}.Authoring|x86.Build.0 = Authoring|Win32 + {4AC87545-9F48-48A7-A84A-95C84BA97921}.Debug|x86.ActiveCfg = Debug|Win32 + {4AC87545-9F48-48A7-A84A-95C84BA97921}.Debug|x86.Build.0 = Debug|Win32 + {4AC87545-9F48-48A7-A84A-95C84BA97921}.Release|x86.ActiveCfg = Release|Win32 + {4AC87545-9F48-48A7-A84A-95C84BA97921}.Release|x86.Build.0 = Release|Win32 + {DFADD377-3C32-4920-98A8-79696F83382C}.Authoring|x86.ActiveCfg = Authoring|Win32 + {DFADD377-3C32-4920-98A8-79696F83382C}.Authoring|x86.Build.0 = Authoring|Win32 + {DFADD377-3C32-4920-98A8-79696F83382C}.Debug|x86.ActiveCfg = Debug|Win32 + {DFADD377-3C32-4920-98A8-79696F83382C}.Debug|x86.Build.0 = Debug|Win32 + {DFADD377-3C32-4920-98A8-79696F83382C}.Release|x86.ActiveCfg = Release|Win32 + {DFADD377-3C32-4920-98A8-79696F83382C}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {3156012A-9165-4DAC-B53B-FEA6EC9A1D32} = {C0D563AE-148C-489F-8462-83282F7D00BB} + {3F0D4F6B-03BE-4D66-A2EF-47EC5D961BCA} = {E142202B-520D-432C-B26F-F79F910EB90F} + {8E06A4A1-40D6-4ACA-BAFB-2B3850CD3578} = {E142202B-520D-432C-B26F-F79F910EB90F} + {618E98D1-BDE7-49A2-8CDD-FB2E660CD590} = {E142202B-520D-432C-B26F-F79F910EB90F} + {8F47CC11-D2A1-4C38-8ECF-30BCEDA2208B} = {C0D563AE-148C-489F-8462-83282F7D00BB} + {4AC87545-9F48-48A7-A84A-95C84BA97921} = {E142202B-520D-432C-B26F-F79F910EB90F} + {DFADD377-3C32-4920-98A8-79696F83382C} = {E142202B-520D-432C-B26F-F79F910EB90F} + EndGlobalSection +EndGlobal diff --git a/64kode/src/Core/Constant.h b/64kode/src/Core/Constant.h new file mode 100644 index 0000000..75247dd --- /dev/null +++ b/64kode/src/Core/Constant.h @@ -0,0 +1,17 @@ +#pragma once + +namespace kode64 +{ + +BEGIN_NODE(Core, Constant) + +BEGIN_EXEC +Write(Value, Read(ConstValue)); +END_EXEC + +PIN_INPUT(ConstValue, 0); +PIN_OUTPUT(Value); + +END_NODE + +} \ No newline at end of file diff --git a/64kode/src/Core/Core.cpp b/64kode/src/Core/Core.cpp new file mode 100644 index 0000000..bdcb69b --- /dev/null +++ b/64kode/src/Core/Core.cpp @@ -0,0 +1 @@ +#include "Core.h" \ No newline at end of file diff --git a/64kode/src/Core/Core.h b/64kode/src/Core/Core.h new file mode 100644 index 0000000..652ac5f --- /dev/null +++ b/64kode/src/Core/Core.h @@ -0,0 +1,7 @@ +#include +#include "If.h" +#include "For.h" +#include "While.h" +#include "DoWhile.h" +#include "Variable.h" +#include "Constant.h" diff --git a/64kode/src/Core/Core.vcxproj b/64kode/src/Core/Core.vcxproj new file mode 100644 index 0000000..f5a9482 --- /dev/null +++ b/64kode/src/Core/Core.vcxproj @@ -0,0 +1,133 @@ + + + + + Authoring + Win32 + + + Debug + Win32 + + + Release + Win32 + + + + 15.0 + {8E06A4A1-40D6-4ACA-BAFB-2B3850CD3578} + Core + 10.0 + + + + StaticLibrary + true + v142 + false + NotSet + + + StaticLibrary + true + v142 + true + NotSet + + + StaticLibrary + false + v142 + true + false + NotSet + + + + + + + + + + + + + + + + + + $(SolutionDir)src;$(IncludePath) + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)\ + + + $(SolutionDir)src;$(IncludePath) + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)\ + + + $(SolutionDir)src;$(IncludePath) + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)\ + + + + Level3 + Disabled + true + false + stdcpp17 + + + + + Level3 + Disabled + true + AUTHORING;_WINDLL;%(PreprocessorDefinitions) + stdcpp17 + false + + + + + Level3 + MaxSpeed + true + true + true + false + stdcpp17 + + + true + true + + + + + {3f0d4f6b-03be-4d66-a2ef-47ec5d961bca} + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/64kode/src/Core/Core.vcxproj.user b/64kode/src/Core/Core.vcxproj.user new file mode 100644 index 0000000..88a5509 --- /dev/null +++ b/64kode/src/Core/Core.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/64kode/src/Core/DoWhile.h b/64kode/src/Core/DoWhile.h new file mode 100644 index 0000000..fafae20 --- /dev/null +++ b/64kode/src/Core/DoWhile.h @@ -0,0 +1,18 @@ +#pragma once + +namespace kode64 +{ + +BEGIN_NODE(Core, DoWhile) + +BEGIN_EXEC +do Run(Body); +while (Read(BoolExpr)); +END_EXEC + +PIN_EXEC(Body); +PIN_INPUT(BoolExpr, false); + +END_NODE + +} diff --git a/64kode/src/Core/For.h b/64kode/src/Core/For.h new file mode 100644 index 0000000..95257d8 --- /dev/null +++ b/64kode/src/Core/For.h @@ -0,0 +1,19 @@ +#pragma once + +namespace kode64 +{ + +BEGIN_NODE(Core, For) + +BEGIN_EXEC +for (Run(Begin); Read(BoolExpr); Run(Increment)) Run(Body); +END_EXEC + +PIN_EXEC(Begin); +PIN_INPUT(BoolExpr, false); +PIN_EXEC(Increment); +PIN_EXEC(Body); + +END_NODE + +} diff --git a/64kode/src/Core/If.h b/64kode/src/Core/If.h new file mode 100644 index 0000000..c91bb30 --- /dev/null +++ b/64kode/src/Core/If.h @@ -0,0 +1,25 @@ +#pragma once + +namespace kode64 +{ + +BEGIN_NODE(Core, If) + +BEGIN_EXEC +if (Read(BoolExpr)) +{ + Run(True); +} +else +{ + Run(False); +}; +END_EXEC + +PIN_EXEC(True); +PIN_EXEC(False); +PIN_INPUT(BoolExpr, false); + +END_NODE + +} diff --git a/64kode/src/Core/Variable.h b/64kode/src/Core/Variable.h new file mode 100644 index 0000000..4a16a17 --- /dev/null +++ b/64kode/src/Core/Variable.h @@ -0,0 +1,39 @@ +#pragma once + +namespace kode64 +{ + +BEGIN_NODE(Core, Get) + +BEGIN_EXEC +unsigned int iVariable = Read(Variable); +unsigned int iFunction = Read(Function); +auto function = Function::functions[iFunction]; +auto value = function->variables[iVariable]; +Write(Value, value); +END_EXEC + +PIN_INPUT(Function, 4924967295u); +PIN_INPUT(Variable, 4924967295u); +PIN_OUTPUT(Value); + +END_NODE + + +BEGIN_NODE(Core, Set) + +BEGIN_EXEC +unsigned int iVariable = Read(Variable); +unsigned int iFunction = Read(Function); +auto function = Function::functions[iFunction]; +auto value = Read(Value); +function->variables[iVariable] = value; +END_EXEC + +PIN_INPUT(Function, 4924967295u); +PIN_INPUT(Variable, 4924967295u); +PIN_INPUT(Value, 0.0); + +END_NODE + +} diff --git a/64kode/src/Core/While.h b/64kode/src/Core/While.h new file mode 100644 index 0000000..54530c6 --- /dev/null +++ b/64kode/src/Core/While.h @@ -0,0 +1,17 @@ +#pragma once + +namespace kode64 +{ + +BEGIN_NODE(Core, While) + +BEGIN_EXEC +while (Read(BoolExpr)) Run(Body); +END_EXEC + +PIN_INPUT(BoolExpr, false); +PIN_EXEC(Body); + +END_NODE + +} diff --git a/64kode/src/Math/Add.h b/64kode/src/Math/Add.h new file mode 100644 index 0000000..1ffac8e --- /dev/null +++ b/64kode/src/Math/Add.h @@ -0,0 +1,23 @@ +#pragma once + +namespace kode64 +{ + +BEGIN_NODE_BASE(Math, Add, MathNode) + +double Op(double first) override +{ + double result = first; +#ifdef AUTHORING + auto count = inputPins->Count; + for (int i = 1; i < count; ++i) result += Read(inputPins[i]); +#else + auto count = inputPins.size(); + for (int i = 1; i < count; ++i) result += Read(i); +#endif + return result; +} + +END_NODE + +} \ No newline at end of file diff --git a/64kode/src/Math/Bool.h b/64kode/src/Math/Bool.h new file mode 100644 index 0000000..c72ac34 --- /dev/null +++ b/64kode/src/Math/Bool.h @@ -0,0 +1,78 @@ +#pragma once + +namespace kode64 +{ + +BEGIN_NODE(Math, Less) + +BEGIN_EXEC +Write(Result, Read(Left) < Read(Right)); +END_EXEC + +PIN_INPUT(Left, 0.0); +PIN_INPUT(Right, 0.0); +PIN_OUTPUT(Result); + +END_NODE + +BEGIN_NODE(Math, LessEquals) + +BEGIN_EXEC +Write(Result, Read(Left) <= Read(Right)); +END_EXEC + +PIN_INPUT(Left, 0.0); +PIN_INPUT(Right, 0.0); +PIN_OUTPUT(Result); + +END_NODE + +BEGIN_NODE(Math, Greater) + +BEGIN_EXEC +Write(Result, Read(Left) > Read(Right)); +END_EXEC + +PIN_INPUT(Left, 0.0); +PIN_INPUT(Right, 0.0); +PIN_OUTPUT(Result); + +END_NODE + +BEGIN_NODE(Math, GreaterEquals) + +BEGIN_EXEC +Write(Result, Read(Left) >= Read(Right)); +END_EXEC + +PIN_INPUT(Left, 0.0); +PIN_INPUT(Right, 0.0); +PIN_OUTPUT(Result); + +END_NODE + +BEGIN_NODE(Math, Equals) + +BEGIN_EXEC +Write(Result, Read(Left) == Read(Right)); +END_EXEC + +PIN_INPUT(Left, 0.0); +PIN_INPUT(Right, 0.0); +PIN_OUTPUT(Result); + +END_NODE + +BEGIN_NODE(Math, NotEquals) + +BEGIN_EXEC +Write(Result, Read(Left) != Read(Right)); +END_EXEC + +PIN_INPUT(Left, 0.0); +PIN_INPUT(Right, 0.0); +PIN_OUTPUT(Result); + +END_NODE + +} \ No newline at end of file diff --git a/64kode/src/Math/Math.cpp b/64kode/src/Math/Math.cpp new file mode 100644 index 0000000..b00989a --- /dev/null +++ b/64kode/src/Math/Math.cpp @@ -0,0 +1 @@ +#include "Math.h" diff --git a/64kode/src/Math/Math.h b/64kode/src/Math/Math.h new file mode 100644 index 0000000..09e292b --- /dev/null +++ b/64kode/src/Math/Math.h @@ -0,0 +1,6 @@ +#pragma once + +#include +#include "MathNode.h" +#include "Add.h" +#include "Bool.h" \ No newline at end of file diff --git a/64kode/src/Math/Math.i b/64kode/src/Math/Math.i new file mode 100644 index 0000000..e970d23 --- /dev/null +++ b/64kode/src/Math/Math.i @@ -0,0 +1,8 @@ +#line 1 "Math.cpp" +#using +#line 1 "Math.cpp" +#using +#line 1 "Math.cpp" +#line 1 "c:\\code\\64kode\\src\\math\\Math.h" +#pragma once + diff --git a/64kode/src/Math/Math.vcxproj b/64kode/src/Math/Math.vcxproj new file mode 100644 index 0000000..9b87c49 --- /dev/null +++ b/64kode/src/Math/Math.vcxproj @@ -0,0 +1,133 @@ + + + + + Authoring + Win32 + + + Debug + Win32 + + + Release + Win32 + + + + 15.0 + {618E98D1-BDE7-49A2-8CDD-FB2E660CD590} + Math + 10.0 + + + + StaticLibrary + true + v142 + NotSet + false + + + StaticLibrary + true + v142 + NotSet + true + + + StaticLibrary + false + v142 + true + NotSet + false + + + + + + + + + + + + + + + + + + $(SolutionDir)src;$(IncludePath) + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)\ + + + $(SolutionDir)src;$(IncludePath) + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)\ + + + $(SolutionDir)src;$(IncludePath) + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)\ + + + + Level3 + Disabled + true + false + stdcpp17 + + + + + Level3 + Disabled + true + AUTHORING;_WINDLL;%(PreprocessorDefinitions) + stdcpp17 + false + + + true + + + + + Level3 + MaxSpeed + true + true + true + false + stdcpp17 + + + true + true + + + + + {3f0d4f6b-03be-4d66-a2ef-47ec5d961bca} + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/64kode/src/Math/Math.vcxproj.user b/64kode/src/Math/Math.vcxproj.user new file mode 100644 index 0000000..88a5509 --- /dev/null +++ b/64kode/src/Math/Math.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/64kode/src/Math/MathNode.h b/64kode/src/Math/MathNode.h new file mode 100644 index 0000000..5aec6f6 --- /dev/null +++ b/64kode/src/Math/MathNode.h @@ -0,0 +1,33 @@ +#pragma once + +namespace kode64 +{ + +#ifdef AUTHORING + public ref class MathNode abstract : public MultiInputNode +#else + struct MathNode : MultiInputNode +#endif + { + public: + virtual double Op(double first) = 0; + + BEGIN_EXEC +#ifdef AUTHORING + if (inputPins->Count > 0) + { + auto first = Read(inputPins[0]); + if (first->GetType() == double::typeid) Write(Result, Op(safe_cast(first))); + } +#else + if (inputPins.size() > 0) + { + auto first = Read(0); + if (first.is()) Write(Result, Op(first.as())); + } +#endif + END_EXEC + + PIN_OUTPUT(Result); + }; +} diff --git a/64kode/src/NodeSystem/Any.h b/64kode/src/NodeSystem/Any.h new file mode 100644 index 0000000..4e34cec --- /dev/null +++ b/64kode/src/NodeSystem/Any.h @@ -0,0 +1,126 @@ + +using namespace std; + +template +using StorageType = typename decay::type; + +struct Any +{ + bool is_null() const { return !ptr; } + bool not_null() const { return ptr; } + + template Any(U&& value) + : ptr(new Derived>(forward(value))) + { + + } + + template bool is() const + { + typedef StorageType T; + + auto derived = dynamic_cast*> (ptr); + + return derived; + } + + template + StorageType& as() + { + typedef StorageType T; + + auto derived = dynamic_cast*> (ptr); + + if (!derived) + throw bad_cast(); + + return derived->value; + } + + template + operator U() + { + return as>(); + } + + Any() + : ptr(nullptr) + { + + } + + Any(Any& that) + : ptr(that.clone()) + { + } + + Any(Any&& that) + : ptr(that.ptr) + { + that.ptr = nullptr; + } + + Any(const Any& that) + : ptr(that.clone()) + { + + } + + Any& operator=(const Any& a) + { + if (ptr == a.ptr) + return *this; + + auto old_ptr = ptr; + + ptr = a.clone(); + + if (old_ptr) + delete old_ptr; + + return *this; + } + + Any& operator=(Any&& a) + { + if (ptr == a.ptr) + return *this; + + swap(ptr, a.ptr); + + return *this; + } + + ~Any() + { + delete ptr; + } + +private: + struct Base + { + virtual ~Base() {} + + virtual Base* clone() const = 0; + }; + + template + struct Derived : Base + { + template Derived(U&& value) : value(forward(value)) { } + + T value; + + Base* clone() const { return new Derived(value); } + }; + + Base* clone() const + { + if (ptr) + return ptr->clone(); + else + return nullptr; + } + + Base* ptr; +}; \ No newline at end of file diff --git a/64kode/src/NodeSystem/Functions.h b/64kode/src/NodeSystem/Functions.h new file mode 100644 index 0000000..0cda29a --- /dev/null +++ b/64kode/src/NodeSystem/Functions.h @@ -0,0 +1,73 @@ +#pragma once + +namespace kode64 +{ +#ifdef AUTHORING + + ref class FunctionCall; + + public ref class Function : public MultiNode + { + public: + Function(); + void Exec(OutputPin^ outputPin, ExecPin^ execPin) override; + + Node^ firstExecNode; + System::Collections::Generic::List^ variables = gcnew System::Collections::Generic::List(); + System::Collections::Generic::List^ functionCalls = gcnew System::Collections::Generic::List(); + static System::Collections::Generic::List^ functions = gcnew System::Collections::Generic::List(); + int index; + }; + + public ref class FunctionCall : public MultiNode + { + public: + + void Exec(OutputPin^ outputPin, ExecPin^ execPin) override; + + InputPin^ AddInput(System::Object^ defaultValue) override; + OutputPin^ AddOutput(System::Object^ defaultValue) override; + ExecPin^ AddExec() override; + + Function^ function; + }; + +#else + + + struct FunctionCall; + + struct Function : MultiNode + { + public: + friend FunctionCall; + + void Exec(int outputPinIndex, int execPinIndex) override; + + Node* firstExecNode; + std::vector functionCalls; + }; + + struct FunctionCall : MultiNode + { + public: + NodeGroup(); + virtual ~NodeGroup(); + + friend Function; + + void Exec(int outputPinIndex, int execPinIndex) override; + virtual void Init() override; + + int AddInput(Any&& defaultValue) override; + int AddOutput(Any&& defaultValue) override; + int AddExec() override; + + + protected: + Function* function; + }; + +#endif + +} diff --git a/64kode/src/NodeSystem/Functions.inc b/64kode/src/NodeSystem/Functions.inc new file mode 100644 index 0000000..0c1bd43 --- /dev/null +++ b/64kode/src/NodeSystem/Functions.inc @@ -0,0 +1,117 @@ +#ifdef AUTHORING + +kode64::Function::Function() +{ + index = functions->Count; + functions->Add(this); +} + +void kode64::Function::Exec(OutputPin^ outputPin, ExecPin^ execPin) +{ + if (functionCalls->Count == 0) + { + throw; + } + + auto functionCall = functionCalls[functionCalls->Count - 1]; + if (outputPin != nullptr) + { + auto pin = functionCall->inputPins[outputPins->IndexOf(outputPin)]; + Write(outputPin, functionCall->Read(pin)); + } + else if (execPin != nullptr) + { + auto pin = functionCall->execPins[execPins->IndexOf(execPin)]; + functionCall->Run(pin); + } + else + { + NodeRunner::Run(firstExecNode, nullptr, nullptr); + } +} + +void kode64::FunctionCall::Exec(OutputPin^ outputPin, ExecPin^ execPin) +{ + function->functionCalls->Add(this); + if (outputPin != nullptr) + { + auto pin = function->inputPins[outputPins->IndexOf(outputPin)]; + Write(outputPin, function->Read(pin)); + } + else if (execPin != nullptr) + { + throw; + } + else + { + NodeRunner::Run(function, nullptr, nullptr); + } + function->functionCalls->Remove(this); +} + +kode64::InputPin^ kode64::FunctionCall::AddInput(System::Object^ defaultValue) +{ + function->AddOutput(defaultValue); + return MultiNode::AddInput(defaultValue); +} + +kode64::OutputPin^ kode64::FunctionCall::AddOutput(System::Object^ defaultValue) +{ + function->AddInput(defaultValue); + return MultiNode::AddOutput(defaultValue); +} + +kode64::ExecPin^ kode64::FunctionCall::AddExec() +{ + function->AddExec(); + return MultiNode::AddExec(); +} + +#else + +void kode64::Function::Exec(int outputPinIndex, int execPinIndex) +{ + if (outputPinIndex != -1) + { + Write(outputPinIndex, functionCall->Read(outputPinIndex)); + } + else if (execPinIndex != -1) + { + NodeRunner::Run(functionCall, -1, execPinIndex); + } + else + { + throw; + } +} + +void kode64::FunctionCall::Exec(int outputPinIndex, int execPinIndex) +{ + if (outputPinIndex != -1) + { + Write(outputPinIndex, function->Read(outputPinIndex)); + } + else if (execPinIndex != -1) + { + auto node = execPins[execPinIndex].node; + NodeRunner::Run(node, -1, -1); + } + else + { + NodeRunner::Run(firstExecNode, -1, i); + } +} + +int kode64::FunctionCall::AddInput(Any&& defaultValue) +{ + function->RegisterOutputPin(); + return MultiInputNode::AddInput(&defaultValue); +} + +int kode64::FunctionCall::AddOutput(Any&& defaultValue) +{ + function->RegisterInputPin(&defaultValue); + return RegisterOutputPin(); +} + +#endif diff --git a/64kode/src/NodeSystem/NodeRegistry.h b/64kode/src/NodeSystem/NodeRegistry.h new file mode 100644 index 0000000..f61f3cb --- /dev/null +++ b/64kode/src/NodeSystem/NodeRegistry.h @@ -0,0 +1,357 @@ +#pragma once + +namespace kode64 +{ + +#ifdef AUTHORING + + ref class Node; + ref class InputPin; + ref class OutputPin; + + public ref class InputLink + { + public: + InputLink(Node^ _node, InputPin^ _pin) + : node(_node) + , pin(_pin) + { + } + + Node^ node = nullptr; + InputPin^ pin; + }; + + public ref class OutputLink + { + public: + OutputLink(Node^ _node, OutputPin^ _pin) + : node(_node) + , pin(_pin) + { + } + + Node^ node = nullptr; + OutputPin^ pin; + }; + + public ref class InputPin + { + public: + InputPin(System::Object^ _value, OutputLink^ _link) + : value(_value) + , link(_link) + { + } + + System::Object^ value; + OutputLink^ link; + }; + + public ref class OutputPin + { + public: + System::Collections::Generic::List^ links = gcnew System::Collections::Generic::List(); + }; + + public ref class ExecPin + { + public: + ExecPin(Node^ _node) + : node(_node) + { + } + + Node^ node = nullptr; + }; + + public ref class Node abstract + { + public: + Node() + { + Init(); + } + + virtual void Exec(OutputPin^ outputPin, ExecPin^ execPin) = 0; + virtual void Init() {}; + + virtual void Run(ExecPin^ pin) + { + NodeRunner::Run(pin->node, nullptr, pin); + } + + virtual System::Object^ Read(InputPin^ pin) + { + if (pin->link != nullptr) + { + NodeRunner::Run(pin->link->node, (OutputPin^)pin->link->pin, nullptr); + } + return pin->value; + } + + template + T Read(InputPin^ pin) + { + return safe_cast(Read(pin)); + } + + virtual void Set(InputPin^ pin, System::Object^ value) + { + pin->value = value; + } + + virtual void Write(OutputPin^ pin, System::Object^ value) + { + for (int i = 0; i < pin->links->Count; ++i) + { + auto link = pin->links[i]; + link->node->Set((InputPin^)link->pin, value); + } + } + + virtual void ConnectInput(InputPin^ pin, Node^ target, OutputPin^ targetPin) + { + pin->link = gcnew OutputLink(target, targetPin); + } + + virtual void ConnectOutput(OutputPin^ pin, Node^ source, InputPin^ sourcePin) + { + pin->links->Add(gcnew InputLink(source, sourcePin)); + } + + virtual void DisconnectInput(InputPin^ pin) + { + pin->link = nullptr; + } + + virtual void DisconnectOutput(OutputPin^ pin, Node^ source, InputPin^ sourcePin) + { + for each (auto link in pin->links) + { + if (link->node == source && link->pin == sourcePin) + { + pin->links->Remove(link); + return; + } + } + } + + static void Connect(Node^ source, OutputPin^ sourcePin, Node^ target, InputPin^ targetPin) + { + source->ConnectOutput(sourcePin, target, targetPin); + target->ConnectInput(targetPin, source, sourcePin); + } + + static void Disconnect(Node^ source, OutputPin^ sourcePin, Node^ target, InputPin^ targetPin) + { + source->DisconnectOutput(sourcePin, target, targetPin); + target->DisconnectInput(targetPin); + } + + ExecPin^ nextExec = gcnew ExecPin(nullptr); + }; + + public ref class MultiInputNode abstract : public Node + { + public: + virtual InputPin^ AddInput(System::Object^ defaultValue) + { + auto result = gcnew InputPin(defaultValue, nullptr); + inputPins->Add(result); + return result; + } + + System::Collections::Generic::List^ inputPins = gcnew System::Collections::Generic::List(); + }; + + public ref class MultiNode abstract : public MultiInputNode + { + public: + virtual OutputPin^ AddOutput(System::Object^ defaultValue) + { + auto result = gcnew OutputPin(); + outputPins->Add(result); + return result; + } + + virtual ExecPin^ AddExec() + { + auto result = gcnew ExecPin(nullptr); + execPins->Add(result); + return result; + } + + System::Collections::Generic::List^ outputPins = gcnew System::Collections::Generic::List(); + System::Collections::Generic::List^ execPins = gcnew System::Collections::Generic::List(); + }; + +#define DECLARE_NODE(ns, nodetype, name) ns::nodetype^ name = gcnew ns::nodetype() +#define SET(target, targetPin, value) target->Set(target->targetPin, value) +#define CONNECT(source, sourcePin, target, targetPin) Node::Connect(source, source->sourcePin, target, target->targetPin) +#define CONNECT_EXEC(source, sourcePin, target) source->ConnectExec(source->sourcePin, target) +#define BEGIN_NODE_BASE(ns, nodetype, basetype) namespace ns { public ref class nodetype : public basetype { public: +#define BEGIN_NODE(ns, nodetype) namespace ns { public ref class nodetype : public Node { public: +#define BEGIN_EXEC void Exec(OutputPin^ outputPin, ExecPin^ execPin) override { +#define END_EXEC }; +#define PIN_INPUT(name, defvalue) InputPin^ name = gcnew InputPin(nullptr, nullptr) +#define PIN_OUTPUT(name) OutputPin^ name = gcnew OutputPin() +#define PIN_EXEC(name) ExecPin^ name = gcnew ExecPin(nullptr) +#define END_NODE }; } + +#else + + struct Node; + + struct Link + { + Node* node = nullptr; + int pinIndex; + }; + + struct InputPin + { + Any value; + Link link; + }; + + struct OutputPin + { + std::vector links; + }; + + struct ExecPin + { + Node* node = nullptr; + }; + + struct Node + { + virtual void Exec(int outputPinIndex, int execPinIndex) = 0; + virtual void Init() {}; + + virtual void Run(int execPinIndex) + { + NodeRunner::Run(execPins[execPinIndex].node, -1, execPinIndex); + } + + virtual Any Read(int pinIndex) + { + auto pin = inputPins[pinIndex]; + NodeRunner::Run(pin.link.node, pin.link.pinIndex, -1); + return inputPins[pinIndex].value; + } + + template + T Read(int pinIndex) + { + return Read(pinIndex).as(); + } + + virtual void Set(int pinIndex, const Any& value) + { + inputPins[pinIndex].value = value; + } + + virtual void Write(int pinIndex, const Any& value) + { + auto pin = outputPins[pinIndex]; + for (unsigned int i = 0; i < pin.links.size(); ++i) + { + auto link = pin.links[i]; + link.node->Set(link.pinIndex, value); + } + } + + virtual void ConnectInput(int pinIndex, Node& target, int targetPinIndex) + { + inputPins[pinIndex].link = { &target, targetPinIndex }; + } + + virtual void ConnectOutput(int pinIndex, Node& source, int sourcePinIndex) + { + outputPins[pinIndex].links.push_back(Link() = { &source, sourcePinIndex }); + } + + virtual void ConnectExec(int pinIndex, Node& target) + { + execPins[pinIndex].node = ⌖ + } + + static void Connect(Node& source, int sourcePinIndex, Node& target, int targetPinIndex) + { + source.ConnectOutput(sourcePinIndex, target, targetPinIndex); + target.ConnectInput(targetPinIndex, source, sourcePinIndex); + } + + ExecPin nextExec; + + protected: + virtual int RegisterInputPin(Any&& defaultValue) + { + int index = inputPins.size(); + inputPins.push_back(InputPin() = { defaultValue }); + return index; + } + + virtual int RegisterOutputPin() + { + int index = outputPins.size(); + outputPins.push_back(OutputPin()); + return index; + } + + virtual int RegisterExecPin() + { + int index = execPins.size(); + execPins.push_back(ExecPin()); + return index; + } + + std::vector inputPins; + std::vector outputPins; + std::vector execPins; + }; + + struct MultiInputNode : Node + { + virtual int AddInput(Any&& defaultValue) + { + return RegisterInputPin(&defaultValue); + } + }; + + struct MultiNode : MultiInputNode + { + public: + virtual int AddOutput(Any&& defaultValue) + { + return RegisterOutputPin(); + } + + virtual int AddExec() + { + return RegisterExecPin(); + } + }; + +#define DECLARE_NODE(ns, type, name) ns::type name; +#define SET(target, targetPin, value) target.Set(target.targetPin, value) +#define CONNECT(source, sourcePin, target, targetPin) Node::Connect(source, source.sourcePin, target, target.targetPin); +#define CONNECT_EXEC(source, sourcePin, target) source.ConnectExec(source.sourcePin, target); +#define BEGIN_NODE_BASE(ns, name, base) namespace ns { struct name : base { +#define BEGIN_NODE(ns, name) namespace ns { struct name : Node { +#define BEGIN_EXEC void Exec(int outputPinIndex, int execPinIndex) override { +#define END_EXEC }; +#define PIN_INPUT(name, defvalue) int name = RegisterInputPin(defvalue) +#define PIN_OUTPUT(name) int name = RegisterOutputPin() +#define PIN_EXEC(name) int name = RegisterExecPin() +#define END_NODE }; } +#define SET_NEXTEXEC(source, target) source.nextExec = &target +#define ADD_FIRSTEXEC(node) firstExecNodes.push_back(&node) +#define CONNECT_TO_INNER(source, sourcePin, innerPin) ConnectToInner(source, source.sourcePin, innerPin) +#define CONNECT_FROM_INNER(innerPin, target, targetPin) ConnectFromInner(innerPin, target, target.targetPin) + +#endif + +} diff --git a/64kode/src/NodeSystem/NodeRunner.h b/64kode/src/NodeSystem/NodeRunner.h new file mode 100644 index 0000000..df976fe --- /dev/null +++ b/64kode/src/NodeSystem/NodeRunner.h @@ -0,0 +1,34 @@ +#pragma once + +namespace kode64 +{ +#ifdef AUTHORING + + ref class Node; + ref class OutputPin; + ref class ExecPin; + + public ref class NodeRunner + { + public: + static void Run(Node^ node, OutputPin^ outputPin, ExecPin^ execPin); + + private: + static System::Collections::Generic::List^ stackTrace = gcnew System::Collections::Generic::List(); + }; + +#else + + struct Node; + + struct NodeRunner + { + public: + static void Run(Node* node, int outputPinIndex, int execPinIndex); + + private: + static std::vector stackTrace; + }; +#endif + +} diff --git a/64kode/src/NodeSystem/NodeRunner.inc b/64kode/src/NodeSystem/NodeRunner.inc new file mode 100644 index 0000000..4315499 --- /dev/null +++ b/64kode/src/NodeSystem/NodeRunner.inc @@ -0,0 +1,64 @@ +#ifdef AUTHORING + +void kode64::NodeRunner::Run(Node^ node, OutputPin^ outputPin, ExecPin^ execPin) +{ + while (node != nullptr) + { + stackTrace->Add(node); + node->Exec(outputPin, execPin); + stackTrace->RemoveAt(stackTrace->Count - 1); + if (outputPin != nullptr) + { + return; + } + + if (node->nextExec != nullptr) + { + node = node->nextExec->node; + } + else + { + node = nullptr; + } + + execPin = nullptr; + } +} + +#else + +void kode64::NodeRunner::Run(Node* node, int outputPinIndex, int execPinIndex) +{ + while (node != nullptr) + { + stackTrace.push_back(node); + node->Exec(outputPinIndex, execPinIndex); + stackTrace.pop_back(); + if (outputPinIndex != -1) + { + return; + } + + node = node->nextExec; + execPinIndex = -1; + } +} + +unsigned int kode64::NodeRunner::CreateVariable(const Any&& value) +{ + unsigned int index = variables.size(); + variables.push_back(value); + return index; +} + +Any& kode64::NodeRunner::GetVariable(unsigned int variable) +{ + return variables[variable]; +} + +void kode64::NodeRunner::SetVariable(unsigned int variable, const Any& value) +{ + variables[variable] = value; +} + +#endif diff --git a/64kode/src/NodeSystem/NodeSystem.cpp b/64kode/src/NodeSystem/NodeSystem.cpp new file mode 100644 index 0000000..530c5ee --- /dev/null +++ b/64kode/src/NodeSystem/NodeSystem.cpp @@ -0,0 +1,4 @@ +#include "NodeSystem.h" +#include "NodeRunner.inc" +#include "Functions.inc" + diff --git a/64kode/src/NodeSystem/NodeSystem.h b/64kode/src/NodeSystem/NodeSystem.h new file mode 100644 index 0000000..df469b2 --- /dev/null +++ b/64kode/src/NodeSystem/NodeSystem.h @@ -0,0 +1,14 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include + +#include "Any.h" +#include "NodeRunner.h" +#include "NodeRegistry.h" +#include "Functions.h" \ No newline at end of file diff --git a/64kode/src/NodeSystem/NodeSystem.vcxproj b/64kode/src/NodeSystem/NodeSystem.vcxproj new file mode 100644 index 0000000..5453855 --- /dev/null +++ b/64kode/src/NodeSystem/NodeSystem.vcxproj @@ -0,0 +1,130 @@ + + + + + Authoring + Win32 + + + Debug + Win32 + + + Release + Win32 + + + + 15.0 + {3F0D4F6B-03BE-4D66-A2EF-47EC5D961BCA} + NodeSystem + 10.0 + + + + StaticLibrary + true + v142 + NotSet + + + StaticLibrary + true + v142 + true + NotSet + + + StaticLibrary + false + v142 + true + NotSet + + + + + + + + + + + + + + + + + + $(SolutionDir)src;$(IncludePath) + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)\ + + + $(SolutionDir)src;$(IncludePath) + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)\ + + + $(SolutionDir)src;$(IncludePath) + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)\ + + + + Level3 + Disabled + true + false + stdcpp17 + + + + + Level3 + Disabled + true + AUTHORING;_WINDLL;%(PreprocessorDefinitions) + stdcpp17 + false + + + + + Level3 + MaxSpeed + true + true + true + false + stdcpp17 + + + true + true + + + + + CppCode + + + CppCode + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/64kode/src/NodeSystem/NodeSystem.vcxproj.user b/64kode/src/NodeSystem/NodeSystem.vcxproj.user new file mode 100644 index 0000000..88a5509 --- /dev/null +++ b/64kode/src/NodeSystem/NodeSystem.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/64kode/src/Tool/Actions/ActionBase.cs b/64kode/src/Tool/Actions/ActionBase.cs new file mode 100644 index 0000000..cb01684 --- /dev/null +++ b/64kode/src/Tool/Actions/ActionBase.cs @@ -0,0 +1,81 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tool.ViewModels; + +namespace Tool.Actions +{ + public abstract class ActionBase : IUndoItem + { + public ActionBase(string _sDescription) + { + Description = _sDescription; + } + + public bool CanRedo + { + get; + protected set; + } = true; + + public bool CanUndo + { + get; + protected set; + } = true; + + public string Description + { + get; + protected set; + } + + public abstract IUndoContext Context + { + get; + } + + public bool MarksDirty + { + get; + protected set; + } = true; + + public abstract void Redo(); + + public abstract void Undo(); + } + + public class NodeActionBase : ActionBase + { + public NodeActionBase(FunctionViewModel _function, string _sDescription) + : base(_sDescription) + { + m_Function = _function; + } + + public override void Redo() + { + if (m_Function != null && MarksDirty) + { + m_bWasDirty = m_Function.IsDirty; + m_Function.IsDirty = true; + } + } + + public override void Undo() + { + if (!m_bWasDirty && MarksDirty) + { + m_Function.IsDirty = !m_Function.IsDirty; + } + } + + public override IUndoContext Context => m_Function; + + protected FunctionViewModel m_Function; + private bool m_bWasDirty; + } +} diff --git a/64kode/src/Tool/Actions/AddNewNodeAction.cs b/64kode/src/Tool/Actions/AddNewNodeAction.cs new file mode 100644 index 0000000..744827d --- /dev/null +++ b/64kode/src/Tool/Actions/AddNewNodeAction.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tool.ViewModels; +using Tool.Views; + +namespace Tool.Actions +{ + public class AddNewNodeAction : NodeActionBase + { + public AddNewNodeAction(FunctionViewModel _function, NodeViewModel _node) + : base(_function, $"Create node {_node}") + { + m_Node = _node; + } + + public override void Redo() + { + base.Redo(); + + m_Function.Nodes.Add(m_Node); + LinksView.Instance.InvalidateVisual(); + } + + public override void Undo() + { + m_Function.Nodes.Remove(m_Node); + LinksView.Instance.InvalidateVisual(); + + base.Undo(); + } + + private NodeViewModel m_Node; + } +} diff --git a/64kode/src/Tool/Actions/AddNewVariableAction.cs b/64kode/src/Tool/Actions/AddNewVariableAction.cs new file mode 100644 index 0000000..8326fd8 --- /dev/null +++ b/64kode/src/Tool/Actions/AddNewVariableAction.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tool.ViewModels; +using Tool.Views; + +namespace Tool.Actions +{ + public class AddNewVariableAction : NodeActionBase + { + public AddNewVariableAction(FunctionViewModel _function, VariableViewModel _variable) + : base(_function, $"Create variable {_variable}") + { + m_Variable = _variable; + } + + public override void Redo() + { + base.Redo(); + + m_Function.Variables.Add(m_Variable); + } + + public override void Undo() + { + m_Function.Variables.Remove(m_Variable); + + base.Undo(); + } + + private VariableViewModel m_Variable; + } +} diff --git a/64kode/src/Tool/Actions/ChangePropertyAction.cs b/64kode/src/Tool/Actions/ChangePropertyAction.cs new file mode 100644 index 0000000..b21a5b3 --- /dev/null +++ b/64kode/src/Tool/Actions/ChangePropertyAction.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tool.ViewModels; + +namespace Tool.Actions +{ + public class ChangePropertyAction : NodeActionBase + { + public ChangePropertyAction(FunctionViewModel _function, string _sDescription, Func _get, Action _set, T _newValue, bool _bMarksDirty = true) + : base(_function, _sDescription) + { + MarksDirty = _bMarksDirty; + m_Get = _get; + m_Set = _set; + m_NewValue = _newValue; + m_OldValue = m_Get(); + } + + public override void Redo() + { + base.Redo(); + m_Set(m_NewValue); + } + + public override void Undo() + { + m_Set(m_OldValue); + base.Undo(); + } + + private Func m_Get; + private Action m_Set; + private T m_OldValue; + private T m_NewValue; + } +} diff --git a/64kode/src/Tool/Actions/ChangeSelectionAction.cs b/64kode/src/Tool/Actions/ChangeSelectionAction.cs new file mode 100644 index 0000000..62f50a0 --- /dev/null +++ b/64kode/src/Tool/Actions/ChangeSelectionAction.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tool.ViewModels; + +namespace Tool.Actions +{ + public class ChangeSelectionAction : NodeActionBase + { + public ChangeSelectionAction(FunctionViewModel _function, List _selection) + : base(_function, "New selection") + { + MarksDirty = false; + m_NewSelection = _selection ?? new List(); + + m_PreviousSelection = new List(); + if (_function.SelectedNodes != null) + { + m_PreviousSelection.AddRange(_function.SelectedNodes); + } + } + + public override void Redo() + { + base.Redo(); + Select(m_NewSelection); + } + + public override void Undo() + { + Select(m_PreviousSelection); + base.Undo(); + } + + private void Select(List _selection) + { + var newNodes = _selection.Except(m_Function.SelectedNodes).ToList(); + var oldNodes = m_Function.SelectedNodes.Except(_selection).ToList(); + + foreach (var node in oldNodes) + { + m_Function.SelectedNodes.Remove(node); + node.RaisePropertyChanged(nameof(NodeViewModel.IsSelected)); + } + + foreach (var node in newNodes) + { + m_Function.SelectedNodes.Add(node); + node.RaisePropertyChanged(nameof(NodeViewModel.IsSelected)); + } + } + + private List m_NewSelection; + private List m_PreviousSelection; + } +} diff --git a/64kode/src/Tool/Actions/DeleteLinkAction.cs b/64kode/src/Tool/Actions/DeleteLinkAction.cs new file mode 100644 index 0000000..8ba9b03 --- /dev/null +++ b/64kode/src/Tool/Actions/DeleteLinkAction.cs @@ -0,0 +1,82 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tool.ViewModels; +using Tool.Views; + +namespace Tool.Actions +{ + public class DeleteLinkAction : NodeActionBase + { + public DeleteLinkAction(FunctionViewModel _function, PinViewModelBase _pin, int _iIndex = 0) + : base(_function, $"Delete link {_iIndex} at {_pin}") + { + m_Pin = _pin; + m_iIndex = _iIndex; + } + + public override void Redo() + { + var execPin = m_Pin as ExecutePinViewModel; + var rootPin = m_Pin as RootPinViewModel; + var inputPin = m_Pin as InputPinViewModel; + var outputPin = m_Pin as OutputPinViewModel; + + if (execPin?.m_Connection != null) + { + m_Connection = execPin.m_Connection; + execPin.Disconnect(); + } + else if (rootPin?.m_Connection != null) + { + m_Connection = rootPin.m_Connection; + rootPin.m_Connection.Disconnect(); + } + else if ((outputPin?.m_lConnections?.Count ?? 0) != 0) + { + m_Connection = outputPin.m_lConnections[m_iIndex]; + outputPin.Disconnect(outputPin.m_lConnections[m_iIndex]); + } + else if (inputPin?.m_Connection != null) + { + m_Connection = inputPin.m_Connection; + inputPin.m_Connection.Disconnect(inputPin); + } + + LinksView.Instance.InvalidateVisual(); + } + + public override void Undo() + { + var execPin = m_Pin as ExecutePinViewModel; + var rootPin = m_Pin as RootPinViewModel; + var inputPin = m_Pin as InputPinViewModel; + var outputPin = m_Pin as OutputPinViewModel; + + if (execPin != null) + { + execPin?.ConnectTo((RootPinViewModel)m_Connection); + } + else if (rootPin != null) + { + ((ExecutePinViewModel)m_Connection).ConnectTo(rootPin); + } + else if (inputPin != null) + { + ((OutputPinViewModel)m_Connection).ConnectTo(inputPin); + } + else if (outputPin != null) + { + outputPin.ConnectTo((InputPinViewModel)m_Connection); + } + + LinksView.Instance.InvalidateVisual(); + } + + private PinViewModelBase m_Pin; + private int m_iIndex; + private PinViewModelBase m_Connection; + } +} diff --git a/64kode/src/Tool/Actions/DeleteNodeAction.cs b/64kode/src/Tool/Actions/DeleteNodeAction.cs new file mode 100644 index 0000000..b98e915 --- /dev/null +++ b/64kode/src/Tool/Actions/DeleteNodeAction.cs @@ -0,0 +1,61 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tool.ViewModels; + +namespace Tool.Actions +{ + public class DeleteNodeAction : NodeActionBase + { + public DeleteNodeAction(FunctionViewModel _function, NodeViewModel _node) + : base(_function, $"Delete node {_node}") + { + m_iIndex = _function.Nodes.IndexOf(_node); + } + + public override void Redo() + { + base.Redo(); + + m_RemovedNode = m_Function.Nodes[m_iIndex]; + + var undo = m_Function.Main.Undo; + var links = new List>(); + links.AddRange(m_RemovedNode.ExecutePins.Where(p => p.m_Connection != null).Select(p => Tuple.Create(p, 0))); + links.AddRange(m_RemovedNode.InputPins.Where(p => p.m_Connection != null).Select(p => Tuple.Create(p, 0))); + links.AddRange(m_RemovedNode.OutputPins.Where(p => (p.m_lConnections?.Count ?? 0) != 0).SelectMany(p => p.m_lConnections.Select((c, i) => Tuple.Create(p, i)))); + if (m_RemovedNode.RootPin.m_Connection != null) + { + links.Add(Tuple.Create(m_RemovedNode.RootPin, 0)); + } + if (m_RemovedNode.NextExecPin.m_Connection != null) + { + links.Add(Tuple.Create(m_RemovedNode.NextExecPin, 0)); + } + + m_lActions = links.Select(l => new DeleteLinkAction(m_Function, l.Item1, l.Item2)).ToList(); + foreach (var action in m_lActions) + { + action.Redo(); + } + + m_Function.Nodes.RemoveAt(m_iIndex); + } + + public override void Undo() + { + m_Function.Nodes.Insert(m_iIndex, m_RemovedNode); + foreach (var action in m_lActions) + { + action.Undo(); + } + base.Undo(); + } + + private int m_iIndex; + private NodeViewModel m_RemovedNode; + private List m_lActions; + } +} diff --git a/64kode/src/Tool/App.config b/64kode/src/Tool/App.config new file mode 100644 index 0000000..a1058ed --- /dev/null +++ b/64kode/src/Tool/App.config @@ -0,0 +1,18 @@ + + + + +
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/64kode/src/Tool/App.xaml b/64kode/src/Tool/App.xaml new file mode 100644 index 0000000..8f8efca --- /dev/null +++ b/64kode/src/Tool/App.xaml @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/64kode/src/Tool/App.xaml.cs b/64kode/src/Tool/App.xaml.cs new file mode 100644 index 0000000..5818d26 --- /dev/null +++ b/64kode/src/Tool/App.xaml.cs @@ -0,0 +1,113 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Configuration; +using System.Data; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Navigation; +using System.Xml.Serialization; +using Tool.Layout.Services; +using Tool.Layout.ViewModels; +using Tool.Properties; +using Tool.ViewModels; + +namespace Tool +{ + /// + /// Interaction logic for App.xaml + /// + public partial class App : Application + { + public App() + { + this.Startup += App_Startup; + } + + private void App_Startup(object sender, StartupEventArgs e) + { + LayoutViewRegistry.RegisterAssembly(Assembly.GetExecutingAssembly()); + + Layouts = new ObservableCollection(); + + var serializer = new XmlSerializer(typeof(LayoutViewModel)); + if (Settings.Default.Layouts != null) + { + foreach (var layout in Settings.Default.Layouts) + { + Layouts.Add(serializer.Deserialize(new StringReader(layout)) as LayoutViewModel); + } + } + + if (!string.IsNullOrEmpty(Settings.Default.LastLayout)) + { + var layoutVm = serializer.Deserialize(new StringReader(Settings.Default.LastLayout)) as LayoutViewModel; + if (layoutVm.Windows.Count == 0) + { + WindowViewModel.CreateNewWindow(); + } + else + { + LoadLayout(layoutVm); + } + } + else + { + WindowViewModel.CreateNewWindow(); + } + } + + public void LoadLayout(LayoutViewModel layoutViewModel) + { + RootViewModel.Instance.Windows.Replace(layoutViewModel.Windows, true); + m_sCurrentLayout = layoutViewModel.DisplayName; + } + + public void SaveLayoutAs() + { + var layout = new LayoutViewModel(); + layout.DisplayName = MessageBoxService.Input("Enter the layout name:", m_sCurrentLayout); + layout.Windows = RootViewModel.Instance.Windows.ToList(); + var existingLayout = Layouts.FirstOrDefault(l => l.DisplayName == layout.DisplayName); + if (existingLayout != null) + { + Layouts.Remove(existingLayout); + } + Layouts.Add(layout); + m_sCurrentLayout = layout.DisplayName; + var serializer = new XmlSerializer(typeof(LayoutViewModel)); + var sb = new StringBuilder(); + serializer.Serialize(new StringWriter(sb), layout); + if (Settings.Default.Layouts == null) + { + Settings.Default.Layouts = new System.Collections.Specialized.StringCollection(); + } + Settings.Default.Layouts.Add(sb.ToString()); + Settings.Default.Save(); + } + + public void SaveLastLayout() + { + var layout = new LayoutViewModel(); + layout.DisplayName = "Least recently used"; + layout.Windows = RootViewModel.Instance.Windows.ToList(); + var serializer = new XmlSerializer(typeof(LayoutViewModel)); + var sb = new StringBuilder(); + serializer.Serialize(new StringWriter(sb), layout); + Settings.Default.LastLayout = sb.ToString(); + Settings.Default.Save(); + } + + public ObservableCollection Layouts + { + get; + private set; + } + + private string m_sCurrentLayout; + } +} diff --git a/64kode/src/Tool/Dialogs/MessageBox.xaml b/64kode/src/Tool/Dialogs/MessageBox.xaml new file mode 100644 index 0000000..f51966c --- /dev/null +++ b/64kode/src/Tool/Dialogs/MessageBox.xaml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/64kode/src/Tool/Layout/Views/LeafView.xaml.cs b/64kode/src/Tool/Layout/Views/LeafView.xaml.cs new file mode 100644 index 0000000..188ca85 --- /dev/null +++ b/64kode/src/Tool/Layout/Views/LeafView.xaml.cs @@ -0,0 +1,396 @@ +using Tool.Layout.ViewModels; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Collections.ObjectModel; + +namespace Tool.Layout.Views +{ + /// + /// Interaction logic for LeafView.xaml + /// + public partial class LeafView : UserControl + { + private enum DragMode + { + None, + MergeToLeft, + MergeToTop, + MergeToRight, + MergeToBottom, + SplitToLeft, + SplitToTop, + SplitToRight, + SplitToBottom + } + + public LeafView() + { + InitializeComponent(); + } + + private void tmbBottomLeft_DragStarted(object sender, System.Windows.Controls.Primitives.DragStartedEventArgs e) + { + StartDrag(); + } + + private void tmbTopRight_DragStarted(object sender, System.Windows.Controls.Primitives.DragStartedEventArgs e) + { + StartDrag(); + } + + private void tmbBottomLeft_DragDelta(object sender, System.Windows.Controls.Primitives.DragDeltaEventArgs e) + { + BeginDragDelta(e); + + if (m_eDragMode == DragMode.None) + { + if (Math.Abs(m_CurrentX) > Math.Abs(m_CurrentY) && Math.Abs(m_CurrentX) > s_DragThreshold) // Start horizontal drag + { + if (m_CurrentX < 0 && CanMergeLeft) + { + m_eDragMode = DragMode.MergeToLeft; + } + else if (m_CurrentX > 0) + { + m_eDragMode = DragMode.SplitToRight; + } + } + else if (Math.Abs(m_CurrentY) > Math.Abs(m_CurrentX) && Math.Abs(m_CurrentY) > s_DragThreshold) // Start vertical drag + { + if (m_CurrentY > 0 && CanMergeBottom) + { + m_eDragMode = DragMode.MergeToBottom; + } + else if (m_CurrentY < 0) + { + m_eDragMode = DragMode.SplitToTop; + } + } + } + + HandleDragDelta(e); + } + + private void tmbTopRight_DragDelta(object sender, System.Windows.Controls.Primitives.DragDeltaEventArgs e) + { + BeginDragDelta(e); + + if (m_eDragMode == DragMode.None) + { + if (Math.Abs(m_CurrentX) > Math.Abs(m_CurrentY) && Math.Abs(m_CurrentX) > s_DragThreshold) // Start horizontal drag + { + if (m_CurrentX > 0 && CanMergeRight) + { + m_eDragMode = DragMode.MergeToRight; + } + else if (m_CurrentX < 0) + { + m_eDragMode = DragMode.SplitToLeft; + } + } + else if (Math.Abs(m_CurrentY) > Math.Abs(m_CurrentX) && Math.Abs(m_CurrentY) > s_DragThreshold) // Start vertical drag + { + if (m_CurrentY < 0 && CanMergeTop) + { + m_eDragMode = DragMode.MergeToTop; + } + else if (m_CurrentY > 0) + { + m_eDragMode = DragMode.SplitToBottom; + } + } + } + + HandleDragDelta(e); + } + + private void tmbBottomLeft_DragCompleted(object sender, System.Windows.Controls.Primitives.DragCompletedEventArgs e) + { + HandleDragEnd(); + } + + private void tmbTopRight_DragCompleted(object sender, System.Windows.Controls.Primitives.DragCompletedEventArgs e) + { + HandleDragEnd(); + } + + private void StartDrag() + { + m_eDragMode = DragMode.None; + m_CurrentX = 0; + m_CurrentY = 0; + } + + private void BeginDragDelta(System.Windows.Controls.Primitives.DragDeltaEventArgs e) + { + if (m_eDragMode == DragMode.MergeToBottom || m_eDragMode == DragMode.MergeToTop || m_eDragMode == DragMode.MergeToLeft || m_eDragMode == DragMode.MergeToRight) + { + m_CurrentX = e.HorizontalChange; + m_CurrentY = e.VerticalChange; + } + else + { + m_CurrentX += e.HorizontalChange; + m_CurrentY += e.VerticalChange; + } + } + + private void HandleDragDelta(System.Windows.Controls.Primitives.DragDeltaEventArgs e) + { + switch (m_eDragMode) + { + case DragMode.MergeToLeft: + { + if (m_CurrentX > 0) + { + m_eDragMode = DragMode.MergeToRight; + } + UpdateMergeArrows(); + break; + } + case DragMode.MergeToTop: + { + if (m_CurrentY > 0) + { + m_eDragMode = DragMode.MergeToBottom; + } + UpdateMergeArrows(); + break; + } + case DragMode.MergeToRight: + { + if (m_CurrentX < 0) + { + m_eDragMode = DragMode.MergeToLeft; + } + UpdateMergeArrows(); + break; + } + case DragMode.MergeToBottom: + { + if (m_CurrentY < 0) + { + m_eDragMode = DragMode.MergeToTop; + } + UpdateMergeArrows(); + break; + } + case DragMode.SplitToLeft: + { + Leaf.RightSideVisibility = m_CurrentX < 0 ? Visibility.Visible : Visibility.Collapsed; + Leaf.SideSize = Math.Max(0, -m_CurrentX); + break; + } + case DragMode.SplitToTop: + { + Leaf.BottomSideVisibility = m_CurrentY < 0 ? Visibility.Visible : Visibility.Collapsed; + Leaf.SideSize = Math.Max(0, -m_CurrentY); + break; + } + case DragMode.SplitToRight: + { + Leaf.LeftSideVisibility = m_CurrentX > 0 ? Visibility.Visible : Visibility.Collapsed; + Leaf.SideSize = Math.Max(0, m_CurrentX); + break; + } + case DragMode.SplitToBottom: + { + Leaf.TopSideVisibility = m_CurrentY > 0 ? Visibility.Visible : Visibility.Collapsed; + Leaf.SideSize = Math.Max(0, m_CurrentY); + break; + } + } + } + + private void UpdateMergeArrows() + { + switch (m_eDragMode) + { + case DragMode.MergeToLeft: + { + ((Leaf.Parent as NodeViewModel).FirstChild as LeafViewModel).ArrowDirection = LeafViewModel.Arrow.Left; + ((Leaf.Parent as NodeViewModel).SecondChild as LeafViewModel).ArrowDirection = LeafViewModel.Arrow.None; + break; + } + case DragMode.MergeToTop: + { + ((Leaf.Parent as NodeViewModel).FirstChild as LeafViewModel).ArrowDirection = LeafViewModel.Arrow.Top; + ((Leaf.Parent as NodeViewModel).SecondChild as LeafViewModel).ArrowDirection = LeafViewModel.Arrow.None; + break; + } + case DragMode.MergeToRight: + { + ((Leaf.Parent as NodeViewModel).FirstChild as LeafViewModel).ArrowDirection = LeafViewModel.Arrow.None; + ((Leaf.Parent as NodeViewModel).SecondChild as LeafViewModel).ArrowDirection = LeafViewModel.Arrow.Right; + break; + } + case DragMode.MergeToBottom: + { + ((Leaf.Parent as NodeViewModel).FirstChild as LeafViewModel).ArrowDirection = LeafViewModel.Arrow.None; + ((Leaf.Parent as NodeViewModel).SecondChild as LeafViewModel).ArrowDirection = LeafViewModel.Arrow.Bottom; + break; + } + } + } + + private void HandleDragEnd() + { + var dSideSize = Leaf.SideSize; + + Leaf.TopSideVisibility = Visibility.Collapsed; + Leaf.BottomSideVisibility = Visibility.Collapsed; + Leaf.LeftSideVisibility = Visibility.Collapsed; + Leaf.RightSideVisibility = Visibility.Collapsed; + Leaf.SideSize = 0; + + if (Leaf.Parent is NodeViewModel) + { + var node = Leaf.Parent as NodeViewModel; + if (node.FirstChild is LeafViewModel) + { + (node.FirstChild as LeafViewModel).ArrowDirection = LeafViewModel.Arrow.None; + } + if (node.SecondChild is LeafViewModel) + { + (node.SecondChild as LeafViewModel).ArrowDirection = LeafViewModel.Arrow.None; + } + } + + switch (m_eDragMode) + { + case DragMode.MergeToLeft: + { + ParentNode.MergeSecondToFirst(); + break; + } + case DragMode.MergeToTop: + { + ParentNode.MergeSecondToFirst(); + break; + } + case DragMode.MergeToRight: + { + ParentNode.MergeFirstToSecond(); + break; + } + case DragMode.MergeToBottom: + { + ParentNode.MergeFirstToSecond(); + break; + } + case DragMode.SplitToLeft: + { + if (dSideSize > 0) + { + var dWeight = dSideSize / this.ActualWidth; + Leaf.Split(Orientation.Horizontal, true, 1.0 - dWeight, dWeight); + } + break; + } + case DragMode.SplitToTop: + { + if (dSideSize > 0) + { + var dWeight = dSideSize / this.ActualHeight; + Leaf.Split(Orientation.Vertical, true, 1.0 - dWeight, dWeight); + } + break; + } + case DragMode.SplitToRight: + { + if (dSideSize > 0) + { + var dWeight = dSideSize / this.ActualWidth; + Leaf.Split(Orientation.Horizontal, false, dWeight, 1.0 - dWeight); + } + break; + } + case DragMode.SplitToBottom: + { + if (dSideSize > 0) + { + var dWeight = dSideSize / this.ActualHeight; + Leaf.Split(Orientation.Vertical, false, dWeight, 1.0 - dWeight); + } + break; + } + } + } + + private bool CanMergeLeft + { + get + { + return Leaf != null && ParentNode != null && ParentNode.Orientation == Orientation.Horizontal && ParentNode.FirstChild is LeafViewModel && ParentNode.SecondChild == Leaf; + } + } + + private bool CanMergeTop + { + get + { + return Leaf != null && ParentNode != null && ParentNode.Orientation == Orientation.Vertical && ParentNode.FirstChild is LeafViewModel && ParentNode.SecondChild == Leaf; + } + } + + private bool CanMergeRight + { + get + { + return Leaf != null && ParentNode != null && ParentNode.Orientation == Orientation.Horizontal && ParentNode.SecondChild is LeafViewModel && ParentNode.FirstChild == Leaf; + } + } + + private bool CanMergeBottom + { + get + { + return Leaf != null && ParentNode != null && ParentNode.Orientation == Orientation.Vertical && ParentNode.SecondChild is LeafViewModel && ParentNode.FirstChild == Leaf; + } + } + + private LeafViewModel Leaf + { + get + { + return this.DataContext as LeafViewModel; + } + } + + private NodeViewModel ParentNode + { + get + { + return Leaf.Parent as NodeViewModel; + } + } + + private void btnUp_Click(object sender, RoutedEventArgs e) + { + Leaf.ToolbarGridRow = 0; + } + + private void btnDown_Click(object sender, RoutedEventArgs e) + { + Leaf.ToolbarGridRow = 2; + } + + private DragMode m_eDragMode; + private double m_CurrentX; + private double m_CurrentY; + private static readonly double s_DragThreshold = 10; + } +} diff --git a/64kode/src/Tool/Layout/Views/Resources.xaml b/64kode/src/Tool/Layout/Views/Resources.xaml new file mode 100644 index 0000000..e2c21fe --- /dev/null +++ b/64kode/src/Tool/Layout/Views/Resources.xaml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/64kode/src/Tool/Layout/Views/ViewBase.cs b/64kode/src/Tool/Layout/Views/ViewBase.cs new file mode 100644 index 0000000..1a75859 --- /dev/null +++ b/64kode/src/Tool/Layout/Views/ViewBase.cs @@ -0,0 +1,167 @@ +using Tool.Layout.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; +using Tool.ViewModels; +using System.Collections.ObjectModel; + +namespace Tool.Layout.Views +{ + public class ViewBase : UserControl + { + public ViewBase() + { + this.Loaded += ViewBase_Loaded; + this.Unloaded += ViewBase_Unloaded; + Dispatcher.ShutdownStarted += Dispatcher_ShutdownStarted; + } + + void Dispatcher_ShutdownStarted(object sender, EventArgs e) + { + if (ViewModel != null) + { + ViewModel.RemoveView(this); + } + } + + protected virtual void ViewBase_Unloaded(object sender, RoutedEventArgs e) + { + if (ViewModel != null) + { + ViewModel.RemoveView(this); + } + } + + protected virtual void ViewBase_Loaded(object sender, RoutedEventArgs e) + { + if (ViewModel != null) + { + ViewModel.AddView(this); + } + } + + public static DependencyProperty LeafProperty = DependencyProperty.Register("Leaf", typeof(LeafViewModel), typeof(ViewBase), new FrameworkPropertyMetadata()); + public LeafViewModel Leaf + { + get + { + return GetValue(LeafProperty) as LeafViewModel; + } + set + { + SetValue(LeafProperty, value); + } + } + + public static readonly DependencyProperty ToolBarTemplateProperty = DependencyProperty.Register("ToolBarTemplate", typeof(ControlTemplate), typeof(LeafView), new FrameworkPropertyMetadata()); + public ControlTemplate ToolBarTemplate + { + get + { + return GetValue(ToolBarTemplateProperty) as ControlTemplate; + } + set + { + SetValue(ToolBarTemplateProperty, value); + } + } + + public ViewModelBase ViewModel + { + get + { + return this.DataContext as ViewModelBase; + } + } + + public static void DrawText(DrawingContext _context, Brush _brush, Point _point, string _sText, Brush _backgroundBrush = null, HorizontalAlignment _eHAlignment = HorizontalAlignment.Left, VerticalAlignment _eVAlignment = VerticalAlignment.Top) + { + var rect = new Rect(_point, new Size()); + DrawText(_context, _brush, ref rect, _sText, _backgroundBrush, _eHAlignment, _eVAlignment); + } + + public static void DrawText(DrawingContext _context, Brush _brush, ref Rect _rect, string _sText, Brush _backgroundBrush = null, HorizontalAlignment _eHAlignment = HorizontalAlignment.Left, VerticalAlignment _eVAlignment = VerticalAlignment.Top) + { + if (string.IsNullOrWhiteSpace(_sText)) + { + return; + } + + var geo = CreateTextGeometry(_sText, 12.0, _rect.Location, _eHAlignment, _eVAlignment); + if (_backgroundBrush != null) + { + _rect = new Rect(_rect.Location, new Size(Math.Max(_rect.Width, geo.Item2), Math.Max(_rect.Height, geo.Item3))); + _context.DrawRectangle(_backgroundBrush, null, _rect); + } + _context.DrawGlyphRun(_brush, geo.Item1); + } + + public static Tuple CreateTextGeometry(string _sText, double _fSize, Point _position, HorizontalAlignment _eHAlignment = HorizontalAlignment.Left, VerticalAlignment _eVAlignment = VerticalAlignment.Top) + { + if (s_GlyphTypeface == null) + { + Typeface typeface = new Typeface("Consolas"); + if (!typeface.TryGetGlyphTypeface(out s_GlyphTypeface)) + { + throw new InvalidOperationException("No glyphtypeface found"); + } + } + + var key = Tuple.Create(_sText, _fSize); + Tuple cache; + if (!s_dGlyphCache.TryGetValue(key, out cache)) + { + var totalWidth = 0d; + int n = 0; + var aGlyphIndices = new ushort[_sText.Length]; + var aAdvanceWidths = new double[_sText.Length]; + for (; n < _sText.Length; n++) + { + ushort glyphIndex = s_GlyphTypeface.CharacterToGlyphMap[_sText[n]]; + + var glyphWidth = s_aGlyphWidths[glyphIndex]; + if (glyphWidth == 0.0) + { + glyphWidth = s_GlyphTypeface.AdvanceWidths[glyphIndex] * _fSize; + s_aGlyphWidths[glyphIndex] = glyphWidth; + } + + aGlyphIndices[n] = glyphIndex; + aAdvanceWidths[n] = glyphWidth; + totalWidth += glyphWidth; + } + s_dGlyphCache[key] = cache = Tuple.Create(totalWidth, aGlyphIndices, aAdvanceWidths); + } + + var offsetPosition = new Point(Math.Floor(_position.X), Math.Floor(_position.Y + _fSize)); + switch (_eHAlignment) + { + case HorizontalAlignment.Center: offsetPosition.X -= cache.Item1 * 0.5; break; + case HorizontalAlignment.Right: offsetPosition.X -= cache.Item1; break; + } + switch (_eVAlignment) + { + case VerticalAlignment.Center: offsetPosition.Y -= _fSize * 0.5; break; + case VerticalAlignment.Bottom: offsetPosition.Y -= _fSize; break; + } + + var gr = new GlyphRun(s_GlyphTypeface, 0, false, _fSize, cache.Item2, offsetPosition, cache.Item3, null, null, null, null, null, null); + return Tuple.Create(gr, cache.Item1, _fSize); + } + + private static GlyphTypeface s_GlyphTypeface; + private static Dictionary, Tuple> s_dGlyphCache = new Dictionary, Tuple>(); + private static double[] s_aGlyphWidths = new double[1024]; + } +} diff --git a/64kode/src/Tool/Layout/Views/WindowView.xaml b/64kode/src/Tool/Layout/Views/WindowView.xaml new file mode 100644 index 0000000..adbc245 --- /dev/null +++ b/64kode/src/Tool/Layout/Views/WindowView.xaml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/64kode/src/Tool/Layout/Views/WindowView.xaml.cs b/64kode/src/Tool/Layout/Views/WindowView.xaml.cs new file mode 100644 index 0000000..f9c4be1 --- /dev/null +++ b/64kode/src/Tool/Layout/Views/WindowView.xaml.cs @@ -0,0 +1,29 @@ +using Tool.Layout.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tool.Layout.Views +{ + /// + /// Interaction logic for RootNodeView.xaml + /// + public partial class WindowView : UserControl + { + public WindowView() + { + InitializeComponent(); + } + } +} diff --git a/64kode/src/Tool/MainWindow.xaml b/64kode/src/Tool/MainWindow.xaml new file mode 100644 index 0000000..ed2b5e5 --- /dev/null +++ b/64kode/src/Tool/MainWindow.xaml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/64kode/src/Tool/MainWindow.xaml.cs b/64kode/src/Tool/MainWindow.xaml.cs new file mode 100644 index 0000000..083d861 --- /dev/null +++ b/64kode/src/Tool/MainWindow.xaml.cs @@ -0,0 +1,119 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.IO.MemoryMappedFiles; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Threading; +using Tool.Layout.Attributes; +using Tool.Layout.Interfaces; +using Tool.Layout.ViewModels; +using Tool.ViewModels; +using Tool.Views; + +namespace Tool +{ + /// + /// Interaction logic for MainWindow.xaml + /// + [LayoutWindow(true)] + public partial class MainWindow : Window, ILayoutWindow, INotifyPropertyChanged + { + public MainWindow() + { + DataContext = MainViewModel.Instance; + InitializeComponent(); + Instance = this; + + this.Loaded += MainWindow_Loaded; + this.Closed += MainWindow_Closed; + } + + void MainWindow_Closed(object sender, EventArgs e) + { + Content = null; + MainViewModel.Instance.RemoveView(this); + + (Application.Current as App).SaveLastLayout(); + Application.Current.Shutdown(); + } + + void MainWindow_Loaded(object sender, RoutedEventArgs e) + { + MainViewModel.Instance.AddView(this); + } + + private void mnuLayout_Click(object sender, RoutedEventArgs e) + { + (App.Current as App).LoadLayout((sender as MenuItem).DataContext as LayoutViewModel); + } + + private void mnuSaveLayout_Click(object sender, RoutedEventArgs e) + { + (App.Current as App).SaveLayoutAs(); + } + + public static Window Instance { get; private set; } + + public WindowViewModel WindowViewModel + { + get + { + return m_WindowViewModel; + } + set + { + if (m_WindowViewModel == value) + return; + + if (m_WindowViewModel != null) + { + m_WindowViewModel.UnregisterWindow(this); + m_WindowViewModel = null; + } + + m_WindowViewModel = value; + + if (m_WindowViewModel != null) + { + m_WindowViewModel.RegisterWindow(this); + } + + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("WindowViewModel")); + } + } + + public ObservableCollection Layouts + { + get + { + return (App.Current as App).Layouts; + } + } + + private void mnuNewWindow_Click(object sender, RoutedEventArgs e) + { + WindowViewModel.CreateNewWindow(); + } + + private void mnuExit_Click(object sender, RoutedEventArgs e) + { + App.Current.Shutdown(); + } + + private WindowViewModel m_WindowViewModel; + + public event PropertyChangedEventHandler PropertyChanged; + } +} diff --git a/64kode/src/Tool/MessageBoxService.cs b/64kode/src/Tool/MessageBoxService.cs new file mode 100644 index 0000000..f7feb92 --- /dev/null +++ b/64kode/src/Tool/MessageBoxService.cs @@ -0,0 +1,94 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tool.Dialogs; + +namespace Tool +{ + public static class MessageBoxService + { + private static bool showingDialog = false; + + public static MessageBox ShowDialog(string _sMessage, string _sDetails, bool _bIsError) + { + if (showingDialog) + { + return null; + } + + var dialog = new MessageBox(); + if (_bIsError) + { + dialog.InfoIcon.Visibility = System.Windows.Visibility.Collapsed; + } + else + { + dialog.ErrorIcon.Visibility = System.Windows.Visibility.Collapsed; + } + + dialog.Message.Text = _sMessage; + dialog.Details.Text = _sDetails; + dialog.Owner = MainWindow.Instance; + showingDialog = true; + dialog.ShowDialog(); + showingDialog = false; + return dialog; + } + + public static string Input(string message, string defaultValue = null) + { + if (showingDialog) + { + return null; + } + + var dialog = new UserInputBox(); + dialog.Message.Text = message; + dialog.Owner = MainWindow.Instance; + if (!string.IsNullOrEmpty(defaultValue)) + { + dialog.UserInput.Text = defaultValue; + dialog.UserInput.SelectAll(); + } + showingDialog = true; + dialog.ShowDialog(); + showingDialog = false; + return dialog.UserInput.Text; + } + + public static bool Ask(string message) + { + if (showingDialog) + { + return false; + } + + var dialog = new YesNoBox(); + dialog.Message.Text = message; + dialog.Owner = MainWindow.Instance; + showingDialog = true; + dialog.ShowDialog(); + showingDialog = false; + return dialog.Result; + } + + public static string Choose(string query, IEnumerable options) + { + if (showingDialog) + { + return null; + } + + var dialog = new QueryChooseBox(); + dialog.Message.Text = query; + dialog.Options = options.ToList(); + dialog.Owner = MainWindow.Instance; + showingDialog = true; + dialog.ShowDialog(); + showingDialog = false; + return dialog.Result; + } + } +} diff --git a/64kode/src/Tool/NodeTemplateSelector.cs b/64kode/src/Tool/NodeTemplateSelector.cs new file mode 100644 index 0000000..d731d72 --- /dev/null +++ b/64kode/src/Tool/NodeTemplateSelector.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using Tool.ViewModels; + +namespace Tool +{ + public class NodeTemplateSelector : DataTemplateSelector + { + public override DataTemplate SelectTemplate(object item, DependencyObject container) + { + var vm = item as NodeViewModel; + var element = container as FrameworkElement; + if (element != null && vm != null) + { + if (vm.Model is kode64.Core.If) + { + return element.FindResource("IfNodeTemplate") as DataTemplate; + } + else if (vm.Model is kode64.Core.For) + { + return element.FindResource("ForNodeTemplate") as DataTemplate; + } + else if (vm.Model is kode64.Core.While || vm.Model is kode64.Core.DoWhile) + { + return element.FindResource("WhileNodeTemplate") as DataTemplate; + } + else if (vm.Model is kode64.Core.Get) + { + return element.FindResource("GetNodeTemplate") as DataTemplate; + } + else if (vm.Model is kode64.Core.Set) + { + return element.FindResource("SetNodeTemplate") as DataTemplate; + } + return element.FindResource("DefaultNodeTemplate") as DataTemplate; + } + return null; + } + } +} diff --git a/64kode/src/Tool/ObservableCollectionEx.cs b/64kode/src/Tool/ObservableCollectionEx.cs new file mode 100644 index 0000000..97ebfd8 --- /dev/null +++ b/64kode/src/Tool/ObservableCollectionEx.cs @@ -0,0 +1,79 @@ +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Collections.Specialized; +using System.Linq; + +namespace Tool +{ + public class ObservableCollectionEx : ObservableCollection + { + public virtual void NotifyCollectionChanged() + { + OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset)); + } + + protected override void OnCollectionChanged(NotifyCollectionChangedEventArgs e) + { + if (!m_bPreventCollectionChangedEvents) + { + base.OnCollectionChanged(e); + } + } + + public void AddRange(IEnumerable _range) + { + foreach (var item in _range) + { + Add(item); + } + } + + public void Replace(IEnumerable _range, bool _bUseResetEvent = true) + { + m_bPreventCollectionChangedEvents = true; + + List oldItems = null; + List newItems = null; + + if (!_bUseResetEvent) + { + oldItems = this.Except(_range).ToList(); + newItems = _range.Except(this).ToList(); + } + + Clear(); + foreach (var item in _range) + { + Add(item); + } + + m_bPreventCollectionChangedEvents = false; + + if (_bUseResetEvent) + { + OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset)); + } + else + { + foreach (var oldItem in oldItems) + { + OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, oldItem)); + } + foreach (var newItem in newItems) + { + OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, newItem)); + } + } + } + + public void RemoveAll(IEnumerable range) + { + foreach (var item in range) + { + Remove(item); + } + } + + protected bool m_bPreventCollectionChangedEvents = false; + } +} diff --git a/64kode/src/Tool/PinConverter.cs b/64kode/src/Tool/PinConverter.cs new file mode 100644 index 0000000..d68fc26 --- /dev/null +++ b/64kode/src/Tool/PinConverter.cs @@ -0,0 +1,47 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Data; +using Tool.ViewModels; + +namespace Tool +{ + public class PinConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + var sPinPath = parameter as string; + if (string.IsNullOrEmpty(sPinPath)) + { + return null; + } + + var node = value as NodeViewModel; + if (node == null) + { + return null; + } + + var tokens = sPinPath.Split('.'); + switch (tokens[0]) + { + case "Input": + return node.InputPins.FirstOrDefault(p => p.Name == tokens[1]); + case "Output": + return node.OutputPins.FirstOrDefault(p => p.Name == tokens[1]); + case "Exec": + return node.ExecutePins.FirstOrDefault(p => p.Name == tokens[1]); + default: + return null; + } + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } + } +} diff --git a/64kode/src/Tool/Properties/AssemblyInfo.cs b/64kode/src/Tool/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..7a386e4 --- /dev/null +++ b/64kode/src/Tool/Properties/AssemblyInfo.cs @@ -0,0 +1,55 @@ +using System.Reflection; +using System.Resources; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Windows; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Tool")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Tool")] +[assembly: AssemblyCopyright("Copyright © 2018")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +//In order to begin building localizable applications, set +//CultureYouAreCodingWith in your .csproj file +//inside a . For example, if you are using US english +//in your source files, set the to en-US. Then uncomment +//the NeutralResourceLanguage attribute below. Update the "en-US" in +//the line below to match the UICulture setting in the project file. + +//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] + + +[assembly: ThemeInfo( + ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located + //(used if a resource is not found in the page, + // or application resource dictionaries) + ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located + //(used if a resource is not found in the page, + // app, or any theme specific resource dictionaries) +)] + + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/64kode/src/Tool/Properties/Resources.Designer.cs b/64kode/src/Tool/Properties/Resources.Designer.cs new file mode 100644 index 0000000..1bb881f --- /dev/null +++ b/64kode/src/Tool/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Tool.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Tool.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/64kode/src/Tool/Properties/Resources.resx b/64kode/src/Tool/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/64kode/src/Tool/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/64kode/src/Tool/Properties/Settings.Designer.cs b/64kode/src/Tool/Properties/Settings.Designer.cs new file mode 100644 index 0000000..0b43888 --- /dev/null +++ b/64kode/src/Tool/Properties/Settings.Designer.cs @@ -0,0 +1,49 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Tool.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.1.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public global::System.Collections.Specialized.StringCollection Layouts { + get { + return ((global::System.Collections.Specialized.StringCollection)(this["Layouts"])); + } + set { + this["Layouts"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string LastLayout { + get { + return ((string)(this["LastLayout"])); + } + set { + this["LastLayout"] = value; + } + } + } +} diff --git a/64kode/src/Tool/Properties/Settings.settings b/64kode/src/Tool/Properties/Settings.settings new file mode 100644 index 0000000..8db8177 --- /dev/null +++ b/64kode/src/Tool/Properties/Settings.settings @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/64kode/src/Tool/RelayCommand.cs b/64kode/src/Tool/RelayCommand.cs new file mode 100644 index 0000000..921b4c7 --- /dev/null +++ b/64kode/src/Tool/RelayCommand.cs @@ -0,0 +1,77 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Controls; +using System.Windows; +using System.Windows.Media.Imaging; +using Tool.ViewModels; + +namespace Tool +{ + public class RelayCommand : ViewModelBase, ICommand + { + public RelayCommand(string _sDisplayName, Action _execute, Predicate _canExecute, string _sIconUri, int _iSortIndex = 0) + { + if (_execute == null) + throw new ArgumentNullException("execute"); + + m_Execute = _execute; + m_CanExecute = _canExecute; + DisplayName = _sDisplayName; + m_sIconUri = _sIconUri; + SortIndex = _iSortIndex; + } + + public int SortIndex + { + get; + private set; + } + + public string DisplayName + { + get; + private set; + } + + public Image Icon + { + get + { + if (m_sIconUri == null) + return null; + + var image = new Image(); + image.Source = new BitmapImage(new Uri(m_sIconUri)); + image.Width = 16; + image.Height = 16; + image.Stretch = Stretch.UniformToFill; + image.VerticalAlignment = VerticalAlignment.Center; + image.HorizontalAlignment = HorizontalAlignment.Center; + return image; + } + } + + public bool CanExecute(object parameter) + { + return m_CanExecute == null ? true : m_CanExecute(parameter); + } + + public event EventHandler CanExecuteChanged + { + add { CommandManager.RequerySuggested += value; } + remove { CommandManager.RequerySuggested -= value; } + } + + public void Execute(object parameter) + { + m_Execute(parameter); + } + + private readonly string m_sIconUri; + private readonly Action m_Execute; + private readonly Predicate m_CanExecute; + } +} diff --git a/64kode/src/Tool/Resources.xaml b/64kode/src/Tool/Resources.xaml new file mode 100644 index 0000000..eb7038e --- /dev/null +++ b/64kode/src/Tool/Resources.xaml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/64kode/src/Tool/Themes/Dark/Theme.xaml b/64kode/src/Tool/Themes/Dark/Theme.xaml new file mode 100644 index 0000000..69d5321 --- /dev/null +++ b/64kode/src/Tool/Themes/Dark/Theme.xaml @@ -0,0 +1,96 @@ + + + Black + #1B1B1B + #333333 + #202020 + #D8D8D8 + #909090 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/64kode/src/Tool/Themes/Shared/Controls.xaml b/64kode/src/Tool/Themes/Shared/Controls.xaml new file mode 100644 index 0000000..ffb648e --- /dev/null +++ b/64kode/src/Tool/Themes/Shared/Controls.xaml @@ -0,0 +1,1388 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/64kode/src/Tool/Themes/White/Theme.xaml b/64kode/src/Tool/Themes/White/Theme.xaml new file mode 100644 index 0000000..ec3f9b7 --- /dev/null +++ b/64kode/src/Tool/Themes/White/Theme.xaml @@ -0,0 +1,101 @@ + + + White + #F0F0F0 + #F4F4F4 + #FAFAFA + #404040 + #606060 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/64kode/src/Tool/Tool.csproj b/64kode/src/Tool/Tool.csproj new file mode 100644 index 0000000..6ed60af --- /dev/null +++ b/64kode/src/Tool/Tool.csproj @@ -0,0 +1,321 @@ + + + + + Debug + AnyCPU + {8F47CC11-D2A1-4C38-8ECF-30BCEDA2208B} + WinExe + Tool + Tool + v4.5.2 + 512 + {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 4 + true + + + true + bin\x86\Debug\ + DEBUG;TRACE + true + full + x86 + prompt + MinimumRecommendedRules.ruleset + true + + + bin\x86\Release\ + TRACE + true + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + true + + + + + + + + + + + + 4.0 + + + + + + + + MSBuild:Compile + Designer + + + + + + + + + MessageBox.xaml + + + QueryChooseBox.xaml + + + UserInputBox.xaml + + + YesNoBox.xaml + + + + + + + + + + + + + + + + + + LeafView.xaml + + + + WindowView.xaml + + + + NodeGraphView.xaml + + + + + + + + + + + + + + + + + + + + + ForView.xaml + + + GetView.xaml + + + IfView.xaml + + + SetView.xaml + + + WhileView.xaml + + + DefaultNodeView.xaml + + + ExecutePinView.xaml + + + InputPinView.xaml + + + + LinksView.xaml + + + + OutputPinView.xaml + + + + RootPinView.xaml + + + VariablesView.xaml + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + App.xaml + Code + + + MainWindow.xaml + Code + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + + + Code + + + True + True + Resources.resx + + + True + Settings.settings + True + + + ResXFileCodeGenerator + Resources.Designer.cs + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + + + + + + {4ac87545-9f48-48a7-a84a-95c84ba97921} + ToolBridge + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/64kode/src/Tool/Tool.csproj.user b/64kode/src/Tool/Tool.csproj.user new file mode 100644 index 0000000..944ec00 --- /dev/null +++ b/64kode/src/Tool/Tool.csproj.user @@ -0,0 +1,6 @@ + + + + ShowAllFiles + + \ No newline at end of file diff --git a/64kode/src/Tool/ViewModels/ExecutePinViewModel.cs b/64kode/src/Tool/ViewModels/ExecutePinViewModel.cs new file mode 100644 index 0000000..792cb57 --- /dev/null +++ b/64kode/src/Tool/ViewModels/ExecutePinViewModel.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using kode64; +using Tool.Views; + +namespace Tool.ViewModels +{ + public class ExecutePinViewModel : PinViewModelBase + { + public ExecutePinViewModel(NodeViewModel _ownerNode, ExecPin _pin, string _sName) + : base(_ownerNode, _sName) + { + m_Pin = _pin; + } + + internal void ConnectTo(RootPinViewModel _target) + { + m_Pin.node = _target.OwnerNode.Model; + m_lLinks.Clear(); + m_lLinks.Add(new Link()); + m_Connection = _target; + _target.m_Connection = this; + UpdateLinks(); + } + + internal void Disconnect() + { + m_Connection.m_Connection = null; + m_lLinks.Clear(); + m_Pin.node = null; + m_Connection = null; + } + + public override void UpdateLinks() + { + if (m_Connection == null) + { + return; + } + + var main = OwnerNode.Main; + m_lLinks[0].Update(Offset.X, Offset.Y, m_Connection.Offset.X, m_Connection.Offset.Y, false, true); + } + + public ExecPin m_Pin; + public RootPinViewModel m_Connection; + } +} diff --git a/64kode/src/Tool/ViewModels/FunctionCallViewModel.cs b/64kode/src/Tool/ViewModels/FunctionCallViewModel.cs new file mode 100644 index 0000000..7926233 --- /dev/null +++ b/64kode/src/Tool/ViewModels/FunctionCallViewModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tool.ViewModels +{ + public class FunctionCallViewModel : NodeViewModel + { + public FunctionCallViewModel(FunctionViewModel _function, MainViewModel _main) + : base(_function, _main) + { + } + + public List Children { get; } = new List(); + + public kode64.FunctionCall FunctionCallModel { get { return (kode64.FunctionCall)Model; } } + } +} diff --git a/64kode/src/Tool/ViewModels/FunctionViewModel.cs b/64kode/src/Tool/ViewModels/FunctionViewModel.cs new file mode 100644 index 0000000..6054251 --- /dev/null +++ b/64kode/src/Tool/ViewModels/FunctionViewModel.cs @@ -0,0 +1,74 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Input; +using Tool.Actions; + +namespace Tool.ViewModels +{ + public class FunctionViewModel : NodeViewModel, IUndoContext + { + public FunctionViewModel(FunctionViewModel _parent, MainViewModel _main) + : base(_parent, _main) + { + } + + public string Name + { + get => m_sName; + set { m_sName = value; RaisePropertyChanged(); } + } + + public void BringToFront(NodeViewModel _node) + { + var iOldIndex = Nodes.IndexOf(_node); + Nodes.Move(iOldIndex, Nodes.Count - 1); + for (int i = iOldIndex; i < Nodes.Count; ++i) + { + Nodes[i].RaisePropertyChanged(nameof(NodeViewModel.Z)); + } + } + + private void DeleteSelection() + { + Main.Undo.PushGroup(this); + foreach (var node in SelectedNodes) + { + Main.Undo.Execute(new DeleteNodeAction(this, node)); + } + Main.Undo.PopGroup(); + } + + public ObservableCollection Nodes { get; } = new ObservableCollection(); + + public kode64.Function FunctionModel { get { return (kode64.Function)Model; } } + + public List SelectedNodes { get; private set; } = new List(); + + public ObservableCollection Variables + { + get; + } = new ObservableCollection(); + + public bool IsDirty { get; set; } + + public ICommand DeleteSelectionCommand + { + get + { + if (m_DeleteSelectionCommand == null) + { + m_DeleteSelectionCommand = new RelayCommand("Delete selection", o => DeleteSelection(), o => SelectedNodes.Count > 0, null); + } + + return m_DeleteSelectionCommand; + } + } + + private string m_sName; + private RelayCommand m_DeleteSelectionCommand; + } +} diff --git a/64kode/src/Tool/ViewModels/InputPinViewModel.cs b/64kode/src/Tool/ViewModels/InputPinViewModel.cs new file mode 100644 index 0000000..8178e81 --- /dev/null +++ b/64kode/src/Tool/ViewModels/InputPinViewModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using kode64; + +namespace Tool.ViewModels +{ + public class InputPinViewModel : PinViewModelBase + { + public InputPinViewModel(NodeViewModel _ownerNode, InputPin _pin, string _sName) + : base (_ownerNode, _sName) + { + m_Pin = _pin; + } + + public override void UpdateLinks() + { + m_Connection?.UpdateLinks(); + } + + public InputPin m_Pin; + public OutputPinViewModel m_Connection; + } +} diff --git a/64kode/src/Tool/ViewModels/LinkViewModel.cs b/64kode/src/Tool/ViewModels/LinkViewModel.cs new file mode 100644 index 0000000..3447ba6 --- /dev/null +++ b/64kode/src/Tool/ViewModels/LinkViewModel.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tool.ViewModels +{ + public class LinkViewModel + { + } +} diff --git a/64kode/src/Tool/ViewModels/MainViewModel.cs b/64kode/src/Tool/ViewModels/MainViewModel.cs new file mode 100644 index 0000000..62b010c --- /dev/null +++ b/64kode/src/Tool/ViewModels/MainViewModel.cs @@ -0,0 +1,110 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tool.Views; + +namespace Tool.ViewModels +{ + public class MainViewModel : ViewModelBase + { + private MainViewModel() + { + Root = new FunctionViewModel(null, this); + Root.Model = new kode64.Function(); + CurrentFunction = Root; + Functions.Add(new FunctionViewModel(Root, this) { Name = "Foo" }); + Functions.Add(new FunctionViewModel(Root, this) { Name = "Bar" }); + Undo.Recording = true; + } + + public FunctionViewModel Root + { + get; + private set; + } + + public FunctionViewModel CurrentFunction + { + get; + set; + } + + public List Functions + { + get; + } = new List(); + + public UndoRedoViewModel Undo + { + get; + } = new UndoRedoViewModel(); + + public double OffsetX + { + get + { + return m_fOffsetX; + } + set + { + double fOffset = value / Scale; + double fWidth = NodeGraphView.Instance.ActualWidth / Scale; + double fMin = -32768 + fWidth; + m_fOffsetX = Math.Min(0, Math.Max(fMin, fOffset) * Scale); + RaisePropertyChanged(); + } + } + + public double OffsetY + { + get + { + return m_fOffsetY; + } + set + { + double fOffset = value / Scale; + double fHeight = NodeGraphView.Instance.ActualHeight / Scale; + double fMin = -32768 + fHeight; + m_fOffsetY = Math.Min(0, Math.Max(fMin, fOffset) * Scale); + RaisePropertyChanged(); + } + } + + public double Scale + { + get + { + return m_fScale; + } + set + { + m_fScale = Math.Max(0.5, Math.Min(20.0, value)); + OffsetX = OffsetX; + OffsetY = OffsetY; + RaisePropertyChanged(); + } + } + + public static MainViewModel Instance + { + get + { + if (s_Instance == null) + { + s_Instance = new MainViewModel(); + } + + return s_Instance; + } + } + + private double m_fOffsetX = -16384; + private double m_fOffsetY = -16384; + private double m_fScale = 1.0; + private static MainViewModel s_Instance; + } +} diff --git a/64kode/src/Tool/ViewModels/NodeViewModel.cs b/64kode/src/Tool/ViewModels/NodeViewModel.cs new file mode 100644 index 0000000..5c5d1c9 --- /dev/null +++ b/64kode/src/Tool/ViewModels/NodeViewModel.cs @@ -0,0 +1,140 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tool.Actions; + +namespace Tool.ViewModels +{ + public class NodeViewModel : ViewModelBase + { + public NodeViewModel(FunctionViewModel _function, MainViewModel _main) + { + Main = _main; + Function = _function; + } + + private void UpdateModel() + { + if (m_Model is kode64.MultiInputNode) + { + var multiInput = m_Model as kode64.MultiInputNode; + InputPins = multiInput.inputPins.Select((p, i) => new InputPinViewModel(this, p, i.ToString())).ToList(); + } + else + { + InputPins = m_Model.GetType().GetFields().Where(f => f.FieldType == typeof(kode64.InputPin)).Select(p => new InputPinViewModel(this, (kode64.InputPin)p.GetValue(m_Model), p.Name)).ToList(); + } + + if (m_Model is kode64.MultiNode) + { + var multi = m_Model as kode64.MultiNode; + OutputPins = multi.outputPins.Select((p, i) => new OutputPinViewModel(this, p, i.ToString())).ToList(); + ExecutePins = multi.execPins.Select((p, i) => new ExecutePinViewModel(this, p, i.ToString())).ToList(); + } + else + { + OutputPins = m_Model.GetType().GetFields().Where(f => f.FieldType == typeof(kode64.OutputPin)).Select(p => new OutputPinViewModel(this, (kode64.OutputPin)p.GetValue(m_Model), p.Name)).ToList(); + ExecutePins = m_Model.GetType().GetFields().Where(f => f.FieldType == typeof(kode64.ExecPin) && f.GetValue(m_Model) != Model.nextExec).Select(p => new ExecutePinViewModel(this, (kode64.ExecPin)p.GetValue(m_Model), p.Name)).ToList(); + } + + RootPin = new RootPinViewModel(this); + NextExecPin = new ExecutePinViewModel(this, Model.nextExec, "Next execution"); + RaisePropertyChanged(""); + ModelUpdated?.Invoke(this, EventArgs.Empty); + } + + public int X + { + get + { + return m_iX; + } + set + { + m_iX = value; + RaisePropertyChanged(); + } + } + + public int Y + { + get + { + return m_iY; + } + set + { + m_iY = value; + RaisePropertyChanged(); + } + } + + public int Z + { + get => Function.Nodes.IndexOf(this); + } + + public string TypeName + { + get + { + return Model.GetType().Name; + } + } + + public bool IsSelected + { + get + { + return Function.SelectedNodes.Contains(this); + } + set + { + if (value == IsSelected) + { + return; + } + + var selection = Function.SelectedNodes.ToList(); + if (value) + { + selection.Add(this); + } + else + { + selection.Remove(this); + } + + Main.Undo.Execute(new ChangeSelectionAction(Function, selection)); + } + } + + public MainViewModel Main { get; private set; } + + public FunctionViewModel Function { get; private set; } + + public kode64.Node Model + { + get => m_Model; + set + { + m_Model = value; + UpdateModel(); + } + } + + public event EventHandler ModelUpdated; + + public List InputPins { get; private set; } + public List OutputPins { get; private set; } + public List ExecutePins { get; private set; } + public RootPinViewModel RootPin { get; private set; } + public ExecutePinViewModel NextExecPin { get; private set; } + + private kode64.Node m_Model; + private int m_iX; + private int m_iY; + } +} diff --git a/64kode/src/Tool/ViewModels/OutputPinViewModel.cs b/64kode/src/Tool/ViewModels/OutputPinViewModel.cs new file mode 100644 index 0000000..60387c5 --- /dev/null +++ b/64kode/src/Tool/ViewModels/OutputPinViewModel.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using kode64; +using Tool.Views; + +namespace Tool.ViewModels +{ + public class OutputPinViewModel : PinViewModelBase + { + public OutputPinViewModel(NodeViewModel _ownerNode, OutputPin _pin, string _sName) + : base(_ownerNode, _sName) + { + m_Pin = _pin; + } + + internal void ConnectTo(InputPinViewModel _target) + { + kode64.Node.Connect(OwnerNode.Model, m_Pin, _target.OwnerNode.Model, _target.m_Pin); + m_lLinks.Add(new Link()); + m_lConnections.Add(_target); + _target.m_Connection = this; + UpdateLinks(); + } + + internal void Disconnect(InputPinViewModel _target) + { + var iIndex = m_lConnections.IndexOf(_target); + m_lLinks.RemoveAt(iIndex); + m_lConnections.RemoveAt(iIndex); + _target.m_Connection = null; + kode64.Node.Disconnect(OwnerNode.Model, m_Pin, _target.OwnerNode.Model, _target.m_Pin); + } + + public override void UpdateLinks() + { + for (int i = 0; i < m_lLinks.Count; ++i) + { + var target = m_lConnections[i]; + var main = OwnerNode.Main; + m_lLinks[i].Update(Offset.X, Offset.Y, target.Offset.X, target.Offset.Y, true, true); + } + } + + public OutputPin m_Pin; + public List m_lConnections = new List(); + } +} diff --git a/64kode/src/Tool/ViewModels/PinViewModelBase.cs b/64kode/src/Tool/ViewModels/PinViewModelBase.cs new file mode 100644 index 0000000..286f54b --- /dev/null +++ b/64kode/src/Tool/ViewModels/PinViewModelBase.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using Tool.Views; + +namespace Tool.ViewModels +{ + public abstract class PinViewModelBase : ViewModelBase + { + public PinViewModelBase(NodeViewModel _ownerNode, string _sName) + { + OwnerNode = _ownerNode; + Name = _sName; + } + + public virtual void UpdateLinks() + { + } + + public NodeViewModel OwnerNode + { + get; + private set; + } + + public string Name + { + get; + private set; + } + + public Point Offset + { + get => m_Offset; + internal set + { + if (m_Offset == value) + { + return; + } + m_Offset = value; + UpdateLinks(); + } + } + + public List m_lLinks = new List(); + private Point m_Offset; + } +} diff --git a/64kode/src/Tool/ViewModels/RootPinViewModel.cs b/64kode/src/Tool/ViewModels/RootPinViewModel.cs new file mode 100644 index 0000000..6ec87b6 --- /dev/null +++ b/64kode/src/Tool/ViewModels/RootPinViewModel.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using kode64; + +namespace Tool.ViewModels +{ + public class RootPinViewModel : PinViewModelBase + { + public RootPinViewModel(NodeViewModel _ownerNode) + : base(_ownerNode, "Root") + { + } + + public override void UpdateLinks() + { + m_Connection?.UpdateLinks(); + } + + public ExecutePinViewModel m_Connection; + } +} diff --git a/64kode/src/Tool/ViewModels/UndoRedoViewModel.cs b/64kode/src/Tool/ViewModels/UndoRedoViewModel.cs new file mode 100644 index 0000000..0aa48e7 --- /dev/null +++ b/64kode/src/Tool/ViewModels/UndoRedoViewModel.cs @@ -0,0 +1,290 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Input; + +namespace Tool.ViewModels +{ + public class UndoRedoViewModel : ViewModelBase + { + public UndoRedoViewModel() + { + } + + public virtual void Record(IUndoItem _item) + { + if (!Recording) + { + return; + } + + if (GroupStack.Count > 0) + { + var group = GroupStack.Peek(); + group.Push(_item); + } + else + { + ++HistoryIndex; + UndoStack.RemoveRange(HistoryIndex, UndoStack.Count - HistoryIndex); + UndoStack.Add(_item); + CommandManager.InvalidateRequerySuggested(); + } + } + + public void PushGroup(IUndoContext _context) + { + GroupStack.Push(new UndoItemGroup(_context, string.Empty)); + } + + public void PushGroup(string _sDescription, IUndoContext _context = null) + { + GroupStack.Push(new UndoItemGroup(_context, _sDescription)); + } + + public void PopGroup() + { + var group = GroupStack.Pop(); + if (group.Items.Count == 1) + { + Record(group.Items[0]); + } + else if (group.Items.Count > 0) + { + Record(group); + } + } + + public void Execute(IUndoItem item) + { + bool wasRecording = Recording; + if (wasRecording) + { + Recording = false; + } + + item.Redo(); + if (item.MarksDirty) + { + item.Context.IsDirty = true; + } + if (wasRecording) + { + Recording = true; + } + + Record(item); + } + + public void Purge(IUndoContext file) + { + UndoStack = new List(UndoStack.Where(i => i.Context != file).ToList()); + HistoryIndex = UndoStack.Count - 1; + + CommandManager.InvalidateRequerySuggested(); + } + + public void Undo() + { + if (!CanUndo) + { + throw new InvalidOperationException(); + } + + var item = UndoStack[HistoryIndex--]; + bool wasRecording = Recording; + if (wasRecording) + { + Recording = false; + } + + item.Undo(); + if (item.MarksDirty) + { + item.Context.IsDirty = true; + } + if (wasRecording) + { + Recording = true; + } + + CommandManager.InvalidateRequerySuggested(); + } + + public void Redo() + { + if (!CanRedo) + { + throw new InvalidOperationException(); + } + + var item = UndoStack[++HistoryIndex]; + bool wasRecording = Recording; + if (wasRecording) + { + Recording = false; + } + + item.Redo(); + if (item.MarksDirty) + { + item.Context.IsDirty = true; + } + if (wasRecording) + { + Recording = true; + } + + CommandManager.InvalidateRequerySuggested(); + } + + public Stack GroupStack + { + get; + private set; + } = new Stack(); + + public List UndoStack + { + get; + private set; + } = new List(); + + public int HistoryIndex + { + get; + private set; + } = -1; + + public bool Recording + { + get; + set; + } + + public bool CanUndo + { + get + { + return HistoryIndex >= 0; + } + } + + public bool CanRedo + { + get + { + return HistoryIndex < UndoStack.Count - 1; + } + } + + public ICommand UndoCommand + { + get + { + if (m_UndoCommand == null) + { + m_UndoCommand = new RelayCommand("Undo", (p) => Undo(), (p) => CanUndo, null); + } + + return m_UndoCommand; + } + } + + public ICommand RedoCommand + { + get + { + if (m_RedoCommand == null) + { + m_RedoCommand = new RelayCommand("Redo", (p) => Redo(), (p) => CanRedo, null); + } + + return m_RedoCommand; + } + } + + public class UndoItemGroup : IUndoItem + { + public UndoItemGroup(IUndoContext file, string description) + { + Context = file; + m_Description = description; + } + + public IUndoContext Context + { + get; + private set; + } + + public string Description + { + get + { + return m_Description; + } + } + + public bool CanUndo + { + get + { + return true; + } + } + + public bool CanRedo + { + get + { + return true; + } + } + + public bool MarksDirty + { + get + { + foreach (var item in Items) + { + if (item.MarksDirty) + { + return true; + } + } + + return false; + } + } + + public void Redo() + { + foreach (var item in Items) + { + item.Redo(); + } + } + + public void Undo() + { + foreach (var item in Items.Reverse()) + { + item.Undo(); + } + } + + public void Push(IUndoItem item) + { + Items.Add(item); + } + + public List Items = new List(); + private readonly string m_Description; + } + + private RelayCommand m_UndoCommand = null; + private RelayCommand m_RedoCommand = null; + } +} diff --git a/64kode/src/Tool/ViewModels/VariableNodeViewModel.cs b/64kode/src/Tool/ViewModels/VariableNodeViewModel.cs new file mode 100644 index 0000000..2d1452f --- /dev/null +++ b/64kode/src/Tool/ViewModels/VariableNodeViewModel.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tool.ViewModels +{ + public class VariableNodeViewModel : NodeViewModel + { + public VariableNodeViewModel(FunctionViewModel _function, MainViewModel _main, VariableViewModel _variable) + : base(_function, _main) + { + m_Variable = _variable; + } + + public string VariableName + { + get => m_Variable?.Name ?? "(null)"; + } + + private VariableViewModel m_Variable; + } +} diff --git a/64kode/src/Tool/ViewModels/VariableViewModel.cs b/64kode/src/Tool/ViewModels/VariableViewModel.cs new file mode 100644 index 0000000..bb46143 --- /dev/null +++ b/64kode/src/Tool/ViewModels/VariableViewModel.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tool.ViewModels +{ + public class VariableViewModel : ViewModelBase + { + public VariableViewModel(FunctionViewModel _function) + { + m_Function = _function; + } + + public string Name + { + get => m_sName; + set + { + m_sName = value; + RaisePropertyChanged(); + foreach (var node in Users) + { + node.RaisePropertyChanged(nameof(VariableNodeViewModel.VariableName)); + } + } + } + + public object Value + { + get + { + var function = (kode64.Function)m_Function.Model; + return function.variables[Index]; + } + set + { + var function = (kode64.Function)m_Function.Model; + function.variables[Index] = value; + } + } + + public int Index + { + get + { + return m_Function.Variables.IndexOf(this); + } + } + + public List Users + { + get; + } = new List(); + + private FunctionViewModel m_Function; + private string m_sName; + } +} diff --git a/64kode/src/Tool/ViewModels/ViewModelBase.cs b/64kode/src/Tool/ViewModels/ViewModelBase.cs new file mode 100644 index 0000000..21bf0bf --- /dev/null +++ b/64kode/src/Tool/ViewModels/ViewModelBase.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Xml.Serialization; + +namespace Tool.ViewModels +{ + public class ViewModelBase : INotifyPropertyChanged + { + public void RaisePropertyChanged([CallerMemberName] string _sPropertyName = null) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(_sPropertyName)); + } + + public virtual void Attach() { } + public virtual void Detach() { } + + public void RemoveView(FrameworkElement _view) + { + if (m_Views.Contains(_view)) + { + m_Views.Remove(_view); + if (m_Views.Count == 0) + { + Detach(); + } + } + } + + public void AddView(FrameworkElement _view) + { + if (!m_Views.Contains(_view)) + { + m_Views.Add(_view); + if (m_Views.Count == 1) + { + Attach(); + } + } + } + + public bool IsUsed + { + get + { + return m_Views.Count != 0; + } + } + + [XmlIgnore] + public List m_Views = new List(); + + public event PropertyChangedEventHandler PropertyChanged; + } +} diff --git a/64kode/src/Tool/Views/Core/ForView.xaml b/64kode/src/Tool/Views/Core/ForView.xaml new file mode 100644 index 0000000..e3d1f43 --- /dev/null +++ b/64kode/src/Tool/Views/Core/ForView.xaml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/64kode/src/Tool/Views/Core/ForView.xaml.cs b/64kode/src/Tool/Views/Core/ForView.xaml.cs new file mode 100644 index 0000000..ac99eb3 --- /dev/null +++ b/64kode/src/Tool/Views/Core/ForView.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tool.Views.Core +{ + /// + /// Interaction logic for ForView.xaml + /// + public partial class ForView : NodeViewBase + { + public ForView() + { + InitializeComponent(); + } + } +} diff --git a/64kode/src/Tool/Views/Core/GetView.xaml b/64kode/src/Tool/Views/Core/GetView.xaml new file mode 100644 index 0000000..db68858 --- /dev/null +++ b/64kode/src/Tool/Views/Core/GetView.xaml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/64kode/src/Tool/Views/Core/GetView.xaml.cs b/64kode/src/Tool/Views/Core/GetView.xaml.cs new file mode 100644 index 0000000..9072177 --- /dev/null +++ b/64kode/src/Tool/Views/Core/GetView.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tool.Views.Core +{ + /// + /// Interaction logic for GetView.xaml + /// + public partial class GetView : NodeViewBase + { + public GetView() + { + InitializeComponent(); + } + } +} diff --git a/64kode/src/Tool/Views/Core/IfView.xaml b/64kode/src/Tool/Views/Core/IfView.xaml new file mode 100644 index 0000000..9ea8be5 --- /dev/null +++ b/64kode/src/Tool/Views/Core/IfView.xaml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/64kode/src/Tool/Views/Core/IfView.xaml.cs b/64kode/src/Tool/Views/Core/IfView.xaml.cs new file mode 100644 index 0000000..b4bfd4e --- /dev/null +++ b/64kode/src/Tool/Views/Core/IfView.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tool.Views.Core +{ + /// + /// Interaction logic for IfView.xaml + /// + public partial class IfView : NodeViewBase + { + public IfView() + { + InitializeComponent(); + } + } +} diff --git a/64kode/src/Tool/Views/Core/SetView.xaml b/64kode/src/Tool/Views/Core/SetView.xaml new file mode 100644 index 0000000..a50c238 --- /dev/null +++ b/64kode/src/Tool/Views/Core/SetView.xaml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/64kode/src/Tool/Views/Core/SetView.xaml.cs b/64kode/src/Tool/Views/Core/SetView.xaml.cs new file mode 100644 index 0000000..4fb1f80 --- /dev/null +++ b/64kode/src/Tool/Views/Core/SetView.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tool.Views.Core +{ + /// + /// Interaction logic for SetView.xaml + /// + public partial class SetView : NodeViewBase + { + public SetView() + { + InitializeComponent(); + } + } +} diff --git a/64kode/src/Tool/Views/Core/WhileView.xaml b/64kode/src/Tool/Views/Core/WhileView.xaml new file mode 100644 index 0000000..19e54c8 --- /dev/null +++ b/64kode/src/Tool/Views/Core/WhileView.xaml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/64kode/src/Tool/Views/Core/WhileView.xaml.cs b/64kode/src/Tool/Views/Core/WhileView.xaml.cs new file mode 100644 index 0000000..b3bacc0 --- /dev/null +++ b/64kode/src/Tool/Views/Core/WhileView.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tool.Views.Core +{ + /// + /// Interaction logic for WhileView.xaml + /// + public partial class WhileView : NodeViewBase + { + public WhileView() + { + InitializeComponent(); + } + } +} diff --git a/64kode/src/Tool/Views/DefaultNodeView.xaml b/64kode/src/Tool/Views/DefaultNodeView.xaml new file mode 100644 index 0000000..c256056 --- /dev/null +++ b/64kode/src/Tool/Views/DefaultNodeView.xaml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/64kode/src/Tool/Views/DefaultNodeView.xaml.cs b/64kode/src/Tool/Views/DefaultNodeView.xaml.cs new file mode 100644 index 0000000..33427bb --- /dev/null +++ b/64kode/src/Tool/Views/DefaultNodeView.xaml.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tool.Views +{ + /// + /// Interaction logic for DefaultNodeView.xaml + /// + public partial class DefaultNodeView : NodeViewBase + { + public DefaultNodeView() + { + InitializeComponent(); + } + + protected override void NodeViewBase_Loaded(object sender, RoutedEventArgs e) + { + Height = DesiredHeight; + Node.ModelUpdated += Node_ModelUpdated; + } + + private void Node_ModelUpdated(object sender, EventArgs e) + { + Height = DesiredHeight; + } + } +} diff --git a/64kode/src/Tool/Views/ExecutePinView.xaml b/64kode/src/Tool/Views/ExecutePinView.xaml new file mode 100644 index 0000000..7af80e4 --- /dev/null +++ b/64kode/src/Tool/Views/ExecutePinView.xaml @@ -0,0 +1,13 @@ + + + + + + diff --git a/64kode/src/Tool/Views/ExecutePinView.xaml.cs b/64kode/src/Tool/Views/ExecutePinView.xaml.cs new file mode 100644 index 0000000..864f4c7 --- /dev/null +++ b/64kode/src/Tool/Views/ExecutePinView.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tool.Views +{ + /// + /// Interaction logic for ExecutePinView.xaml + /// + public partial class ExecutePinView : PinViewBase + { + public ExecutePinView() + { + InitializeComponent(); + } + } +} diff --git a/64kode/src/Tool/Views/InputPinView.xaml b/64kode/src/Tool/Views/InputPinView.xaml new file mode 100644 index 0000000..f4d3a53 --- /dev/null +++ b/64kode/src/Tool/Views/InputPinView.xaml @@ -0,0 +1,15 @@ + + + + + + + + diff --git a/64kode/src/Tool/Views/InputPinView.xaml.cs b/64kode/src/Tool/Views/InputPinView.xaml.cs new file mode 100644 index 0000000..78c36b3 --- /dev/null +++ b/64kode/src/Tool/Views/InputPinView.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tool.Views +{ + /// + /// Interaction logic for InputPinView.xaml + /// + public partial class InputPinView : PinViewBase + { + public InputPinView() + { + InitializeComponent(); + } + } +} diff --git a/64kode/src/Tool/Views/Link.cs b/64kode/src/Tool/Views/Link.cs new file mode 100644 index 0000000..bee71c2 --- /dev/null +++ b/64kode/src/Tool/Views/Link.cs @@ -0,0 +1,65 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Media; + +namespace Tool.Views +{ + public class Link + { + internal void Update(double x1, double y1, double x2, double y2, bool _bHorizontal, bool _bValid) + { + var x3 = (x1 + x2) / 2; + var y3 = (y1 + y2) / 2; + var x4 = x3; + var y4 = y3; + + x3 = Math.Max(x3, x1 + 50); + x4 = Math.Min(x4, x2 - 50); + y3 = Math.Max(y3, y1 + 50); + y4 = Math.Min(y4, y2 - 50); + + m_bHorizontal = _bHorizontal; + m_bValid = _bValid; + if (m_Geo == null) + { + m_Geo = new PathGeometry(); + m_Figure = new PathFigure(); + m_Geo.Figures.Add(m_Figure); + if (_bHorizontal) + { + m_Figure.Segments.Add(new BezierSegment(new Point(x3, y1), new Point(x4, y2), new Point(x2, y2), true)); + } + else + { + m_Figure.Segments.Add(new BezierSegment(new Point(x1, y3), new Point(x2, y4), new Point(x2, y2), true)); + } + } + else + { + var bs = m_Figure.Segments[0] as BezierSegment; + if (_bHorizontal) + { + bs.Point1 = new Point(x3, y1); + bs.Point2 = new Point(x4, y2); + } + else + { + bs.Point1 = new Point(x1, y3); + bs.Point2 = new Point(x2, y4); + } + bs.Point3 = new Point(x2, y2); + } + + m_Figure.StartPoint = new Point(x1, y1); + } + + public PathGeometry m_Geo; + public PathFigure m_Figure; + public bool m_bValid; + public bool m_bHorizontal; + } +} diff --git a/64kode/src/Tool/Views/LinksView.xaml b/64kode/src/Tool/Views/LinksView.xaml new file mode 100644 index 0000000..a022363 --- /dev/null +++ b/64kode/src/Tool/Views/LinksView.xaml @@ -0,0 +1,12 @@ + + + + + diff --git a/64kode/src/Tool/Views/LinksView.xaml.cs b/64kode/src/Tool/Views/LinksView.xaml.cs new file mode 100644 index 0000000..da8eba4 --- /dev/null +++ b/64kode/src/Tool/Views/LinksView.xaml.cs @@ -0,0 +1,201 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tool.Views +{ + /// + /// Interaction logic for LinksView.xaml + /// + public partial class LinksView : UserControl + { + public LinksView() + { + InitializeComponent(); + Instance = this; + + var fPenWidth = 3.0; + + var brush = new LinearGradientBrush(); + brush.StartPoint = new Point(0, 0); + brush.EndPoint = new Point(0, 1); + brush.GradientStops.Add(new GradientStop() + { + Offset = 0, + Color = Color.FromRgb(96, 64, 24) + }); + brush.GradientStops.Add(new GradientStop() + { + Offset = 1, + Color = Color.FromRgb(192, 160, 48) + }); + m_ValidVerticalPen = new Pen(brush, fPenWidth); + m_ValidVerticalPen.Freeze(); + + brush = new LinearGradientBrush(); + brush.StartPoint = new Point(0, 1); + brush.EndPoint = new Point(0, 0); + brush.GradientStops.Add(new GradientStop() + { + Offset = 0, + Color = Color.FromRgb(96, 64, 24) + }); + brush.GradientStops.Add(new GradientStop() + { + Offset = 1, + Color = Color.FromRgb(192, 160, 48) + }); + m_ValidVerticalPenFlipped = new Pen(brush, fPenWidth); + m_ValidVerticalPenFlipped.Freeze(); + + brush = new LinearGradientBrush(); + brush.StartPoint = new Point(0, 0); + brush.EndPoint = new Point(1, 0); + brush.GradientStops.Add(new GradientStop() + { + Offset = 0, + Color = Color.FromRgb(64, 16, 16) + }); + brush.GradientStops.Add(new GradientStop() + { + Offset = 1, + Color = Color.FromRgb(160, 48, 48) + }); + m_InvalidVerticalPen = new Pen(brush, fPenWidth); + + brush = new LinearGradientBrush(); + brush.StartPoint = new Point(0, 0); + brush.EndPoint = new Point(1, 0); + brush.GradientStops.Add(new GradientStop() + { + Offset = 0, + Color = Color.FromRgb(160, 72, 160) + }); + brush.GradientStops.Add(new GradientStop() + { + Offset = 1, + Color = Color.FromRgb(72, 160, 72) + }); + m_ValidHorizontalPen = new Pen(brush, fPenWidth); + m_ValidHorizontalPen.Freeze(); + + brush = new LinearGradientBrush(); + brush.StartPoint = new Point(1, 0); + brush.EndPoint = new Point(0, 0); + brush.GradientStops.Add(new GradientStop() + { + Offset = 0, + Color = Color.FromRgb(160, 72, 160) + }); + brush.GradientStops.Add(new GradientStop() + { + Offset = 1, + Color = Color.FromRgb(72, 160, 72) + }); + m_ValidHorizontalPenFlipped = new Pen(brush, fPenWidth); + m_ValidHorizontalPenFlipped.Freeze(); + + brush = new LinearGradientBrush(); + brush.StartPoint = new Point(0, 1); + brush.EndPoint = new Point(0, 0); + brush.GradientStops.Add(new GradientStop() + { + Offset = 0, + Color = Color.FromRgb(64, 16, 16) + }); + brush.GradientStops.Add(new GradientStop() + { + Offset = 1, + Color = Color.FromRgb(160, 48, 48) + }); + m_InvalidHorizontalPen = new Pen(brush, fPenWidth); + } + + protected override void OnRender(DrawingContext _context) + { + base.OnRender(_context); + + var drawLink = NodeGraphView.Instance?.m_DrawLink; + if (drawLink != null) + { + Draw(_context, drawLink); + } + + var func = NodeGraphView.Instance?.CurrentFunction; + if (func != null) + { + foreach (var node in func.Nodes) + { + foreach (var link in node.OutputPins.SelectMany(p => p.m_lLinks).Union(node.ExecutePins.SelectMany(p => p.m_lLinks)).Union(node.NextExecPin.m_lLinks)) + { + Draw(_context, link); + } + } + } + } + + private void Draw(DrawingContext _context, Link _link) + { + Pen pen = null; + if (_link.m_bHorizontal) + { + if (_link.m_bValid) + { + var segment = _link.m_Figure.Segments[0] as BezierSegment; + if (_link.m_Figure.StartPoint.X > segment.Point2.X) + { + pen = m_ValidHorizontalPenFlipped; + } + else + { + pen = m_ValidHorizontalPen; + } + } + else + { + pen = m_InvalidHorizontalPen; + } + } + else + { + if (_link.m_bValid) + { + var segment = _link.m_Figure.Segments[0] as BezierSegment; + if (_link.m_Figure.StartPoint.Y > segment.Point2.Y) + { + pen = m_ValidVerticalPenFlipped; + } + else + { + pen = m_ValidVerticalPen; + } + } + else + { + pen = m_InvalidVerticalPen; + } + } + _context.DrawGeometry(null, pen, _link.m_Geo); + } + + public static LinksView Instance; + + private Pen m_ValidHorizontalPenFlipped; + private Pen m_ValidHorizontalPen; + private Pen m_ValidVerticalPenFlipped; + private Pen m_ValidVerticalPen; + private Pen m_InvalidHorizontalPen; + private Pen m_InvalidVerticalPen; + } +} diff --git a/64kode/src/Tool/Views/NodeGraphView.xaml b/64kode/src/Tool/Views/NodeGraphView.xaml new file mode 100644 index 0000000..7cc07cf --- /dev/null +++ b/64kode/src/Tool/Views/NodeGraphView.xaml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/64kode/src/Tool/Views/NodeGraphView.xaml.cs b/64kode/src/Tool/Views/NodeGraphView.xaml.cs new file mode 100644 index 0000000..180e4f8 --- /dev/null +++ b/64kode/src/Tool/Views/NodeGraphView.xaml.cs @@ -0,0 +1,336 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; +using Tool.ViewModels; +using Tool.Actions; +using Tool.Layout.Attributes; + +namespace Tool.Views +{ + /// + /// Interaction logic for NodeGraphView.xaml + /// + [LayoutView("Nodes", "pack://application:,,,/tool;component/Images/intro.png")] + [MainLayoutViewAttribute] + public partial class NodeGraphView : Tool.Layout.Views.ViewBase + { + public NodeGraphView() + : base() + { + InitializeComponent(); + Instance = this; + Loaded += NodeGraphView_Loaded; + } + + private void NodeGraphView_Loaded(object sender, RoutedEventArgs e) + { + var assembly = typeof(kode64.Node).Assembly; + foreach (var type in assembly.GetTypes()) + { + if (typeof(kode64.Node).IsAssignableFrom(type) && !type.IsAbstract && type.IsPublic) + { + MenuItem menuItem = null; + var parentItem = GetMenuItem(type.Namespace); + parentItem.Add(menuItem = new MenuItem() + { + Header = type.Name + }); + menuItem.Click += MenuItem_Click; + menuItem.Tag = type; + + if (type == typeof(kode64.Core.Set) || type == typeof(kode64.Core.Get)) + { + menuItem.SubmenuOpened += VariableMenuItem_SubmenuOpened; + menuItem.Items.Add(new object()); + } + else if (type == typeof(kode64.FunctionCall)) + { + m_FunctionCallMenuItem = menuItem; + menuItem.SubmenuOpened += FunctionCallMenuItem_SubmenuOpened; + menuItem.Items.Add(new object()); + } + else if (type == typeof(kode64.Function)) + { + m_FunctionMenuItem = menuItem; + } + } + } + } + + private ItemCollection GetMenuItem(string _sNamespace) + { + if (_sNamespace == "kode64") + { + _sNamespace = null; + } + else if (_sNamespace != null && _sNamespace.StartsWith("kode64")) + { + _sNamespace = _sNamespace.Substring(7); + } + if (string.IsNullOrEmpty(_sNamespace)) + { + return mnuGrid.Items; + } + + ItemCollection result = null; + if (!m_dMenuItems.TryGetValue(_sNamespace, out result)) + { + var iDotIndex = _sNamespace.LastIndexOf('.'); + string _sParentNamespace = iDotIndex < 0 ? null : _sNamespace.Substring(0, iDotIndex); + var sThisNamespace = iDotIndex < 0 ? _sNamespace : _sNamespace.Substring(_sNamespace.LastIndexOf('.')); + var parent = GetMenuItem(_sParentNamespace); + var menuItem = new MenuItem() { Header = sThisNamespace }; + parent.Add(menuItem); + m_dMenuItems[_sNamespace] = result = menuItem.Items; + } + return result; + } + + private void MenuItem_Click(object sender, RoutedEventArgs e) + { + var menuItem = e.OriginalSource as MenuItem; + if (menuItem.HasItems) + { + return; + } + + NodeViewModel vm = null; + if (menuItem.Parent == m_FunctionCallMenuItem) + { + // TODO: create function call + } + else if (menuItem == m_FunctionMenuItem) + { + // TODO: create function + } + else if (menuItem.Tag is VariableViewModel) + { + var nodeType = ((MenuItem)menuItem.Parent).Tag as Type; + var model = CreateModel(nodeType); + vm = new VariableNodeViewModel(Main.CurrentFunction, Main, (VariableViewModel)menuItem.Tag); + vm.Model = model; + } + else + { + var nodeType = menuItem.Tag as Type; + var model = CreateModel(nodeType); + vm = new NodeViewModel(Main.CurrentFunction, Main); + vm.Model = model; + } + vm.X = (int)((m_MenuPoint.X - Main.OffsetX) / Main.Scale); + vm.Y = (int)((m_MenuPoint.Y - Main.OffsetY) / Main.Scale); + Main.Undo.Execute(new AddNewNodeAction(Main.CurrentFunction, vm)); + } + + private kode64.Node CreateModel(Type _type) + { + return Activator.CreateInstance(_type) as kode64.Node; + } + + private void VariableMenuItem_SubmenuOpened(object sender, RoutedEventArgs e) + { + var item = sender as MenuItem; + item.Items.Clear(); + + if (CurrentFunction.Variables.Count == 0) + { + item.Items.Add(new MenuItem() { Header = "(none available)", IsEnabled = false }); + } + else + { + foreach (var variable in CurrentFunction.Variables) + { + var menuItem = new MenuItem() { Header = variable.Name }; + menuItem.Tag = variable; + item.Items.Add(menuItem); + } + } + } + + private void FunctionCallMenuItem_SubmenuOpened(object sender, RoutedEventArgs e) + { + m_FunctionCallMenuItem.Items.Clear(); + + foreach (var function in Main.Functions) + { + var menuItem = new MenuItem() { Header = function.Name }; + m_FunctionCallMenuItem.Items.Add(menuItem); + } + } + + internal void ClearLinkDraw() + { + m_DrawLink = null; + } + + internal void SetLinkDraw(double x1, double y1, double x2, double y2, bool _bHorizontal, bool _bValid) + { + if (m_DrawLink == null) + { + m_DrawLink = new Link(); + } + + m_DrawLink.Update(x1, y1, x2, y2, _bHorizontal, _bValid); + } + + private void UserControl_MouseWheel(object sender, MouseWheelEventArgs e) + { + var point = e.GetPosition(this); + var offset = new Point(Main.OffsetX, Main.OffsetY); + offset.X -= point.X; + offset.Y -= point.Y; + offset.X /= Main.Scale; + offset.Y /= Main.Scale; + + double factor = 1.0; + if (e.Delta > 0) + { + factor = 1.0 + 0.001 * e.Delta; + } + else if (e.Delta < 0) + { + factor = 1.0 / (1.0 + 0.001 * -e.Delta); + } + Main.Scale *= factor; + + offset.X *= Main.Scale; + offset.Y *= Main.Scale; + offset.X += point.X; + offset.Y += point.Y; + Main.OffsetX = offset.X; + Main.OffsetY = offset.Y; + + Dispatcher.BeginInvoke(new Action(() => + { + LinksView.Instance.InvalidateVisual(); + })); + } + + private void UserControl_MouseDown(object sender, MouseButtonEventArgs e) + { + if ((e.OriginalSource as FrameworkElement)?.DataContext != CurrentFunction) + { + return; + } + + Main.Undo.PushGroup(Main.CurrentFunction); + m_DownPoint = e.GetPosition(this); + m_DownOffset = new Point(Main.OffsetX, Main.OffsetY); + if (e.ChangedButton == MouseButton.Right) + { + m_MenuPoint = m_DownPoint.Value; + } + CaptureMouse(); + } + + private void UserControl_MouseUp(object sender, MouseButtonEventArgs e) + { + if (e.ChangedButton == MouseButton.Left) + { + var x1 = (Canvas.GetLeft(rectSelection) - Main.OffsetX) / Main.Scale; + var y1 = (Canvas.GetTop(rectSelection) - Main.OffsetY) / Main.Scale; + var x2 = x1 + rectSelection.Width / Main.Scale; + var y2 = y1 + rectSelection.Height / Main.Scale; + foreach (var node in CurrentFunction.Nodes) + { + node.IsSelected = node.X > x1 && node.X < x2 && node.Y > y1 && node.Y < y2; + } + } + ReleaseMouseCapture(); + if (e.OriginalSource == this) + { + Main.Undo.PopGroup(); + } + } + + private void UserControl_MouseMove(object sender, MouseEventArgs e) + { + if (m_DownPoint.HasValue) + { + m_CurrentPoint = e.GetPosition(this); + m_DeltaX = m_CurrentPoint.X - m_DownPoint.Value.X; + m_DeltaY = m_CurrentPoint.Y - m_DownPoint.Value.Y; + if (e.RightButton == MouseButtonState.Pressed) + { + Main.OffsetX = m_DownOffset.X + m_DeltaX; + Main.OffsetY = m_DownOffset.Y + m_DeltaY; + LinksView.Instance.InvalidateVisual(); + } + else + { + var x1 = Math.Min(m_DownPoint.Value.X, m_CurrentPoint.X); + var x2 = Math.Max(m_DownPoint.Value.X, m_CurrentPoint.X); + var y1 = Math.Min(m_DownPoint.Value.Y, m_CurrentPoint.Y); + var y2 = Math.Max(m_DownPoint.Value.Y, m_CurrentPoint.Y); + + Canvas.SetLeft(rectSelection, x1); + Canvas.SetTop(rectSelection, y1); + rectSelection.Width = x2 - x1; + rectSelection.Height = y2 - y1; + rectSelection.Visibility = Visibility.Visible; + } + } + } + + private void mnuGrid_ContextMenuOpening(object sender, ContextMenuEventArgs e) + { + if (m_DeltaX > 5 || m_DeltaY > 5) + { + e.Handled = true; + } + } + + private void UserControl_LostMouseCapture(object sender, MouseEventArgs e) + { + m_DownPoint = null; + rectSelection.Visibility = Visibility.Collapsed; + LinksView.Instance.InvalidateVisual(); + } + + public MainViewModel Main + { + get + { + return MainViewModel.Instance; + } + } + + public FunctionViewModel CurrentFunction + { + get + { + return Main.CurrentFunction; + } + } + + public static NodeGraphView Instance + { + get; + private set; + } + + internal Link m_DrawLink; + + private Point? m_DownPoint; + private Point m_MenuPoint; + private Point m_DownOffset; + + private Dictionary m_dMenuItems = new Dictionary(); + private MenuItem m_FunctionCallMenuItem; + private MenuItem m_FunctionMenuItem; + private Point m_CurrentPoint; + private double m_DeltaX; + private double m_DeltaY; + } +} diff --git a/64kode/src/Tool/Views/NodeViewBase.cs b/64kode/src/Tool/Views/NodeViewBase.cs new file mode 100644 index 0000000..ce4892b --- /dev/null +++ b/64kode/src/Tool/Views/NodeViewBase.cs @@ -0,0 +1,205 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Input; +using System.Windows.Media; +using Tool.ViewModels; + +namespace Tool.Views +{ + public class NodeViewBase : UserControl + { + public NodeViewBase() + { + MouseDown += NodeViewBase_MouseDown; + MouseUp += NodeViewBase_MouseUp; + LostMouseCapture += NodeViewBase_LostMouseCapture; + MouseMove += NodeViewBase_MouseMove; + Loaded += NodeViewBase_Loaded; + } + + protected virtual void NodeViewBase_Loaded(object sender, RoutedEventArgs e) + { + } + + public double DesiredHeight + { + get + { + return Math.Max(20, 28 * Math.Max(Node?.InputPins?.Count ?? 0, Node?.OutputPins?.Count ?? 0) - 8); + } + } + + private void NodeViewBase_MouseMove(object sender, System.Windows.Input.MouseEventArgs e) + { + if (m_DownPoint.HasValue) + { + var dp = this as DependencyObject; + do + { + dp = VisualTreeHelper.GetParent(dp); + } while (!(dp is NodeGraphView)); + + var fe = e.OriginalSource as DependencyObject; + var point = e.GetPosition(dp as IInputElement); + + if (m_SourcePin != null) + { + var hit = VisualTreeHelper.HitTest(dp as Visual, point); + dp = hit.VisualHit; + do + { + dp = VisualTreeHelper.GetParent(dp); + } while (!(dp is InputPinView || dp is RootPinView || dp == null)); + bool bValid = m_bHorizontal && dp is InputPinView || !m_bHorizontal && dp is RootPinView; + if (bValid) + { + m_TargetPin = dp; + } + else + { + m_TargetPin = null; + } + NodeGraphView.Instance.SetLinkDraw(m_DownPoint.Value.X, m_DownPoint.Value.Y, point.X, point.Y, m_bHorizontal, bValid); + } + else + { + var deltaX = (point.X - m_DownPoint.Value.X) / Main.Scale; + var deltaY = (point.Y - m_DownPoint.Value.Y) / Main.Scale; + foreach (var offset in m_lDownOffsets) + { + offset.Item2.X = (int)(offset.Item1.X + deltaX); + offset.Item2.Y = (int)(offset.Item1.Y + deltaY); + } + } + LinksView.Instance.InvalidateVisual(); + } + } + + private void NodeViewBase_LostMouseCapture(object sender, System.Windows.Input.MouseEventArgs e) + { + if (m_SourcePin != null) + { + NodeGraphView.Instance.ClearLinkDraw(); + } + m_DownPoint = null; + m_lDownOffsets.Clear(); + LinksView.Instance.InvalidateVisual(); + } + + private void NodeViewBase_MouseUp(object sender, System.Windows.Input.MouseButtonEventArgs e) + { + if (m_SourcePin != null && m_TargetPin != null) + { + if (m_SourcePin is OutputPinView) + { + var source = (m_SourcePin as OutputPinView).DataContext as OutputPinViewModel; + var target = (m_TargetPin as InputPinView).DataContext as InputPinViewModel; + source.ConnectTo(target); + } + else if (m_SourcePin is ExecutePinView) + { + var source = (m_SourcePin as ExecutePinView).DataContext as ExecutePinViewModel; + var target = (m_TargetPin as RootPinView).DataContext as RootPinViewModel; + source.ConnectTo(target); + } + } + else if (m_SourcePin == null) + { + e.Handled = true; + } + ReleaseMouseCapture(); + Main.Undo.PopGroup(); + } + + protected virtual void NodeViewBase_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e) + { + Main.Undo.PushGroup(Main.CurrentFunction); + var fe = e.OriginalSource as DependencyObject; + m_SourcePin = null; + do + { + if (fe is OutputPinView) + { + m_SourcePin = fe; + m_bHorizontal = true; + break; + } + else if (fe is ExecutePinView) + { + m_SourcePin = fe; + m_bHorizontal = false; + break; + } + fe = VisualTreeHelper.GetParent(fe); + } while (fe != null); + + var dp = this as DependencyObject; + do + { + dp = VisualTreeHelper.GetParent(dp); + } while (!(dp is NodeGraphView)); + + m_DownPoint = e.GetPosition(dp as IInputElement); + + if (m_SourcePin == null) + { + Node.Function.BringToFront(Node); + if (!Node.IsSelected) + { + Node.IsSelected = true; + if (!Keyboard.Modifiers.HasFlag(ModifierKeys.Control)) + { + foreach (var node in Node.Function.SelectedNodes.ToList()) + { + if (node != Node) + { + node.IsSelected = false; + } + } + } + else + { + m_DownPoint = null; + return; + } + } + else + { + if (Keyboard.Modifiers.HasFlag(ModifierKeys.Control)) + { + Node.IsSelected = false; + m_DownPoint = null; + return; + } + } + + foreach (var node in Node.Function.SelectedNodes) + { + m_lDownOffsets.Add(Tuple.Create(new Point(node.X, node.Y), node)); + } + } + CaptureMouse(); + } + + public NodeViewModel Node + { + get => DataContext as NodeViewModel; + } + + public MainViewModel Main + { + get => Node?.Main; + } + + private Point? m_DownPoint; + private List> m_lDownOffsets = new List>(); + private DependencyObject m_SourcePin; + private bool m_bHorizontal; + private DependencyObject m_TargetPin; + } +} diff --git a/64kode/src/Tool/Views/OutputPinView.xaml b/64kode/src/Tool/Views/OutputPinView.xaml new file mode 100644 index 0000000..e75ac6c --- /dev/null +++ b/64kode/src/Tool/Views/OutputPinView.xaml @@ -0,0 +1,15 @@ + + + + + + + + diff --git a/64kode/src/Tool/Views/OutputPinView.xaml.cs b/64kode/src/Tool/Views/OutputPinView.xaml.cs new file mode 100644 index 0000000..3d41886 --- /dev/null +++ b/64kode/src/Tool/Views/OutputPinView.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tool.Views +{ + /// + /// Interaction logic for OutputPinView.xaml + /// + public partial class OutputPinView : PinViewBase + { + public OutputPinView() + { + InitializeComponent(); + } + } +} diff --git a/64kode/src/Tool/Views/PinViewBase.cs b/64kode/src/Tool/Views/PinViewBase.cs new file mode 100644 index 0000000..ab44175 --- /dev/null +++ b/64kode/src/Tool/Views/PinViewBase.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Media; +using Tool.ViewModels; + +namespace Tool.Views +{ + public class PinViewBase : UserControl + { + public PinViewBase() + { + LayoutUpdated += PinViewBase_LayoutUpdated; + } + + protected virtual void PinViewBase_LayoutUpdated(object sender, EventArgs e) + { + var pin = DataContext as PinViewModelBase; + if (pin == null) + { + return; + } + + var dp = this as DependencyObject; + do + { + dp = VisualTreeHelper.GetParent(dp); + } while (!(dp is NodeViewBase) && dp != null); + + if (dp == null) + { + return; + } + + var nodeView = dp as NodeViewBase; + var main = nodeView.Main; + + do + { + dp = VisualTreeHelper.GetParent(dp); + } while (!(dp is Canvas) && dp != null); + + if (dp == null) + { + return; + } + + var transform = this.TransformToVisual(dp as Visual); + var pivotX = this is InputPinView ? ActualWidth / 2 + 2 : ActualWidth / 2; + var pivotY = this is RootPinView ? ActualHeight / 2 + 2 : ActualHeight / 2; + var offset = transform.Transform(new Point(pivotX, pivotY)); + pin.Offset = new Point(offset.X * main.Scale + main.OffsetX, offset.Y * main.Scale + main.OffsetY); + } + } +} diff --git a/64kode/src/Tool/Views/RootPinView.xaml b/64kode/src/Tool/Views/RootPinView.xaml new file mode 100644 index 0000000..9968500 --- /dev/null +++ b/64kode/src/Tool/Views/RootPinView.xaml @@ -0,0 +1,13 @@ + + + + + + diff --git a/64kode/src/Tool/Views/RootPinView.xaml.cs b/64kode/src/Tool/Views/RootPinView.xaml.cs new file mode 100644 index 0000000..1a84867 --- /dev/null +++ b/64kode/src/Tool/Views/RootPinView.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tool.Views +{ + /// + /// Interaction logic for RootPinView.xaml + /// + public partial class RootPinView : PinViewBase + { + public RootPinView() + { + InitializeComponent(); + } + } +} diff --git a/64kode/src/Tool/Views/VariablesView.xaml b/64kode/src/Tool/Views/VariablesView.xaml new file mode 100644 index 0000000..ae1b42d --- /dev/null +++ b/64kode/src/Tool/Views/VariablesView.xaml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + diff --git a/64kode/src/Tool/Views/VariablesView.xaml.cs b/64kode/src/Tool/Views/VariablesView.xaml.cs new file mode 100644 index 0000000..2dac974 --- /dev/null +++ b/64kode/src/Tool/Views/VariablesView.xaml.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; +using Tool.Actions; +using Tool.Layout.Attributes; +using Tool.ViewModels; + +namespace Tool.Views +{ + /// + /// Interaction logic for VariablesView.xaml + /// + [LayoutView("Variables", "pack://application:,,,/tool;component/Images/notepad++.png")] + public partial class VariablesView : Tool.Layout.Views.ViewBase + { + public VariablesView() + { + InitializeComponent(); + } + + public MainViewModel Main + { + get + { + return MainViewModel.Instance; + } + } + + public FunctionViewModel CurrentFunction + { + get + { + return Main.CurrentFunction; + } + } + + private void btnAdd_Click(object sender, RoutedEventArgs e) + { + Main.Undo.Execute(new AddNewVariableAction(CurrentFunction, new VariableViewModel(CurrentFunction))); + } + } +} diff --git a/64kode/src/ToolBridge/ToolBridge.cpp b/64kode/src/ToolBridge/ToolBridge.cpp new file mode 100644 index 0000000..451cfcb --- /dev/null +++ b/64kode/src/ToolBridge/ToolBridge.cpp @@ -0,0 +1,6 @@ +#include +#include +#include +#include +#include +#include \ No newline at end of file diff --git a/64kode/src/ToolBridge/ToolBridge.i b/64kode/src/ToolBridge/ToolBridge.i new file mode 100644 index 0000000..1de4615 --- /dev/null +++ b/64kode/src/ToolBridge/ToolBridge.i @@ -0,0 +1,5 @@ +#line 1 "ToolBridge.cpp" +#using +#line 1 "ToolBridge.cpp" +#using +#line 1 "ToolBridge.cpp" diff --git a/64kode/src/ToolBridge/ToolBridge.vcxproj b/64kode/src/ToolBridge/ToolBridge.vcxproj new file mode 100644 index 0000000..c2b1832 --- /dev/null +++ b/64kode/src/ToolBridge/ToolBridge.vcxproj @@ -0,0 +1,124 @@ + + + + + Authoring + Win32 + + + Debug + Win32 + + + Release + Win32 + + + + 15.0 + {4AC87545-9F48-48A7-A84A-95C84BA97921} + ToolBridge + 10.0 + + + + StaticLibrary + true + v142 + + + DynamicLibrary + true + v142 + true + + + StaticLibrary + false + v142 + true + + + + + + + + + + + + + + + + + + $(SolutionDir)src;$(IncludePath) + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)\ + + + $(SolutionDir)src;$(IncludePath) + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)\ + + + $(SolutionDir)src;$(IncludePath) + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)\ + + + + Level3 + MaxSpeed + true + true + true + false + stdcpp17 + + + true + true + + + + + Level3 + Disabled + true + false + stdcpp17 + + + + + Level3 + Disabled + AUTHORING;_WINDLL;%(PreprocessorDefinitions) + stdcpp17 + false + + + + + {8e06a4a1-40d6-4aca-bafb-2b3850cd3578} + + + {dfadd377-3c32-4920-98a8-79696f83382c} + + + {618e98d1-bde7-49a2-8cdd-fb2e660cd590} + + + {3f0d4f6b-03be-4d66-a2ef-47ec5d961bca} + + + + + + + + + \ No newline at end of file diff --git a/64kode/src/ToolBridge/ToolBridge.vcxproj.user b/64kode/src/ToolBridge/ToolBridge.vcxproj.user new file mode 100644 index 0000000..88a5509 --- /dev/null +++ b/64kode/src/ToolBridge/ToolBridge.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/64kode/src/helloworld/Fibonacci.h b/64kode/src/helloworld/Fibonacci.h new file mode 100644 index 0000000..ac99e44 --- /dev/null +++ b/64kode/src/helloworld/Fibonacci.h @@ -0,0 +1,117 @@ +#pragma once + +using namespace kode64; + +namespace helloworld +{ + BEGIN_NODE_BASE(helloworld, Fibonacci, NodeGroup) + + void Init() override + { + NodeGroup::Init(); + + InputN = AddInput(0.0); + OutputResult = AddOutput(0.0); + + auto var_fib = NodeRunner::CreateVariable(0.0); + auto var_prevFib = NodeRunner::CreateVariable(0.0); + auto var_i = NodeRunner::CreateVariable(0.0); + auto var_temp = NodeRunner::CreateVariable(0.0); + auto var_result = NodeRunner::CreateVariable(0.0); + + SET(GetFib, Variable, var_fib); + SET(GetPrev, Variable, var_prevFib); + SET(GetI, Variable, var_i); + SET(GetTemp, Variable, var_temp); + SET(GetResult, Variable, var_result); + + SET(Const1, ConstValue, 1.0); + SET(Const2, ConstValue, 2.0); + + CONNECT(Const1, Value, ln10b, Right); + CONNECT(ln10b, Result, ln10, BoolExpr); + + SET(ln11, Variable, var_result); + CONNECT_EXEC(ln10, True, ln11); + + SET(ln13, Variable, var_fib); + CONNECT_EXEC(ln10, False, ln13); + CONNECT(Const1, Value, ln13, Value); + + SET(ln14, Variable, var_prevFib); + SET_NEXTEXEC(ln13, ln14); + CONNECT(Const1, Value, ln14, Value); + + SET_NEXTEXEC(ln14, ln16); + SET(ln16a, Variable, var_i); + CONNECT(Const2, Value, ln16a, Value); + CONNECT_EXEC(ln16, Begin, ln16a); + + CONNECT(GetI, Value, ln16c, Left); + CONNECT(ln16c, Result, ln16, BoolExpr); + + SET(ln16f, Variable, var_i); + CONNECT(GetI, Value, ln16g, AddInput(0.0)); + CONNECT(Const1, Value, ln16g, AddInput(0.0)); + CONNECT(ln16g, Result, ln16f, Value); + CONNECT_EXEC(ln16, Increment, ln16f); + + SET(ln17, Variable, var_temp); + CONNECT_EXEC(ln16, Body, ln17); + CONNECT(GetFib, Value, ln17, Value); + + SET(ln18, Variable, var_fib); + SET_NEXTEXEC(ln17, ln18); + CONNECT(GetFib, Value, ln18a, AddInput(0.0)); + CONNECT(GetPrev, Value, ln18a, AddInput(0.0)); + CONNECT(ln18a, Result, ln18, Value); + + SET(ln19, Variable, var_prevFib); + SET_NEXTEXEC(ln18, ln19); + CONNECT(GetTemp, Value, ln19, Value); + + SET(ln21, Variable, var_result); + CONNECT(GetFib, Value, ln21, Value); + SET_NEXTEXEC(ln16, ln21); + + ADD_FIRSTEXEC(ln10); + + CONNECT_TO_INNER(GetResult, Value, OutputResult); + CONNECT_FROM_INNER(InputN, ln10b, Left); + CONNECT_FROM_INNER(InputN, ln11, Value); + CONNECT_FROM_INNER(InputN, ln16c, Right); + } + + DECLARE_NODE(Core, Get, GetFib); + DECLARE_NODE(Core, Get, GetPrev); + DECLARE_NODE(Core, Get, GetI); + DECLARE_NODE(Core, Get, GetTemp); + DECLARE_NODE(Core, Get, GetResult); + DECLARE_NODE(Core, Constant, Const1); + DECLARE_NODE(Core, Constant, Const2); + DECLARE_NODE(Core, If, ln10); + DECLARE_NODE(Math, LessEquals, ln10b); + DECLARE_NODE(Core, Set, ln11); + DECLARE_NODE(Core, Set, ln13); + DECLARE_NODE(Core, Set, ln14); + DECLARE_NODE(Core, For, ln16); + DECLARE_NODE(Core, Set, ln16a); + DECLARE_NODE(Math, Less, ln16c); + DECLARE_NODE(Core, Set, ln16f); + DECLARE_NODE(Math, Add, ln16g); + DECLARE_NODE(Core, Set, ln17); + DECLARE_NODE(Core, Set, ln18); + DECLARE_NODE(Math, Add, ln18a); + DECLARE_NODE(Core, Set, ln19); + DECLARE_NODE(Core, Set, ln21); + +#ifdef AUTHORING + InputPin^ InputN; + OutputPin^ OutputResult; +#else + int InputN; + int OutputResult; +#endif + + END_NODE +} \ No newline at end of file diff --git a/64kode/src/helloworld/helloworld.cpp b/64kode/src/helloworld/helloworld.cpp new file mode 100644 index 0000000..a33fab2 --- /dev/null +++ b/64kode/src/helloworld/helloworld.cpp @@ -0,0 +1 @@ +#include "helloworld.h" \ No newline at end of file diff --git a/64kode/src/helloworld/helloworld.h b/64kode/src/helloworld/helloworld.h new file mode 100644 index 0000000..7173092 --- /dev/null +++ b/64kode/src/helloworld/helloworld.h @@ -0,0 +1,4 @@ +#include +#include +#include +//#include "Fibonacci.h" diff --git a/64kode/src/helloworld/helloworld.vcxproj b/64kode/src/helloworld/helloworld.vcxproj new file mode 100644 index 0000000..18802f8 --- /dev/null +++ b/64kode/src/helloworld/helloworld.vcxproj @@ -0,0 +1,134 @@ + + + + + Authoring + Win32 + + + Debug + Win32 + + + Release + Win32 + + + + 15.0 + {DFADD377-3C32-4920-98A8-79696F83382C} + helloworld + 10.0 + + + + StaticLibrary + true + v142 + false + NotSet + + + StaticLibrary + true + v142 + true + NotSet + + + StaticLibrary + false + v142 + true + false + NotSet + + + + + + + + + + + + + + + + + + $(SolutionDir)src;$(IncludePath) + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)\ + + + $(SolutionDir)src;$(IncludePath) + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)\ + + + $(SolutionDir)src;$(IncludePath) + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)\ + + + + Level3 + Disabled + true + false + stdcpp17 + + + + + Level3 + Disabled + true + AUTHORING;_WINDLL;%(PreprocessorDefinitions) + stdcpp17 + false + + + + + Level3 + MaxSpeed + true + true + true + false + stdcpp17 + + + true + true + + + + + {8e06a4a1-40d6-4aca-bafb-2b3850cd3578} + + + {618e98d1-bde7-49a2-8cdd-fb2e660cd590} + + + {3f0d4f6b-03be-4d66-a2ef-47ec5d961bca} + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/64kode/src/helloworld/helloworld.vcxproj.user b/64kode/src/helloworld/helloworld.vcxproj.user new file mode 100644 index 0000000..88a5509 --- /dev/null +++ b/64kode/src/helloworld/helloworld.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/64kode/src/intro/ReadMe.txt b/64kode/src/intro/ReadMe.txt new file mode 100644 index 0000000..62dac59 --- /dev/null +++ b/64kode/src/intro/ReadMe.txt @@ -0,0 +1,40 @@ +======================================================================== + CONSOLE APPLICATION : 64kode Project Overview +======================================================================== + +AppWizard has created this 64kode application for you. + +This file contains a summary of what you will find in each of the files that +make up your 64kode application. + + +64kode.vcxproj + This is the main project file for VC++ projects generated using an Application Wizard. + It contains information about the version of Visual C++ that generated the file, and + information about the platforms, configurations, and project features selected with the + Application Wizard. + +64kode.vcxproj.filters + This is the filters file for VC++ projects generated using an Application Wizard. + It contains information about the association between the files in your project + and the filters. This association is used in the IDE to show grouping of files with + similar extensions under a specific node (for e.g. ".cpp" files are associated with the + "Source Files" filter). + +64kode.cpp + This is the main application source file. + +///////////////////////////////////////////////////////////////////////////// +Other standard files: + +StdAfx.h, StdAfx.cpp + These files are used to build a precompiled header (PCH) file + named 64kode.pch and a precompiled types file named StdAfx.obj. + +///////////////////////////////////////////////////////////////////////////// +Other notes: + +AppWizard uses "TODO:" comments to indicate parts of the source code you +should add to or customize. + +///////////////////////////////////////////////////////////////////////////// diff --git a/64kode/src/intro/intro.cpp b/64kode/src/intro/intro.cpp new file mode 100644 index 0000000..a924526 --- /dev/null +++ b/64kode/src/intro/intro.cpp @@ -0,0 +1,36 @@ +// 64kode.cpp : Defines the entry point for the console application. +// + +#include "stdafx.h" +#include +#include +#include +#include +#include + +int fib(int n) +{ + if (n <= 1) + { + return n; + } + else + { + int fib = 1; + int prevFib = 1; + + for (int i = 2; i + + + + Authoring + Win32 + + + Debug + Win32 + + + Release + Win32 + + + + 15.0 + {3156012A-9165-4DAC-B53B-FEA6EC9A1D32} + Win32Proj + My64kode + 10.0 + intro + + + + Application + true + v142 + false + NotSet + + + Application + true + v142 + true + NotSet + + + Application + false + v142 + true + false + NotSet + + + + + + + + + + + + + + + + + + true + $(SolutionDir)src;$(IncludePath) + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)\ + + + true + $(SolutionDir)src;$(IncludePath) + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)\ + + + false + $(SolutionDir)src;$(IncludePath) + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)\ + + + + Use + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + + + + + Use + Level3 + Disabled + AUTHORING;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + + + + + Level3 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + + + + + + + + + + + + + Create + Create + Create + + + + + {8e06a4a1-40d6-4aca-bafb-2b3850cd3578} + + + {618e98d1-bde7-49a2-8cdd-fb2e660cd590} + + + {3f0d4f6b-03be-4d66-a2ef-47ec5d961bca} + + + + + + \ No newline at end of file diff --git a/64kode/src/intro/intro.vcxproj.user b/64kode/src/intro/intro.vcxproj.user new file mode 100644 index 0000000..88a5509 --- /dev/null +++ b/64kode/src/intro/intro.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/64kode/src/intro/stdafx.cpp b/64kode/src/intro/stdafx.cpp new file mode 100644 index 0000000..1dd76d7 --- /dev/null +++ b/64kode/src/intro/stdafx.cpp @@ -0,0 +1,8 @@ +// stdafx.cpp : source file that includes just the standard includes +// 64kode.pch will be the pre-compiled header +// stdafx.obj will contain the pre-compiled type information + +#include "stdafx.h" + +// TODO: reference any additional headers you need in STDAFX.H +// and not in this file diff --git a/64kode/src/intro/stdafx.h b/64kode/src/intro/stdafx.h new file mode 100644 index 0000000..2c103cc --- /dev/null +++ b/64kode/src/intro/stdafx.h @@ -0,0 +1,16 @@ +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, but +// are changed infrequently +// + +#pragma once + +#include "targetver.h" + +#include +#include +#include + + + +// TODO: reference additional headers your program requires here diff --git a/64kode/src/intro/targetver.h b/64kode/src/intro/targetver.h new file mode 100644 index 0000000..87c0086 --- /dev/null +++ b/64kode/src/intro/targetver.h @@ -0,0 +1,8 @@ +#pragma once + +// Including SDKDDKVer.h defines the highest available Windows platform. + +// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and +// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. + +#include diff --git a/64kode/test.txt b/64kode/test.txt new file mode 100644 index 0000000..96c9067 --- /dev/null +++ b/64kode/test.txt @@ -0,0 +1 @@ +foo bar \ No newline at end of file diff --git a/netpoet-coop-8k/8kode.sln b/netpoet-coop-8k/8kode.sln new file mode 100644 index 0000000..6793495 --- /dev/null +++ b/netpoet-coop-8k/8kode.sln @@ -0,0 +1,80 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.7.34302.85 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "intro", "src\intro\intro.vcxproj", "{EC001821-5569-4BB5-87B3-20CB8FF9137B}" + ProjectSection(ProjectDependencies) = postProject + {6D00EB12-7129-482A-8011-F187F20345DF} = {6D00EB12-7129-482A-8011-F187F20345DF} + {930621BA-75BE-49FE-80DE-E75E7DC06931} = {930621BA-75BE-49FE-80DE-E75E7DC06931} + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "tool", "src\tool\tool.csproj", "{6D00EB12-7129-482A-8011-F187F20345DF}" + ProjectSection(ProjectDependencies) = postProject + {930621BA-75BE-49FE-80DE-E75E7DC06931} = {930621BA-75BE-49FE-80DE-E75E7DC06931} + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "shc", "src\shc\shc.csproj", "{930621BA-75BE-49FE-80DE-E75E7DC06931}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Authoring|Mixed Platforms = Authoring|Mixed Platforms + Compress|Mixed Platforms = Compress|Mixed Platforms + Release|Mixed Platforms = Release|Mixed Platforms + ShaderDebug|Mixed Platforms = ShaderDebug|Mixed Platforms + Video|Mixed Platforms = Video|Mixed Platforms + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {EC001821-5569-4BB5-87B3-20CB8FF9137B}.Authoring|Mixed Platforms.ActiveCfg = Authoring|Win32 + {EC001821-5569-4BB5-87B3-20CB8FF9137B}.Authoring|Mixed Platforms.Build.0 = Authoring|Win32 + {EC001821-5569-4BB5-87B3-20CB8FF9137B}.Compress|Mixed Platforms.ActiveCfg = Compress|Win32 + {EC001821-5569-4BB5-87B3-20CB8FF9137B}.Compress|Mixed Platforms.Build.0 = Compress|Win32 + {EC001821-5569-4BB5-87B3-20CB8FF9137B}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {EC001821-5569-4BB5-87B3-20CB8FF9137B}.Release|Mixed Platforms.Build.0 = Release|Win32 + {EC001821-5569-4BB5-87B3-20CB8FF9137B}.ShaderDebug|Mixed Platforms.ActiveCfg = ShaderDebug|Win32 + {EC001821-5569-4BB5-87B3-20CB8FF9137B}.ShaderDebug|Mixed Platforms.Build.0 = ShaderDebug|Win32 + {EC001821-5569-4BB5-87B3-20CB8FF9137B}.Video|Mixed Platforms.ActiveCfg = Video|Win32 + {EC001821-5569-4BB5-87B3-20CB8FF9137B}.Video|Mixed Platforms.Build.0 = Video|Win32 + {6D00EB12-7129-482A-8011-F187F20345DF}.Authoring|Mixed Platforms.ActiveCfg = Authoring|Any CPU + {6D00EB12-7129-482A-8011-F187F20345DF}.Authoring|Mixed Platforms.Build.0 = Authoring|Any CPU + {6D00EB12-7129-482A-8011-F187F20345DF}.Compress|Mixed Platforms.ActiveCfg = Void|Any CPU + {6D00EB12-7129-482A-8011-F187F20345DF}.Compress|Mixed Platforms.Build.0 = Void|Any CPU + {6D00EB12-7129-482A-8011-F187F20345DF}.Release|Mixed Platforms.ActiveCfg = Void|Any CPU + {6D00EB12-7129-482A-8011-F187F20345DF}.Release|Mixed Platforms.Build.0 = Void|Any CPU + {6D00EB12-7129-482A-8011-F187F20345DF}.ShaderDebug|Mixed Platforms.ActiveCfg = Void|Any CPU + {6D00EB12-7129-482A-8011-F187F20345DF}.ShaderDebug|Mixed Platforms.Build.0 = Void|Any CPU + {6D00EB12-7129-482A-8011-F187F20345DF}.Video|Mixed Platforms.ActiveCfg = Void|Any CPU + {6D00EB12-7129-482A-8011-F187F20345DF}.Video|Mixed Platforms.Build.0 = Void|Any CPU + {930621BA-75BE-49FE-80DE-E75E7DC06931}.Authoring|Mixed Platforms.ActiveCfg = Debug|Any CPU + {930621BA-75BE-49FE-80DE-E75E7DC06931}.Authoring|Mixed Platforms.Build.0 = Debug|Any CPU + {930621BA-75BE-49FE-80DE-E75E7DC06931}.Compress|Mixed Platforms.ActiveCfg = Debug|Any CPU + {930621BA-75BE-49FE-80DE-E75E7DC06931}.Compress|Mixed Platforms.Build.0 = Debug|Any CPU + {930621BA-75BE-49FE-80DE-E75E7DC06931}.Release|Mixed Platforms.ActiveCfg = Debug|Any CPU + {930621BA-75BE-49FE-80DE-E75E7DC06931}.Release|Mixed Platforms.Build.0 = Debug|Any CPU + {930621BA-75BE-49FE-80DE-E75E7DC06931}.ShaderDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {930621BA-75BE-49FE-80DE-E75E7DC06931}.ShaderDebug|Mixed Platforms.Build.0 = Debug|Any CPU + {930621BA-75BE-49FE-80DE-E75E7DC06931}.Video|Mixed Platforms.ActiveCfg = Debug|Any CPU + {930621BA-75BE-49FE-80DE-E75E7DC06931}.Video|Mixed Platforms.Build.0 = Debug|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {0B9AAD13-CD66-4F4D-B063-233F8A654429} + EndGlobalSection + GlobalSection(Performance) = preSolution + HasPerformanceSessions = true + EndGlobalSection + GlobalSection(Performance) = preSolution + HasPerformanceSessions = true + EndGlobalSection + GlobalSection(Performance) = preSolution + HasPerformanceSessions = true + EndGlobalSection + GlobalSection(Performance) = preSolution + HasPerformanceSessions = true + EndGlobalSection + GlobalSection(Performance) = preSolution + HasPerformanceSessions = true + EndGlobalSection +EndGlobal diff --git a/netpoet-coop-8k/packages/AvalonEdit.5.0.2/AvalonEdit.5.0.2.nupkg b/netpoet-coop-8k/packages/AvalonEdit.5.0.2/AvalonEdit.5.0.2.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..f55304bf267583eba02cfb1c572e5f3e9a4ab048 GIT binary patch literal 552547 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

?7dE9mKJg%5LkGoBt$K5B- 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%0DkRlVFPL-VY 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%0A;9xo*FQ>kh<#G*NpX&IFnRQsrXg}4!@XWH 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�^-rg8uH7WJ(0 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 z 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⋘>QJlrxr+oRm<@648 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

AvalonEdit is the WPF-based text editor used in SharpDevelop + * License changed from LGPL to MIT + * New Feature: Hide mouse cursor while typing (enabled by default) + * New Feature: Highlight current line (disabled by default) + * New Feature: Overstrike mode (disabled by default) + * New Feature: 'underline' attribute in syntax highlighting definitions + * AvalonEdit now raises the WPF DataObject attached events on clipboard and drag'n'drop operations. + * Encoding detection now distinguishes between UTF-8 with BOM and UTF-8 without BOM. This prevents AvalonEdit from adding the BOM to existing UTF-8 files. + * Improved handling of grapheme clusters. A base character followed by a combining mark is now treated as a single character by the caret movement logic. + * Added RichText, RichTextModel and RichTextColorizer. + * Renamed the VB highlighting mode from "VBNET" to "VB" + * Changed IHighlighter API in order to support SharpDevelop's semantic C# highlighter + * The regex-based highlighting engine was moved into its own class (HighlightingEngine) to be separated from the state-tracking logic in DocumentHighlighter. + * Add FileName property to TextDocument class. + * DocumentChangeEventArgs.RemovedText/InsertedText are now of type ITextSource instead of string. + * The error-tolerant XML parser included with AvalonEdit was removed. An improved version of this parser is part of the NRefactory 5 project. + * Removed some obsolete APIs. + en-US + WPF Text Editor SharpDevelop AvalonEdit + + \ No newline at end of file diff --git a/netpoet-coop-8k/packages/AvalonEdit.5.0.2/lib/Net35/ICSharpCode.AvalonEdit.dll b/netpoet-coop-8k/packages/AvalonEdit.5.0.2/lib/Net35/ICSharpCode.AvalonEdit.dll new file mode 100644 index 0000000000000000000000000000000000000000..a94e817d3bed6e201d89b1978eb5d98cb3a9e04b GIT binary patch literal 606208 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 z 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

_OZPvTX43| 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�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ÙxSV&A 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%0DPF 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 literal 0 HcmV?d00001 diff --git a/netpoet-coop-8k/packages/AvalonEdit.5.0.2/lib/Net35/ICSharpCode.AvalonEdit.xml b/netpoet-coop-8k/packages/AvalonEdit.5.0.2/lib/Net35/ICSharpCode.AvalonEdit.xml new file mode 100644 index 0000000..34c3478 --- /dev/null +++ b/netpoet-coop-8k/packages/AvalonEdit.5.0.2/lib/Net35/ICSharpCode.AvalonEdit.xml @@ -0,0 +1,9939 @@ + + + + ICSharpCode.AvalonEdit + + + +

+ Custom commands for AvalonEdit. + + + + + Converts leading spaces to tabs in the selected lines (or the whole document if the selection is empty). + + + + + Converts leading tabs to spaces in the selected lines (or the whole document if the selection is empty). + + + + + Converts spaces to tabs in the selected text. + + + + + Converts tabs to spaces in the selected text. + + + + + Converts the selected text to lower case. + + + + + Converts the selected text to title case. + + + + + Converts the selected text to upper case. + + + + + Deletes the current line. + The default shortcut is Ctrl+D. + + + + + Runs the IIndentationStrategy on the selected lines (or the whole document if the selection is empty). + + + + + Inverts the case of the selected text. + + + + + Removes leading whitespace from the selected lines (or the whole document if the selection is empty). + + + + + Removes trailing whitespace from the selected lines (or the whole document if the selection is empty). + + + + + Represents a text editor control (, + or ). + + + + + Gets the document being edited. + + + + + Occurs when the Document property changes (when the text editor is connected to another + document - not when the document content changes). + + + + + Occurs when the Options property changes, or when an option inside the current option list + changes. + + + + + Gets the options of the text editor. + + + + + The text editor control. + Contains a scrollable TextArea. + + + + + Creates a new TextEditor instance. + + + + + Creates a new TextEditor instance. + + + + + Appends text to the end of the document. + + + + + Begins a group of document changes. + + + + + Gets if the most recent undone command can be redone. + + + + + Gets if the most recent command can be undone. + + + + + Gets/sets the caret position. + + + + + Clears the text. + + + + + Copies the current selection to the clipboard. + + + + + Creates the highlighting colorizer for the specified highlighting definition. + Allows derived classes to provide custom colorizer implementations for special highlighting definitions. + + + + + + Removes the current selection and copies it to the clipboard. + + + + + Begins a group of document changes and returns an object that ends the group of document + changes when it is disposed. + + + + + Gets/Sets the document displayed by the text editor. + This is a dependency property. + + + + + Occurs when the document property has changed. + + + + + Document property. + + + + + Gets/sets the encoding used when the file is saved. + + + + + Encoding dependency property. + + + + + Ends the current group of document changes. + + + + + Gets the vertical size of the document. + + + + + Gets the horizontal size of the current document region. + + + + + Gets the text view position from a point inside the editor. + + The position, relative to top left + corner of TextEditor control + The text view position, or null if the point is outside the document. + + + + Gets the horizontal scroll position. + + + + + Gets/Sets the horizontal scroll bar visibility. + + + + + Dependency property for + + + + Gets/Sets the 'modified' flag. + + + + + Dependency property for + + + + Specifies whether the user can change the text editor content. + Setting this property will replace the + TextArea.ReadOnlySectionProvider. + + + + + IsReadOnly dependency property. + + + + + Gets the number of lines in the document. + + + + + Scrolls one line down. + + + + + Scrolls to the left. + + + + + Gets/sets the Brush used for displaying the foreground color of line numbers. + + + + + LineNumbersForeground dependency property. + + + + + Scrolls to the right. + + + + + Scrolls one line up. + + + + + Loads the text from the stream, auto-detecting the encoding. + + + + + Loads the text from the stream, auto-detecting the encoding. + + + + + Occurs when the mouse has hovered over a fixed location for some time. + + + + + The MouseHover event. + + + + + Occurs when the mouse had previously hovered but now started moving again. + + + + + The MouseHoverStopped event. + + + + + Is called after the template was applied. + + + + Returns class-specific implementations for the Windows Presentation Foundation (WPF) infrastructure. + The type-specific implementation. + + + + Raises the event. + + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + + Raises the event. + + + + + Raises the event. + + + + + Occurs when a text editor option has changed. + + + + + Gets/Sets the options currently used by the text editor. + + + + + Options property. + + + + + Scrolls one page down. + + + + + Scrolls one page left. + + + + + Scrolls one page right. + + + + + Scrolls one page up. + + + + + Pastes the clipboard content. + + + + + Occurs when the mouse has hovered over a fixed location for some time. + + + + + The PreviewMouseHover event. + + + + + Occurs when the mouse had previously hovered but now started moving again. + + + + + The PreviewMouseHoverStopped event. + + + + Receives events from the centralized event manager. + The type of the calling this method. + Object that originated the event. + Event data. + true if the listener handled the event. It is considered an error by the handling in WPF to register a listener for an event that the listener does not handle. Regardless, the method should return false if it receives an event that it does not recognize or handle. + + + + Redoes the most recent undone command. + + True is the redo operation was successful, false is the redo stack is empty. + + + + Saves the text to the stream. + + + + + Saves the text to the file. + + + + + Scrolls to the specified line/column. + This method requires that the TextEditor was already assigned a size (WPF layout must have run prior). + + + + + Scrolls to the end of the document. + + + + + Scrolls to the start of the document. + + + + + Scrolls to the specified position in the document. + + + + + Scrolls to the specified line. + This method requires that the TextEditor was already assigned a size (WPF layout must have run prior). + + + + + Scrolls to the specified position in the document. + + + + + Selects the specified text section. + + + + + Selects the entire text. + + + + + Gets/Sets the selected text. + + + + + Gets/sets the length of the selection. + + + + + Gets/sets the start position of the selection. + + + + + Specifies whether line numbers are shown on the left to the text view. + + + + + ShowLineNumbers dependency property. + + + + + Gets/sets the syntax highlighting definition used to colorize the text. + + + + + The property. + + + + + Gets/Sets the text of the current document. + + + + + Gets the text area. + + + + + Occurs when the Text property changes. + + + + + Undoes the most recent command. + + True is the undo operation was successful, false is the undo stack is empty. + + + + Gets the vertical scroll position. + + + + + Gets/Sets the vertical scroll bar visibility. + + + + + Dependency property for + + + + Gets the horizontal size of the viewport. + + + + + Gets the horizontal size of the viewport. + + + + + Specifies whether the text editor uses word wrapping. + + + + + Word wrap dependency property. + + + + + Exposes to automation. + + + + + Creates a new TextEditorAutomationPeer instance. + + + + Gets the control pattern for the that is associated with this . + A value from the enumeration. + An object that implements the interface if is ; otherwise, null. + + + + A container for the text editor options. + + + + + Initializes an empty instance of TextEditorOptions. + + + + + Initializes a new instance of TextEditorOptions by copying all values + from to the new instance. + + + + + Gets/Sets whether the user can scroll below the bottom of the document. + The default value is false; but it a good idea to set this property to true when using folding. + + + + + Gets/Sets if the user is allowed to enable/disable overstrike mode. + + + + + Gets/Sets where the column ruler should be shown. + + + + + Gets/Sets whether to use spaces for indentation instead of tabs. + + + + + Gets/Sets whether copying without a selection copies the whole current line. + + + + + Gets/Sets whether to enable clickable hyperlinks for e-mail addresses in the editor. + + + + + Gets/Sets whether to enable clickable hyperlinks in the editor. + + + + + Gets/Sets whether the support for Input Method Editors (IME) + for non-alphanumeric scripts (Chinese, Japanese, Korean, ...) is enabled. + + + + + Enables rectangular selection (press ALT and select a rectangle) + + + + + Enable dragging text within the text area. + + + + + Gets/Sets whether the user can set the caret behind the line ending + (into "virtual space"). + Note that virtual space is always used (independent from this setting) + when doing rectangle selections. + + + + + Gets text required to indent from the specified to the next indentation level. + + + + + Gets/Sets if mouse cursor should be hidden while user is typing. + + + + + Gets/Sets if current line should be shown. + + + + + Gets/Sets the width of one indentation unit. + + + + + Gets the text used for indentation. + + + + + Gets/Sets whether the indentation is inherited from the first line when word-wrapping. + The default value is true. + + + + + Raises the PropertyChanged event. + + + + + Raises the PropertyChanged event. + + The name of the changed property. + + + Occurs when a property value changes. + + + + Gets/Sets whether the user needs to press Control to click hyperlinks. + The default value is true. + + + + + Gets/Sets whether to show a box with the hex code for control characters. + + + + + Gets/Sets whether the column ruler should be shown. + + + + + Gets/Sets whether to show ¶ at the end of lines. + + + + + Gets/Sets whether to show · for spaces. + + + + + Gets/Sets whether to show » for tabs. + + + + + Gets/Sets the indentation used for all lines except the first when word-wrapping. + The default value is 0. + + + + + Contains weak event managers for . + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.TextEditorWeakEventManager.DocumentChanged + + + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.TextEditorWeakEventManager.OptionChanged + + + + + + + Represents a text location with a visual column. + + + + + + + ICSharpCode.AvalonEdit.TextViewPosition + + + + + + + + + ICSharpCode.AvalonEdit.TextViewPosition + + + + + + + Creates a new TextViewPosition instance. + + + + + Creates a new TextViewPosition instance. + + + + + Gets/Sets the (text) column number. + + + + Compares the current object with another object of the same type. + An object to compare with this object. + A value that indicates the relative order of the objects being compared. The return value has the following meanings: Value Meaning Less than zero This object is less than the parameter.Zero This object is equal to . Greater than zero This object is greater than . + + + + Equality test. + + + + Indicates whether this instance and a specified object are equal. + Another object to compare to. + true if and this instance are the same type and represent the same value; otherwise, false. + + + Returns the hash code for this instance. + A 32-bit signed integer that is the hash code for this instance. + + + + When word-wrap is enabled and a line is wrapped at a position where there is no space character; + then both the end of the first TextLine and the beginning of the second TextLine + refer to the same position in the document, and also have the same visual column. + In this case, the IsAtEndOfLine property is used to distinguish between the two cases: + the value true indicates that the position refers to the end of the previous TextLine; + the value false indicates that the position refers to the beginning of the next TextLine. + + If this position is not at such a wrapping position, the value of this property has no effect. + + + + + Gets/Sets the line number. + + + + + Gets/Sets Location. + + + + + Equality test. + + + + + Inequality test. + + + + Returns the fully qualified type name of this instance. + A containing a fully qualified type name. + + + + Gets/Sets the visual column number. + Can be -1 (meaning unknown visual column). + + + + + The listbox used inside the CompletionWindow, contains CompletionListBox. + + + + + + + ICSharpCode.AvalonEdit.CodeCompletion.CompletionList + + + + + + + Gets the list to which completion data can be added. + + + + + Content of EmptyTemplate will be shown when CompletionList contains no items. + If EmptyTemplate is null, nothing will be shown. + + + + + Dependency property for . + + + + + Handles a key press. Used to let the completion list handle key presses while the + focus is still on the text editor. + + + + + Is raised when the completion list indicates that the user has chosen + an entry to be completed. + + + + + If true, the CompletionList is filtered to show only matching items. Also enables search by substring. + If false, enables the old behavior: no filtering, search by string.StartsWith. + + + + + Gets the list box. + + + + When overridden in a derived class, is invoked whenever application code or internal processes call . + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + Raises the routed event. + The event data. + + + + Raises the InsertionRequested event. + + + + + Gets the scroll viewer used in this list box. + + + + + Gets/Sets the selected item. + + + + + Occurs when the SelectedItem property changes. + + + + + Selects the best match, and filter the items if turned on using . + + + + + The list box used inside the CompletionList. + + + + + + + ICSharpCode.AvalonEdit.CodeCompletion.CompletionListBox + + + + + + + Centers the view on the item with the specified index. + + + + + Removes the selection. + + + + + Gets the number of the first visible item. + + + + When overridden in a derived class, is invoked whenever application code or internal processes call . + + + + Selects the item with the specified index and scrolls it into view. + + + + + Gets the number of visible items. + + + + + The code completion window. + + + + + Creates a new code completion window. + + + + + Gets/Sets whether the completion window should close automatically. + The default value is true. + + + + + Gets whether the completion window should automatically close when the text editor looses focus. + + + + + When this flag is set, code completion closes if the caret moves to the + beginning of the allowed range. This is useful in Ctrl+Space and "complete when typing", + but not in dot-completion. + Has no effect if CloseAutomatically is false. + + + + + Gets the completion list used in this completion window. + + + + + Detaches events from the text area. + + + + Raises the event. + An that contains the event data. + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + + Base class for completion windows. Handles positioning the window at the caret. + + + + + Creates a new CompletionWindowBase. + + + + + Activates the parent window. + + + + + Gets whether the completion window should automatically close when the text editor looses focus. + + + + + Detaches events from the text area. + + + + + Gets/Sets the end of the text range in which the completion window stays open. + This text portion is used to determine the text used to select an entry in the completion list by typing. + + + + + Gets/sets whether the completion window should expect text insertion at the start offset, + which not go into the completion region, but before it. + + + + + Gets whether the window was opened above the current line. + + + + Raises the event. + An that contains the event data. + + + Raises the event. + An that contains the event data. + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + Raises the event, using the specified information as part of the eventual event data. + Details of the old and new size involved in the change. + + + Raises the event. + An that contains the event data. + + + + Raises a tunnel/bubble event pair for a WPF control. + + The WPF control for which the event should be raised. + The tunneling event. + The bubbling event. + The event args to use. + The value of the event args. + + + + Positions the completion window at the specified position. + + + + + Gets/Sets the start of the text range in which the completion window stays open. + This text portion is used to determine the text used to select an entry in the completion list by typing. + + + + + Gets the parent TextArea. + + + + + Updates the position of the CompletionWindow based on the parent TextView position and the screen working area. + It ensures that the CompletionWindow is completely visible on the screen. + + + + + Describes an entry in the . + + + + + + + summary + M:ICSharpCode.AvalonEdit.CodeCompletion.ICompletionData.Complete(ICSharpCode.AvalonEdit.Editing.TextArea,ICSharpCode.NRefactory.Editor.ISegment,System.EventArgs) + + + + + + + The displayed content. This can be the same as 'Text', or a WPF UIElement if + you want to display rich content. + + + + + Gets the description. + + + + + Gets the image. + + + + + Gets the priority. This property is used in the selection logic. You can use it to prefer selecting those items + which the user is accessing most frequently. + + + + + Gets the text. This property is used to filter the list of visible elements. + + + + + A popup-like window that is attached to a text segment. + + + + + Creates a new InsightWindow. + + + + + Gets/Sets whether the insight window should close automatically. + The default value is true. + + + + + Gets whether the completion window should automatically close when the text editor looses focus. + + + + + Detaches events from the text area. + + + + Raises the event. + An that contains the event data. + + + + Provides the items for the OverloadViewer. + + + + + Gets the number of overloads. + + + + + Gets the current content. + + + + + Gets the current header. + + + + + Gets the text 'SelectedIndex of Count'. + + + + + Gets/Sets the selected index. + + + + + Insight window that shows an OverloadViewer. + + + + + Creates a new OverloadInsightWindow. + + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + + Gets/Sets the item provider. + + + + + Represents a text between "Up" and "Down" buttons. + + + + + + + ICSharpCode.AvalonEdit.CodeCompletion.OverloadViewer + + + + + + + Changes the selected index. + + The relative index change - usual values are +1 or -1. + + + When overridden in a derived class, is invoked whenever application code or internal processes call . + + + + Gets/Sets the item provider. + + + + + The ItemProvider property. + + + + + Gets/Sets the text between the Up and Down buttons. + + + + + The text property. + + + + + A segment using s as start and end positions. + + + + + Creates a new AnchorSegment using the specified anchors. + The anchors must have set to true. + + + + + + + ICSharpCode.AvalonEdit.Document.AnchorSegment + + + + + + + Creates a new AnchorSegment that creates new anchors. + + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.AnchorSegment.EndOffset + + + + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.AnchorSegment.Length + + + + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.AnchorSegment.Offset + + + + + + Returns a that represents the current . + A that represents the current . + + + + Specifies the mode for getting the next caret position. + + + + + Normal positioning (stop after every grapheme) + + + + + Stop only on word borders. + + + + + Stop only at the beginning of words. This is used for Ctrl+Left/Ctrl+Right. + + + + + Stop only at the beginning of words, and anywhere in the middle of symbols. + + + + + Stop only on word borders, and anywhere in the middle of symbols. + + + + + Stop between every Unicode codepoint, even within the same grapheme. + This is used to implement deleting the previous grapheme when Backspace is pressed. + + + + + Classifies a character as whitespace, line terminator, part of an identifier, or other. + + + + + The character is not whitespace, line terminator or part of an identifier. + + + + + The character is whitespace (but not line terminator). + + + + + The character can be part of an identifier (Letter, digit or underscore). + + + + + The character is line terminator (\r or \n). + + + + + The character is a unicode combining mark that modifies the previous character. + Corresponds to the Unicode designations "Mn", "Mc" and "Me". + + + + + Describes a change of the document text. + This class is thread-safe. + + + + + + + ICSharpCode.AvalonEdit.Document.DocumentChangeEventArgs + + + + + + + Creates a new DocumentChangeEventArgs object. + + + + + Creates a new DocumentChangeEventArgs object. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.DocumentChangeEventArgs.GetNewOffset(System.Int32,ICSharpCode.NRefactory.Editor.AnchorMovementType) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.DocumentChangeEventArgs.Invert + + + + + + + Gets the OffsetChangeMap associated with this document change. + + + + + Represents a line inside a . + + + + + Gets the length of the line delimiter. + The value is 1 for single "\r" or "\n", 2 for the "\r\n" sequence; + and 0 for the last line in the document. + + + + + Gets the end offset of the line in the document's text (the offset before the line delimiter). + Runtime: O(log n) + + The line was deleted. + + + + Gets if this line was deleted from the document. + + + + + Gets the length of this line. The length does not include the line delimiter. O(1) + + + + + Gets the number of this line. + Runtime: O(log n) + + The line was deleted. + + + + Gets the next line in the document. + + The line following this line, or null if this is the last line. + + + + Gets the starting offset of the line in the document's text. + Runtime: O(log n) + + The line was deleted. + + + + Gets the previous line in the document. + + The line before this line, or null if this is the first line. + + + + Gets a string with debug output showing the line number and offset. + Does not include the line's text. + + + + + Gets the length of this line, including the line delimiter. O(1) + + + + + A TextWriter implementation that directly inserts into a document. + + + + + + + ICSharpCode.AvalonEdit.Document.DocumentTextWriter + + + + + + When overridden in a derived class, returns the in which the output is written. + The Encoding in which the output is written. + + + + Gets/Sets the current insertion offset. + + + + Writes a character to the text stream. + The character to write to the text stream. + The is closed. + An I/O error occurs. + + + Writes a subarray of characters to the text stream. + The character array to write data from. + Starting index in the buffer. + The number of characters to write. + The buffer length minus is less than . + The parameter is null. + + or is negative. + The is closed. + An I/O error occurs. + + + Writes a string to the text stream. + The string to write. + The is closed. + An I/O error occurs. + + + + Allows for low-level line tracking. + + + + + Is called immediately before a document line is removed. + + + + + Notifies the line tracker that a document change (a single change, not a change group) has completed. + This method gets called after the change has been performed, but before the event + is raised. + + + + + Is called immediately after a line was inserted. + + The new line + The existing line before the new line + + + + Indicates that there were changes to the document that the line tracker was not notified of. + The document is in a consistent state (but the line trackers aren't), and line trackers should + throw away their data and rebuild the document. + + + + + Is called immediately before a document line changes length. + This method will be called whenever the line is changed, even when the length stays as it is. + The method might be called multiple times for a single line because + a replacement is internally handled as removal followed by insertion. + + + + + This Interface describes a the basic Undo/Redo operation + all Undo Operations must implement this interface. + + + + + Redo the last operation + + + + + Undo the last operation + + + + + Describes a series of offset changes. + + + + + Creates a new OffsetChangeMap instance. + + + + + Immutable OffsetChangeMap that is empty. + + + + + Freezes this instance. + + + + + Creates a new OffsetChangeMap with a single element. + + The entry. + Returns a frozen OffsetChangeMap with a single entry. + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.OffsetChangeMap.GetNewOffset(System.Int32,ICSharpCode.NRefactory.Editor.AnchorMovementType) + + + + + + + Calculates the inverted OffsetChangeMap (used for the undo operation). + + + + + Gets if this instance is frozen. Frozen instances are immutable and thus thread-safe. + + + + + Gets whether this OffsetChangeMap is a valid explanation for the specified document change. + + + + + An entry in the OffsetChangeMap. + This represents the offset of a document change (either insertion or removal, not both at once). + + + + + Creates a new OffsetChangeMapEntry instance. + + + + + Creates a new OffsetChangeMapEntry instance. + + + + + Gets whether default anchor movement causes the anchor to stay in front of the caret. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Indicates whether this instance and a specified object are equal. + Another object to compare to. + true if and this instance are the same type and represent the same value; otherwise, false. + + + Returns the hash code for this instance. + A 32-bit signed integer that is the hash code for this instance. + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.OffsetChangeMapEntry.GetNewOffset(System.Int32,ICSharpCode.NRefactory.Editor.AnchorMovementType) + + + + + + + The number of characters inserted. + Returns 0 if this entry represents a removal. + + + + + The offset at which the change occurs. + + + + + Tests the two entries for equality. + + + + + Tests the two entries for inequality. + + + + + The number of characters removed. + Returns 0 if this entry represents an insertion. + + + + + Gets whether the removal should not cause any anchor deletions. + + + + + Contains predefined offset change mapping types. + + + + + Normal replace. + Anchors in front of the replaced region will stay in front, anchors after the replaced region will stay after. + Anchors in the middle of the removed region will be deleted. If they survive deletion, + they move depending on their AnchorMovementType. + + + + + First the old text is removed, then the new text is inserted. + Anchors immediately in front (or after) the replaced region may move to the other side of the insertion, + depending on the AnchorMovementType. + + + + + The text is replaced character-by-character. + Anchors keep their position inside the replaced text. + Anchors after the replaced region will move accordingly if the replacement text has a different length than the replaced text. + If the new text is shorter than the old text, anchors inside the old text that would end up behind the replacement text + will be moved so that they point to the end of the replacement text. + + + + + Like 'Normal', but anchors with = Default will stay in front of the + insertion instead of being moved behind it. + + + + + Implements the ITextSource interface using a rope. + + + + + Creates a new RopeTextSource. + + + + + + + ICSharpCode.AvalonEdit.Document.RopeTextSource + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.CreateReader + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.CreateReader(System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.CreateSnapshot + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.CreateSnapshot(System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.GetCharAt(System.Int32) + + + + + + + Returns a clone of the rope used for this text source. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.GetText(ICSharpCode.NRefactory.Editor.ISegment) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.GetText(System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.IndexOf(System.Char,System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.IndexOf(System.String,System.Int32,System.Int32,System.StringComparison) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.IndexOfAny(System.Char[],System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.LastIndexOf(System.Char,System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.LastIndexOf(System.String,System.Int32,System.Int32,System.StringComparison) + + + + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.RopeTextSource.Text + + + + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.RopeTextSource.TextLength + + + + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.RopeTextSource.Version + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.WriteTextTo(System.IO.TextWriter) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.WriteTextTo(System.IO.TextWriter,System.Int32,System.Int32) + + + + + + + The TextAnchor class references an offset (a position between two characters). + It automatically updates the offset when text is inserted/removed in front of the anchor. + + + + + Gets the column number of this anchor. + + Thrown when trying to get the Offset from a deleted anchor. + + + + + + summary + E:ICSharpCode.AvalonEdit.Document.TextAnchor.Deleted + + + + + + + Gets the document owning the anchor. + + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.TextAnchor.IsDeleted + + + + + + + Gets the line number of the anchor. + + Thrown when trying to get the Offset from a deleted anchor. + + + + Gets the text location of this anchor. + + Thrown when trying to get the Offset from a deleted anchor. + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.TextAnchor.MovementType + + + + + + + Gets the offset of the text anchor. + + Thrown when trying to get the Offset from a deleted anchor. + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.TextAnchor.SurviveDeletion + + + + + + Returns a that represents the current . + A that represents the current . + + + + This class is the main class of the text model. Basically, it is a with events. + + + + + Create an empty text document. + + + + + + + ICSharpCode.AvalonEdit.Document.TextDocument + + + + + + + Create a new text document with the specified initial text. + + + + + Begins a group of document changes. + Some events are suspended until EndUpdate is called, and the will + group all changes into a single action. + Calling BeginUpdate several times increments a counter, only after the appropriate number + of EndUpdate calls the events resume their work. + + + + + Is raised after the document has changed. + + + + + Is raised before the document changes. + + + + + Creates a new at the specified offset. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.CreateDocumentSnapshot + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.CreateReader + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.CreateReader(System.Int32,System.Int32) + + + + + + + Creates a snapshot of the current text. + + + + + Creates a snapshot of a part of the current text. + + + + + Ends a group of document changes. + + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.TextDocument.FileName + + + + + + + + + summary + E:ICSharpCode.AvalonEdit.Document.TextDocument.FileNameChanged + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.GetCharAt(System.Int32) + + + + + + + Gets a line by the line number: O(log n) + + + + + Gets a document lines by offset. + Runtime: O(log n) + + + + + Gets the location from an offset. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.GetOffset(ICSharpCode.NRefactory.TextLocation) + + + + + + + Gets the offset from a text location. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.GetText(ICSharpCode.NRefactory.Editor.ISegment) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.GetText(System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.IndexOf(System.Char,System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.IndexOf(System.String,System.Int32,System.Int32,System.StringComparison) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.IndexOfAny(System.Char[],System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.Insert(System.Int32,ICSharpCode.NRefactory.Editor.ITextSource) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.Insert(System.Int32,ICSharpCode.NRefactory.Editor.ITextSource,ICSharpCode.NRefactory.Editor.AnchorMovementType) + + + + + + + Inserts text. + + The offset at which the text is inserted. + The new text. + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.Insert(System.Int32,System.String,ICSharpCode.NRefactory.Editor.AnchorMovementType) + + + + + + + Gets if an update is running. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.LastIndexOf(System.Char,System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.LastIndexOf(System.String,System.Int32,System.Int32,System.StringComparison) + + + + + + + Gets the total number of lines in the document. + Runtime: O(1). + + + + + Is raised when the LineCount property changes. + + + + + Gets a read-only list of lines. + + + + + Gets the list of s attached to this document. + You can add custom line trackers to this list. + + + + + Is raised when one of the properties , , , + changes. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.Remove(ICSharpCode.NRefactory.Editor.ISegment) + + + + + + + Removes text. + + Starting offset of the text to be removed. + Length of the text to be removed. + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.Replace(ICSharpCode.NRefactory.Editor.ISegment,ICSharpCode.NRefactory.Editor.ITextSource) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.Replace(ICSharpCode.NRefactory.Editor.ISegment,System.String) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.Replace(System.Int32,System.Int32,ICSharpCode.NRefactory.Editor.ITextSource) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.Replace(System.Int32,System.Int32,ICSharpCode.NRefactory.Editor.ITextSource,ICSharpCode.AvalonEdit.Document.OffsetChangeMap) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.Replace(System.Int32,System.Int32,ICSharpCode.NRefactory.Editor.ITextSource,ICSharpCode.AvalonEdit.Document.OffsetChangeMappingType) + + + + + + + Replaces text. + + The starting offset of the text to be replaced. + The length of the text to be replaced. + The new text. + + + + Replaces text. + + The starting offset of the text to be replaced. + The length of the text to be replaced. + The new text. + The offsetChangeMap determines how offsets inside the old text are mapped to the new text. + This affects how the anchors and segments inside the replaced region behave. + If you pass null (the default when using one of the other overloads), the offsets are changed as + in OffsetChangeMappingType.Normal mode. + If you pass OffsetChangeMap.Empty, then everything will stay in its old place (OffsetChangeMappingType.CharacterReplace mode). + The offsetChangeMap must be a valid 'explanation' for the document change. See . + Passing an OffsetChangeMap to the Replace method will automatically freeze it to ensure the thread safety of the resulting + DocumentChangeEventArgs instance. + + + + + Replaces text. + + The starting offset of the text to be replaced. + The length of the text to be replaced. + The new text. + The offsetChangeMappingType determines how offsets inside the old text are mapped to the new text. + This affects how the anchors and segments inside the replaced region behave. + + + + Immediately calls , + and returns an IDisposable that calls . + + + + + Gets/Sets the service provider associated with this document. + By default, every TextDocument has its own ServiceContainer; and has the document itself + registered as and . + + + + + Transfers ownership of the document to another thread. This method can be used to load + a file into a TextDocument on a background thread and then transfer ownership to the UI thread + for displaying the document. + + + + + Gets/Sets the text of the whole document. + + + + + This event is called after a group of changes is completed. + + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.TextDocument.TextLength + + + + + + + Is raised when the TextLength property changes. + + + + + Gets the of the document. + + + + + Occurs when a document change is finished. + + + + + Occurs when a document change starts. + + + + + Verifies that the current thread is the documents owner thread. + Throws an if the wrong thread accesses the TextDocument. + + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.TextDocument.Version + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.WriteTextTo(System.IO.TextWriter) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.WriteTextTo(System.IO.TextWriter,System.Int32,System.Int32) + + + + + + + Contains weak event managers for the TextDocument events. + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.Document.TextDocumentWeakEventManager.Changed + + + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.Document.TextDocumentWeakEventManager.Changing + + + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.Document.TextDocumentWeakEventManager.LineCountChanged + + + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.Document.TextDocumentWeakEventManager.TextChanged + + + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.Document.TextDocumentWeakEventManager.TextLengthChanged + + + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.Document.TextDocumentWeakEventManager.UpdateFinished + + + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.Document.TextDocumentWeakEventManager.UpdateStarted + + + + + + + A segment that can be put into a . + + + + + + + ICSharpCode.AvalonEdit.Document.TextSegment + + + + + + + Gets/Sets the end offset of the segment. + + + + + Gets whether this segment is connected to a TextSegmentCollection and will automatically + update its offsets. + + + + + Gets/Sets the length of the segment. + + + + + This method gets called when the StartOffset/Length/EndOffset properties are set. + It is not called when StartOffset/Length/EndOffset change due to document changes + + + + + Gets/Sets the start offset of the segment. + + + + Returns a that represents the current . + A that represents the current . + + + + + A collection of text segments that supports efficient lookup of segments + intersecting with another segment. + + + + + + Creates a new TextSegmentCollection that needs manual calls to . + + + + + Creates a new TextSegmentCollection that updates the offsets automatically. + + The document to which the text segments + that will be added to the tree belong. When the document changes, the + position of the text segments will be updated accordingly. + + + + Adds the specified segment to the tree. This will cause the segment to update when the + document changes. + + + + + Removes all segments from the tree. + + + + + Gets whether this tree contains the specified item. + + + + + Copies all segments in this SegmentTree to the specified array. + + + + + Gets the number of segments in the tree. + + + + + Gets the first segment with a start offset greater or equal to . + Returns null if no such segment is found. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextSegmentCollection`1.FindOverlappingSegments(ICSharpCode.NRefactory.Editor.ISegment) + + + + + + + Finds all segments that overlap with the given segment (including touching segments). + Segments are returned in the order given by GetNextSegment/GetPreviousSegment. + + Returns a new collection containing the results of the query. + This means it is safe to modify the TextSegmentCollection while iterating through the result collection. + + + + Finds all segments that contain the given offset. + (StartOffset <= offset <= EndOffset) + Segments are returned in the order given by GetNextSegment/GetPreviousSegment. + + Returns a new collection containing the results of the query. + This means it is safe to modify the TextSegmentCollection while iterating through the result collection. + + + + Returns the first segment in the collection or null, if the collection is empty. + + + + + Gets an enumerator to enumerate the segments. + + + + + Gets the next segment after the specified segment. + Segments are sorted by their start offset. + Returns null if segment is the last segment. + + + + + Gets the previous segment before the specified segment. + Segments are sorted by their start offset. + Returns null if segment is the first segment. + + + + + Returns the last segment in the collection or null, if the collection is empty. + + + + + Removes the specified segment from the tree. This will cause the segment to not update + anymore when the document changes. + + + + + Updates the start and end offsets of all segments stored in this collection. + + DocumentChangeEventArgs instance describing the change to the document. + + + + Updates the start and end offsets of all segments stored in this collection. + + OffsetChangeMapEntry instance describing the change to the document. + + + + Static helper methods for working with text. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextUtilities.FindNextNewLine(ICSharpCode.NRefactory.Editor.ITextSource,System.Int32,System.String@) + + + + + + + Gets whether the character is whitespace, part of an identifier, or line terminator. + + + + + Gets the name of the control character. + For unknown characters, the unicode codepoint is returned as 4-digit hexadecimal value. + + + + + Gets the leading whitespace segment on the document line. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextUtilities.GetNewLineFromDocument(ICSharpCode.NRefactory.Editor.IDocument,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextUtilities.GetNextCaretPosition(ICSharpCode.NRefactory.Editor.ITextSource,System.Int32,System.Windows.Documents.LogicalDirection,ICSharpCode.AvalonEdit.Document.CaretPositioningMode) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextUtilities.GetSingleIndentationSegment(ICSharpCode.NRefactory.Editor.ITextSource,System.Int32,System.Int32) + + + + + + + Gets the trailing whitespace segment on the document line. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextUtilities.GetWhitespaceAfter(ICSharpCode.NRefactory.Editor.ITextSource,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextUtilities.GetWhitespaceBefore(ICSharpCode.NRefactory.Editor.ITextSource,System.Int32) + + + + + + + Gets whether the specified string is a newline sequence. + + + + + Normalizes all new lines in to be . + + + + + Undo stack implementation. + + + + + + + ICSharpCode.AvalonEdit.Document.UndoStack + + + + + + + Gets if the undo stack currently accepts changes. + Is false while an undo action is running. + + + + + Gets if there are actions on the redo stack. + Use the PropertyChanged event to listen to changes of this property. + + + + + Gets if there are actions on the undo stack. + Use the PropertyChanged event to listen to changes of this property. + + + + + Clears both the undo and redo stack. + + + + + Call this method, if you want to clear the redo stack + + + + + Discards the current "original" marker. + + + + + Stops grouping changes. + + + + + Gets whether the document is currently in its original state (no modifications). + + + + + If an undo group is open, gets the group descriptor of the current top-level + undo group. + If no undo group is open, gets the group descriptor from the previous undo group. + + + + + Marks the current state as original. Discards any previous "original" markers. + + + + + Is raised when a property (CanUndo, CanRedo) changed. + + + + + Call this method to push an UndoableOperation on the undostack. + The redostack will be cleared if you use this method. + + + + + Call this method to push an UndoableOperation on the undostack. + However, the operation will be only stored if the undo group contains a + non-optional operation. + Use this method to store the caret position/selection on the undo stack to + prevent having only actions that affect only the caret and not the document. + + + + + Call this method to redo the last undone operation + + + + + Gets/Sets the limit on the number of items on the undo stack. + + + + + Starts grouping changes, continuing with the previously closed undo group if possible. + Maintains a counter so that nested calls are possible. + If the call to StartContinuedUndoGroup is a nested call, it behaves exactly + as , only top-level calls can continue existing undo groups. + + An object that is stored with the undo group. + If this is not a top-level undo group, the parameter is ignored. + + + + Starts grouping changes. + Maintains a counter so that nested calls are possible. + + + + + Starts grouping changes. + Maintains a counter so that nested calls are possible. + + An object that is stored with the undo group. + If this is not a top-level undo group, the parameter is ignored. + + + + Call this method to undo the last operation on the stack + + + + + Allows registering a line tracker on a TextDocument using a weak reference from the document to the line tracker. + + + + + Deregisters the weak line tracker. + + + + + Registers the as line tracker for the . + A weak reference to the target tracker will be used, and the WeakLineTracker will deregister itself + when the target tracker is garbage collected. + + + + + Base class for margins. + Margins don't have to derive from this class, it just helps maintaining a reference to the TextView + and the TextDocument. + AbstractMargin derives from FrameworkElement, so if you don't want to handle visual children and rendering + on your own, choose another base class for your margin! + + + + + + + ICSharpCode.AvalonEdit.Editing.AbstractMargin + + + + + + + Gets the document associated with the margin. + + + + + Called when the is changing. + + + + + Called when the is changing. + + + + + Gets/sets the text view for which line numbers are displayed. + + + + + TextView property. + + + + + Helper class with caret-related methods. + + + + + Scrolls the text view so that the caret is visible. + + + + + Returns the caret rectangle. The coordinate system is in device-independent pixels from the top of the document. + + + + + Gets/Sets the color of the caret. + + + + + Gets/Sets the caret column. + + + + + Gets/Sets the desired x-position of the caret, in device-independent pixels. + This property is NaN if the caret has no desired position. + + + + + Makes the caret invisible. + + + + + Gets whether the caret is in virtual space. + + + + + Gets/Sets the caret line. + + + + + Gets/Sets the location of the caret. + The getter of this property is faster than because it doesn't have + to validate the visual column. + + + + + Gets/Sets the caret offset. + Setting the caret offset has the side effect of setting the to NaN. + + + + + Gets/Sets the position of the caret. + Retrieving this property will validate the visual column (which can be expensive). + Use the property instead if you don't need the visual column. + + + + + Event raised when the caret position has changed. + If the caret position is changed inside a document update (between BeginUpdate/EndUpdate calls), + the PositionChanged event is raised only once at the end of the document update. + + + + + Makes the caret visible and updates its on-screen position. + + + + + Gets/Sets the caret visual column. + + + + + Contains classes for handling weak events on the Caret class. + + + + + Handles the Caret.PositionChanged event. + + + + + + + ICSharpCode.AvalonEdit.Editing.CaretWeakEventManager.PositionChanged + + + + + + + Margin for use with the text area. + A vertical dotted line to separate the line numbers from the text view. + + + + + Creates a vertical dotted line to separate the line numbers from the text view. + + + + + Creates a vertical dotted line to separate the line numbers from the text view. + + + + + Gets whether the specified UIElement is the result of a DottedLineMargin.Create call. + + + + + Wraps exceptions that occur during drag'n'drop. + Exceptions during drag'n'drop might + get swallowed by WPF/COM, so AvalonEdit catches them and re-throws them later + wrapped in a DragDropException. + + + + + Creates a new DragDropException. + + + + + Deserializes a DragDropException. + + + + + Creates a new DragDropException. + + + + + Creates a new DragDropException. + + + + + Determines whether the document can be modified. + + + + + Gets whether insertion is possible at the specified offset. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Editing.IReadOnlySectionProvider.GetDeletableSegments(ICSharpCode.NRefactory.Editor.ISegment) + + + + + + + A set of input bindings and event handlers for the text area. + + + + + Attaches an input handler to the text area. + + + + + Detaches the input handler from the text area. + + + + + Gets the text area that the input handler belongs to. + + + + + Margin showing line numbers. + + + + + + + ICSharpCode.AvalonEdit.Editing.LineNumberMargin + + + + + + + The font size used for rendering the line number margin. + This field is calculated in MeasureOverride() based on the FontFamily etc. properties. + + + + Implements to supply base element hit testing behavior (returning ). + Describes the hit test to perform, including the initial hit point. + Results of the test, including the evaluated point. + + + + Maximum length of a line number, in characters + + + + When overridden in a derived class, measures the size in layout required for child elements and determines a size for the -derived class. + The available size that this element can give to child elements. Infinity can be specified as a value to indicate that the element will size to whatever content is available. + The size that this element determines it needs during layout, based on its calculations of child element sizes. + + + + Called when the is changing. + + + + Invoked when an unhandled  routed event is raised on this element. Implement this method to add class handling for this event. + The that contains the event data. The event data reports that the left mouse button was pressed. + + + Invoked when an unhandled  routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. The event data reports that the left mouse button was released. + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + When overridden in a derived class, participates in rendering operations that are directed by the layout system. The rendering instructions for this element are not used directly when this method is invoked, and are instead preserved for later asynchronous use by layout and drawing. + The drawing instructions for a specific element. This context is provided to the layout system. + + + + Called when the is changing. + + + + Receives events from the centralized event manager. + The type of the calling this method. + Object that originated the event. + Event data. + true if the listener handled the event. It is considered an error by the handling in WPF to register a listener for an event that the listener does not handle. Regardless, the method should return false if it receives an event that it does not recognize or handle. + + + + The typeface used for rendering the line number margin. + This field is calculated in MeasureOverride() based on the FontFamily etc. properties. + + + + + Rectangular selection ("box selection"). + + + + + Creates a new rectangular selection. + + + + + Expands the selection up by one line, creating a rectangular selection. + Key gesture: Alt+Shift+Down + + + + + Expands the selection left by one character, creating a rectangular selection. + Key gesture: Alt+Shift+Left + + + + + Expands the selection left by one word, creating a rectangular selection. + Key gesture: Ctrl+Alt+Shift+Left + + + + + Expands the selection right by one character, creating a rectangular selection. + Key gesture: Alt+Shift+Right + + + + + Expands the selection left by one word, creating a rectangular selection. + Key gesture: Ctrl+Alt+Shift+Right + + + + + Expands the selection to the end of the line, creating a rectangular selection. + Key gesture: Alt+Shift+End + + + + + Expands the selection to the start of the line, creating a rectangular selection. + Key gesture: Alt+Shift+Home + + + + + Expands the selection up by one line, creating a rectangular selection. + Key gesture: Alt+Shift+Up + + + + + Creates a data object containing the selection's text. + + + + + Gets whether virtual space is enabled for this selection. + + + + + Gets the end position of the selection. + + + + Determines whether the specified is equal to the current . + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + Serves as a hash function for a particular type. + A hash code for the current . + + + + Gets the selected text. + + + + + Gets the selection length. + + + + + Performs a rectangular paste operation. + + + + + Gets the name of the entry in the DataObject that signals rectangle selections. + + + + + Replaces the selection with the specified text. + + + + + Gets the selected text segments. + + + + + Returns a new selection with the changed end point. + + Cannot set endpoint for empty selection + + + + Gets the start position of the selection. + + + + + If this selection is empty, starts a new selection from to + , otherwise, changes the endpoint of this selection. + + + + + Gets the smallest segment that contains all segments in this selection. + May return null if the selection is empty. + + + + Returns a that represents the current . + A that represents the current . + + + + Updates the selection when the document changes. + + + + + Base class for selections. + + + + + Constructor for Selection. + + + + + Gets whether the specified offset is included in the selection. + + True, if the selection contains the offset (selection borders inclusive); + otherwise, false. + + + + + + summary + M:ICSharpCode.AvalonEdit.Editing.Selection.Create(ICSharpCode.AvalonEdit.Editing.TextArea,ICSharpCode.NRefactory.Editor.ISegment) + + + + + + + Creates a new simple selection that selects the text from startOffset to endOffset. + + + + + Creates a data object containing the selection's text. + + + + + Creates a HTML fragment for the selected text. + + + + + Gets whether virtual space is enabled for this selection. + + + + + Gets the end position of the selection. + + + + Determines whether the specified is equal to the current . + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + Serves as a hash function for a particular type. + A hash code for the current . + + + + Gets the selected text. + + + + + Gets whether the selection is empty. + + + + + Gets whether the selection is multi-line. + + + + + Gets the selection length. + + + + + Replaces the selection with the specified text. + + + + + Gets the selected text segments. + + + + + Returns a new selection with the changed end point. + + Cannot set endpoint for empty selection + + + + Gets the start position of the selection. + + + + + If this selection is empty, starts a new selection from to + , otherwise, changes the endpoint of this selection. + + + + + Gets the smallest segment that contains all segments in this selection. + May return null if the selection is empty. + + + + + Updates the selection when the document changes. + + + + + Represents a selected segment. + + + + + Creates a SelectionSegment from two offsets. + + + + + Creates a SelectionSegment from two offsets and visual columns. + + + + + Gets the end offset. + + + + + Gets the end visual column. + + + + + + + summary + P:ICSharpCode.AvalonEdit.Editing.SelectionSegment.Length + + + + + + + Gets the start offset. + + + + + Gets the start visual column. + + + + Returns a that represents the current . + A that represents the current . + + + + Control that wraps a TextView and adds support for user input and the caret. + + + + + Creates a new TextArea instance. + + + + + Creates a new TextArea instance. + + + + + Gets/Sets the active input handler. + This property does not return currently active stacked input handlers. Setting this property detached all stacked input handlers. + + + + + Occurs when the ActiveInputHandler property changes. + + + + + Temporarily allows positioning the caret outside the selection. + Dispose the returned IDisposable to revert the allowance. + + + + + Gets the Caret used for this text area. + + + + + Clears the current selection. + + + + + Gets the default input handler. + + + + + Gets/Sets the document displayed by the text editor. + + + + + Occurs when the Document property changes (when the text editor is connected to another + document - not when the document content changes). + + + + + Document property. + + + + + Gets the requested service. + + Returns the requested service instance, or null if the service cannot be found. + + + Implements to supply base element hit testing behavior (returning ). + Describes the hit test to perform, including the initial hit point. + Results of the test, including the evaluated point. + + + + Gets/Sets the indentation strategy used when inserting new lines. + + + + + IndentationStrategy property. + + + + + Gets the collection of margins displayed to the left of the text view. + + + + When overridden in a derived class, is invoked whenever application code or internal processes call . + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains event data. + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. This event data reports details about the mouse button that was pressed and the handled state. + + + + Raises the event. + + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + Invoked whenever the effective value of any dependency property on this has been updated. The specific dependency property that changed is reported in the arguments parameter. Overrides . + The event data that describes the property that changed, as well as old and new values. + + + + Raises the TextEntered event. + + + + + Raises the TextEntering event. + + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + + Occurs when a text editor option has changed. + + + + + Gets/Sets the document displayed by the text editor. + + + + + Options property. + + + + + Gets/Sets whether overstrike mode is active. + + + + + The dependency property. + + + + + Performs text input. + This raises the event, replaces the selection with the text, + and then raises the event. + + + + + Performs text input. + This raises the event, replaces the selection with the text, + and then raises the event. + + + + + Pops the stacked input handler (and all input handlers above it). + If is not found in the currently stacked input handlers, or is null, this method + does nothing. + + + + + Pushes an input handler onto the list of stacked input handlers. + + + + + Gets/Sets an object that provides read-only sections for the text area. + + + + Receives events from the centralized event manager. + The type of the calling this method. + Object that originated the event. + Event data. + true if the listener handled the event. It is considered an error by the handling in WPF to register a listener for an event that the listener does not handle. Regardless, the method should return false if it receives an event that it does not recognize or handle. + + + + Gets/Sets the selection in this text area. + + + + + Gets/Sets the background brush used for the selection. + + + + + The property. + + + + + Gets/Sets the background brush used for the selection. + + + + + The property. + + + + + Occurs when the selection has changed. + + + + + Gets/Sets the corner radius of the selection. + + + + + The property. + + + + + Gets/Sets the foreground brush used selected text. + + + + + The property. + + + + + Gets the list of currently active stacked input handlers. + + + + + Occurs when text inside the TextArea was copied. + + + + + Occurs when the TextArea receives text input. + This is like the event, + but occurs immediately after the TextArea handles the TextInput event. + + + + + Occurs when the TextArea receives text input. + This is like the event, + but occurs immediately before the TextArea handles the TextInput event. + + + + + Gets the text view used to display text in this text area. + + + + + Contains the predefined input handlers. + + + + + Creates a new TextAreaDefaultInputHandler instance. + + + + + Gets the caret navigation input handler. + + + + + Gets the editing input handler. + + + + + Gets the mouse selection input handler. + + + + + Default-implementation of . + + + + + Creates a new TextAreaInputHandler. + + + + + Adds a command and input binding. + + The command ID. + The modifiers of the keyboard shortcut. + The key of the keyboard shortcut. + The event handler to run when the command is executed. + + + + Attaches an input handler to the text area. + + + + + Gets the command bindings of this input handler. + + + + + Detaches the input handler from the text area. + + + + + Gets the input bindings of this input handler. + + + + + Gets whether the input handler is currently attached to the text area. + + + + + Gets the collection of nested input handlers. NestedInputHandlers are activated and deactivated + together with this input handler. + + + + + Gets the text area that the input handler belongs to. + + + + + Stacked input handler. + Uses OnEvent-methods instead of registering event handlers to ensure that the events are handled in the correct order. + + + + + Creates a new TextAreaInputHandler. + + + + + Attaches an input handler to the text area. + + + + + Detaches the input handler from the text area. + + + + + Called for the PreviewKeyDown event. + + + + + Called for the PreviewKeyUp event. + + + + + Gets the text area that the input handler belongs to. + + + + + EventArgs with text. + + + + + Creates a new TextEventArgs instance. + + + + + Gets the text. + + + + + Implementation for that stores the segments + in a . + + + + + Creates a new TextSegmentReadOnlySectionProvider instance for the specified document. + + + + + Creates a new TextSegmentReadOnlySectionProvider instance using the specified TextSegmentCollection. + + + + + Gets whether insertion is possible at the specified offset. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Editing.TextSegmentReadOnlySectionProvider`1.GetDeletableSegments(ICSharpCode.NRefactory.Editor.ISegment) + + + + + + + Gets the collection storing the read-only segments. + + + + + A that produces line elements for folded s. + + + + + + + ICSharpCode.AvalonEdit.Folding.FoldingElementGenerator + + + + + + + Constructs an element at the specified offset. + May return null if no element should be constructed. + + + + + Default brush for folding element text. Value: Brushes.Gray + + + + + Gets/Sets the folding manager from which the foldings should be shown. + + + + + Gets the first offset >= startOffset where the generator wants to construct an element. + Return -1 to signal no interest. + + + + + Initializes the generator for the + + + + Gets/sets the brush used for folding element text. + + + + + Stores a list of foldings for a specific TextView and TextDocument. + + + + + Creates a new FoldingManager instance. + + + + + Gets all foldings in this manager. + The foldings are returned sorted by start offset; + for multiple foldings at the same offset the order is undefined. + + + + + Removes all folding sections. + + + + + Creates a folding for the specified text section. + + + + + Gets all foldings that start exactly at . + + + + + Gets all foldings that contain . + + + + + Gets the first offset greater or equal to where a folded folding starts. + Returns -1 if there are no foldings after . + + + + + Gets the first folding with a greater or equal to + . + Returns null if there are no foldings after . + + + + + Adds Folding support to the specified text area. + Warning: The folding manager is only valid for the text area's current document. The folding manager + must be uninstalled before the text area is bound to a different document. + + The that manages the list of foldings inside the text area. + + + Receives events from the centralized event manager. + The type of the calling this method. + Object that originated the event. + Event data. + true if the listener handled the event. It is considered an error by the handling in WPF to register a listener for an event that the listener does not handle. Regardless, the method should return false if it receives an event that it does not recognize or handle. + + + + Removes a folding section from this manager. + + + + + Uninstalls the folding manager. + + The specified manager was not created using . + + + + Updates the foldings in this using the given new foldings. + This method will try to detect which new foldings correspond to which existing foldings; and will keep the state + () for existing foldings. + + The new set of foldings. These must be sorted by starting offset. + The first position of a parse error. Existing foldings starting after + this offset will be kept even if they don't appear in . + Use -1 for this parameter if there were no parse errors. + + + + A margin that shows markers for foldings and allows to expand/collapse the foldings. + + + + + + + ICSharpCode.AvalonEdit.Folding.FoldingMargin + + + + + + When overridden in a derived class, positions child elements and determines a size for a derived class. + The final area within the parent that this element should use to arrange itself and its children. + The actual size used. + + + + Gets/Sets the folding manager from which the foldings should be shown. + + + + + Gets/sets the Brush used for displaying the background of folding markers. + + + + + FoldingMarkerBackgroundBrush dependency property. + + + + + Gets/sets the Brush used for displaying the lines of folding markers. + + + + + FoldingMarkerBrush dependency property. + + + + Overrides , and returns a child at the specified index from a collection of child elements. + The zero-based index of the requested child element in the collection. + The requested child element. This should not return null; if the provided index is out of range, an exception is thrown. + + + When overridden in a derived class, measures the size in layout required for child elements and determines a size for the -derived class. + The available size that this element can give to child elements. Infinity can be specified as a value to indicate that the element will size to whatever content is available. + The size that this element determines it needs during layout, based on its calculations of child element sizes. + + + When overridden in a derived class, participates in rendering operations that are directed by the layout system. The rendering instructions for this element are not used directly when this method is invoked, and are instead preserved for later asynchronous use by layout and drawing. + The drawing instructions for a specific element. This context is provided to the layout system. + + + + Called when the is changing. + + + + + Gets/sets the Brush used for displaying the background of selected folding markers. + + + + + SelectedFoldingMarkerBackgroundBrush dependency property. + + + + + Gets/sets the Brush used for displaying the lines of selected folding markers. + + + + + SelectedFoldingMarkerBrush dependency property. + + + + Gets the number of visual child elements within this element. + The number of visual child elements for this element. + + + + A section that can be folded. + + + + + Gets/sets if the section is folded. + + + + + Gets/Sets an additional object associated with this folding section. + + + + + Gets the content of the collapsed lines as text. + + + + + Gets/Sets the text used to display the collapsed version of the folding section. + + + + + Gets the content of the collapsed lines as tooltip text. + + + + + Helper class used for . + + + + + Creates a new NewFolding instance. + + + + + Creates a new NewFolding instance. + + + + + Gets/Sets whether the folding is closed by default. + + + + + Gets/Sets the end offset. + + + + + Gets/Sets whether the folding is considered to be a definition. + This has an effect on the 'Show Definitions only' command. + + + + + Gets/Sets the name displayed for the folding. + + + + + Gets/Sets the start offset. + + + + + Determines folds for an xml string in the editor. + + + + + + + ICSharpCode.AvalonEdit.Folding.XmlFoldingStrategy + + + + + + + Create s for the specified document. + + + + + Create s for the specified document. + + + + + Flag indicating whether attributes should be displayed on folded + elements. + + + + + Create s for the specified document and updates the folding manager with them. + + + + + This class can syntax-highlight a document. + It automatically manages invalidating the highlighting when the document changes. + + + + + Creates a new DocumentHighlighter instance. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.DocumentHighlighter + + + + + + + Opens a group of calls. + It is not necessary to call this method before calling , + however, doing so can make the highlighting much more performant in some cases + (e.g. the C# semantic highlighter in SharpDevelop will re-use the resolver within a highlighting group). + + + + + Gets the default text color. + + + + + Disposes the document highlighter. + + + + + Gets the document that this DocumentHighlighter is highlighting. + + + + + Closes the currently opened group of calls. + + + + + Gets the stack of active colors (the colors associated with the active spans) at the end of the specified line. + -> GetColorStack(1) returns the colors at the start of the second line. + + + + + Retrieves the HighlightingColor with the specified name. Returns null if no color matching the name is found. + + + + + Gets the span stack at the end of the specified line. + -> GetSpanStack(1) returns the spans at the start of the second line. + + + + + Notification when the highlighter detects that the highlighting state at the + beginning of the specified lines has changed. + fromLineNumber and toLineNumber are both inclusive; + the common case of a single-line change is represented by fromLineNumber == toLineNumber. + + During highlighting, the highlighting of line X will cause this event to be raised + for line X+1 if the highlighting state at the end of line X has changed from its previous state. + This event may also be raised outside of the highlighting process to signalize that + changes to external data (not the document text; but e.g. semantic information) + require a re-highlighting of the specified lines. + + + + + Highlights the specified document line. + + The line to highlight. + A line object that represents the highlighted sections. + + + + Gets/sets the the initial span stack of the document. Default value is . + + + + + Invalidates all stored highlighting info. + When the document changes, the highlighting is invalidated automatically, this method + needs to be called only when there are changes to the highlighting rule set. + + + + + Is called when the highlighting state at the end of the specified line has changed. + + + + + Enforces a highlighting state update (triggering the HighlightingStateChanged event if necessary) + for all lines up to (and inclusive) the specified line number. + + + + + Takes a series of highlighting commands and stores them. + Later, it can build inline objects (for use with WPF TextBlock) from the commands. + + + + + Creates a new HighlightedInlineBuilder instance. + + + + + Creates a new HighlightedInlineBuilder instance. + + + + + Clones this HighlightedInlineBuilder. + + + + + Creates WPF Run instances that can be used for TextBlock.Inlines. + + + + + Sets the background brush on the specified text segment. + + + + + Sets the font style on the specified text segment. + + + + + Sets the font weight on the specified text segment. + + + + + Sets the foreground brush on the specified text segment. + + + + + Applies the properties from the HighlightingColor to the specified text segment. + + + + + Gets the text. + + + + + Creates a RichText instance. + + + + + Represents a highlighted document line. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.HighlightedLine + + + + + + + Gets the document associated with this HighlightedLine. + + + + + Gets the document line associated with this HighlightedLine. + + + + + Merges the additional line into this line. + + + + + Gets the highlighted sections. + The sections are not overlapping, but they may be nested. + In that case, outer sections come in the list before inner sections. + The sections are sorted by start offset. + + + + + Produces HTML code for the line, with <span class="colorName"> tags. + + + + + Produces HTML code for a section of the line, with <span class="colorName"> tags. + + + + + Creates a that stores the text and highlighting of this line. + + + + + Creates a that stores the text and highlighting of this line. + + + + + Creates a that stores the highlighting of this line. + + + + Returns a that represents the current . + A that represents the current . + + + + Validates that the sections are sorted correctly, and that they are not overlapping. + + + + + A text section with syntax highlighting information. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.HighlightedSection + + + + + + + Gets the highlighting color associated with the highlighted section. + + + + + Gets/sets the length of the section. + + + + + Gets/sets the document offset of the section. + + + + Returns a that represents the current . + A that represents the current . + + + + A brush used for syntax highlighting. Can retrieve a real brush on-demand. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.HighlightingBrush + + + + + + + Gets the real brush. + + The construction context. context can be null! + + + + Gets the color of the brush. + + The construction context. context can be null! + + + + A highlighting color is a set of font properties and foreground and background color. + + + + + Creates a new HighlightingColor instance. + + + + + Deserializes a HighlightingColor. + + + + + Gets/sets the background color applied by the highlighting. + + + + + Clones this highlighting color. + If this color is frozen, the clone will be unfrozen. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified is equal to the current . + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Gets/sets the font style. Null if the highlighting color does not change the font style. + + + + + Gets/sets the font weight. Null if the highlighting color does not change the font weight. + + + + + Gets/sets the foreground color applied by the highlighting. + + + + + Prevent further changes to this highlighting color. + + + + Serves as a hash function for a particular type. + A hash code for the current . + + + + Serializes this HighlightingColor instance. + + + + + Gets whether this HighlightingColor instance is frozen. + + + + + Overwrites the properties in this HighlightingColor with those from the given color; + but maintains the current values where the properties of the given color return null. + + + + + Gets/Sets the name of the color. + + + + + Gets CSS code for the color. + + + + Returns a that represents the current . + A that represents the current . + + + + A colorizes that interprets a highlighting rule set and colors the document accordingly. + + + + + Creates a new HighlightingColorizer instance. + Derived classes using this constructor must override the method. + + + + + Creates a new HighlightingColorizer instance that uses a fixed highlighter instance. + The colorizer can only be used with text views that show the document for which + the highlighter was created. + + The highlighter to be used. + + + + Creates a new HighlightingColorizer instance. + + The highlighting definition. + + + + Applies a highlighting color to a visual line element. + + + + + Performs the colorization. + + + + + Override this method to colorize an individual document line. + + + + + Creates the IHighlighter instance for the specified text document. + + + + + This method is called when a text view is removed from this HighlightingColorizer, + and also when the TextDocument on any associated text view changes. + + + + + Called when added to a text view. + + + + + Called when removed from a text view. + + + + + This method is called when a new text view is added to this HighlightingColorizer, + and also when the TextDocument on any associated text view changes. + + + + + Indicates that the highlighting definition that was tried to load was invalid. + + + + + Creates a new HighlightingDefinitionInvalidException instance. + + + + + Creates a new HighlightingDefinitionInvalidException instance. + + + + + Creates a new HighlightingDefinitionInvalidException instance. + + + + + Creates a new HighlightingDefinitionInvalidException instance. + + + + + Converts between strings and by treating the string as the definition name + and calling HighlightingManager.Instance.GetDefinition(name). + + + + + + + ICSharpCode.AvalonEdit.Highlighting.HighlightingDefinitionTypeConverter + + + + + + Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. + An that provides a format context. + A that represents the type you want to convert from. + true if this converter can perform the conversion; otherwise, false. + + + Returns whether this converter can convert the object to the specified type, using the specified context. + An that provides a format context. + A that represents the type you want to convert to. + true if this converter can perform the conversion; otherwise, false. + + + Converts the given object to the type of this converter, using the specified context and culture information. + An that provides a format context. + The to use as the current culture. + The to convert. + An that represents the converted value. + The conversion cannot be performed. + + + Converts the given value object to the specified type, using the specified context and culture information. + An that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + The to convert the parameter to. + An that represents the converted value. + The parameter is null. + The conversion cannot be performed. + + + + Regex-based highlighting engine. + + + + + Creates a new HighlightingEngine instance. + + + + + Gets/sets the current span stack. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Highlighting.HighlightingEngine.HighlightLine(ICSharpCode.NRefactory.Editor.IDocument,ICSharpCode.NRefactory.Editor.IDocumentLine) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Highlighting.HighlightingEngine.ScanLine(ICSharpCode.NRefactory.Editor.IDocument,ICSharpCode.NRefactory.Editor.IDocumentLine) + + + + + + + Manages a list of syntax highlighting definitions. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.HighlightingManager + + + + + + + Gets a highlighting definition by name. + Returns null if the definition is not found. + + + + + Gets a highlighting definition by extension. + Returns null if the definition is not found. + + + + + Gets a copy of all highlightings. + + + + + Gets the default HighlightingManager instance. + The default HighlightingManager comes with built-in highlightings. + + + + + Registers a highlighting definition. + + The name to register the definition with. + The file extensions to register the definition for. + The highlighting definition. + + + + Registers a highlighting definition. + + The name to register the definition with. + The file extensions to register the definition for. + A function that loads the highlighting definition. + + + + A highlighting rule. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.HighlightingRule + + + + + + + Gets/Sets the highlighting color. + + + + + Gets/Sets the regular expression for the rule. + + + + Returns a that represents the current . + A that represents the current . + + + + A highlighting rule set describes a set of spans that are valid at a given code location. + + + + + Creates a new RuleSet instance. + + + + + Gets/Sets the name of the rule set. + + + + + Gets the list of rules. + + + + + Gets the list of spans. + + + + Returns a that represents the current . + A that represents the current . + + + + A highlighting span is a region with start+end expression that has a different RuleSet inside + and colors the region. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.HighlightingSpan + + + + + + + Gets the color used for the text matching the end expression. + + + + + Gets/Sets the end expression. + + + + + Gets/Sets the rule set that applies inside this span. + + + + + Gets the color used for the text between start and end. + + + + + Gets/Sets whether the span color includes the end. + The default is false. + + + + + Gets/Sets whether the span color includes the start. + The default is false. + + + + + Gets the color used for the text matching the start expression. + + + + + Gets/Sets the start expression. + + + + Returns a that represents the current . + A that represents the current . + + + + Event handler for + + + + Allows copying HTML text to the clipboard. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Highlighting.HtmlClipboard.CreateHtmlFragment(ICSharpCode.NRefactory.Editor.IDocument,ICSharpCode.AvalonEdit.Highlighting.IHighlighter,ICSharpCode.NRefactory.Editor.ISegment,ICSharpCode.AvalonEdit.Highlighting.HtmlOptions) + + + + + + + Sets the TextDataFormat.Html on the data object to the specified html fragment. + This helper methods takes care of creating the necessary CF_HTML header. + + + + + Holds options for converting text to HTML. + + + + + Creates a default HtmlOptions instance. + + + + + Creates a new HtmlOptions instance that copies applicable options from the . + + + + + Gets whether the color needs to be written out to HTML. + + + + + The amount of spaces a tab gets converted to. + + + + + Writes the HTML attribute for the style to the text writer. + + + + + Represents a highlighted document. + + + + + Opens a group of calls. + It is not necessary to call this method before calling , + however, doing so can make the highlighting much more performant in some cases + (e.g. the C# semantic highlighter in SharpDevelop will re-use the resolver within a highlighting group). + + + + + Gets the default text color. + + + + + Gets the underlying text document. + + + + + Closes the currently opened group of calls. + + + + + Gets the stack of active colors (the colors associated with the active spans) at the end of the specified line. + -> GetColorStack(1) returns the colors at the start of the second line. + + + + + Retrieves the HighlightingColor with the specified name. Returns null if no color matching the name is found. + + + + + Notification when the highlighter detects that the highlighting state at the + beginning of the specified lines has changed. + fromLineNumber and toLineNumber are both inclusive; + the common case of a single-line change is represented by fromLineNumber == toLineNumber. + + During highlighting, the highlighting of line X will cause this event to be raised + for line X+1 if the highlighting state at the end of line X has changed from its previous state. + This event may also be raised outside of the highlighting process to signalize that + changes to external data (not the document text; but e.g. semantic information) + require a re-highlighting of the specified lines. + + + + + Highlights the specified document line. + + The line to highlight. + A line object that represents the highlighted sections. + + + + Enforces a highlighting state update (triggering the HighlightingStateChanged event if necessary) + for all lines up to (and inclusive) the specified line number. + + + + + A highlighting definition. + + + + + Gets a named highlighting color. + + The highlighting color, or null if it is not found. + + + + Gets a rule set by name. + + The rule set, or null if it is not found. + + + + Gets the main rule set. + + + + + Gets the name of the highlighting definition. + + + + + Gets the list of named highlighting colors. + + + + + Gets the list of properties. + + + + + Interface for resolvers that can solve cross-definition references. + + + + + Gets the highlighting definition by name, or null if it is not found. + + + + + Represents a immutable piece text with highlighting information. + + + + + Creates a RichText instance with the given text and RichTextModel. + + + The text to use in this RichText instance. + + + The model that contains the formatting to use for this RichText instance. + model.DocumentLength should correspond to text.Length. + This parameter may be null, in which case the RichText instance just holds plain text. + + + + + Concatenates the specified rich texts. + + + + + Creates WPF Run instances that can be used for TextBlock.Inlines. + + + + + The empty string without any formatting information. + + + + + Retrieves the highlighted sections in the specified range. + The highlighted sections will be sorted by offset, and there will not be any nested or overlapping sections. + + + + + Gets the HighlightingColor for the specified offset. + + + + + Gets the text length. + + + + + Concatenates the specified rich texts. + + + + + Implicit conversion from string to RichText. + + + + + Creates a substring of this rich text. + + + + + Gets the text. + + + + + Produces HTML code for the line, with <span style="..."> tags. + + + + + Produces HTML code for a section of the line, with <span style="..."> tags. + + + + + Creates a new RichTextModel with the formatting from this RichText. + + + + + Gets the text. + + + + + A colorizer that applies the highlighting from a to the editor. + + + + + Creates a new RichTextColorizer instance. + + + + + Override this method to colorize an individual document line. + + + + + Stores rich-text formatting. + + + + + Creates a new RichTextModel. + + + + + Applies the HighlightingColor to the specified range of text. + If the color specifies null for some properties, existing highlighting is preserved. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Highlighting.RichTextModel.CreateRuns(ICSharpCode.NRefactory.Editor.ITextSource) + + + + + + + Retrieves the highlighted sections in the specified range. + The highlighted sections will be sorted by offset, and there will not be any nested or overlapping sections. + + + + + Gets a copy of the HighlightingColor for the specified offset. + + + + + Sets the background brush on the specified text segment. + + + + + Sets the font style on the specified text segment. + + + + + Sets the font weight on the specified text segment. + + + + + Sets the foreground brush on the specified text segment. + + + + + Sets the HighlightingColor for the specified range of text, + completely replacing the existing highlighting in that area. + + + + + Updates the start and end offsets of all segments stored in this collection. + + OffsetChangeMap instance describing the change to the document. + + + + Updates the start and end offsets of all segments stored in this collection. + + OffsetChangeMapEntry instance describing the change to the document. + + + + + + summary + M:ICSharpCode.AvalonEdit.Highlighting.RichTextModel.UpdateOffsets(ICSharpCode.NRefactory.Editor.TextChangeEventArgs) + + + + + + + Highlighting brush implementation that takes a frozen brush. + + + + + Creates a new HighlightingBrush with the specified color. + + + + Determines whether the specified is equal to the current . + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Gets the real brush. + + The construction context. context can be null! + + + Serves as a hash function for a particular type. + A hash code for the current . + + + Returns a that represents the current . + A that represents the current . + + + + Static class with helper methods to load XSHD highlighting files. + + + + + Creates a highlighting definition from the XSHD file. + + + + + Creates a highlighting definition from the XSHD file. + + + + + Lodas a syntax definition from the xml reader. + + + + + A visitor over the XSHD element tree. + + + + Visit method for XshdColor + + + Visit method for XshdImport + + + Visit method for XshdKeywords + + + Visit method for XshdRule + + + Visit method for XshdRuleSet + + + Visit method for XshdSpan + + + + Xshd visitor implementation that saves an .xshd file as XML. + + + + + Creates a new SaveXshdVisitor instance. + + + + + XML namespace for XSHD. + + + + + Writes the specified syntax definition. + + + + + A color in an Xshd file. + + + + + Creates a new XshdColor instance. + + + + + Deserializes an XshdColor. + + + + + Applies the visitor to this element. + + + + + Gets/sets the background brush. + + + + + Gets/Sets the example text that demonstrates where the color is used. + + + + + Gets/sets the font style. + + + + + Gets/sets the font weight. + + + + + Gets/sets the foreground brush. + + + + + Serializes this XshdColor instance. + + + + + Gets/sets the name. + + + + + An element in a XSHD rule set. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.Xshd.XshdElement + + + + + + + Applies the visitor to this element. + + + + + Gets the column number in the .xshd file. + + + + + Gets the line number in the .xshd file. + + + + + <Import> element. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.Xshd.XshdImport + + + + + + + Applies the visitor to this element. + + + + + Gets/sets the referenced rule set. + + + + + A list of keywords. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.Xshd.XshdKeywords + + + + + + + Applies the visitor to this element. + + + + + The color. + + + + + Gets the list of key words. + + + + + A property in an Xshd file. + + + + + Creates a new XshdColor instance. + + + + + Applies the visitor to this element. + + + + + Gets/sets the name. + + + + + Gets/sets the value. + + + + + A reference to an xshd color, or an inline xshd color. + + + + + Creates a new XshdReference instance. + + + + + Creates a new XshdReference instance. + + + + + Applies the visitor to the inline element, if there is any. + + + + + Equality operator. + + + + Indicates whether this instance and a specified object are equal. + Another object to compare to. + true if and this instance are the same type and represent the same value; otherwise, false. + + + Returns the hash code for this instance. + A 32-bit signed integer that is the hash code for this instance. + + + + Gets the inline element. + + + + + Equality operator. + + + + + Inequality operator. + + + + + Gets the reference. + + + + + Gets the reference. + + + + + Specifies the type of the regex. + + + + + Normal regex. Used when the regex was specified as attribute. + + + + + Ignore pattern whitespace / allow regex comments. Used when the regex was specified as text element. + + + + + <Rule> element. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.Xshd.XshdRule + + + + + + + Applies the visitor to this element. + + + + + Gets/sets the color reference. + + + + + Gets/sets the rule regex. + + + + + Gets/sets the rule regex type. + + + + + A rule set in a XSHD file. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.Xshd.XshdRuleSet + + + + + + + Applies the visitor to all elements. + + + + + Applies the visitor to this element. + + + + + Gets the collection of elements. + + + + + Gets/sets whether the case is ignored in expressions inside this rule set. + + + + + Gets/Sets the name of the rule set. + + + + + <Span> element. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.Xshd.XshdSpan + + + + + + + Applies the visitor to this element. + + + + + Gets/sets the span begin color. + + + + + Gets/sets the begin regex. + + + + + Gets/sets the begin regex type. + + + + + Gets/sets the span end color. + + + + + Gets/sets the end regex. + + + + + Gets/sets the end regex type. + + + + + Gets/sets whether the span is multiline. + + + + + Gets/sets the rule set reference. + + + + + Gets/sets the span color. + + + + + A <SyntaxDefinition> element. + + + + + Creates a new XshdSyntaxDefinition object. + + + + + Applies the visitor to all elements. + + + + + Gets the collection of elements. + + + + + Gets the associated extensions. + + + + + Gets/sets the definition name + + + + + Handles indentation by copying the indentation from the previous line. + Does not support indenting multiple lines. + + + + + + + ICSharpCode.AvalonEdit.Indentation.DefaultIndentationStrategy + + + + + + + Sets the indentation for the specified line. + Usually this is constructed from the indentation of the previous line. + + + + + Does nothing: indenting multiple lines is useless without a smart indentation strategy. + + + + + Strategy how the text editor handles indentation when new lines are inserted. + + + + + Sets the indentation for the specified line. + Usually this is constructed from the indentation of the previous line. + + + + + Reindents a set of lines. + + + + + Smart indentation for C#. + + + + + Creates a new CSharpIndentationStrategy. + + + + + Creates a new CSharpIndentationStrategy and initializes the settings using the text editor options. + + + + + Performs indentation using the specified document accessor. + + Object used for accessing the document line-by-line + Specifies whether empty lines should be kept + + + + Gets/Sets the indentation string. + + + + + Sets the indentation for the specified line. + Usually this is constructed from the indentation of the previous line. + + + + + Reindents a set of lines. + + + + + Interface used for the indentation class to access the document. + + + + Gets if the current line is read only (because it is not in the + selected text region) + + + Gets the number of the current line. + + + Advances to the next line. + + + Gets/Sets the text of the current line. + + + + Adapter IDocumentAccessor -> TextDocument + + + + + Creates a new TextDocumentAccessor. + + + + + Creates a new TextDocumentAccessor that indents only a part of the document. + + + + Gets if the current line is read only (because it is not in the + selected text region) + + + Gets the number of the current line. + + + Advances to the next line. + + + Gets/Sets the text of the current line. + + + + Helper for creating a PathGeometry. + + + + + Creates a new BackgroundGeometryBuilder instance. + + + + + Adds a rectangle to the geometry. + + + + + Adds a rectangle to the geometry. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Rendering.BackgroundGeometryBuilder.AddSegment(ICSharpCode.AvalonEdit.Rendering.TextView,ICSharpCode.NRefactory.Editor.ISegment) + + + + + + + Gets/Sets whether to align the geometry to the middle of pixels. + + + + + Gets/Sets whether to align the geometry to whole pixels. + + + + + Closes the current figure. + + + + + Gets/sets the radius of the rounded corners. + + + + + Creates the geometry. + Returns null when the geometry is empty! + + + + + Gets/Sets whether to extend the rectangles to full width at line end. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Rendering.BackgroundGeometryBuilder.GetRectsForSegment(ICSharpCode.AvalonEdit.Rendering.TextView,ICSharpCode.NRefactory.Editor.ISegment,System.Boolean) + + + + + + + Calculates the rectangles for the visual column segment. + This returns one rectangle for each line inside the segment. + + + + + Represents a collapsed line section. + Use the Uncollapse() method to uncollapse the section. + + + + + Gets the end line of the section. + When the section is uncollapsed or the text containing it is deleted, + this property returns null. + + + + + Gets if the document line is collapsed. + This property initially is true and turns to false when uncollapsing the section. + + + + + Gets the start line of the section. + When the section is uncollapsed or the text containing it is deleted, + this property returns null. + + + + + Gets a string representation of the collapsed section. + + + + + Uncollapses the section. + This causes the Start and End properties to be set to null! + Does nothing if the section is already uncollapsed. + + + + + Base class for that helps + splitting visual elements so that colors (and other text properties) can be easily assigned + to individual words/characters. + + + + + + + ICSharpCode.AvalonEdit.Rendering.ColorizingTransformer + + + + + + + Changes visual element properties. + This method accesses , so it must be called only during + a call. + This method splits s as necessary to ensure that the region + can be colored by setting the of whole elements, + and then calls the on all elements in the region. + + Start visual column of the region to change + End visual column of the region to change + Action that changes an individual . + + + + Performs the colorization. + + + + + Gets the list of elements currently being transformed. + + + + + Called when added to a text view. + + + + + Called when removed from a text view. + + + + + implementation. + Sets and calls . + + + + + Default implementation for TextRunTypographyProperties. + + + + + + + ICSharpCode.AvalonEdit.Rendering.DefaultTextRunTypographyProperties + + + + + + Gets the index of an alternate annotation form. + The index of the alternate annotation form. The default is 0 (zero). + + + Gets a value that indicates the capital form of the selected font. + One of the values. The default is . + + + Gets a value that indicates whether inter-glyph spacing for all-capital text is globally adjusted to improve readability. + true if spacing is adjusted; otherwise, false. The default is false. + + + Gets a value that indicates whether glyphs adjust their vertical position to better align with uppercase glyphs. + true if the vertical position is adjusted; otherwise, false. The default is false. + + + Gets a value that indicates whether custom glyph forms can be used based upon the context of the text being rendered. + true if custom glyph forms can be used; otherwise, false. The default is true. + + + Gets a value that indicates whether contextual ligatures are enabled. + true if contextual ligatures are enabled; otherwise, false. The default is true. + + + Gets a value that specifies the index of a contextual swashes form. + The index of the standard swashes form. The default is 0 (zero). + + + Gets a value that indicates whether discretionary ligatures are enabled. + true if discretionary ligatures are enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether the standard Japanese font forms have been replaced with the corresponding preferred typographic forms. + true if standard Japanese font forms have been replaced with the corresponding preferred typographic forms; otherwise, false. The default is false. + + + Gets a value that indicates the version of glyphs to be used for a specific writing system or language. + One of the values. The default is . + + + Gets a value that indicates the proportional width to be used for Latin characters in an East Asian font. + One of the values. The default is . + + + Gets a value that indicates the fraction style. + One of the values. The default is . + + + Gets a value that indicates whether historical forms are enabled. + true if historical forms are enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether historical ligatures are enabled. + true if historical ligatures are enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether kerning is enabled. + true if kerning is enabled; otherwise, false. The default is true. + + + Gets a value that indicates whether standard typographic font forms of Greek glyphs have been replaced with corresponding font forms commonly used in mathematical notation. + true if mathematical Greek forms are enabled; otherwise, false. The default is false. + + + Gets the alignment of widths when using numerals. + One of the values. The default is . + + + Gets a value that indicates the set of glyphs that are used to render numeric alternate font forms. + One of the values. The default is . + + + Gets a value that indicates whether a nominal zero font form should be replaced with a slashed zero. + true if slashed zero forms are enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether standard ligatures are enabled. + true if standard ligatures are enabled; otherwise, false. The default is true. + + + Gets the index of a standard swashes form. + The index of the standard swashes form. The default is 0 (zero). + + + Gets the index of a stylistic alternates form. + The index of the stylistic alternates form. The default is 0 (zero). + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates a variation of the standard typographic form to be used. + One of the values. The default is . + + + + Base class for that helps + colorizing the document. Derived classes can work with document lines + and text offsets and this class takes care of the visual lines and visual columns. + + + + + + + ICSharpCode.AvalonEdit.Rendering.DocumentColorizingTransformer + + + + + + + Changes a part of the current document line. + + Start offset of the region to change + End offset of the region to change + Action that changes an individual . + + + + Performs the colorization. + + + + + Override this method to colorize an individual document line. + + + + + Gets the current ITextRunConstructionContext. + + + + + Formatted text (not normal document text). + This is used as base class for various VisualLineElements that are displayed using a + FormattedText, for example newline markers or collapsed folding sections. + + + + + Creates a new FormattedTextElement that displays the specified text + and occupies the specified length in the document. + + + + + Creates a new FormattedTextElement that displays the specified text + and occupies the specified length in the document. + + + + + Creates a new FormattedTextElement that displays the specified text + and occupies the specified length in the document. + + + + + Gets/sets the line break condition after the element. + The default is 'BreakPossible'. + + + + + Gets/sets the line break condition before the element. + The default is 'BreakPossible'. + + + + + Creates the TextRun for this line element. + + + The visual column from which the run should be constructed. + Normally the same value as the property is used to construct the full run; + but when word-wrapping is active, partial runs might be created. + + + Context object that contains information relevant for text run creation. + + + + + Constructs a TextLine from a simple text. + + + + + This is the TextRun implementation used by the class. + + + + + Creates a new FormattedTextRun. + + + + Gets the line breaking condition after the text object. + An enumerated value of . + + + Gets the line breaking condition before the text object. + An enumerated value of . + + + Gets a reference to the text run character buffer. + A value representing the characters in the text run. + + + Gets the computed bounding box of the text object. + A value that determines if the text object is drawn from right to left. + A value that determines if the text object is drawn with its side parallel to the baseline. + A value that represents the bounding box size of the text object. + + + Draws the text object. + The to use for rendering the text object. + The value that represents the origin where the text object is drawn. + A value that determines if the text object is drawn from right to left. + A value that determines if the text object is drawn with its side parallel to the baseline. + + + + Gets the element for which the FormattedTextRun was created. + + + + Get text object measurement metrics that will fit within the specified remaining width of the paragraph. + A that represents the remaining paragraph width. + A value that represents the text object metrics. + + + Determines whether the text object has a fixed size regardless of where it is placed within a line. + true if the text object has a fixed size; otherwise, false. + + + Gets the number of characters in the text run. + An value that represents the number of characters. + + + Gets the set of text properties that are shared by every character in the text run, such as typeface or foreground brush. + A value that represents the set of shared text properties. + + + + Background renderers draw in the background of a known layer. + You can use background renderers to draw non-interactive elements on the TextView + without introducing new UIElements. + + + + + Causes the background renderer to draw. + + + + + Gets the layer on which this background renderer should draw. + + + + + A inline UIElement in the document. + + + + + Creates a new InlineObjectElement. + + The length of the element in the document. Must be non-negative. + The element to display. + + + + Creates the TextRun for this line element. + + + The visual column from which the run should be constructed. + Normally the same value as the property is used to construct the full run; + but when word-wrapping is active, partial runs might be created. + + + Context object that contains information relevant for text run creation. + + + + + Gets the inline element that is displayed. + + + + + A text run with an embedded UIElement. + + + + + Creates a new InlineObjectRun instance. + + The length of the TextRun. + The to use. + The to display. + + + Gets the line breaking condition after the text object. + An enumerated value of . + + + Gets the line breaking condition before the text object. + An enumerated value of . + + + Gets a reference to the text run character buffer. + A value representing the characters in the text run. + + + Gets the computed bounding box of the text object. + A value that determines if the text object is drawn from right to left. + A value that determines if the text object is drawn with its side parallel to the baseline. + A value that represents the bounding box size of the text object. + + + Draws the text object. + The to use for rendering the text object. + The value that represents the origin where the text object is drawn. + A value that determines if the text object is drawn from right to left. + A value that determines if the text object is drawn with its side parallel to the baseline. + + + + Gets the element displayed by the InlineObjectRun. + + + + Get text object measurement metrics that will fit within the specified remaining width of the paragraph. + A that represents the remaining paragraph width. + A value that represents the text object metrics. + + + Determines whether the text object has a fixed size regardless of where it is placed within a line. + true if the text object has a fixed size; otherwise, false. + + + Gets the number of characters in the text run. + An value that represents the number of characters. + + + Gets the set of text properties that are shared by every character in the text run, such as typeface or foreground brush. + A value that represents the set of shared text properties. + + + + Gets the VisualLine that contains this object. This property is only available after the object + was added to the text view. + + + + + Contains information relevant for text run creation. + + + + + Gets the text document. + + + + + Gets a piece of text from the document. + + + + + Gets the global text run properties. + + + + + Gets the text view for which the construction runs. + + + + + Gets the visual line that is currently being constructed. + + + + + Allows s, s and + s to be notified when they are added or removed from a text view. + + + + + Called when added to a text view. + + + + + Called when removed from a text view. + + + + + Allows transforming visual line elements. + + + + + Applies the transformation to the specified list of visual line elements. + + + + + An enumeration of well-known layers. + + + + + This layer is in the background. + There is no UIElement to represent this layer, it is directly drawn in the TextView. + It is not possible to replace the background layer or insert new layers below it. + + + + + This layer contains the selection rectangle. + + + + + This layer contains the text and inline UI elements. + + + + + This layer contains the blinking caret. + + + + + Specifies where a new layer is inserted, in relation to an old layer. + + + + + The new layer is inserted below the specified layer. + + + + + The new layer replaces the specified layer. The old layer is removed + from the collection. + + + + + The new layer is inserted above the specified layer. + + + + + Detects hyperlinks and makes them clickable. + + + + + Creates a new LinkElementGenerator. + + + + + Creates a new LinkElementGenerator using the specified regex. + + + + + Constructs an element at the specified offset. + May return null if no element should be constructed. + + + + + Constructs a VisualLineElement that replaces the matched text. + The default implementation will create a + based on the URI provided by . + + + + + Gets the first offset >= startOffset where the generator wants to construct an element. + Return -1 to signal no interest. + + + + + Fetches the URI from the regex match. Returns null if the URI format is invalid. + + + + + Gets/Sets whether the user needs to press Control to click the link. + The default value is true. + + + + + Encapsulates and adds MouseHover support to UIElements. + + + + + Creates a new instance and attaches itself to the UIElement. + + + + + Removes the MouseHover support from the target UIElement. + + + + + Occurs when the mouse starts hovering over a certain location. + + + + + Occurs when the mouse stops hovering over a certain location. + + + + + Raises the event. + + + + + Raises the event. + + + + + A virtualizing panel producing+showing s for a . + + This is the heart of the text editor, this class controls the text rendering process. + + Taken as a standalone control, it's a text viewer without any editing capability. + + + + + Creates a new TextView instance. + + + + + Arrange implementation. + + + + + Gets the list of background renderers. + + + + + Collapses lines for the purpose of scrolling. s marked as collapsed will be hidden + and not used to start the generation of a . + + + + + Gets/Sets the pen used to draw the column ruler. + + + + + The pen used to draw the column ruler. + + + + + Gets/Sets the background brush used by current line highlighter. + + + + + The property. + + + + + Gets/Sets the background brush used for the current line. + + + + + The property. + + + + + Gets the default baseline position. This is the difference between + and for a line containing regular text. + Lines that include formatted text or custom UI elements may have a different baseline. + + + + + Gets the default line height. This is the height of an empty line or a line containing regular text. + Lines that include formatted text or custom UI elements may have a different line height. + + + + + Gets/Sets the document displayed by the text editor. + + + + + Occurs when the document property has changed. + + + + + Gets the height of the document. + + + + + Document property. + + + + + Gets a collection where element generators can be registered. + + + + + If the visual lines are invalid, creates new visual lines for the visible part + of the document. + If all visual lines are valid, this method does nothing. + + The visual line build process is already running. + It is not allowed to call this method during the construction of a visual line. + + + + Gets the document line at the specified visual position. + + + + + Gets the visual line that contains the document line with the specified number. + If that line is outside the visible range, a new VisualLine for that document line is constructed. + + + + + Gets the text view position from the specified visual position. + If the position is within a character, it is rounded to the next character boundary. + + The position in WPF device-independent pixels relative + to the top left corner of the document. + The logical position, or null if the position is outside the document. + + + + Gets the text view position from the specified visual position. + If the position is inside a character, the position in front of the character is returned. + + The position in WPF device-independent pixels relative + to the top left corner of the document. + The logical position, or null if the position is outside the document. + + + + Retrieves a service from the text view. + If the service is not found in the container, + this method will also look for it in the current document's service provider. + + + + Overrides , and returns a child at the specified index from a collection of child elements. + The zero-based index of the requested child element in the collection. + The requested child element. This should not return null; if the provided index is out of range, an exception is thrown. + + + + Gets the visual line that contains the document line with the specified number. + Returns null if the document line is outside the visible range. + + + + + Gets the visual line at the specified document position (relative to start of document). + Returns null if there is no visual line for the position (e.g. the position is outside the visible + text area). + + + + + Gets the visual position from a text view position. + + The text view position. + The mode how to retrieve the Y position. + The position in WPF device-independent pixels relative + to the top left corner of the document. + + + + Gets the visual top position (relative to start of document) from a document line number. + + + + + Gets/Sets highlighted line number. + + + + Implements to supply base element hit testing behavior (returning ). + Describes the hit test to perform, including the initial hit point. + Results of the test, including the evaluated point. + + + + Gets the horizontal scroll offset. + + + + + Inserts a new layer at a position specified relative to an existing layer. + + The new layer to insert. + The existing layer + Specifies whether the layer is inserted above,below, or replaces the referenced layer + + + + Updates the mouse cursor by calling , but with background priority. + + + + + Causes a known layer to redraw. + This method does not invalidate visual lines; + use the method to do that. + + + + + Causes a known layer to redraw. + This method does not invalidate visual lines; + use the method to do that. + + + + + Gets the list of layers displayed in the text view. + + + + + Gets a collection where line transformers can be registered. + + + + + Gets/sets the Brush used for the background of link texts. + + + + + LinkTextBackgroundBrush dependency property. + + + + + Gets/sets the Brush used for displaying link texts. + + + + + LinkTextForegroundBrush dependency property. + + + + Gets an enumerator for logical child elements of this element. + An enumerator for logical child elements of this element. + + + + Scrolls the text view so that the specified rectangle gets visible. + + + + When overridden in a derived class, measures the size in layout required for child elements and determines a size for the -derived class. + The available size that this element can give to child elements. Infinity can be specified as a value to indicate that the element will size to whatever content is available. + The size that this element determines it needs during layout, based on its calculations of child element sizes. + + + + Occurs when the mouse has hovered over a fixed location for some time. + + + + + The MouseHover event. + + + + + Occurs when the mouse had previously hovered but now started moving again. + + + + + The MouseHoverStopped event. + + + + + Gets/sets the Brush used for displaying non-printable characters. + + + + + NonPrintableCharacterBrush dependency property. + + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. This event data reports details about the mouse button that was pressed and the handled state. + + + Invoked when an unhandled  routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. The event data reports that the mouse button was released. + + + + Raises the event. + + + + Invoked whenever the effective value of any dependency property on this has been updated. The specific dependency property that changed is reported in the arguments parameter. Overrides . + The event data that describes the property that changed, as well as old and new values. + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + When overridden in a derived class, participates in rendering operations that are directed by the layout system. The rendering instructions for this element are not used directly when this method is invoked, and are instead preserved for later asynchronous use by layout and drawing. + The drawing instructions for a specific element. This context is provided to the layout system. + + + + Occurs when a text editor option has changed. + + + + + Gets/Sets the options used by the text editor. + + + + + Options property. + + + + + Occurs when the mouse has hovered over a fixed location for some time. + + + + + The PreviewMouseHover event. + + + + + Occurs when the mouse had previously hovered but now started moving again. + + + + + The PreviewMouseHoverStopped event. + + + + Receives events from the centralized event manager. + The type of the calling this method. + Object that originated the event. + Event data. + true if the listener handled the event. It is considered an error by the handling in WPF to register a listener for an event that the listener does not handle. Regardless, the method should return false if it receives an event that it does not recognize or handle. + + + + Causes the text editor to regenerate all visual lines. + + + + + Causes the text editor to regenerate the specified visual line. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Rendering.TextView.Redraw(ICSharpCode.NRefactory.Editor.ISegment,System.Windows.Threading.DispatcherPriority) + + + + + + + Causes the text editor to redraw all lines overlapping with the specified segment. + + + + + Causes the text editor to regenerate all visual lines. + + + + + Gets the scroll offset; + + + + + Occurs when the scroll offset has changed. + + + + + Gets a service container used to associate services with the text view. + + + + + Gets the vertical scroll offset. + + + + Gets the number of visual child elements within this element. + The number of visual child elements for this element. + + + + Occurs when the TextView is about to be measured and will regenerate its visual lines. + This event may be used to mark visual lines as invalid that would otherwise be reused. + + + + + Gets the currently visible visual lines. + + + Gets thrown if there are invalid visual lines when this property is accessed. + You can use the property to check for this case, + or use the method to force creating the visual lines + when they are invalid. + + + + + Occurs when the TextView was measured and changed its visual lines. + + + + + Gets whether the visual lines are valid. + Will return false after a call to Redraw(). + Accessing the visual lines property will cause a + if this property is false. + + + + + Gets the width of a 'wide space' (the space width used for calculating the tab size). + + + + + Contains weak event managers for the TextView events. + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.Rendering.TextViewWeakEventManager.DocumentChanged + + + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.Rendering.TextViewWeakEventManager.ScrollOffsetChanged + + + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.Rendering.TextViewWeakEventManager.VisualLinesChanged + + + + + + + Represents a visual line in the document. + A visual line usually corresponds to one DocumentLine, but it can span multiple lines if + all but the first are collapsed. + + + + + Gets the document to which this VisualLine belongs. + + + + + Gets a read-only collection of line elements. + + + + + Gets the first document line displayed by this visual line. + + + + + Gets the next possible caret position after visualColumn, or -1 if there is no caret position. + + + + + Gets the document offset (relative to the first line start) from a visual column. + + + + + Gets the text line containing the specified visual column. + + + + + Gets the text line containing the specified visual column. + + + + + Gets a TextLine by the visual position. + + + + + Gets the start visual column from the specified text line. + + + + + Gets the distance to the left border of the text area of the specified visual column. + The visual column must belong to the specified text line. + + + + + Gets the visual top from the specified text line. + + Distance in device-independent pixels + from the top of the document to the top of the specified text line. + + + + Gets the text view position from the specified visual column. + + + + + Gets the text view position from the specified visual position. + If the position is within a character, it is rounded to the next character boundary. + + The position in WPF device-independent pixels relative + to the top left corner of the document. + Controls whether positions in virtual space may be returned. + + + + Gets the text view position from the specified visual position. + If the position is inside a character, the position in front of the character is returned. + + The position in WPF device-independent pixels relative + to the top left corner of the document. + Controls whether positions in virtual space may be returned. + + + + Gets the visual column from a document offset relative to the first line start. + + + + + Gets the visual column from a document position (relative to top left of the document). + If the user clicks between two visual columns, rounds to the nearest column. + + + + + Gets the visual column from a document position (relative to top left of the document). + If the user clicks between two visual columns, rounds to the nearest column. + + + + + Gets the visual column from a document position (relative to top left of the document). + If the user clicks between two visual columns, rounds to the nearest column. + + + + + Gets the visual column from a document position (relative to top left of the document). + If the user clicks between two visual columns, returns the first of those columns. + + + + + Gets the visual column from a document position (relative to top left of the document). + If the user clicks between two visual columns, returns the first of those columns. + + + + + Gets the visual position from the specified visualColumn. + + Position in device-independent pixels + relative to the top left of the document. + + + + Gets the height of the visual line in device-independent pixels. + + + + + Gets whether the visual line was disposed. + + + + + Gets the last document line displayed by this visual line. + + + + + Replaces the single element at with the specified elements. + The replacement operation must preserve the document length, but may change the visual length. + + + + + Replaces elements starting at with the specified elements. + The replacement operation must preserve the document length, but may change the visual length. + + + + + Gets the start offset of the VisualLine inside the document. + This is equivalent to FirstDocumentLine.Offset. + + + + + Gets a read-only collection of text lines. + + + + + Validates the visual column and returns the correct one. + + + + + Validates the visual column and returns the correct one. + + + + + Length in visual line coordinates. + + + + + Length in visual line coordinates including the end of line marker, if TextEditorOptions.ShowEndOfLine is enabled. + + + + + Gets the Y position of the line. This is measured in device-independent pixels relative to the start of the document. + + + + + EventArgs for the event. + + + + + Creates a new VisualLineConstructionStartEventArgs instance. + + + + + Gets/Sets the first line that is visible in the TextView. + + + + + Represents a visual element in the document. + + + + + Creates a new VisualLineElement. + + The length of the element in VisualLine coordinates. Must be positive. + The length of the element in the document. Must be non-negative. + + + + Gets/sets the brush used for the background of this . + + + + + Gets if this VisualLineElement can be split. + + + + + Creates the TextRun for this line element. + + + The visual column from which the run should be constructed. + Normally the same value as the property is used to construct the full run; + but when word-wrapping is active, partial runs might be created. + + + Context object that contains information relevant for text run creation. + + + + + Gets the length of this element in the text document. + + + + + Gets the next caret position inside this element. + + The visual column from which the search should be started. + The search direction (forwards or backwards). + Whether to stop only at word borders. + The visual column of the next caret position, or -1 if there is no next caret position. + + + + Retrieves the text span immediately before the visual column. + + + + + Gets the text offset of a visual column inside this element. + + A text offset relative to the visual line start. + + + + Gets the visual column of a text location inside this element. + The text offset is given relative to the visual line start. + + + + + Gets whether the implementation handles line borders. + If this property returns false, the caller of GetNextCaretPosition should handle the line + borders (i.e. place caret stops at the start and end of the line). + This property has an effect only for VisualLineElements that are at the start or end of a + . + + + + + Gets whether the specified offset in this element is considered whitespace. + + + + + Allows the visual line element to handle a mouse event. + + + + + Allows the visual line element to handle a mouse event. + + + + + Queries the cursor over the visual line element. + + + + + Gets the text offset where this element starts, relative to the start text offset of the visual line. + + + + + Splits the element. + + Position inside this element at which it should be broken + The collection of line elements + The index at which this element is in the elements list. + + + + Helper method for splitting this line element into two, correctly updating the + , , + and properties. + + The element before the split position. + The element after the split position. + The split position as visual column. + The split position as text offset. + + + + Gets the text run properties. + A unique instance is used for each + ; colorizing code may assume that modifying the + will affect only this + . + + + + + Gets the visual column where this element starts. + + + + + Gets the length of this element in visual columns. + + + + + Abstract base class for generators that produce new visual line elements. + + + + + + + ICSharpCode.AvalonEdit.Rendering.VisualLineElementGenerator + + + + + + + Constructs an element at the specified offset. + May return null if no element should be constructed. + + + + + Gets the text run construction context. + + + + + De-initializes the generator. + + + + + Gets the first offset >= startOffset where the generator wants to construct an element. + Return -1 to signal no interest. + + + + + Initializes the generator for the + + + + implementation that allows changing the properties. + A instance usually is assigned to a single + . + + + + + Creates a new VisualLineElementTextRunProperties instance that copies its values + from the specified . + For the and collections, deep copies + are created if those collections are not frozen. + + + + Gets the brush that is used to paint the background color of the text run. + A value that represents the background color. + + + Gets the baseline style for a text that is positioned on the vertical axis. + An enumerated value of . + + + + Creates a copy of this instance. + + + + Gets the culture information for the text run. + A value of that represents the culture of the text run. + + + Gets the text size in points, which is then used for font hinting. + A that represents the text size in points. The default is 12 pt. + + + Gets the text size in points for the text run. + A that represents the text size in DIPs (Device Independent Pixels). The default is 12 DIP. + + + Gets the brush that is used to paint the foreground color of the text run. + A value that represents the foreground color. + + + + Gets the number substitution settings for the text run. + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Gets the text decorations. The value may be null, a frozen + or an unfrozen . + If the value is an unfrozen , you may assume that the + collection instance is only used for this instance and it is safe + to add s. + + + + + Gets the text effects. The value may be null, a frozen + or an unfrozen . + If the value is an unfrozen , you may assume that the + collection instance is only used for this instance and it is safe + to add s. + + + + Gets the typeface for the text run. + A value of . + + + + Gets the typography properties for the text run. + + + + + VisualLineElement that represents a piece of text and is a clickable link. + + + + + Creates a visual line text element with the specified length. + It uses the and its + to find the actual text string. + + + + + Override this method to control the type of new VisualLineText instances when + the visual line is split due to syntax highlighting. + + + + + Creates the TextRun for this line element. + + + The visual column from which the run should be constructed. + Normally the same value as the property is used to construct the full run; + but when word-wrapping is active, partial runs might be created. + + + Context object that contains information relevant for text run creation. + + + + + Gets whether the link is currently clickable. + + + + + Gets/Sets the URL that is navigated to when the link is clicked. + + + + + Allows the visual line element to handle a mouse event. + + + + + Queries the cursor over the visual line element. + + + + + Gets/Sets whether the user needs to press Control to click the link. + The default value is true. + + + + + Gets/Sets the window name where the URL will be opened. + + + + + A VisualLinesInvalidException indicates that you accessed the property + of the while the visual lines were invalid. + + + + + Creates a new VisualLinesInvalidException instance. + + + + + Creates a new VisualLinesInvalidException instance. + + + + + Creates a new VisualLinesInvalidException instance. + + + + + Creates a new VisualLinesInvalidException instance. + + + + + VisualLineElement that represents a piece of text. + + + + + Creates a visual line text element with the specified length. + It uses the and its + to find the actual text string. + + + + + Gets if this VisualLineElement can be split. + + + + + Override this method to control the type of new VisualLineText instances when + the visual line is split due to syntax highlighting. + + + + + Creates the TextRun for this line element. + + + The visual column from which the run should be constructed. + Normally the same value as the property is used to construct the full run; + but when word-wrapping is active, partial runs might be created. + + + Context object that contains information relevant for text run creation. + + + + + Gets the next caret position inside this element. + + The visual column from which the search should be started. + The search direction (forwards or backwards). + Whether to stop only at word borders. + The visual column of the next caret position, or -1 if there is no next caret position. + + + + Retrieves the text span immediately before the visual column. + + + + + Gets the text offset of a visual column inside this element. + + A text offset relative to the visual line start. + + + + Gets the visual column of a text location inside this element. + The text offset is given relative to the visual line start. + + + + + Gets whether the specified offset in this element is considered whitespace. + + + + + Gets the parent visual line. + + + + + Splits the element. + + Position inside this element at which it should be broken + The collection of line elements + The index at which this element is in the elements list. + + + + An enum that specifies the possible Y positions that can be returned by VisualLine.GetVisualPosition. + + + + + Returns the top of the TextLine. + + + + + Returns the top of the text. + If the line contains inline UI elements larger than the text, TextTop may be below LineTop. + For a line containing regular text (all in the editor's main font), this will be equal to LineTop. + + + + + Returns the bottom of the TextLine. + + + + + The middle between LineTop and LineBottom. + + + + + Returns the bottom of the text. + If the line contains inline UI elements larger than the text, TextBottom might be above LineBottom. + For a line containing regular text (all in the editor's main font), this will be equal to LineBottom. + + + + + The middle between TextTop and TextBottom. + + + + + Returns the baseline of the text. + + + + + A button that opens a drop-down menu when clicked. + + + + + + + ICSharpCode.AvalonEdit.Search.DropDownButton + + + + + + + Gets/Sets the popup that is used as drop-down content. + + + + + Identifies the  dependency property. + + + + + Gets whether the drop-down is opened. + + + + + Identifies the  dependency property. + + + + + The key that identifies the  dependency property. + + + + Raises the routed event. + + + + Represents a search result. + + + + + Replaces parts of the replacement string with parts from the match. (e.g. $1) + + + + + Basic interface for search algorithms. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Search.ISearchStrategy.FindAll(ICSharpCode.NRefactory.Editor.ITextSource,System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Search.ISearchStrategy.FindNext(ICSharpCode.NRefactory.Editor.ITextSource,System.Int32,System.Int32) + + + + + + + Holds default texts for buttons and labels in the SearchPanel. Override properties to add other languages. + + + + + + + ICSharpCode.AvalonEdit.Search.Localization + + + + + + + Default: 'Error: ' + + + + + Default: 'Find next (F3)' + + + + + Default: 'Find previous (Shift+F3)' + + + + + Default: 'Match case' + + + + + Default: 'Match whole words' + + + + + Default: 'No matches found!' + + + + + Default: 'Use regular expressions' + + + + + Search commands for AvalonEdit. + + + + + Closes the SearchPanel. + + + + + Finds the next occurrence in the file. + + + + + Finds the previous occurrence in the file. + + + + + TextAreaInputHandler that registers all search-related commands. + + + + + Creates a new SearchInputHandler and registers the search-related commands. + + + + + Fired when SearchOptions are modified inside the SearchPanel. + + + + + Defines supported search modes. + + + + + Standard search + + + + + RegEx search + + + + + Wildcard search + + + + + EventArgs for event. + + + + + Creates a new SearchOptionsChangedEventArgs instance. + + + + + Gets whether the search pattern should be interpreted case-sensitive. + + + + + Gets the search pattern. + + + + + Gets whether the search pattern should be interpreted as regular expression. + + + + + Gets whether the search pattern should only match whole words. + + + + + Provides search functionality for AvalonEdit. It is displayed in the top-right corner of the TextArea. + + + + + Creates a new SearchPanel. + + + + + Attaches this SearchPanel to a TextArea instance. + + + + + Closes the SearchPanel. + + + + + Closes the SearchPanel and removes it. + + + + + Moves to the next occurrence in the file. + + + + + Moves to the previous occurrence in the file. + + + + + Creates a SearchPanel and installs it to the TextArea. + + + + + Creates a SearchPanel and installs it to the TextEditor's TextArea. + + + + + Gets whether the Panel is already closed. + + + + + Gets/sets the localization for the SearchPanel. + + + + + Dependency property for . + + + + + Gets/sets the Brush used for marking search results in the TextView. + + + + + Dependency property for . + + + + + Gets/sets whether the search pattern should be interpreted case-sensitive. + + + + + Dependency property for . + + + + When overridden in a derived class, is invoked whenever application code or internal processes call . + + + + Raises the event. + + + + + Opens the an existing search panel. + + + + + Reactivates the SearchPanel by setting the focus on the search box and selecting all text. + + + + + Fired when SearchOptions are changed inside the SearchPanel. + + + + + Gets/sets the search pattern. + + + + + Dependency property for . + + + + + Removes the SearchPanel from the TextArea. + + + + + Gets/sets whether the search pattern should be interpreted as regular expression. + + + + + Dependency property for . + + + + + Gets/sets whether the search pattern should only match whole words. + + + + + Dependency property for . + + + + Represents errors that occur during application execution. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + Initializes a new instance of the class with a specified error message. + The message that describes the error. + + + Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Provides factory methods for ISearchStrategies. + + + + + Creates a default ISearchStrategy with the given parameters. + + + + + AnchorElement created by SnippetAnchorElement. + + + + + Creates a new AnchorElement. + + + + + Called when the interactive mode is deactivated. + + + + + Gets whether this element is editable (the user will be able to select it with Tab). + + + + + Gets or sets the name of the anchor. + + + + + Called when the all snippet elements have been inserted. + + + + + Gets the segment associated with this element. May be null. + + + + + Gets or sets the text at the anchor. + + + + + Describes the reason for deactivation of a . + + + + + Unknown reason. + + + + + Snippet was deleted. + + + + + There are no active elements in the snippet. + + + + + The SnippetInputHandler was detached. + + + + + Return was pressed by the user. + + + + + Escape was pressed by the user. + + + + + Represents an active element that allows the snippet to stay interactive after insertion. + + + + + Called when the interactive mode is deactivated. + + + + + Gets whether this element is editable (the user will be able to select it with Tab). + + + + + Called when the all snippet elements have been inserted. + + + + + Gets the segment associated with this element. May be null. + + + + + Represents the context of a snippet insertion. + + + + + Creates a new InsertionContext instance. + + + + + Gets the list of active elements. + + + + + Calls the method on all registered active elements. + + The EventArgs to use + + + + Occurs when the interactive mode is deactivated. + + + + + Gets the text document. + + + + + Returns the active element belonging to the specified snippet element, or null if no such active element is found. + + + + + Gets the indentation at the insertion position. + + + + + Occurs when the all snippet elements have been inserted. + + + + + Gets/Sets the insertion position. + + + + + Inserts text at the insertion position and advances the insertion position. + This method will add the current indentation to every line in and will + replace newlines with the expected newline for the document. + + + + + Gets the line terminator at the insertion position. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Snippets.InsertionContext.Link(ICSharpCode.NRefactory.Editor.ISegment,ICSharpCode.NRefactory.Editor.ISegment[]) + + + + + + + Calls the method on all registered active elements + and raises the event. + + The EventArgs to use + + + Receives events from the centralized event manager. + The type of the calling this method. + Object that originated the event. + Event data. + true if the listener handled the event. It is considered an error by the handling in WPF to register a listener for an event that the listener does not handle. Regardless, the method should return false if it receives an event that it does not recognize or handle. + + + + Registers an active element. Elements should be registered during insertion and will be called back + when insertion has completed. + + The snippet element that created the active element. + The active element. + + + + Gets the text that was selected before the insertion of the snippet. + + + + + Gets the start position of the snippet insertion. + + + + + Gets the indentation string for a single indentation level. + + + + + Gets the text area. + + + + + Interface for active element registered by . + + + + + Gets the current text inside the element. + + + + + Occurs when the text inside the element changes. + + + + + A code snippet that can be inserted into the text editor. + + + + + + + ICSharpCode.AvalonEdit.Snippets.Snippet + + + + + + + Inserts the snippet into the text area. + + + + + Creates a named anchor that can be accessed by other SnippetElements. + + + + + Creates a SnippetAnchorElement with the supplied name. + + + + + Performs insertion of the snippet. + + + + + Gets or sets the name of the anchor. + + + + + An element that binds to a and displays the same text. + + + + + + + ICSharpCode.AvalonEdit.Snippets.SnippetBoundElement + + + + + + + Converts the text before copying it. + + + + + Performs insertion of the snippet. + + + + + Gets/Sets the target element. + + + + + Converts the snippet to text, with replaceable fields in italic. + + + + + Sets the caret position after interactive mode has finished. + + + + + Creates a new SnippetCaretElement. + + + + + Creates a new SnippetCaretElement. + + + If set to true, the caret is set only when some text was selected. + This is useful when both SnippetCaretElement and SnippetSelectionElement are used in the same snippet. + + + + + Performs insertion of the snippet. + + + + + A snippet element that has sub-elements. + + + + + + + ICSharpCode.AvalonEdit.Snippets.SnippetContainerElement + + + + + + + Gets the list of child elements. + + + + + Performs insertion of the snippet. + + + + + Converts the snippet to text, with replaceable fields in italic. + + + + + An element inside a snippet. + + + + + + + ICSharpCode.AvalonEdit.Snippets.SnippetElement + + + + + + + Performs insertion of the snippet. + + + + + Converts the snippet to text, with replaceable fields in italic. + + + + + Provides information about the event that occured during use of snippets. + + + + + Creates a new SnippetEventArgs object, with a DeactivateReason. + + + + + Gets the reason for deactivation. + + + + + Text element that is supposed to be replaced by the user. + Will register an . + + + + + + + ICSharpCode.AvalonEdit.Snippets.SnippetReplaceableTextElement + + + + + + + Performs insertion of the snippet. + + + + + Converts the snippet to text, with replaceable fields in italic. + + + + + Inserts the previously selected text at the selection marker. + + + + + + + ICSharpCode.AvalonEdit.Snippets.SnippetSelectionElement + + + + + + + Gets/Sets the new indentation of the selected text. + + + + + Performs insertion of the snippet. + + + + + Represents a text element in a snippet. + + + + + + + ICSharpCode.AvalonEdit.Snippets.SnippetTextElement + + + + + + + Performs insertion of the snippet. + + + + + The text to be inserted. + + + + + Converts the snippet to text, with replaceable fields in italic. + + + + + Poor man's template specialization: extension methods for Rope<char>. + + + + + Appends text to this rope. + Runs in O(lg N + M). + + newElements is null. + + + + Creates a new rope from the specified text. + + + + + Gets the index of the first occurrence of the search text. + + + + + Gets the index of the first occurrence of any element in the specified array. + + The target rope. + Array of characters being searched. + Start index of the search. + Length of the area to search. + The first index where any character was found; or -1 if no occurrence was found. + + + + Inserts text into this rope. + Runs in O(lg N + M). + + newElements is null. + index or length is outside the valid range. + + + + Gets the index of the last occurrence of the search text. + + + + + Retrieves the text for a portion of the rope. + Runs in O(lg N + M), where M=. + + offset or length is outside the valid range. + + + + Retrieves the text for a portion of the rope and writes it to the specified text writer. + Runs in O(lg N + M), where M=. + + offset or length is outside the valid range. + + + + A IList{T} implementation that has efficient insertion and removal (in O(lg n) time) + and that saves memory by allocating only one node when a value is repeated in adjacent indices. + Based on this "compression", it also supports efficient InsertRange/SetRange/RemoveRange operations. + + + + + Creates a new CompressingTreeList instance. + + The equality comparer used for comparing consequtive values. + A single node may be used to store the multiple values that are considered equal. + + + + Creates a new CompressingTreeList instance. + + A function that checks two values for equality. If this + function returns true, a single node may be used to store the two values. + + + + Adds the specified to the end of the list. + + + + + Removes all items from this list. + + + + + Gets whether this list contains the specified item. + + + + + Copies all items in this list to the specified array. + + + + + Gets the number of items in the list. + + + + + Gets the first index after so that the value at the result index is not + equal to the value at . + That is, this method returns the exclusive end index of the run of equal values. + + + + + Gets an enumerator for this list. + + + + + Gets the number of elements after that have the same value as each other. + + + + + Gets the the first index so that all values from the result index to + are equal. + + + + + Gets the index of the specified . + + + + + Inserts the specified at + + + + Inserts times at position + . + + + + + Gets or sets an item by index. + + + + + Removes the specified item from this list. + + + + + Removes one item at + + + + Removes items starting at position + . + + + + + Sets indices starting at to + + + + + Applies the conversion function to all elements in this CompressingTreeList. + + + + + Applies the conversion function to the elements in the specified range. + + + + + Double-ended queue. + + + + + + + ICSharpCode.AvalonEdit.Utils.Deque`1 + + + + + + Removes all items from the . + The is read-only. + + + Determines whether the contains a specific value. + The object to locate in the . + true if is found in the ; otherwise, false. + + + Copies the elements of the to an , starting at a particular index. + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + is null. + + is less than 0. + + is multidimensional.-or-The number of elements in the source is greater than the available space from to the end of the destination .-or-Type cannot be cast automatically to the type of the destination . + + + Gets the number of elements contained in the . + The number of elements contained in the . + + + Returns an enumerator that iterates through the collection. + A that can be used to iterate through the collection. + + + + Gets/Sets an element inside the deque. + + + + + Pops an element from the end of the deque. + + + + + Pops an element from the end of the deque. + + + + + Adds an element to the end of the deque. + + + + + Adds an element to the front of the deque. + + + + + Helps printing documents. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Utils.DocumentPrinter.ConvertTextDocumentToBlock(ICSharpCode.NRefactory.Editor.IDocument,ICSharpCode.AvalonEdit.Highlighting.IHighlighter) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Utils.DocumentPrinter.ConvertTextDocumentToBlock(ICSharpCode.NRefactory.Editor.ReadOnlyDocument,ICSharpCode.AvalonEdit.Highlighting.IHighlightingDefinition) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Utils.DocumentPrinter.ConvertTextDocumentToRichText(ICSharpCode.NRefactory.Editor.IDocument,ICSharpCode.AvalonEdit.Highlighting.IHighlighter) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Utils.DocumentPrinter.ConvertTextDocumentToRichText(ICSharpCode.NRefactory.Editor.ReadOnlyDocument,ICSharpCode.AvalonEdit.Highlighting.IHighlightingDefinition) + + + + + + + Creates a flow document from the editor's contents. + + + + + Class that can open text files with auto-detection of the encoding. + + + + + Gets if the given encoding is a Unicode encoding (UTF). + + + + + Opens the specified file for reading. + + The file to open. + The encoding to use if the encoding cannot be auto-detected. + Returns a StreamReader that reads from the stream. Use + to get the encoding that was used. + + + + Opens the specified stream for reading. + + The stream to open. + The encoding to use if the encoding cannot be auto-detected. + Returns a StreamReader that reads from the stream. Use + to get the encoding that was used. + + + + Reads the content of the given stream. + + The stream to read. + The stream must support seeking and must be positioned at its beginning. + The encoding to use if the encoding cannot be auto-detected. + The file content as string. + + + + Reads the content of the file. + + The file name. + The encoding to use if the encoding cannot be auto-detected. + The file content as string. + + + + An immutable stack. + + Using 'foreach' on the stack will return the items from top to bottom (in the order they would be popped). + + + + + Gets the empty stack instance. + + + + + Gets an enumerator that iterates through the stack top-to-bottom. + + + + + Gets if this stack is empty. + + + + + Gets the item on the top of the stack. + + The stack is empty. + + + + Gets the item on the top of the stack. + Returns default(T) if the stack is empty. + + + + + Gets the stack with the top item removed. + + The stack is empty. + + + + Pushes an item on the stack. This does not modify the stack itself, but returns a new + one with the value pushed. + + + + Returns a that represents the current . + A that represents the current . + + + + A collection that cannot contain null values. + + + + + + + ICSharpCode.AvalonEdit.Utils.NullSafeCollection`1 + + + + + + Inserts an element into the at the specified index. + The zero-based index at which should be inserted. + The object to insert. The value can be null for reference types. + + is less than zero.-or- is greater than . + + + Replaces the element at the specified index. + The zero-based index of the element to replace. + The new value for the element at the specified index. The value can be null for reference types. + + is less than zero.-or- is greater than . + + + + Contains static helper methods for aligning stuff on a whole number of pixels. + + + + + Gets the pixel size on the screen containing visual. + This method does not take transforms on visual into account. + + + + + Aligns on the next middle of a pixel. + + The value that should be aligned + The size of one pixel + + + + Aligns the borders of rect on the middles of pixels. + + + + + Rounds to a whole number of pixels. + + + + + Rounds to whole number of pixels. + + + + + Rounds val to whole number of pixels. + + + + + Rounds to an whole odd number of pixels. + + + + + WeakEventManager for INotifyPropertyChanged.PropertyChanged. + + + + + + + ICSharpCode.AvalonEdit.Utils.PropertyChangedWeakEventManager + + + + + + + A kind of List<T>, but more efficient for random insertions/removal. + Also has cheap Clone() and SubRope() implementations. + + + + + Creates a new rope representing the empty string. + + + + + Creates a rope from the specified input. + This operation runs in O(N). + + input is null. + + + + Creates a new rope that lazily initalizes its content. + + The length of the rope that will be lazily loaded. + + The callback that provides the content for this rope. + will be called exactly once when the content of this rope is first requested. + It must return a rope with the specified length. + Because the initializer function is not called when a rope is cloned, and such clones may be used on another threads, + it is possible for the initializer callback to occur on any thread. + + + + + Creates a rope from a part of the array. + This operation runs in O(N). + + input is null. + + + + Appends the item at the end of the rope. + Runs in O(lg N). + + + + + Appends another rope to the end of this rope. + Runs in O(lg N + lg M), plus a per-node cost as if newElements.Clone() was called. + + newElements is null. + + + + Appends multiple elements to the end of this rope. + Runs in O(lg N + M), where N is the length of this rope and M is the number of new elements. + + newElements is null. + + + + Appends new elements to the end of this rope. + Runs in O(lg N + M), where N is the length of this rope and M is the number of new elements. + + array is null. + + + + Resets the rope to an empty list. + Runs in O(1). + + + + + Clones the rope. + This operation runs in linear time to the number of rope nodes touched since the last clone was created. + If you count the per-node cost to the operation modifying the rope (doing this doesn't increase the complexity of the modification operations); + the remainder of Clone() runs in O(1). + + + + + Concatenates two ropes. The input ropes are not modified. + Runs in O(lg N + lg M). + + + + + Concatenates multiple ropes. The input ropes are not modified. + + + + + Searches the item in the rope. + Runs in O(N). + + + + + Copies the a part of the rope into the specified array. + Runs in O(lg N + M). + + + + + Copies the whole content of the rope into the specified array. + Runs in O(N). + + + + + Gets the length of the rope. + Runs in O(1). + + + + + Retrieves an enumerator to iterate through the rope. + The enumerator will reflect the state of the rope from the GetEnumerator() call, further modifications + to the rope will not be visible to the enumerator. + + + + + Creates a new rope and initializes it with a part of this rope. + Runs in O(lg N) plus a per-node cost as if this.Clone() was called. + + offset or length is outside the valid range. + + + + Finds the first occurance of item. + Runs in O(N). + + The index of the first occurance of item, or -1 if it cannot be found. + + + + Gets the index of the first occurrence the specified item. + + Item to search for. + Start index of the search. + Length of the area to search. + The first index where the item was found; or -1 if no occurrence was found. + + + + Inserts the item at the specified index in the rope. + Runs in O(lg N). + + + + + Inserts another rope into this rope. + Runs in O(lg N + lg M), plus a per-node cost as if newElements.Clone() was called. + + newElements is null. + index or length is outside the valid range. + + + + Inserts new elemetns into this rope. + Runs in O(lg N + M), where N is the length of this rope and M is the number of new elements. + + newElements is null. + index or length is outside the valid range. + + + + Inserts new elements into this rope. + Runs in O(lg N + M), where N is the length of this rope and M is the number of new elements. + + newElements is null. + index or length is outside the valid range. + + + + Gets/Sets a single character. + Runs in O(lg N) for random access. Sequential read-only access benefits from a special optimization and runs in amortized O(1). + + Offset is outside the valid range (0 to Length-1). + + + + Gets the index of the last occurrence of the specified item in this rope. + + + + + Gets the index of the last occurrence of the specified item in this rope. + + The search item + Start index of the area to search. + Length of the area to search. + The last index where the item was found; or -1 if no occurrence was found. + + + + Gets the length of the rope. + Runs in O(1). + + + + + Removes the first occurance of an item from the rope. + Runs in O(N). + + + + + Removes a single item from the rope. + Runs in O(lg N). + + + + + Removes a range of elements from the rope. + Runs in O(lg N). + + offset or length is outside the valid range. + + + + Copies a range of the specified array into the rope, overwriting existing elements. + Runs in O(lg N + M). + + + + + Creates an array and copies the contents of the rope into it. + Runs in O(N). + + + + + Creates an array and copies the contents of the rope into it. + Runs in O(N). + + + + + Creates a string from the rope. Runs in O(N). + + A string consisting of all elements in the rope as comma-separated list in {}. + As a special case, Rope<char> will return its contents as string without any additional separators or braces, + so it can be used like StringBuilder.ToString(). + + + + TextReader implementation that reads text from a rope. + + + + + Creates a new RopeTextReader. + Internally, this method creates a Clone of the rope; so the text reader will always read through the old + version of the rope if it is modified. + + + Reads the next character without changing the state of the reader or the character source. Returns the next available character without actually reading it from the input stream. + An integer representing the next character to be read, or -1 if no more characters are available or the stream does not support seeking. + The is closed. + An I/O error occurs. + + + Reads the next character from the input stream and advances the character position by one character. + The next character from the input stream, or -1 if no more characters are available. The default implementation returns -1. + The is closed. + An I/O error occurs. + + + Reads a maximum of characters from the current stream and writes the data to , beginning at . + When this method returns, contains the specified character array with the values between and ( + - 1) replaced by the characters read from the current source. + The place in at which to begin writing. + The maximum number of characters to read. If the end of the stream is reached before of characters is read into , the current method returns. + The number of characters that have been read. The number will be less than or equal to , depending on whether the data is available within the stream. This method returns zero if called when no more characters are left to read. + + is null. + The buffer length minus is less than . + + or is negative. + The is closed. + An I/O error occurs. + + + + Represents a string with a segment. + Similar to System.ArraySegment<T>, but for strings instead of arrays. + + + + + Creates a new StringSegment. + + + + + Creates a new StringSegment. + + + + + Gets the length of the segment. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Indicates whether this instance and a specified object are equal. + Another object to compare to. + true if and this instance are the same type and represent the same value; otherwise, false. + + + Returns the hash code for this instance. + A 32-bit signed integer that is the hash code for this instance. + + + + Gets the start offset of the segment with the text. + + + + + Equality operator. + + + + + Inequality operator. + + + + + Gets the string used for this segment. + + + + + WeakEventManager with AddListener/RemoveListener and CurrentManager implementation. + Helps implementing the WeakEventManager pattern with less code. + + + + + Creates a new WeakEventManagerBase instance. + + + + + Adds a weak event listener. + + + + + Gets the current manager. + + + + + Removes a weak event listener. + + + + When overridden in a derived class, starts listening for the event being managed. After is first called, the manager should be in the state of calling or whenever the relevant event from the provided source is handled. + The source to begin listening on. + + + + Attaches the event handler. + + + + When overridden in a derived class, stops listening on the provided source for the event being managed. + The source to stop listening on. + + + + Detaches the event handler. + + + + \ No newline at end of file diff --git a/netpoet-coop-8k/packages/AvalonEdit.5.0.2/lib/Net40/ICSharpCode.AvalonEdit.dll b/netpoet-coop-8k/packages/AvalonEdit.5.0.2/lib/Net40/ICSharpCode.AvalonEdit.dll new file mode 100644 index 0000000000000000000000000000000000000000..9fb8cb4e4ffc2eb2dcaae8b65eac8ff0c3103584 GIT binary patch literal 606208 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%0A9&5IV+$DX`ObRXi1f51=e4zKk?o^2YO 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≺U`p}5=d+8B# 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 + Custom commands for AvalonEdit. + + + + + Converts leading spaces to tabs in the selected lines (or the whole document if the selection is empty). + + + + + Converts leading tabs to spaces in the selected lines (or the whole document if the selection is empty). + + + + + Converts spaces to tabs in the selected text. + + + + + Converts tabs to spaces in the selected text. + + + + + Converts the selected text to lower case. + + + + + Converts the selected text to title case. + + + + + Converts the selected text to upper case. + + + + + Deletes the current line. + The default shortcut is Ctrl+D. + + + + + Runs the IIndentationStrategy on the selected lines (or the whole document if the selection is empty). + + + + + Inverts the case of the selected text. + + + + + Removes leading whitespace from the selected lines (or the whole document if the selection is empty). + + + + + Removes trailing whitespace from the selected lines (or the whole document if the selection is empty). + + + + + Represents a text editor control (, + or ). + + + + + Gets the document being edited. + + + + + Occurs when the Document property changes (when the text editor is connected to another + document - not when the document content changes). + + + + + Occurs when the Options property changes, or when an option inside the current option list + changes. + + + + + Gets the options of the text editor. + + + + + The text editor control. + Contains a scrollable TextArea. + + + + + Creates a new TextEditor instance. + + + + + Creates a new TextEditor instance. + + + + + Appends text to the end of the document. + + + + + Begins a group of document changes. + + + + + Gets if the most recent undone command can be redone. + + + + + Gets if the most recent command can be undone. + + + + + Gets/sets the caret position. + + + + + Clears the text. + + + + + Copies the current selection to the clipboard. + + + + + Creates the highlighting colorizer for the specified highlighting definition. + Allows derived classes to provide custom colorizer implementations for special highlighting definitions. + + + + + + Removes the current selection and copies it to the clipboard. + + + + + Begins a group of document changes and returns an object that ends the group of document + changes when it is disposed. + + + + + Gets/Sets the document displayed by the text editor. + This is a dependency property. + + + + + Occurs when the document property has changed. + + + + + Document property. + + + + + Gets/sets the encoding used when the file is saved. + + + + + Encoding dependency property. + + + + + Ends the current group of document changes. + + + + + Gets the vertical size of the document. + + + + + Gets the horizontal size of the current document region. + + + + + Gets the text view position from a point inside the editor. + + The position, relative to top left + corner of TextEditor control + The text view position, or null if the point is outside the document. + + + + Gets the horizontal scroll position. + + + + + Gets/Sets the horizontal scroll bar visibility. + + + + + Dependency property for + + + + Gets/Sets the 'modified' flag. + + + + + Dependency property for + + + + Specifies whether the user can change the text editor content. + Setting this property will replace the + TextArea.ReadOnlySectionProvider. + + + + + IsReadOnly dependency property. + + + + + Gets the number of lines in the document. + + + + + Scrolls one line down. + + + + + Scrolls to the left. + + + + + Gets/sets the Brush used for displaying the foreground color of line numbers. + + + + + LineNumbersForeground dependency property. + + + + + Scrolls to the right. + + + + + Scrolls one line up. + + + + + Loads the text from the stream, auto-detecting the encoding. + + + + + Loads the text from the stream, auto-detecting the encoding. + + + + + Occurs when the mouse has hovered over a fixed location for some time. + + + + + The MouseHover event. + + + + + Occurs when the mouse had previously hovered but now started moving again. + + + + + The MouseHoverStopped event. + + + + + Is called after the template was applied. + + + + Returns class-specific implementations for the Windows Presentation Foundation (WPF) infrastructure. + The type-specific implementation. + + + + Raises the event. + + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + + Raises the event. + + + + + Raises the event. + + + + + Occurs when a text editor option has changed. + + + + + Gets/Sets the options currently used by the text editor. + + + + + Options property. + + + + + Scrolls one page down. + + + + + Scrolls one page left. + + + + + Scrolls one page right. + + + + + Scrolls one page up. + + + + + Pastes the clipboard content. + + + + + Occurs when the mouse has hovered over a fixed location for some time. + + + + + The PreviewMouseHover event. + + + + + Occurs when the mouse had previously hovered but now started moving again. + + + + + The PreviewMouseHoverStopped event. + + + + Receives events from the centralized event manager. + The type of the calling this method. + Object that originated the event. + Event data. + true if the listener handled the event. It is considered an error by the handling in WPF to register a listener for an event that the listener does not handle. Regardless, the method should return false if it receives an event that it does not recognize or handle. + + + + Redoes the most recent undone command. + + True is the redo operation was successful, false is the redo stack is empty. + + + + Saves the text to the stream. + + + + + Saves the text to the file. + + + + + Scrolls to the specified line/column. + This method requires that the TextEditor was already assigned a size (WPF layout must have run prior). + + + + + Scrolls to the end of the document. + + + + + Scrolls to the start of the document. + + + + + Scrolls to the specified position in the document. + + + + + Scrolls to the specified line. + This method requires that the TextEditor was already assigned a size (WPF layout must have run prior). + + + + + Scrolls to the specified position in the document. + + + + + Selects the specified text section. + + + + + Selects the entire text. + + + + + Gets/Sets the selected text. + + + + + Gets/sets the length of the selection. + + + + + Gets/sets the start position of the selection. + + + + + Specifies whether line numbers are shown on the left to the text view. + + + + + ShowLineNumbers dependency property. + + + + + Gets/sets the syntax highlighting definition used to colorize the text. + + + + + The property. + + + + + Gets/Sets the text of the current document. + + + + + Gets the text area. + + + + + Occurs when the Text property changes. + + + + + Undoes the most recent command. + + True is the undo operation was successful, false is the undo stack is empty. + + + + Gets the vertical scroll position. + + + + + Gets/Sets the vertical scroll bar visibility. + + + + + Dependency property for + + + + Gets the horizontal size of the viewport. + + + + + Gets the horizontal size of the viewport. + + + + + Specifies whether the text editor uses word wrapping. + + + + + Word wrap dependency property. + + + + + Exposes to automation. + + + + + Creates a new TextEditorAutomationPeer instance. + + + + Gets the control pattern for the that is associated with this . + A value from the enumeration. + An object that implements the interface if is ; otherwise, null. + + + + A container for the text editor options. + + + + + Initializes an empty instance of TextEditorOptions. + + + + + Initializes a new instance of TextEditorOptions by copying all values + from to the new instance. + + + + + Gets/Sets whether the user can scroll below the bottom of the document. + The default value is false; but it a good idea to set this property to true when using folding. + + + + + Gets/Sets if the user is allowed to enable/disable overstrike mode. + + + + + Gets/Sets where the column ruler should be shown. + + + + + Gets/Sets whether to use spaces for indentation instead of tabs. + + + + + Gets/Sets whether copying without a selection copies the whole current line. + + + + + Gets/Sets whether to enable clickable hyperlinks for e-mail addresses in the editor. + + + + + Gets/Sets whether to enable clickable hyperlinks in the editor. + + + + + Gets/Sets whether the support for Input Method Editors (IME) + for non-alphanumeric scripts (Chinese, Japanese, Korean, ...) is enabled. + + + + + Enables rectangular selection (press ALT and select a rectangle) + + + + + Enable dragging text within the text area. + + + + + Gets/Sets whether the user can set the caret behind the line ending + (into "virtual space"). + Note that virtual space is always used (independent from this setting) + when doing rectangle selections. + + + + + Gets text required to indent from the specified to the next indentation level. + + + + + Gets/Sets if mouse cursor should be hidden while user is typing. + + + + + Gets/Sets if current line should be shown. + + + + + Gets/Sets the width of one indentation unit. + + + + + Gets the text used for indentation. + + + + + Gets/Sets whether the indentation is inherited from the first line when word-wrapping. + The default value is true. + + + + + Raises the PropertyChanged event. + + + + + Raises the PropertyChanged event. + + The name of the changed property. + + + Occurs when a property value changes. + + + + Gets/Sets whether the user needs to press Control to click hyperlinks. + The default value is true. + + + + + Gets/Sets whether to show a box with the hex code for control characters. + + + + + Gets/Sets whether the column ruler should be shown. + + + + + Gets/Sets whether to show ¶ at the end of lines. + + + + + Gets/Sets whether to show · for spaces. + + + + + Gets/Sets whether to show » for tabs. + + + + + Gets/Sets the indentation used for all lines except the first when word-wrapping. + The default value is 0. + + + + + Contains weak event managers for . + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.TextEditorWeakEventManager.DocumentChanged + + + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.TextEditorWeakEventManager.OptionChanged + + + + + + + Represents a text location with a visual column. + + + + + + + ICSharpCode.AvalonEdit.TextViewPosition + + + + + + + + + ICSharpCode.AvalonEdit.TextViewPosition + + + + + + + Creates a new TextViewPosition instance. + + + + + Creates a new TextViewPosition instance. + + + + + Gets/Sets the (text) column number. + + + + Compares the current object with another object of the same type. + An object to compare with this object. + A value that indicates the relative order of the objects being compared. The return value has the following meanings: Value Meaning Less than zero This object is less than the parameter.Zero This object is equal to . Greater than zero This object is greater than . + + + + Equality test. + + + + Indicates whether this instance and a specified object are equal. + Another object to compare to. + true if and this instance are the same type and represent the same value; otherwise, false. + + + Returns the hash code for this instance. + A 32-bit signed integer that is the hash code for this instance. + + + + When word-wrap is enabled and a line is wrapped at a position where there is no space character; + then both the end of the first TextLine and the beginning of the second TextLine + refer to the same position in the document, and also have the same visual column. + In this case, the IsAtEndOfLine property is used to distinguish between the two cases: + the value true indicates that the position refers to the end of the previous TextLine; + the value false indicates that the position refers to the beginning of the next TextLine. + + If this position is not at such a wrapping position, the value of this property has no effect. + + + + + Gets/Sets the line number. + + + + + Gets/Sets Location. + + + + + Equality test. + + + + + Inequality test. + + + + Returns the fully qualified type name of this instance. + A containing a fully qualified type name. + + + + Gets/Sets the visual column number. + Can be -1 (meaning unknown visual column). + + + + + The listbox used inside the CompletionWindow, contains CompletionListBox. + + + + + + + ICSharpCode.AvalonEdit.CodeCompletion.CompletionList + + + + + + + Gets the list to which completion data can be added. + + + + + Content of EmptyTemplate will be shown when CompletionList contains no items. + If EmptyTemplate is null, nothing will be shown. + + + + + Dependency property for . + + + + + Handles a key press. Used to let the completion list handle key presses while the + focus is still on the text editor. + + + + + Is raised when the completion list indicates that the user has chosen + an entry to be completed. + + + + + If true, the CompletionList is filtered to show only matching items. Also enables search by substring. + If false, enables the old behavior: no filtering, search by string.StartsWith. + + + + + Gets the list box. + + + + When overridden in a derived class, is invoked whenever application code or internal processes call . + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + Raises the routed event. + The event data. + + + + Raises the InsertionRequested event. + + + + + Gets the scroll viewer used in this list box. + + + + + Gets/Sets the selected item. + + + + + Occurs when the SelectedItem property changes. + + + + + Selects the best match, and filter the items if turned on using . + + + + + The list box used inside the CompletionList. + + + + + + + ICSharpCode.AvalonEdit.CodeCompletion.CompletionListBox + + + + + + + Centers the view on the item with the specified index. + + + + + Removes the selection. + + + + + Gets the number of the first visible item. + + + + When overridden in a derived class, is invoked whenever application code or internal processes call . + + + + Selects the item with the specified index and scrolls it into view. + + + + + Gets the number of visible items. + + + + + The code completion window. + + + + + Creates a new code completion window. + + + + + Gets/Sets whether the completion window should close automatically. + The default value is true. + + + + + Gets whether the completion window should automatically close when the text editor looses focus. + + + + + When this flag is set, code completion closes if the caret moves to the + beginning of the allowed range. This is useful in Ctrl+Space and "complete when typing", + but not in dot-completion. + Has no effect if CloseAutomatically is false. + + + + + Gets the completion list used in this completion window. + + + + + Detaches events from the text area. + + + + Raises the event. + An that contains the event data. + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + + Base class for completion windows. Handles positioning the window at the caret. + + + + + Creates a new CompletionWindowBase. + + + + + Activates the parent window. + + + + + Gets whether the completion window should automatically close when the text editor looses focus. + + + + + Detaches events from the text area. + + + + + Gets/Sets the end of the text range in which the completion window stays open. + This text portion is used to determine the text used to select an entry in the completion list by typing. + + + + + Gets/sets whether the completion window should expect text insertion at the start offset, + which not go into the completion region, but before it. + + + + + Gets whether the window was opened above the current line. + + + + Raises the event. + An that contains the event data. + + + Raises the event. + An that contains the event data. + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + Raises the event, using the specified information as part of the eventual event data. + Details of the old and new size involved in the change. + + + Raises the event. + An that contains the event data. + + + + Raises a tunnel/bubble event pair for a WPF control. + + The WPF control for which the event should be raised. + The tunneling event. + The bubbling event. + The event args to use. + The value of the event args. + + + + Positions the completion window at the specified position. + + + + + Gets/Sets the start of the text range in which the completion window stays open. + This text portion is used to determine the text used to select an entry in the completion list by typing. + + + + + Gets the parent TextArea. + + + + + Updates the position of the CompletionWindow based on the parent TextView position and the screen working area. + It ensures that the CompletionWindow is completely visible on the screen. + + + + + Describes an entry in the . + + + + + + + summary + M:ICSharpCode.AvalonEdit.CodeCompletion.ICompletionData.Complete(ICSharpCode.AvalonEdit.Editing.TextArea,ICSharpCode.NRefactory.Editor.ISegment,System.EventArgs) + + + + + + + The displayed content. This can be the same as 'Text', or a WPF UIElement if + you want to display rich content. + + + + + Gets the description. + + + + + Gets the image. + + + + + Gets the priority. This property is used in the selection logic. You can use it to prefer selecting those items + which the user is accessing most frequently. + + + + + Gets the text. This property is used to filter the list of visible elements. + + + + + A popup-like window that is attached to a text segment. + + + + + Creates a new InsightWindow. + + + + + Gets/Sets whether the insight window should close automatically. + The default value is true. + + + + + Gets whether the completion window should automatically close when the text editor looses focus. + + + + + Detaches events from the text area. + + + + Raises the event. + An that contains the event data. + + + + Provides the items for the OverloadViewer. + + + + + Gets the number of overloads. + + + + + Gets the current content. + + + + + Gets the current header. + + + + + Gets the text 'SelectedIndex of Count'. + + + + + Gets/Sets the selected index. + + + + + Insight window that shows an OverloadViewer. + + + + + Creates a new OverloadInsightWindow. + + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + + Gets/Sets the item provider. + + + + + Represents a text between "Up" and "Down" buttons. + + + + + + + ICSharpCode.AvalonEdit.CodeCompletion.OverloadViewer + + + + + + + Changes the selected index. + + The relative index change - usual values are +1 or -1. + + + When overridden in a derived class, is invoked whenever application code or internal processes call . + + + + Gets/Sets the item provider. + + + + + The ItemProvider property. + + + + + Gets/Sets the text between the Up and Down buttons. + + + + + The text property. + + + + + A segment using s as start and end positions. + + + + + Creates a new AnchorSegment using the specified anchors. + The anchors must have set to true. + + + + + + + ICSharpCode.AvalonEdit.Document.AnchorSegment + + + + + + + Creates a new AnchorSegment that creates new anchors. + + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.AnchorSegment.EndOffset + + + + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.AnchorSegment.Length + + + + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.AnchorSegment.Offset + + + + + + Returns a that represents the current . + A that represents the current . + + + + Specifies the mode for getting the next caret position. + + + + + Normal positioning (stop after every grapheme) + + + + + Stop only on word borders. + + + + + Stop only at the beginning of words. This is used for Ctrl+Left/Ctrl+Right. + + + + + Stop only at the beginning of words, and anywhere in the middle of symbols. + + + + + Stop only on word borders, and anywhere in the middle of symbols. + + + + + Stop between every Unicode codepoint, even within the same grapheme. + This is used to implement deleting the previous grapheme when Backspace is pressed. + + + + + Classifies a character as whitespace, line terminator, part of an identifier, or other. + + + + + The character is not whitespace, line terminator or part of an identifier. + + + + + The character is whitespace (but not line terminator). + + + + + The character can be part of an identifier (Letter, digit or underscore). + + + + + The character is line terminator (\r or \n). + + + + + The character is a unicode combining mark that modifies the previous character. + Corresponds to the Unicode designations "Mn", "Mc" and "Me". + + + + + Describes a change of the document text. + This class is thread-safe. + + + + + + + ICSharpCode.AvalonEdit.Document.DocumentChangeEventArgs + + + + + + + Creates a new DocumentChangeEventArgs object. + + + + + Creates a new DocumentChangeEventArgs object. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.DocumentChangeEventArgs.GetNewOffset(System.Int32,ICSharpCode.NRefactory.Editor.AnchorMovementType) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.DocumentChangeEventArgs.Invert + + + + + + + Gets the OffsetChangeMap associated with this document change. + + + + + Represents a line inside a . + + + + + Gets the length of the line delimiter. + The value is 1 for single "\r" or "\n", 2 for the "\r\n" sequence; + and 0 for the last line in the document. + + + + + Gets the end offset of the line in the document's text (the offset before the line delimiter). + Runtime: O(log n) + + The line was deleted. + + + + Gets if this line was deleted from the document. + + + + + Gets the length of this line. The length does not include the line delimiter. O(1) + + + + + Gets the number of this line. + Runtime: O(log n) + + The line was deleted. + + + + Gets the next line in the document. + + The line following this line, or null if this is the last line. + + + + Gets the starting offset of the line in the document's text. + Runtime: O(log n) + + The line was deleted. + + + + Gets the previous line in the document. + + The line before this line, or null if this is the first line. + + + + Gets a string with debug output showing the line number and offset. + Does not include the line's text. + + + + + Gets the length of this line, including the line delimiter. O(1) + + + + + A TextWriter implementation that directly inserts into a document. + + + + + + + ICSharpCode.AvalonEdit.Document.DocumentTextWriter + + + + + + When overridden in a derived class, returns the in which the output is written. + The Encoding in which the output is written. + + + + Gets/Sets the current insertion offset. + + + + Writes a character to the text stream. + The character to write to the text stream. + The is closed. + An I/O error occurs. + + + Writes a subarray of characters to the text stream. + The character array to write data from. + Starting index in the buffer. + The number of characters to write. + The buffer length minus is less than . + The parameter is null. + + or is negative. + The is closed. + An I/O error occurs. + + + Writes a string to the text stream. + The string to write. + The is closed. + An I/O error occurs. + + + + Allows for low-level line tracking. + + + + + Is called immediately before a document line is removed. + + + + + Notifies the line tracker that a document change (a single change, not a change group) has completed. + This method gets called after the change has been performed, but before the event + is raised. + + + + + Is called immediately after a line was inserted. + + The new line + The existing line before the new line + + + + Indicates that there were changes to the document that the line tracker was not notified of. + The document is in a consistent state (but the line trackers aren't), and line trackers should + throw away their data and rebuild the document. + + + + + Is called immediately before a document line changes length. + This method will be called whenever the line is changed, even when the length stays as it is. + The method might be called multiple times for a single line because + a replacement is internally handled as removal followed by insertion. + + + + + This Interface describes a the basic Undo/Redo operation + all Undo Operations must implement this interface. + + + + + Redo the last operation + + + + + Undo the last operation + + + + + Describes a series of offset changes. + + + + + Creates a new OffsetChangeMap instance. + + + + + Immutable OffsetChangeMap that is empty. + + + + + Freezes this instance. + + + + + Creates a new OffsetChangeMap with a single element. + + The entry. + Returns a frozen OffsetChangeMap with a single entry. + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.OffsetChangeMap.GetNewOffset(System.Int32,ICSharpCode.NRefactory.Editor.AnchorMovementType) + + + + + + + Calculates the inverted OffsetChangeMap (used for the undo operation). + + + + + Gets if this instance is frozen. Frozen instances are immutable and thus thread-safe. + + + + + Gets whether this OffsetChangeMap is a valid explanation for the specified document change. + + + + + An entry in the OffsetChangeMap. + This represents the offset of a document change (either insertion or removal, not both at once). + + + + + Creates a new OffsetChangeMapEntry instance. + + + + + Creates a new OffsetChangeMapEntry instance. + + + + + Gets whether default anchor movement causes the anchor to stay in front of the caret. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Indicates whether this instance and a specified object are equal. + Another object to compare to. + true if and this instance are the same type and represent the same value; otherwise, false. + + + Returns the hash code for this instance. + A 32-bit signed integer that is the hash code for this instance. + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.OffsetChangeMapEntry.GetNewOffset(System.Int32,ICSharpCode.NRefactory.Editor.AnchorMovementType) + + + + + + + The number of characters inserted. + Returns 0 if this entry represents a removal. + + + + + The offset at which the change occurs. + + + + + Tests the two entries for equality. + + + + + Tests the two entries for inequality. + + + + + The number of characters removed. + Returns 0 if this entry represents an insertion. + + + + + Gets whether the removal should not cause any anchor deletions. + + + + + Contains predefined offset change mapping types. + + + + + Normal replace. + Anchors in front of the replaced region will stay in front, anchors after the replaced region will stay after. + Anchors in the middle of the removed region will be deleted. If they survive deletion, + they move depending on their AnchorMovementType. + + + + + First the old text is removed, then the new text is inserted. + Anchors immediately in front (or after) the replaced region may move to the other side of the insertion, + depending on the AnchorMovementType. + + + + + The text is replaced character-by-character. + Anchors keep their position inside the replaced text. + Anchors after the replaced region will move accordingly if the replacement text has a different length than the replaced text. + If the new text is shorter than the old text, anchors inside the old text that would end up behind the replacement text + will be moved so that they point to the end of the replacement text. + + + + + Like 'Normal', but anchors with = Default will stay in front of the + insertion instead of being moved behind it. + + + + + Implements the ITextSource interface using a rope. + + + + + Creates a new RopeTextSource. + + + + + + + ICSharpCode.AvalonEdit.Document.RopeTextSource + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.CreateReader + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.CreateReader(System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.CreateSnapshot + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.CreateSnapshot(System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.GetCharAt(System.Int32) + + + + + + + Returns a clone of the rope used for this text source. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.GetText(ICSharpCode.NRefactory.Editor.ISegment) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.GetText(System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.IndexOf(System.Char,System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.IndexOf(System.String,System.Int32,System.Int32,System.StringComparison) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.IndexOfAny(System.Char[],System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.LastIndexOf(System.Char,System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.LastIndexOf(System.String,System.Int32,System.Int32,System.StringComparison) + + + + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.RopeTextSource.Text + + + + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.RopeTextSource.TextLength + + + + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.RopeTextSource.Version + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.WriteTextTo(System.IO.TextWriter) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.RopeTextSource.WriteTextTo(System.IO.TextWriter,System.Int32,System.Int32) + + + + + + + The TextAnchor class references an offset (a position between two characters). + It automatically updates the offset when text is inserted/removed in front of the anchor. + + + + + Gets the column number of this anchor. + + Thrown when trying to get the Offset from a deleted anchor. + + + + + + summary + E:ICSharpCode.AvalonEdit.Document.TextAnchor.Deleted + + + + + + + Gets the document owning the anchor. + + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.TextAnchor.IsDeleted + + + + + + + Gets the line number of the anchor. + + Thrown when trying to get the Offset from a deleted anchor. + + + + Gets the text location of this anchor. + + Thrown when trying to get the Offset from a deleted anchor. + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.TextAnchor.MovementType + + + + + + + Gets the offset of the text anchor. + + Thrown when trying to get the Offset from a deleted anchor. + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.TextAnchor.SurviveDeletion + + + + + + Returns a that represents the current . + A that represents the current . + + + + This class is the main class of the text model. Basically, it is a with events. + + + + + Create an empty text document. + + + + + + + ICSharpCode.AvalonEdit.Document.TextDocument + + + + + + + Create a new text document with the specified initial text. + + + + + Begins a group of document changes. + Some events are suspended until EndUpdate is called, and the will + group all changes into a single action. + Calling BeginUpdate several times increments a counter, only after the appropriate number + of EndUpdate calls the events resume their work. + + + + + Is raised after the document has changed. + + + + + Is raised before the document changes. + + + + + Creates a new at the specified offset. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.CreateDocumentSnapshot + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.CreateReader + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.CreateReader(System.Int32,System.Int32) + + + + + + + Creates a snapshot of the current text. + + + + + Creates a snapshot of a part of the current text. + + + + + Ends a group of document changes. + + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.TextDocument.FileName + + + + + + + + + summary + E:ICSharpCode.AvalonEdit.Document.TextDocument.FileNameChanged + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.GetCharAt(System.Int32) + + + + + + + Gets a line by the line number: O(log n) + + + + + Gets a document lines by offset. + Runtime: O(log n) + + + + + Gets the location from an offset. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.GetOffset(ICSharpCode.NRefactory.TextLocation) + + + + + + + Gets the offset from a text location. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.GetText(ICSharpCode.NRefactory.Editor.ISegment) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.GetText(System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.IndexOf(System.Char,System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.IndexOf(System.String,System.Int32,System.Int32,System.StringComparison) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.IndexOfAny(System.Char[],System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.Insert(System.Int32,ICSharpCode.NRefactory.Editor.ITextSource) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.Insert(System.Int32,ICSharpCode.NRefactory.Editor.ITextSource,ICSharpCode.NRefactory.Editor.AnchorMovementType) + + + + + + + Inserts text. + + The offset at which the text is inserted. + The new text. + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.Insert(System.Int32,System.String,ICSharpCode.NRefactory.Editor.AnchorMovementType) + + + + + + + Gets if an update is running. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.LastIndexOf(System.Char,System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.LastIndexOf(System.String,System.Int32,System.Int32,System.StringComparison) + + + + + + + Gets the total number of lines in the document. + Runtime: O(1). + + + + + Is raised when the LineCount property changes. + + + + + Gets a read-only list of lines. + + + + + Gets the list of s attached to this document. + You can add custom line trackers to this list. + + + + + Is raised when one of the properties , , , + changes. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.Remove(ICSharpCode.NRefactory.Editor.ISegment) + + + + + + + Removes text. + + Starting offset of the text to be removed. + Length of the text to be removed. + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.Replace(ICSharpCode.NRefactory.Editor.ISegment,ICSharpCode.NRefactory.Editor.ITextSource) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.Replace(ICSharpCode.NRefactory.Editor.ISegment,System.String) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.Replace(System.Int32,System.Int32,ICSharpCode.NRefactory.Editor.ITextSource) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.Replace(System.Int32,System.Int32,ICSharpCode.NRefactory.Editor.ITextSource,ICSharpCode.AvalonEdit.Document.OffsetChangeMap) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.Replace(System.Int32,System.Int32,ICSharpCode.NRefactory.Editor.ITextSource,ICSharpCode.AvalonEdit.Document.OffsetChangeMappingType) + + + + + + + Replaces text. + + The starting offset of the text to be replaced. + The length of the text to be replaced. + The new text. + + + + Replaces text. + + The starting offset of the text to be replaced. + The length of the text to be replaced. + The new text. + The offsetChangeMap determines how offsets inside the old text are mapped to the new text. + This affects how the anchors and segments inside the replaced region behave. + If you pass null (the default when using one of the other overloads), the offsets are changed as + in OffsetChangeMappingType.Normal mode. + If you pass OffsetChangeMap.Empty, then everything will stay in its old place (OffsetChangeMappingType.CharacterReplace mode). + The offsetChangeMap must be a valid 'explanation' for the document change. See . + Passing an OffsetChangeMap to the Replace method will automatically freeze it to ensure the thread safety of the resulting + DocumentChangeEventArgs instance. + + + + + Replaces text. + + The starting offset of the text to be replaced. + The length of the text to be replaced. + The new text. + The offsetChangeMappingType determines how offsets inside the old text are mapped to the new text. + This affects how the anchors and segments inside the replaced region behave. + + + + Immediately calls , + and returns an IDisposable that calls . + + + + + Gets/Sets the service provider associated with this document. + By default, every TextDocument has its own ServiceContainer; and has the document itself + registered as and . + + + + + Transfers ownership of the document to another thread. This method can be used to load + a file into a TextDocument on a background thread and then transfer ownership to the UI thread + for displaying the document. + + + + + Gets/Sets the text of the whole document. + + + + + This event is called after a group of changes is completed. + + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.TextDocument.TextLength + + + + + + + Is raised when the TextLength property changes. + + + + + Gets the of the document. + + + + + Occurs when a document change is finished. + + + + + Occurs when a document change starts. + + + + + Verifies that the current thread is the documents owner thread. + Throws an if the wrong thread accesses the TextDocument. + + + + + + + summary + P:ICSharpCode.AvalonEdit.Document.TextDocument.Version + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.WriteTextTo(System.IO.TextWriter) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextDocument.WriteTextTo(System.IO.TextWriter,System.Int32,System.Int32) + + + + + + + Contains weak event managers for the TextDocument events. + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.Document.TextDocumentWeakEventManager.Changed + + + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.Document.TextDocumentWeakEventManager.Changing + + + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.Document.TextDocumentWeakEventManager.LineCountChanged + + + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.Document.TextDocumentWeakEventManager.TextChanged + + + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.Document.TextDocumentWeakEventManager.TextLengthChanged + + + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.Document.TextDocumentWeakEventManager.UpdateFinished + + + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.Document.TextDocumentWeakEventManager.UpdateStarted + + + + + + + A segment that can be put into a . + + + + + + + ICSharpCode.AvalonEdit.Document.TextSegment + + + + + + + Gets/Sets the end offset of the segment. + + + + + Gets whether this segment is connected to a TextSegmentCollection and will automatically + update its offsets. + + + + + Gets/Sets the length of the segment. + + + + + This method gets called when the StartOffset/Length/EndOffset properties are set. + It is not called when StartOffset/Length/EndOffset change due to document changes + + + + + Gets/Sets the start offset of the segment. + + + + Returns a that represents the current . + A that represents the current . + + + + + A collection of text segments that supports efficient lookup of segments + intersecting with another segment. + + + + + + Creates a new TextSegmentCollection that needs manual calls to . + + + + + Creates a new TextSegmentCollection that updates the offsets automatically. + + The document to which the text segments + that will be added to the tree belong. When the document changes, the + position of the text segments will be updated accordingly. + + + + Adds the specified segment to the tree. This will cause the segment to update when the + document changes. + + + + + Removes all segments from the tree. + + + + + Gets whether this tree contains the specified item. + + + + + Copies all segments in this SegmentTree to the specified array. + + + + + Gets the number of segments in the tree. + + + + + Gets the first segment with a start offset greater or equal to . + Returns null if no such segment is found. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextSegmentCollection`1.FindOverlappingSegments(ICSharpCode.NRefactory.Editor.ISegment) + + + + + + + Finds all segments that overlap with the given segment (including touching segments). + Segments are returned in the order given by GetNextSegment/GetPreviousSegment. + + Returns a new collection containing the results of the query. + This means it is safe to modify the TextSegmentCollection while iterating through the result collection. + + + + Finds all segments that contain the given offset. + (StartOffset <= offset <= EndOffset) + Segments are returned in the order given by GetNextSegment/GetPreviousSegment. + + Returns a new collection containing the results of the query. + This means it is safe to modify the TextSegmentCollection while iterating through the result collection. + + + + Returns the first segment in the collection or null, if the collection is empty. + + + + + Gets an enumerator to enumerate the segments. + + + + + Gets the next segment after the specified segment. + Segments are sorted by their start offset. + Returns null if segment is the last segment. + + + + + Gets the previous segment before the specified segment. + Segments are sorted by their start offset. + Returns null if segment is the first segment. + + + + + Returns the last segment in the collection or null, if the collection is empty. + + + + + Removes the specified segment from the tree. This will cause the segment to not update + anymore when the document changes. + + + + + Updates the start and end offsets of all segments stored in this collection. + + DocumentChangeEventArgs instance describing the change to the document. + + + + Updates the start and end offsets of all segments stored in this collection. + + OffsetChangeMapEntry instance describing the change to the document. + + + + Static helper methods for working with text. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextUtilities.FindNextNewLine(ICSharpCode.NRefactory.Editor.ITextSource,System.Int32,System.String@) + + + + + + + Gets whether the character is whitespace, part of an identifier, or line terminator. + + + + + Gets the name of the control character. + For unknown characters, the unicode codepoint is returned as 4-digit hexadecimal value. + + + + + Gets the leading whitespace segment on the document line. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextUtilities.GetNewLineFromDocument(ICSharpCode.NRefactory.Editor.IDocument,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextUtilities.GetNextCaretPosition(ICSharpCode.NRefactory.Editor.ITextSource,System.Int32,System.Windows.Documents.LogicalDirection,ICSharpCode.AvalonEdit.Document.CaretPositioningMode) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextUtilities.GetSingleIndentationSegment(ICSharpCode.NRefactory.Editor.ITextSource,System.Int32,System.Int32) + + + + + + + Gets the trailing whitespace segment on the document line. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextUtilities.GetWhitespaceAfter(ICSharpCode.NRefactory.Editor.ITextSource,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Document.TextUtilities.GetWhitespaceBefore(ICSharpCode.NRefactory.Editor.ITextSource,System.Int32) + + + + + + + Gets whether the specified string is a newline sequence. + + + + + Normalizes all new lines in to be . + + + + + Undo stack implementation. + + + + + + + ICSharpCode.AvalonEdit.Document.UndoStack + + + + + + + Gets if the undo stack currently accepts changes. + Is false while an undo action is running. + + + + + Gets if there are actions on the redo stack. + Use the PropertyChanged event to listen to changes of this property. + + + + + Gets if there are actions on the undo stack. + Use the PropertyChanged event to listen to changes of this property. + + + + + Clears both the undo and redo stack. + + + + + Call this method, if you want to clear the redo stack + + + + + Discards the current "original" marker. + + + + + Stops grouping changes. + + + + + Gets whether the document is currently in its original state (no modifications). + + + + + If an undo group is open, gets the group descriptor of the current top-level + undo group. + If no undo group is open, gets the group descriptor from the previous undo group. + + + + + Marks the current state as original. Discards any previous "original" markers. + + + + + Is raised when a property (CanUndo, CanRedo) changed. + + + + + Call this method to push an UndoableOperation on the undostack. + The redostack will be cleared if you use this method. + + + + + Call this method to push an UndoableOperation on the undostack. + However, the operation will be only stored if the undo group contains a + non-optional operation. + Use this method to store the caret position/selection on the undo stack to + prevent having only actions that affect only the caret and not the document. + + + + + Call this method to redo the last undone operation + + + + + Gets/Sets the limit on the number of items on the undo stack. + + + + + Starts grouping changes, continuing with the previously closed undo group if possible. + Maintains a counter so that nested calls are possible. + If the call to StartContinuedUndoGroup is a nested call, it behaves exactly + as , only top-level calls can continue existing undo groups. + + An object that is stored with the undo group. + If this is not a top-level undo group, the parameter is ignored. + + + + Starts grouping changes. + Maintains a counter so that nested calls are possible. + + + + + Starts grouping changes. + Maintains a counter so that nested calls are possible. + + An object that is stored with the undo group. + If this is not a top-level undo group, the parameter is ignored. + + + + Call this method to undo the last operation on the stack + + + + + Allows registering a line tracker on a TextDocument using a weak reference from the document to the line tracker. + + + + + Deregisters the weak line tracker. + + + + + Registers the as line tracker for the . + A weak reference to the target tracker will be used, and the WeakLineTracker will deregister itself + when the target tracker is garbage collected. + + + + + Base class for margins. + Margins don't have to derive from this class, it just helps maintaining a reference to the TextView + and the TextDocument. + AbstractMargin derives from FrameworkElement, so if you don't want to handle visual children and rendering + on your own, choose another base class for your margin! + + + + + + + ICSharpCode.AvalonEdit.Editing.AbstractMargin + + + + + + + Gets the document associated with the margin. + + + + + Called when the is changing. + + + + + Called when the is changing. + + + + + Gets/sets the text view for which line numbers are displayed. + + + + + TextView property. + + + + + Helper class with caret-related methods. + + + + + Scrolls the text view so that the caret is visible. + + + + + Returns the caret rectangle. The coordinate system is in device-independent pixels from the top of the document. + + + + + Gets/Sets the color of the caret. + + + + + Gets/Sets the caret column. + + + + + Gets/Sets the desired x-position of the caret, in device-independent pixels. + This property is NaN if the caret has no desired position. + + + + + Makes the caret invisible. + + + + + Gets whether the caret is in virtual space. + + + + + Gets/Sets the caret line. + + + + + Gets/Sets the location of the caret. + The getter of this property is faster than because it doesn't have + to validate the visual column. + + + + + Gets/Sets the caret offset. + Setting the caret offset has the side effect of setting the to NaN. + + + + + Gets/Sets the position of the caret. + Retrieving this property will validate the visual column (which can be expensive). + Use the property instead if you don't need the visual column. + + + + + Event raised when the caret position has changed. + If the caret position is changed inside a document update (between BeginUpdate/EndUpdate calls), + the PositionChanged event is raised only once at the end of the document update. + + + + + Makes the caret visible and updates its on-screen position. + + + + + Gets/Sets the caret visual column. + + + + + Contains classes for handling weak events on the Caret class. + + + + + Handles the Caret.PositionChanged event. + + + + + + + ICSharpCode.AvalonEdit.Editing.CaretWeakEventManager.PositionChanged + + + + + + + Margin for use with the text area. + A vertical dotted line to separate the line numbers from the text view. + + + + + Creates a vertical dotted line to separate the line numbers from the text view. + + + + + Creates a vertical dotted line to separate the line numbers from the text view. + + + + + Gets whether the specified UIElement is the result of a DottedLineMargin.Create call. + + + + + Wraps exceptions that occur during drag'n'drop. + Exceptions during drag'n'drop might + get swallowed by WPF/COM, so AvalonEdit catches them and re-throws them later + wrapped in a DragDropException. + + + + + Creates a new DragDropException. + + + + + Deserializes a DragDropException. + + + + + Creates a new DragDropException. + + + + + Creates a new DragDropException. + + + + + Determines whether the document can be modified. + + + + + Gets whether insertion is possible at the specified offset. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Editing.IReadOnlySectionProvider.GetDeletableSegments(ICSharpCode.NRefactory.Editor.ISegment) + + + + + + + A set of input bindings and event handlers for the text area. + + + + + Attaches an input handler to the text area. + + + + + Detaches the input handler from the text area. + + + + + Gets the text area that the input handler belongs to. + + + + + Margin showing line numbers. + + + + + + + ICSharpCode.AvalonEdit.Editing.LineNumberMargin + + + + + + + The font size used for rendering the line number margin. + This field is calculated in MeasureOverride() based on the FontFamily etc. properties. + + + + Implements to supply base element hit testing behavior (returning ). + Describes the hit test to perform, including the initial hit point. + Results of the test, including the evaluated point. + + + + Maximum length of a line number, in characters + + + + When overridden in a derived class, measures the size in layout required for child elements and determines a size for the -derived class. + The available size that this element can give to child elements. Infinity can be specified as a value to indicate that the element will size to whatever content is available. + The size that this element determines it needs during layout, based on its calculations of child element sizes. + + + + Called when the is changing. + + + + Invoked when an unhandled  routed event is raised on this element. Implement this method to add class handling for this event. + The that contains the event data. The event data reports that the left mouse button was pressed. + + + Invoked when an unhandled  routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. The event data reports that the left mouse button was released. + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + When overridden in a derived class, participates in rendering operations that are directed by the layout system. The rendering instructions for this element are not used directly when this method is invoked, and are instead preserved for later asynchronous use by layout and drawing. + The drawing instructions for a specific element. This context is provided to the layout system. + + + + Called when the is changing. + + + + Receives events from the centralized event manager. + The type of the calling this method. + Object that originated the event. + Event data. + true if the listener handled the event. It is considered an error by the handling in WPF to register a listener for an event that the listener does not handle. Regardless, the method should return false if it receives an event that it does not recognize or handle. + + + + The typeface used for rendering the line number margin. + This field is calculated in MeasureOverride() based on the FontFamily etc. properties. + + + + + Rectangular selection ("box selection"). + + + + + Creates a new rectangular selection. + + + + + Expands the selection up by one line, creating a rectangular selection. + Key gesture: Alt+Shift+Down + + + + + Expands the selection left by one character, creating a rectangular selection. + Key gesture: Alt+Shift+Left + + + + + Expands the selection left by one word, creating a rectangular selection. + Key gesture: Ctrl+Alt+Shift+Left + + + + + Expands the selection right by one character, creating a rectangular selection. + Key gesture: Alt+Shift+Right + + + + + Expands the selection left by one word, creating a rectangular selection. + Key gesture: Ctrl+Alt+Shift+Right + + + + + Expands the selection to the end of the line, creating a rectangular selection. + Key gesture: Alt+Shift+End + + + + + Expands the selection to the start of the line, creating a rectangular selection. + Key gesture: Alt+Shift+Home + + + + + Expands the selection up by one line, creating a rectangular selection. + Key gesture: Alt+Shift+Up + + + + + Creates a data object containing the selection's text. + + + + + Gets whether virtual space is enabled for this selection. + + + + + Gets the end position of the selection. + + + + Determines whether the specified is equal to the current . + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + Serves as a hash function for a particular type. + A hash code for the current . + + + + Gets the selected text. + + + + + Gets the selection length. + + + + + Performs a rectangular paste operation. + + + + + Gets the name of the entry in the DataObject that signals rectangle selections. + + + + + Replaces the selection with the specified text. + + + + + Gets the selected text segments. + + + + + Returns a new selection with the changed end point. + + Cannot set endpoint for empty selection + + + + Gets the start position of the selection. + + + + + If this selection is empty, starts a new selection from to + , otherwise, changes the endpoint of this selection. + + + + + Gets the smallest segment that contains all segments in this selection. + May return null if the selection is empty. + + + + Returns a that represents the current . + A that represents the current . + + + + Updates the selection when the document changes. + + + + + Base class for selections. + + + + + Constructor for Selection. + + + + + Gets whether the specified offset is included in the selection. + + True, if the selection contains the offset (selection borders inclusive); + otherwise, false. + + + + + + summary + M:ICSharpCode.AvalonEdit.Editing.Selection.Create(ICSharpCode.AvalonEdit.Editing.TextArea,ICSharpCode.NRefactory.Editor.ISegment) + + + + + + + Creates a new simple selection that selects the text from startOffset to endOffset. + + + + + Creates a data object containing the selection's text. + + + + + Creates a HTML fragment for the selected text. + + + + + Gets whether virtual space is enabled for this selection. + + + + + Gets the end position of the selection. + + + + Determines whether the specified is equal to the current . + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + Serves as a hash function for a particular type. + A hash code for the current . + + + + Gets the selected text. + + + + + Gets whether the selection is empty. + + + + + Gets whether the selection is multi-line. + + + + + Gets the selection length. + + + + + Replaces the selection with the specified text. + + + + + Gets the selected text segments. + + + + + Returns a new selection with the changed end point. + + Cannot set endpoint for empty selection + + + + Gets the start position of the selection. + + + + + If this selection is empty, starts a new selection from to + , otherwise, changes the endpoint of this selection. + + + + + Gets the smallest segment that contains all segments in this selection. + May return null if the selection is empty. + + + + + Updates the selection when the document changes. + + + + + Represents a selected segment. + + + + + Creates a SelectionSegment from two offsets. + + + + + Creates a SelectionSegment from two offsets and visual columns. + + + + + Gets the end offset. + + + + + Gets the end visual column. + + + + + + + summary + P:ICSharpCode.AvalonEdit.Editing.SelectionSegment.Length + + + + + + + Gets the start offset. + + + + + Gets the start visual column. + + + + Returns a that represents the current . + A that represents the current . + + + + Control that wraps a TextView and adds support for user input and the caret. + + + + + Creates a new TextArea instance. + + + + + Creates a new TextArea instance. + + + + + Gets/Sets the active input handler. + This property does not return currently active stacked input handlers. Setting this property detached all stacked input handlers. + + + + + Occurs when the ActiveInputHandler property changes. + + + + + Temporarily allows positioning the caret outside the selection. + Dispose the returned IDisposable to revert the allowance. + + + + + Gets the Caret used for this text area. + + + + + Clears the current selection. + + + + + Gets the default input handler. + + + + + Gets/Sets the document displayed by the text editor. + + + + + Occurs when the Document property changes (when the text editor is connected to another + document - not when the document content changes). + + + + + Document property. + + + + + Gets the requested service. + + Returns the requested service instance, or null if the service cannot be found. + + + Implements to supply base element hit testing behavior (returning ). + Describes the hit test to perform, including the initial hit point. + Results of the test, including the evaluated point. + + + + Gets/Sets the indentation strategy used when inserting new lines. + + + + + IndentationStrategy property. + + + + + Gets the collection of margins displayed to the left of the text view. + + + + When overridden in a derived class, is invoked whenever application code or internal processes call . + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains event data. + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. This event data reports details about the mouse button that was pressed and the handled state. + + + + Raises the event. + + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + Invoked whenever the effective value of any dependency property on this has been updated. The specific dependency property that changed is reported in the arguments parameter. Overrides . + The event data that describes the property that changed, as well as old and new values. + + + + Raises the TextEntered event. + + + + + Raises the TextEntering event. + + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + + Occurs when a text editor option has changed. + + + + + Gets/Sets the document displayed by the text editor. + + + + + Options property. + + + + + Gets/Sets whether overstrike mode is active. + + + + + The dependency property. + + + + + Performs text input. + This raises the event, replaces the selection with the text, + and then raises the event. + + + + + Performs text input. + This raises the event, replaces the selection with the text, + and then raises the event. + + + + + Pops the stacked input handler (and all input handlers above it). + If is not found in the currently stacked input handlers, or is null, this method + does nothing. + + + + + Pushes an input handler onto the list of stacked input handlers. + + + + + Gets/Sets an object that provides read-only sections for the text area. + + + + Receives events from the centralized event manager. + The type of the calling this method. + Object that originated the event. + Event data. + true if the listener handled the event. It is considered an error by the handling in WPF to register a listener for an event that the listener does not handle. Regardless, the method should return false if it receives an event that it does not recognize or handle. + + + + Gets/Sets the selection in this text area. + + + + + Gets/Sets the background brush used for the selection. + + + + + The property. + + + + + Gets/Sets the background brush used for the selection. + + + + + The property. + + + + + Occurs when the selection has changed. + + + + + Gets/Sets the corner radius of the selection. + + + + + The property. + + + + + Gets/Sets the foreground brush used selected text. + + + + + The property. + + + + + Gets the list of currently active stacked input handlers. + + + + + Occurs when text inside the TextArea was copied. + + + + + Occurs when the TextArea receives text input. + This is like the event, + but occurs immediately after the TextArea handles the TextInput event. + + + + + Occurs when the TextArea receives text input. + This is like the event, + but occurs immediately before the TextArea handles the TextInput event. + + + + + Gets the text view used to display text in this text area. + + + + + Contains the predefined input handlers. + + + + + Creates a new TextAreaDefaultInputHandler instance. + + + + + Gets the caret navigation input handler. + + + + + Gets the editing input handler. + + + + + Gets the mouse selection input handler. + + + + + Default-implementation of . + + + + + Creates a new TextAreaInputHandler. + + + + + Adds a command and input binding. + + The command ID. + The modifiers of the keyboard shortcut. + The key of the keyboard shortcut. + The event handler to run when the command is executed. + + + + Attaches an input handler to the text area. + + + + + Gets the command bindings of this input handler. + + + + + Detaches the input handler from the text area. + + + + + Gets the input bindings of this input handler. + + + + + Gets whether the input handler is currently attached to the text area. + + + + + Gets the collection of nested input handlers. NestedInputHandlers are activated and deactivated + together with this input handler. + + + + + Gets the text area that the input handler belongs to. + + + + + Stacked input handler. + Uses OnEvent-methods instead of registering event handlers to ensure that the events are handled in the correct order. + + + + + Creates a new TextAreaInputHandler. + + + + + Attaches an input handler to the text area. + + + + + Detaches the input handler from the text area. + + + + + Called for the PreviewKeyDown event. + + + + + Called for the PreviewKeyUp event. + + + + + Gets the text area that the input handler belongs to. + + + + + EventArgs with text. + + + + + Creates a new TextEventArgs instance. + + + + + Gets the text. + + + + + Implementation for that stores the segments + in a . + + + + + Creates a new TextSegmentReadOnlySectionProvider instance for the specified document. + + + + + Creates a new TextSegmentReadOnlySectionProvider instance using the specified TextSegmentCollection. + + + + + Gets whether insertion is possible at the specified offset. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Editing.TextSegmentReadOnlySectionProvider`1.GetDeletableSegments(ICSharpCode.NRefactory.Editor.ISegment) + + + + + + + Gets the collection storing the read-only segments. + + + + + A that produces line elements for folded s. + + + + + + + ICSharpCode.AvalonEdit.Folding.FoldingElementGenerator + + + + + + + Constructs an element at the specified offset. + May return null if no element should be constructed. + + + + + Default brush for folding element text. Value: Brushes.Gray + + + + + Gets/Sets the folding manager from which the foldings should be shown. + + + + + Gets the first offset >= startOffset where the generator wants to construct an element. + Return -1 to signal no interest. + + + + + Initializes the generator for the + + + + Gets/sets the brush used for folding element text. + + + + + Stores a list of foldings for a specific TextView and TextDocument. + + + + + Creates a new FoldingManager instance. + + + + + Gets all foldings in this manager. + The foldings are returned sorted by start offset; + for multiple foldings at the same offset the order is undefined. + + + + + Removes all folding sections. + + + + + Creates a folding for the specified text section. + + + + + Gets all foldings that start exactly at . + + + + + Gets all foldings that contain . + + + + + Gets the first offset greater or equal to where a folded folding starts. + Returns -1 if there are no foldings after . + + + + + Gets the first folding with a greater or equal to + . + Returns null if there are no foldings after . + + + + + Adds Folding support to the specified text area. + Warning: The folding manager is only valid for the text area's current document. The folding manager + must be uninstalled before the text area is bound to a different document. + + The that manages the list of foldings inside the text area. + + + Receives events from the centralized event manager. + The type of the calling this method. + Object that originated the event. + Event data. + true if the listener handled the event. It is considered an error by the handling in WPF to register a listener for an event that the listener does not handle. Regardless, the method should return false if it receives an event that it does not recognize or handle. + + + + Removes a folding section from this manager. + + + + + Uninstalls the folding manager. + + The specified manager was not created using . + + + + Updates the foldings in this using the given new foldings. + This method will try to detect which new foldings correspond to which existing foldings; and will keep the state + () for existing foldings. + + The new set of foldings. These must be sorted by starting offset. + The first position of a parse error. Existing foldings starting after + this offset will be kept even if they don't appear in . + Use -1 for this parameter if there were no parse errors. + + + + A margin that shows markers for foldings and allows to expand/collapse the foldings. + + + + + + + ICSharpCode.AvalonEdit.Folding.FoldingMargin + + + + + + When overridden in a derived class, positions child elements and determines a size for a derived class. + The final area within the parent that this element should use to arrange itself and its children. + The actual size used. + + + + Gets/Sets the folding manager from which the foldings should be shown. + + + + + Gets/sets the Brush used for displaying the background of folding markers. + + + + + FoldingMarkerBackgroundBrush dependency property. + + + + + Gets/sets the Brush used for displaying the lines of folding markers. + + + + + FoldingMarkerBrush dependency property. + + + + Overrides , and returns a child at the specified index from a collection of child elements. + The zero-based index of the requested child element in the collection. + The requested child element. This should not return null; if the provided index is out of range, an exception is thrown. + + + When overridden in a derived class, measures the size in layout required for child elements and determines a size for the -derived class. + The available size that this element can give to child elements. Infinity can be specified as a value to indicate that the element will size to whatever content is available. + The size that this element determines it needs during layout, based on its calculations of child element sizes. + + + When overridden in a derived class, participates in rendering operations that are directed by the layout system. The rendering instructions for this element are not used directly when this method is invoked, and are instead preserved for later asynchronous use by layout and drawing. + The drawing instructions for a specific element. This context is provided to the layout system. + + + + Called when the is changing. + + + + + Gets/sets the Brush used for displaying the background of selected folding markers. + + + + + SelectedFoldingMarkerBackgroundBrush dependency property. + + + + + Gets/sets the Brush used for displaying the lines of selected folding markers. + + + + + SelectedFoldingMarkerBrush dependency property. + + + + Gets the number of visual child elements within this element. + The number of visual child elements for this element. + + + + A section that can be folded. + + + + + Gets/sets if the section is folded. + + + + + Gets/Sets an additional object associated with this folding section. + + + + + Gets the content of the collapsed lines as text. + + + + + Gets/Sets the text used to display the collapsed version of the folding section. + + + + + Gets the content of the collapsed lines as tooltip text. + + + + + Helper class used for . + + + + + Creates a new NewFolding instance. + + + + + Creates a new NewFolding instance. + + + + + Gets/Sets whether the folding is closed by default. + + + + + Gets/Sets the end offset. + + + + + Gets/Sets whether the folding is considered to be a definition. + This has an effect on the 'Show Definitions only' command. + + + + + Gets/Sets the name displayed for the folding. + + + + + Gets/Sets the start offset. + + + + + Determines folds for an xml string in the editor. + + + + + + + ICSharpCode.AvalonEdit.Folding.XmlFoldingStrategy + + + + + + + Create s for the specified document. + + + + + Create s for the specified document. + + + + + Flag indicating whether attributes should be displayed on folded + elements. + + + + + Create s for the specified document and updates the folding manager with them. + + + + + This class can syntax-highlight a document. + It automatically manages invalidating the highlighting when the document changes. + + + + + Creates a new DocumentHighlighter instance. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.DocumentHighlighter + + + + + + + Opens a group of calls. + It is not necessary to call this method before calling , + however, doing so can make the highlighting much more performant in some cases + (e.g. the C# semantic highlighter in SharpDevelop will re-use the resolver within a highlighting group). + + + + + Gets the default text color. + + + + + Disposes the document highlighter. + + + + + Gets the document that this DocumentHighlighter is highlighting. + + + + + Closes the currently opened group of calls. + + + + + Gets the stack of active colors (the colors associated with the active spans) at the end of the specified line. + -> GetColorStack(1) returns the colors at the start of the second line. + + + + + Retrieves the HighlightingColor with the specified name. Returns null if no color matching the name is found. + + + + + Gets the span stack at the end of the specified line. + -> GetSpanStack(1) returns the spans at the start of the second line. + + + + + Notification when the highlighter detects that the highlighting state at the + beginning of the specified lines has changed. + fromLineNumber and toLineNumber are both inclusive; + the common case of a single-line change is represented by fromLineNumber == toLineNumber. + + During highlighting, the highlighting of line X will cause this event to be raised + for line X+1 if the highlighting state at the end of line X has changed from its previous state. + This event may also be raised outside of the highlighting process to signalize that + changes to external data (not the document text; but e.g. semantic information) + require a re-highlighting of the specified lines. + + + + + Highlights the specified document line. + + The line to highlight. + A line object that represents the highlighted sections. + + + + Gets/sets the the initial span stack of the document. Default value is . + + + + + Invalidates all stored highlighting info. + When the document changes, the highlighting is invalidated automatically, this method + needs to be called only when there are changes to the highlighting rule set. + + + + + Is called when the highlighting state at the end of the specified line has changed. + + + + + Enforces a highlighting state update (triggering the HighlightingStateChanged event if necessary) + for all lines up to (and inclusive) the specified line number. + + + + + Takes a series of highlighting commands and stores them. + Later, it can build inline objects (for use with WPF TextBlock) from the commands. + + + + + Creates a new HighlightedInlineBuilder instance. + + + + + Creates a new HighlightedInlineBuilder instance. + + + + + Clones this HighlightedInlineBuilder. + + + + + Creates WPF Run instances that can be used for TextBlock.Inlines. + + + + + Sets the background brush on the specified text segment. + + + + + Sets the font style on the specified text segment. + + + + + Sets the font weight on the specified text segment. + + + + + Sets the foreground brush on the specified text segment. + + + + + Applies the properties from the HighlightingColor to the specified text segment. + + + + + Gets the text. + + + + + Creates a RichText instance. + + + + + Represents a highlighted document line. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.HighlightedLine + + + + + + + Gets the document associated with this HighlightedLine. + + + + + Gets the document line associated with this HighlightedLine. + + + + + Merges the additional line into this line. + + + + + Gets the highlighted sections. + The sections are not overlapping, but they may be nested. + In that case, outer sections come in the list before inner sections. + The sections are sorted by start offset. + + + + + Produces HTML code for the line, with <span class="colorName"> tags. + + + + + Produces HTML code for a section of the line, with <span class="colorName"> tags. + + + + + Creates a that stores the text and highlighting of this line. + + + + + Creates a that stores the text and highlighting of this line. + + + + + Creates a that stores the highlighting of this line. + + + + Returns a that represents the current . + A that represents the current . + + + + Validates that the sections are sorted correctly, and that they are not overlapping. + + + + + A text section with syntax highlighting information. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.HighlightedSection + + + + + + + Gets the highlighting color associated with the highlighted section. + + + + + Gets/sets the length of the section. + + + + + Gets/sets the document offset of the section. + + + + Returns a that represents the current . + A that represents the current . + + + + A brush used for syntax highlighting. Can retrieve a real brush on-demand. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.HighlightingBrush + + + + + + + Gets the real brush. + + The construction context. context can be null! + + + + Gets the color of the brush. + + The construction context. context can be null! + + + + A highlighting color is a set of font properties and foreground and background color. + + + + + Creates a new HighlightingColor instance. + + + + + Deserializes a HighlightingColor. + + + + + Gets/sets the background color applied by the highlighting. + + + + + Clones this highlighting color. + If this color is frozen, the clone will be unfrozen. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified is equal to the current . + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Gets/sets the font style. Null if the highlighting color does not change the font style. + + + + + Gets/sets the font weight. Null if the highlighting color does not change the font weight. + + + + + Gets/sets the foreground color applied by the highlighting. + + + + + Prevent further changes to this highlighting color. + + + + Serves as a hash function for a particular type. + A hash code for the current . + + + + Serializes this HighlightingColor instance. + + + + + Gets whether this HighlightingColor instance is frozen. + + + + + Overwrites the properties in this HighlightingColor with those from the given color; + but maintains the current values where the properties of the given color return null. + + + + + Gets/Sets the name of the color. + + + + + Gets CSS code for the color. + + + + Returns a that represents the current . + A that represents the current . + + + + A colorizes that interprets a highlighting rule set and colors the document accordingly. + + + + + Creates a new HighlightingColorizer instance. + Derived classes using this constructor must override the method. + + + + + Creates a new HighlightingColorizer instance that uses a fixed highlighter instance. + The colorizer can only be used with text views that show the document for which + the highlighter was created. + + The highlighter to be used. + + + + Creates a new HighlightingColorizer instance. + + The highlighting definition. + + + + Applies a highlighting color to a visual line element. + + + + + Performs the colorization. + + + + + Override this method to colorize an individual document line. + + + + + Creates the IHighlighter instance for the specified text document. + + + + + This method is called when a text view is removed from this HighlightingColorizer, + and also when the TextDocument on any associated text view changes. + + + + + Called when added to a text view. + + + + + Called when removed from a text view. + + + + + This method is called when a new text view is added to this HighlightingColorizer, + and also when the TextDocument on any associated text view changes. + + + + + Indicates that the highlighting definition that was tried to load was invalid. + + + + + Creates a new HighlightingDefinitionInvalidException instance. + + + + + Creates a new HighlightingDefinitionInvalidException instance. + + + + + Creates a new HighlightingDefinitionInvalidException instance. + + + + + Creates a new HighlightingDefinitionInvalidException instance. + + + + + Converts between strings and by treating the string as the definition name + and calling HighlightingManager.Instance.GetDefinition(name). + + + + + + + ICSharpCode.AvalonEdit.Highlighting.HighlightingDefinitionTypeConverter + + + + + + Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. + An that provides a format context. + A that represents the type you want to convert from. + true if this converter can perform the conversion; otherwise, false. + + + Returns whether this converter can convert the object to the specified type, using the specified context. + An that provides a format context. + A that represents the type you want to convert to. + true if this converter can perform the conversion; otherwise, false. + + + Converts the given object to the type of this converter, using the specified context and culture information. + An that provides a format context. + The to use as the current culture. + The to convert. + An that represents the converted value. + The conversion cannot be performed. + + + Converts the given value object to the specified type, using the specified context and culture information. + An that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + The to convert the parameter to. + An that represents the converted value. + The parameter is null. + The conversion cannot be performed. + + + + Regex-based highlighting engine. + + + + + Creates a new HighlightingEngine instance. + + + + + Gets/sets the current span stack. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Highlighting.HighlightingEngine.HighlightLine(ICSharpCode.NRefactory.Editor.IDocument,ICSharpCode.NRefactory.Editor.IDocumentLine) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Highlighting.HighlightingEngine.ScanLine(ICSharpCode.NRefactory.Editor.IDocument,ICSharpCode.NRefactory.Editor.IDocumentLine) + + + + + + + Manages a list of syntax highlighting definitions. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.HighlightingManager + + + + + + + Gets a highlighting definition by name. + Returns null if the definition is not found. + + + + + Gets a highlighting definition by extension. + Returns null if the definition is not found. + + + + + Gets a copy of all highlightings. + + + + + Gets the default HighlightingManager instance. + The default HighlightingManager comes with built-in highlightings. + + + + + Registers a highlighting definition. + + The name to register the definition with. + The file extensions to register the definition for. + The highlighting definition. + + + + Registers a highlighting definition. + + The name to register the definition with. + The file extensions to register the definition for. + A function that loads the highlighting definition. + + + + A highlighting rule. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.HighlightingRule + + + + + + + Gets/Sets the highlighting color. + + + + + Gets/Sets the regular expression for the rule. + + + + Returns a that represents the current . + A that represents the current . + + + + A highlighting rule set describes a set of spans that are valid at a given code location. + + + + + Creates a new RuleSet instance. + + + + + Gets/Sets the name of the rule set. + + + + + Gets the list of rules. + + + + + Gets the list of spans. + + + + Returns a that represents the current . + A that represents the current . + + + + A highlighting span is a region with start+end expression that has a different RuleSet inside + and colors the region. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.HighlightingSpan + + + + + + + Gets the color used for the text matching the end expression. + + + + + Gets/Sets the end expression. + + + + + Gets/Sets the rule set that applies inside this span. + + + + + Gets the color used for the text between start and end. + + + + + Gets/Sets whether the span color includes the end. + The default is false. + + + + + Gets/Sets whether the span color includes the start. + The default is false. + + + + + Gets the color used for the text matching the start expression. + + + + + Gets/Sets the start expression. + + + + Returns a that represents the current . + A that represents the current . + + + + Event handler for + + + + Allows copying HTML text to the clipboard. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Highlighting.HtmlClipboard.CreateHtmlFragment(ICSharpCode.NRefactory.Editor.IDocument,ICSharpCode.AvalonEdit.Highlighting.IHighlighter,ICSharpCode.NRefactory.Editor.ISegment,ICSharpCode.AvalonEdit.Highlighting.HtmlOptions) + + + + + + + Sets the TextDataFormat.Html on the data object to the specified html fragment. + This helper methods takes care of creating the necessary CF_HTML header. + + + + + Holds options for converting text to HTML. + + + + + Creates a default HtmlOptions instance. + + + + + Creates a new HtmlOptions instance that copies applicable options from the . + + + + + Gets whether the color needs to be written out to HTML. + + + + + The amount of spaces a tab gets converted to. + + + + + Writes the HTML attribute for the style to the text writer. + + + + + Represents a highlighted document. + + + + + Opens a group of calls. + It is not necessary to call this method before calling , + however, doing so can make the highlighting much more performant in some cases + (e.g. the C# semantic highlighter in SharpDevelop will re-use the resolver within a highlighting group). + + + + + Gets the default text color. + + + + + Gets the underlying text document. + + + + + Closes the currently opened group of calls. + + + + + Gets the stack of active colors (the colors associated with the active spans) at the end of the specified line. + -> GetColorStack(1) returns the colors at the start of the second line. + + + + + Retrieves the HighlightingColor with the specified name. Returns null if no color matching the name is found. + + + + + Notification when the highlighter detects that the highlighting state at the + beginning of the specified lines has changed. + fromLineNumber and toLineNumber are both inclusive; + the common case of a single-line change is represented by fromLineNumber == toLineNumber. + + During highlighting, the highlighting of line X will cause this event to be raised + for line X+1 if the highlighting state at the end of line X has changed from its previous state. + This event may also be raised outside of the highlighting process to signalize that + changes to external data (not the document text; but e.g. semantic information) + require a re-highlighting of the specified lines. + + + + + Highlights the specified document line. + + The line to highlight. + A line object that represents the highlighted sections. + + + + Enforces a highlighting state update (triggering the HighlightingStateChanged event if necessary) + for all lines up to (and inclusive) the specified line number. + + + + + A highlighting definition. + + + + + Gets a named highlighting color. + + The highlighting color, or null if it is not found. + + + + Gets a rule set by name. + + The rule set, or null if it is not found. + + + + Gets the main rule set. + + + + + Gets the name of the highlighting definition. + + + + + Gets the list of named highlighting colors. + + + + + Gets the list of properties. + + + + + Interface for resolvers that can solve cross-definition references. + + + + + Gets the highlighting definition by name, or null if it is not found. + + + + + Represents a immutable piece text with highlighting information. + + + + + Creates a RichText instance with the given text and RichTextModel. + + + The text to use in this RichText instance. + + + The model that contains the formatting to use for this RichText instance. + model.DocumentLength should correspond to text.Length. + This parameter may be null, in which case the RichText instance just holds plain text. + + + + + Concatenates the specified rich texts. + + + + + Creates WPF Run instances that can be used for TextBlock.Inlines. + + + + + The empty string without any formatting information. + + + + + Retrieves the highlighted sections in the specified range. + The highlighted sections will be sorted by offset, and there will not be any nested or overlapping sections. + + + + + Gets the HighlightingColor for the specified offset. + + + + + Gets the text length. + + + + + Concatenates the specified rich texts. + + + + + Implicit conversion from string to RichText. + + + + + Creates a substring of this rich text. + + + + + Gets the text. + + + + + Produces HTML code for the line, with <span style="..."> tags. + + + + + Produces HTML code for a section of the line, with <span style="..."> tags. + + + + + Creates a new RichTextModel with the formatting from this RichText. + + + + + Gets the text. + + + + + A colorizer that applies the highlighting from a to the editor. + + + + + Creates a new RichTextColorizer instance. + + + + + Override this method to colorize an individual document line. + + + + + Stores rich-text formatting. + + + + + Creates a new RichTextModel. + + + + + Applies the HighlightingColor to the specified range of text. + If the color specifies null for some properties, existing highlighting is preserved. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Highlighting.RichTextModel.CreateRuns(ICSharpCode.NRefactory.Editor.ITextSource) + + + + + + + Retrieves the highlighted sections in the specified range. + The highlighted sections will be sorted by offset, and there will not be any nested or overlapping sections. + + + + + Gets a copy of the HighlightingColor for the specified offset. + + + + + Sets the background brush on the specified text segment. + + + + + Sets the font style on the specified text segment. + + + + + Sets the font weight on the specified text segment. + + + + + Sets the foreground brush on the specified text segment. + + + + + Sets the HighlightingColor for the specified range of text, + completely replacing the existing highlighting in that area. + + + + + Updates the start and end offsets of all segments stored in this collection. + + OffsetChangeMap instance describing the change to the document. + + + + Updates the start and end offsets of all segments stored in this collection. + + OffsetChangeMapEntry instance describing the change to the document. + + + + + + summary + M:ICSharpCode.AvalonEdit.Highlighting.RichTextModel.UpdateOffsets(ICSharpCode.NRefactory.Editor.TextChangeEventArgs) + + + + + + + Highlighting brush implementation that takes a frozen brush. + + + + + Creates a new HighlightingBrush with the specified color. + + + + Determines whether the specified is equal to the current . + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Gets the real brush. + + The construction context. context can be null! + + + Serves as a hash function for a particular type. + A hash code for the current . + + + Returns a that represents the current . + A that represents the current . + + + + Static class with helper methods to load XSHD highlighting files. + + + + + Creates a highlighting definition from the XSHD file. + + + + + Creates a highlighting definition from the XSHD file. + + + + + Lodas a syntax definition from the xml reader. + + + + + A visitor over the XSHD element tree. + + + + Visit method for XshdColor + + + Visit method for XshdImport + + + Visit method for XshdKeywords + + + Visit method for XshdRule + + + Visit method for XshdRuleSet + + + Visit method for XshdSpan + + + + Xshd visitor implementation that saves an .xshd file as XML. + + + + + Creates a new SaveXshdVisitor instance. + + + + + XML namespace for XSHD. + + + + + Writes the specified syntax definition. + + + + + A color in an Xshd file. + + + + + Creates a new XshdColor instance. + + + + + Deserializes an XshdColor. + + + + + Applies the visitor to this element. + + + + + Gets/sets the background brush. + + + + + Gets/Sets the example text that demonstrates where the color is used. + + + + + Gets/sets the font style. + + + + + Gets/sets the font weight. + + + + + Gets/sets the foreground brush. + + + + + Serializes this XshdColor instance. + + + + + Gets/sets the name. + + + + + An element in a XSHD rule set. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.Xshd.XshdElement + + + + + + + Applies the visitor to this element. + + + + + Gets the column number in the .xshd file. + + + + + Gets the line number in the .xshd file. + + + + + <Import> element. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.Xshd.XshdImport + + + + + + + Applies the visitor to this element. + + + + + Gets/sets the referenced rule set. + + + + + A list of keywords. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.Xshd.XshdKeywords + + + + + + + Applies the visitor to this element. + + + + + The color. + + + + + Gets the list of key words. + + + + + A property in an Xshd file. + + + + + Creates a new XshdColor instance. + + + + + Applies the visitor to this element. + + + + + Gets/sets the name. + + + + + Gets/sets the value. + + + + + A reference to an xshd color, or an inline xshd color. + + + + + Creates a new XshdReference instance. + + + + + Creates a new XshdReference instance. + + + + + Applies the visitor to the inline element, if there is any. + + + + + Equality operator. + + + + Indicates whether this instance and a specified object are equal. + Another object to compare to. + true if and this instance are the same type and represent the same value; otherwise, false. + + + Returns the hash code for this instance. + A 32-bit signed integer that is the hash code for this instance. + + + + Gets the inline element. + + + + + Equality operator. + + + + + Inequality operator. + + + + + Gets the reference. + + + + + Gets the reference. + + + + + Specifies the type of the regex. + + + + + Normal regex. Used when the regex was specified as attribute. + + + + + Ignore pattern whitespace / allow regex comments. Used when the regex was specified as text element. + + + + + <Rule> element. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.Xshd.XshdRule + + + + + + + Applies the visitor to this element. + + + + + Gets/sets the color reference. + + + + + Gets/sets the rule regex. + + + + + Gets/sets the rule regex type. + + + + + A rule set in a XSHD file. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.Xshd.XshdRuleSet + + + + + + + Applies the visitor to all elements. + + + + + Applies the visitor to this element. + + + + + Gets the collection of elements. + + + + + Gets/sets whether the case is ignored in expressions inside this rule set. + + + + + Gets/Sets the name of the rule set. + + + + + <Span> element. + + + + + + + ICSharpCode.AvalonEdit.Highlighting.Xshd.XshdSpan + + + + + + + Applies the visitor to this element. + + + + + Gets/sets the span begin color. + + + + + Gets/sets the begin regex. + + + + + Gets/sets the begin regex type. + + + + + Gets/sets the span end color. + + + + + Gets/sets the end regex. + + + + + Gets/sets the end regex type. + + + + + Gets/sets whether the span is multiline. + + + + + Gets/sets the rule set reference. + + + + + Gets/sets the span color. + + + + + A <SyntaxDefinition> element. + + + + + Creates a new XshdSyntaxDefinition object. + + + + + Applies the visitor to all elements. + + + + + Gets the collection of elements. + + + + + Gets the associated extensions. + + + + + Gets/sets the definition name + + + + + Handles indentation by copying the indentation from the previous line. + Does not support indenting multiple lines. + + + + + + + ICSharpCode.AvalonEdit.Indentation.DefaultIndentationStrategy + + + + + + + Sets the indentation for the specified line. + Usually this is constructed from the indentation of the previous line. + + + + + Does nothing: indenting multiple lines is useless without a smart indentation strategy. + + + + + Strategy how the text editor handles indentation when new lines are inserted. + + + + + Sets the indentation for the specified line. + Usually this is constructed from the indentation of the previous line. + + + + + Reindents a set of lines. + + + + + Smart indentation for C#. + + + + + Creates a new CSharpIndentationStrategy. + + + + + Creates a new CSharpIndentationStrategy and initializes the settings using the text editor options. + + + + + Performs indentation using the specified document accessor. + + Object used for accessing the document line-by-line + Specifies whether empty lines should be kept + + + + Gets/Sets the indentation string. + + + + + Sets the indentation for the specified line. + Usually this is constructed from the indentation of the previous line. + + + + + Reindents a set of lines. + + + + + Interface used for the indentation class to access the document. + + + + Gets if the current line is read only (because it is not in the + selected text region) + + + Gets the number of the current line. + + + Advances to the next line. + + + Gets/Sets the text of the current line. + + + + Adapter IDocumentAccessor -> TextDocument + + + + + Creates a new TextDocumentAccessor. + + + + + Creates a new TextDocumentAccessor that indents only a part of the document. + + + + Gets if the current line is read only (because it is not in the + selected text region) + + + Gets the number of the current line. + + + Advances to the next line. + + + Gets/Sets the text of the current line. + + + + Helper for creating a PathGeometry. + + + + + Creates a new BackgroundGeometryBuilder instance. + + + + + Adds a rectangle to the geometry. + + + + + Adds a rectangle to the geometry. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Rendering.BackgroundGeometryBuilder.AddSegment(ICSharpCode.AvalonEdit.Rendering.TextView,ICSharpCode.NRefactory.Editor.ISegment) + + + + + + + Gets/Sets whether to align the geometry to the middle of pixels. + + + + + Gets/Sets whether to align the geometry to whole pixels. + + + + + Closes the current figure. + + + + + Gets/sets the radius of the rounded corners. + + + + + Creates the geometry. + Returns null when the geometry is empty! + + + + + Gets/Sets whether to extend the rectangles to full width at line end. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Rendering.BackgroundGeometryBuilder.GetRectsForSegment(ICSharpCode.AvalonEdit.Rendering.TextView,ICSharpCode.NRefactory.Editor.ISegment,System.Boolean) + + + + + + + Calculates the rectangles for the visual column segment. + This returns one rectangle for each line inside the segment. + + + + + Represents a collapsed line section. + Use the Uncollapse() method to uncollapse the section. + + + + + Gets the end line of the section. + When the section is uncollapsed or the text containing it is deleted, + this property returns null. + + + + + Gets if the document line is collapsed. + This property initially is true and turns to false when uncollapsing the section. + + + + + Gets the start line of the section. + When the section is uncollapsed or the text containing it is deleted, + this property returns null. + + + + + Gets a string representation of the collapsed section. + + + + + Uncollapses the section. + This causes the Start and End properties to be set to null! + Does nothing if the section is already uncollapsed. + + + + + Base class for that helps + splitting visual elements so that colors (and other text properties) can be easily assigned + to individual words/characters. + + + + + + + ICSharpCode.AvalonEdit.Rendering.ColorizingTransformer + + + + + + + Changes visual element properties. + This method accesses , so it must be called only during + a call. + This method splits s as necessary to ensure that the region + can be colored by setting the of whole elements, + and then calls the on all elements in the region. + + Start visual column of the region to change + End visual column of the region to change + Action that changes an individual . + + + + Performs the colorization. + + + + + Gets the list of elements currently being transformed. + + + + + Called when added to a text view. + + + + + Called when removed from a text view. + + + + + implementation. + Sets and calls . + + + + + Default implementation for TextRunTypographyProperties. + + + + + + + ICSharpCode.AvalonEdit.Rendering.DefaultTextRunTypographyProperties + + + + + + Gets the index of an alternate annotation form. + The index of the alternate annotation form. The default is 0 (zero). + + + Gets a value that indicates the capital form of the selected font. + One of the values. The default is . + + + Gets a value that indicates whether inter-glyph spacing for all-capital text is globally adjusted to improve readability. + true if spacing is adjusted; otherwise, false. The default is false. + + + Gets a value that indicates whether glyphs adjust their vertical position to better align with uppercase glyphs. + true if the vertical position is adjusted; otherwise, false. The default is false. + + + Gets a value that indicates whether custom glyph forms can be used based upon the context of the text being rendered. + true if custom glyph forms can be used; otherwise, false. The default is true. + + + Gets a value that indicates whether contextual ligatures are enabled. + true if contextual ligatures are enabled; otherwise, false. The default is true. + + + Gets a value that specifies the index of a contextual swashes form. + The index of the standard swashes form. The default is 0 (zero). + + + Gets a value that indicates whether discretionary ligatures are enabled. + true if discretionary ligatures are enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether the standard Japanese font forms have been replaced with the corresponding preferred typographic forms. + true if standard Japanese font forms have been replaced with the corresponding preferred typographic forms; otherwise, false. The default is false. + + + Gets a value that indicates the version of glyphs to be used for a specific writing system or language. + One of the values. The default is . + + + Gets a value that indicates the proportional width to be used for Latin characters in an East Asian font. + One of the values. The default is . + + + Gets a value that indicates the fraction style. + One of the values. The default is . + + + Gets a value that indicates whether historical forms are enabled. + true if historical forms are enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether historical ligatures are enabled. + true if historical ligatures are enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether kerning is enabled. + true if kerning is enabled; otherwise, false. The default is true. + + + Gets a value that indicates whether standard typographic font forms of Greek glyphs have been replaced with corresponding font forms commonly used in mathematical notation. + true if mathematical Greek forms are enabled; otherwise, false. The default is false. + + + Gets the alignment of widths when using numerals. + One of the values. The default is . + + + Gets a value that indicates the set of glyphs that are used to render numeric alternate font forms. + One of the values. The default is . + + + Gets a value that indicates whether a nominal zero font form should be replaced with a slashed zero. + true if slashed zero forms are enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether standard ligatures are enabled. + true if standard ligatures are enabled; otherwise, false. The default is true. + + + Gets the index of a standard swashes form. + The index of the standard swashes form. The default is 0 (zero). + + + Gets the index of a stylistic alternates form. + The index of the stylistic alternates form. The default is 0 (zero). + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates whether a stylistic set of a font form is enabled. + true if the stylistic set of the font form is enabled; otherwise, false. The default is false. + + + Gets a value that indicates a variation of the standard typographic form to be used. + One of the values. The default is . + + + + Base class for that helps + colorizing the document. Derived classes can work with document lines + and text offsets and this class takes care of the visual lines and visual columns. + + + + + + + ICSharpCode.AvalonEdit.Rendering.DocumentColorizingTransformer + + + + + + + Changes a part of the current document line. + + Start offset of the region to change + End offset of the region to change + Action that changes an individual . + + + + Performs the colorization. + + + + + Override this method to colorize an individual document line. + + + + + Gets the current ITextRunConstructionContext. + + + + + Formatted text (not normal document text). + This is used as base class for various VisualLineElements that are displayed using a + FormattedText, for example newline markers or collapsed folding sections. + + + + + Creates a new FormattedTextElement that displays the specified text + and occupies the specified length in the document. + + + + + Creates a new FormattedTextElement that displays the specified text + and occupies the specified length in the document. + + + + + Creates a new FormattedTextElement that displays the specified text + and occupies the specified length in the document. + + + + + Gets/sets the line break condition after the element. + The default is 'BreakPossible'. + + + + + Gets/sets the line break condition before the element. + The default is 'BreakPossible'. + + + + + Creates the TextRun for this line element. + + + The visual column from which the run should be constructed. + Normally the same value as the property is used to construct the full run; + but when word-wrapping is active, partial runs might be created. + + + Context object that contains information relevant for text run creation. + + + + + Constructs a TextLine from a simple text. + + + + + This is the TextRun implementation used by the class. + + + + + Creates a new FormattedTextRun. + + + + Gets the line breaking condition after the text object. + An enumerated value of . + + + Gets the line breaking condition before the text object. + An enumerated value of . + + + Gets a reference to the text run character buffer. + A value representing the characters in the text run. + + + Gets the computed bounding box of the text object. + A value that determines if the text object is drawn from right to left. + A value that determines if the text object is drawn with its side parallel to the baseline. + A value that represents the bounding box size of the text object. + + + Draws the text object. + The to use for rendering the text object. + The value that represents the origin where the text object is drawn. + A value that determines if the text object is drawn from right to left. + A value that determines if the text object is drawn with its side parallel to the baseline. + + + + Gets the element for which the FormattedTextRun was created. + + + + Get text object measurement metrics that will fit within the specified remaining width of the paragraph. + A that represents the remaining paragraph width. + A value that represents the text object metrics. + + + Determines whether the text object has a fixed size regardless of where it is placed within a line. + true if the text object has a fixed size; otherwise, false. + + + Gets the number of characters in the text run. + An value that represents the number of characters. + + + Gets the set of text properties that are shared by every character in the text run, such as typeface or foreground brush. + A value that represents the set of shared text properties. + + + + Background renderers draw in the background of a known layer. + You can use background renderers to draw non-interactive elements on the TextView + without introducing new UIElements. + + + + + Causes the background renderer to draw. + + + + + Gets the layer on which this background renderer should draw. + + + + + A inline UIElement in the document. + + + + + Creates a new InlineObjectElement. + + The length of the element in the document. Must be non-negative. + The element to display. + + + + Creates the TextRun for this line element. + + + The visual column from which the run should be constructed. + Normally the same value as the property is used to construct the full run; + but when word-wrapping is active, partial runs might be created. + + + Context object that contains information relevant for text run creation. + + + + + Gets the inline element that is displayed. + + + + + A text run with an embedded UIElement. + + + + + Creates a new InlineObjectRun instance. + + The length of the TextRun. + The to use. + The to display. + + + Gets the line breaking condition after the text object. + An enumerated value of . + + + Gets the line breaking condition before the text object. + An enumerated value of . + + + Gets a reference to the text run character buffer. + A value representing the characters in the text run. + + + Gets the computed bounding box of the text object. + A value that determines if the text object is drawn from right to left. + A value that determines if the text object is drawn with its side parallel to the baseline. + A value that represents the bounding box size of the text object. + + + Draws the text object. + The to use for rendering the text object. + The value that represents the origin where the text object is drawn. + A value that determines if the text object is drawn from right to left. + A value that determines if the text object is drawn with its side parallel to the baseline. + + + + Gets the element displayed by the InlineObjectRun. + + + + Get text object measurement metrics that will fit within the specified remaining width of the paragraph. + A that represents the remaining paragraph width. + A value that represents the text object metrics. + + + Determines whether the text object has a fixed size regardless of where it is placed within a line. + true if the text object has a fixed size; otherwise, false. + + + Gets the number of characters in the text run. + An value that represents the number of characters. + + + Gets the set of text properties that are shared by every character in the text run, such as typeface or foreground brush. + A value that represents the set of shared text properties. + + + + Gets the VisualLine that contains this object. This property is only available after the object + was added to the text view. + + + + + Contains information relevant for text run creation. + + + + + Gets the text document. + + + + + Gets a piece of text from the document. + + + + + Gets the global text run properties. + + + + + Gets the text view for which the construction runs. + + + + + Gets the visual line that is currently being constructed. + + + + + Allows s, s and + s to be notified when they are added or removed from a text view. + + + + + Called when added to a text view. + + + + + Called when removed from a text view. + + + + + Allows transforming visual line elements. + + + + + Applies the transformation to the specified list of visual line elements. + + + + + An enumeration of well-known layers. + + + + + This layer is in the background. + There is no UIElement to represent this layer, it is directly drawn in the TextView. + It is not possible to replace the background layer or insert new layers below it. + + + + + This layer contains the selection rectangle. + + + + + This layer contains the text and inline UI elements. + + + + + This layer contains the blinking caret. + + + + + Specifies where a new layer is inserted, in relation to an old layer. + + + + + The new layer is inserted below the specified layer. + + + + + The new layer replaces the specified layer. The old layer is removed + from the collection. + + + + + The new layer is inserted above the specified layer. + + + + + Detects hyperlinks and makes them clickable. + + + + + Creates a new LinkElementGenerator. + + + + + Creates a new LinkElementGenerator using the specified regex. + + + + + Constructs an element at the specified offset. + May return null if no element should be constructed. + + + + + Constructs a VisualLineElement that replaces the matched text. + The default implementation will create a + based on the URI provided by . + + + + + Gets the first offset >= startOffset where the generator wants to construct an element. + Return -1 to signal no interest. + + + + + Fetches the URI from the regex match. Returns null if the URI format is invalid. + + + + + Gets/Sets whether the user needs to press Control to click the link. + The default value is true. + + + + + Encapsulates and adds MouseHover support to UIElements. + + + + + Creates a new instance and attaches itself to the UIElement. + + + + + Removes the MouseHover support from the target UIElement. + + + + + Occurs when the mouse starts hovering over a certain location. + + + + + Occurs when the mouse stops hovering over a certain location. + + + + + Raises the event. + + + + + Raises the event. + + + + + A virtualizing panel producing+showing s for a . + + This is the heart of the text editor, this class controls the text rendering process. + + Taken as a standalone control, it's a text viewer without any editing capability. + + + + + Creates a new TextView instance. + + + + + Arrange implementation. + + + + + Gets the list of background renderers. + + + + + Collapses lines for the purpose of scrolling. s marked as collapsed will be hidden + and not used to start the generation of a . + + + + + Gets/Sets the pen used to draw the column ruler. + + + + + The pen used to draw the column ruler. + + + + + Gets/Sets the background brush used by current line highlighter. + + + + + The property. + + + + + Gets/Sets the background brush used for the current line. + + + + + The property. + + + + + Gets the default baseline position. This is the difference between + and for a line containing regular text. + Lines that include formatted text or custom UI elements may have a different baseline. + + + + + Gets the default line height. This is the height of an empty line or a line containing regular text. + Lines that include formatted text or custom UI elements may have a different line height. + + + + + Gets/Sets the document displayed by the text editor. + + + + + Occurs when the document property has changed. + + + + + Gets the height of the document. + + + + + Document property. + + + + + Gets a collection where element generators can be registered. + + + + + If the visual lines are invalid, creates new visual lines for the visible part + of the document. + If all visual lines are valid, this method does nothing. + + The visual line build process is already running. + It is not allowed to call this method during the construction of a visual line. + + + + Gets the document line at the specified visual position. + + + + + Gets the visual line that contains the document line with the specified number. + If that line is outside the visible range, a new VisualLine for that document line is constructed. + + + + + Gets the text view position from the specified visual position. + If the position is within a character, it is rounded to the next character boundary. + + The position in WPF device-independent pixels relative + to the top left corner of the document. + The logical position, or null if the position is outside the document. + + + + Gets the text view position from the specified visual position. + If the position is inside a character, the position in front of the character is returned. + + The position in WPF device-independent pixels relative + to the top left corner of the document. + The logical position, or null if the position is outside the document. + + + + Retrieves a service from the text view. + If the service is not found in the container, + this method will also look for it in the current document's service provider. + + + + Overrides , and returns a child at the specified index from a collection of child elements. + The zero-based index of the requested child element in the collection. + The requested child element. This should not return null; if the provided index is out of range, an exception is thrown. + + + + Gets the visual line that contains the document line with the specified number. + Returns null if the document line is outside the visible range. + + + + + Gets the visual line at the specified document position (relative to start of document). + Returns null if there is no visual line for the position (e.g. the position is outside the visible + text area). + + + + + Gets the visual position from a text view position. + + The text view position. + The mode how to retrieve the Y position. + The position in WPF device-independent pixels relative + to the top left corner of the document. + + + + Gets the visual top position (relative to start of document) from a document line number. + + + + + Gets/Sets highlighted line number. + + + + Implements to supply base element hit testing behavior (returning ). + Describes the hit test to perform, including the initial hit point. + Results of the test, including the evaluated point. + + + + Gets the horizontal scroll offset. + + + + + Inserts a new layer at a position specified relative to an existing layer. + + The new layer to insert. + The existing layer + Specifies whether the layer is inserted above,below, or replaces the referenced layer + + + + Updates the mouse cursor by calling , but with background priority. + + + + + Causes a known layer to redraw. + This method does not invalidate visual lines; + use the method to do that. + + + + + Causes a known layer to redraw. + This method does not invalidate visual lines; + use the method to do that. + + + + + Gets the list of layers displayed in the text view. + + + + + Gets a collection where line transformers can be registered. + + + + + Gets/sets the Brush used for the background of link texts. + + + + + LinkTextBackgroundBrush dependency property. + + + + + Gets/sets the Brush used for displaying link texts. + + + + + LinkTextForegroundBrush dependency property. + + + + Gets an enumerator for logical child elements of this element. + An enumerator for logical child elements of this element. + + + + Scrolls the text view so that the specified rectangle gets visible. + + + + When overridden in a derived class, measures the size in layout required for child elements and determines a size for the -derived class. + The available size that this element can give to child elements. Infinity can be specified as a value to indicate that the element will size to whatever content is available. + The size that this element determines it needs during layout, based on its calculations of child element sizes. + + + + Occurs when the mouse has hovered over a fixed location for some time. + + + + + The MouseHover event. + + + + + Occurs when the mouse had previously hovered but now started moving again. + + + + + The MouseHoverStopped event. + + + + + Gets/sets the Brush used for displaying non-printable characters. + + + + + NonPrintableCharacterBrush dependency property. + + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. This event data reports details about the mouse button that was pressed and the handled state. + + + Invoked when an unhandled  routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. The event data reports that the mouse button was released. + + + + Raises the event. + + + + Invoked whenever the effective value of any dependency property on this has been updated. The specific dependency property that changed is reported in the arguments parameter. Overrides . + The event data that describes the property that changed, as well as old and new values. + + + Invoked when an unhandled  attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. + The that contains the event data. + + + When overridden in a derived class, participates in rendering operations that are directed by the layout system. The rendering instructions for this element are not used directly when this method is invoked, and are instead preserved for later asynchronous use by layout and drawing. + The drawing instructions for a specific element. This context is provided to the layout system. + + + + Occurs when a text editor option has changed. + + + + + Gets/Sets the options used by the text editor. + + + + + Options property. + + + + + Occurs when the mouse has hovered over a fixed location for some time. + + + + + The PreviewMouseHover event. + + + + + Occurs when the mouse had previously hovered but now started moving again. + + + + + The PreviewMouseHoverStopped event. + + + + Receives events from the centralized event manager. + The type of the calling this method. + Object that originated the event. + Event data. + true if the listener handled the event. It is considered an error by the handling in WPF to register a listener for an event that the listener does not handle. Regardless, the method should return false if it receives an event that it does not recognize or handle. + + + + Causes the text editor to regenerate all visual lines. + + + + + Causes the text editor to regenerate the specified visual line. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Rendering.TextView.Redraw(ICSharpCode.NRefactory.Editor.ISegment,System.Windows.Threading.DispatcherPriority) + + + + + + + Causes the text editor to redraw all lines overlapping with the specified segment. + + + + + Causes the text editor to regenerate all visual lines. + + + + + Gets the scroll offset; + + + + + Occurs when the scroll offset has changed. + + + + + Gets a service container used to associate services with the text view. + + + + + Gets the vertical scroll offset. + + + + Gets the number of visual child elements within this element. + The number of visual child elements for this element. + + + + Occurs when the TextView is about to be measured and will regenerate its visual lines. + This event may be used to mark visual lines as invalid that would otherwise be reused. + + + + + Gets the currently visible visual lines. + + + Gets thrown if there are invalid visual lines when this property is accessed. + You can use the property to check for this case, + or use the method to force creating the visual lines + when they are invalid. + + + + + Occurs when the TextView was measured and changed its visual lines. + + + + + Gets whether the visual lines are valid. + Will return false after a call to Redraw(). + Accessing the visual lines property will cause a + if this property is false. + + + + + Gets the width of a 'wide space' (the space width used for calculating the tab size). + + + + + Contains weak event managers for the TextView events. + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.Rendering.TextViewWeakEventManager.DocumentChanged + + + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.Rendering.TextViewWeakEventManager.ScrollOffsetChanged + + + + + + + Weak event manager for the event. + + + + + + + ICSharpCode.AvalonEdit.Rendering.TextViewWeakEventManager.VisualLinesChanged + + + + + + + Represents a visual line in the document. + A visual line usually corresponds to one DocumentLine, but it can span multiple lines if + all but the first are collapsed. + + + + + Gets the document to which this VisualLine belongs. + + + + + Gets a read-only collection of line elements. + + + + + Gets the first document line displayed by this visual line. + + + + + Gets the next possible caret position after visualColumn, or -1 if there is no caret position. + + + + + Gets the document offset (relative to the first line start) from a visual column. + + + + + Gets the text line containing the specified visual column. + + + + + Gets the text line containing the specified visual column. + + + + + Gets a TextLine by the visual position. + + + + + Gets the start visual column from the specified text line. + + + + + Gets the distance to the left border of the text area of the specified visual column. + The visual column must belong to the specified text line. + + + + + Gets the visual top from the specified text line. + + Distance in device-independent pixels + from the top of the document to the top of the specified text line. + + + + Gets the text view position from the specified visual column. + + + + + Gets the text view position from the specified visual position. + If the position is within a character, it is rounded to the next character boundary. + + The position in WPF device-independent pixels relative + to the top left corner of the document. + Controls whether positions in virtual space may be returned. + + + + Gets the text view position from the specified visual position. + If the position is inside a character, the position in front of the character is returned. + + The position in WPF device-independent pixels relative + to the top left corner of the document. + Controls whether positions in virtual space may be returned. + + + + Gets the visual column from a document offset relative to the first line start. + + + + + Gets the visual column from a document position (relative to top left of the document). + If the user clicks between two visual columns, rounds to the nearest column. + + + + + Gets the visual column from a document position (relative to top left of the document). + If the user clicks between two visual columns, rounds to the nearest column. + + + + + Gets the visual column from a document position (relative to top left of the document). + If the user clicks between two visual columns, rounds to the nearest column. + + + + + Gets the visual column from a document position (relative to top left of the document). + If the user clicks between two visual columns, returns the first of those columns. + + + + + Gets the visual column from a document position (relative to top left of the document). + If the user clicks between two visual columns, returns the first of those columns. + + + + + Gets the visual position from the specified visualColumn. + + Position in device-independent pixels + relative to the top left of the document. + + + + Gets the height of the visual line in device-independent pixels. + + + + + Gets whether the visual line was disposed. + + + + + Gets the last document line displayed by this visual line. + + + + + Replaces the single element at with the specified elements. + The replacement operation must preserve the document length, but may change the visual length. + + + + + Replaces elements starting at with the specified elements. + The replacement operation must preserve the document length, but may change the visual length. + + + + + Gets the start offset of the VisualLine inside the document. + This is equivalent to FirstDocumentLine.Offset. + + + + + Gets a read-only collection of text lines. + + + + + Validates the visual column and returns the correct one. + + + + + Validates the visual column and returns the correct one. + + + + + Length in visual line coordinates. + + + + + Length in visual line coordinates including the end of line marker, if TextEditorOptions.ShowEndOfLine is enabled. + + + + + Gets the Y position of the line. This is measured in device-independent pixels relative to the start of the document. + + + + + EventArgs for the event. + + + + + Creates a new VisualLineConstructionStartEventArgs instance. + + + + + Gets/Sets the first line that is visible in the TextView. + + + + + Represents a visual element in the document. + + + + + Creates a new VisualLineElement. + + The length of the element in VisualLine coordinates. Must be positive. + The length of the element in the document. Must be non-negative. + + + + Gets/sets the brush used for the background of this . + + + + + Gets if this VisualLineElement can be split. + + + + + Creates the TextRun for this line element. + + + The visual column from which the run should be constructed. + Normally the same value as the property is used to construct the full run; + but when word-wrapping is active, partial runs might be created. + + + Context object that contains information relevant for text run creation. + + + + + Gets the length of this element in the text document. + + + + + Gets the next caret position inside this element. + + The visual column from which the search should be started. + The search direction (forwards or backwards). + Whether to stop only at word borders. + The visual column of the next caret position, or -1 if there is no next caret position. + + + + Retrieves the text span immediately before the visual column. + + + + + Gets the text offset of a visual column inside this element. + + A text offset relative to the visual line start. + + + + Gets the visual column of a text location inside this element. + The text offset is given relative to the visual line start. + + + + + Gets whether the implementation handles line borders. + If this property returns false, the caller of GetNextCaretPosition should handle the line + borders (i.e. place caret stops at the start and end of the line). + This property has an effect only for VisualLineElements that are at the start or end of a + . + + + + + Gets whether the specified offset in this element is considered whitespace. + + + + + Allows the visual line element to handle a mouse event. + + + + + Allows the visual line element to handle a mouse event. + + + + + Queries the cursor over the visual line element. + + + + + Gets the text offset where this element starts, relative to the start text offset of the visual line. + + + + + Splits the element. + + Position inside this element at which it should be broken + The collection of line elements + The index at which this element is in the elements list. + + + + Helper method for splitting this line element into two, correctly updating the + , , + and properties. + + The element before the split position. + The element after the split position. + The split position as visual column. + The split position as text offset. + + + + Gets the text run properties. + A unique instance is used for each + ; colorizing code may assume that modifying the + will affect only this + . + + + + + Gets the visual column where this element starts. + + + + + Gets the length of this element in visual columns. + + + + + Abstract base class for generators that produce new visual line elements. + + + + + + + ICSharpCode.AvalonEdit.Rendering.VisualLineElementGenerator + + + + + + + Constructs an element at the specified offset. + May return null if no element should be constructed. + + + + + Gets the text run construction context. + + + + + De-initializes the generator. + + + + + Gets the first offset >= startOffset where the generator wants to construct an element. + Return -1 to signal no interest. + + + + + Initializes the generator for the + + + + implementation that allows changing the properties. + A instance usually is assigned to a single + . + + + + + Creates a new VisualLineElementTextRunProperties instance that copies its values + from the specified . + For the and collections, deep copies + are created if those collections are not frozen. + + + + Gets the brush that is used to paint the background color of the text run. + A value that represents the background color. + + + Gets the baseline style for a text that is positioned on the vertical axis. + An enumerated value of . + + + + Creates a copy of this instance. + + + + Gets the culture information for the text run. + A value of that represents the culture of the text run. + + + Gets the text size in points, which is then used for font hinting. + A that represents the text size in points. The default is 12 pt. + + + Gets the text size in points for the text run. + A that represents the text size in DIPs (Device Independent Pixels). The default is 12 DIP. + + + Gets the brush that is used to paint the foreground color of the text run. + A value that represents the foreground color. + + + + Gets the number substitution settings for the text run. + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Gets the text decorations. The value may be null, a frozen + or an unfrozen . + If the value is an unfrozen , you may assume that the + collection instance is only used for this instance and it is safe + to add s. + + + + + Gets the text effects. The value may be null, a frozen + or an unfrozen . + If the value is an unfrozen , you may assume that the + collection instance is only used for this instance and it is safe + to add s. + + + + Gets the typeface for the text run. + A value of . + + + + Gets the typography properties for the text run. + + + + + VisualLineElement that represents a piece of text and is a clickable link. + + + + + Creates a visual line text element with the specified length. + It uses the and its + to find the actual text string. + + + + + Override this method to control the type of new VisualLineText instances when + the visual line is split due to syntax highlighting. + + + + + Creates the TextRun for this line element. + + + The visual column from which the run should be constructed. + Normally the same value as the property is used to construct the full run; + but when word-wrapping is active, partial runs might be created. + + + Context object that contains information relevant for text run creation. + + + + + Gets whether the link is currently clickable. + + + + + Gets/Sets the URL that is navigated to when the link is clicked. + + + + + Allows the visual line element to handle a mouse event. + + + + + Queries the cursor over the visual line element. + + + + + Gets/Sets whether the user needs to press Control to click the link. + The default value is true. + + + + + Gets/Sets the window name where the URL will be opened. + + + + + A VisualLinesInvalidException indicates that you accessed the property + of the while the visual lines were invalid. + + + + + Creates a new VisualLinesInvalidException instance. + + + + + Creates a new VisualLinesInvalidException instance. + + + + + Creates a new VisualLinesInvalidException instance. + + + + + Creates a new VisualLinesInvalidException instance. + + + + + VisualLineElement that represents a piece of text. + + + + + Creates a visual line text element with the specified length. + It uses the and its + to find the actual text string. + + + + + Gets if this VisualLineElement can be split. + + + + + Override this method to control the type of new VisualLineText instances when + the visual line is split due to syntax highlighting. + + + + + Creates the TextRun for this line element. + + + The visual column from which the run should be constructed. + Normally the same value as the property is used to construct the full run; + but when word-wrapping is active, partial runs might be created. + + + Context object that contains information relevant for text run creation. + + + + + Gets the next caret position inside this element. + + The visual column from which the search should be started. + The search direction (forwards or backwards). + Whether to stop only at word borders. + The visual column of the next caret position, or -1 if there is no next caret position. + + + + Retrieves the text span immediately before the visual column. + + + + + Gets the text offset of a visual column inside this element. + + A text offset relative to the visual line start. + + + + Gets the visual column of a text location inside this element. + The text offset is given relative to the visual line start. + + + + + Gets whether the specified offset in this element is considered whitespace. + + + + + Gets the parent visual line. + + + + + Splits the element. + + Position inside this element at which it should be broken + The collection of line elements + The index at which this element is in the elements list. + + + + An enum that specifies the possible Y positions that can be returned by VisualLine.GetVisualPosition. + + + + + Returns the top of the TextLine. + + + + + Returns the top of the text. + If the line contains inline UI elements larger than the text, TextTop may be below LineTop. + For a line containing regular text (all in the editor's main font), this will be equal to LineTop. + + + + + Returns the bottom of the TextLine. + + + + + The middle between LineTop and LineBottom. + + + + + Returns the bottom of the text. + If the line contains inline UI elements larger than the text, TextBottom might be above LineBottom. + For a line containing regular text (all in the editor's main font), this will be equal to LineBottom. + + + + + The middle between TextTop and TextBottom. + + + + + Returns the baseline of the text. + + + + + A button that opens a drop-down menu when clicked. + + + + + + + ICSharpCode.AvalonEdit.Search.DropDownButton + + + + + + + Gets/Sets the popup that is used as drop-down content. + + + + + Identifies the  dependency property. + + + + + Gets whether the drop-down is opened. + + + + + Identifies the  dependency property. + + + + + The key that identifies the  dependency property. + + + + Raises the routed event. + + + + Represents a search result. + + + + + Replaces parts of the replacement string with parts from the match. (e.g. $1) + + + + + Basic interface for search algorithms. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Search.ISearchStrategy.FindAll(ICSharpCode.NRefactory.Editor.ITextSource,System.Int32,System.Int32) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Search.ISearchStrategy.FindNext(ICSharpCode.NRefactory.Editor.ITextSource,System.Int32,System.Int32) + + + + + + + Holds default texts for buttons and labels in the SearchPanel. Override properties to add other languages. + + + + + + + ICSharpCode.AvalonEdit.Search.Localization + + + + + + + Default: 'Error: ' + + + + + Default: 'Find next (F3)' + + + + + Default: 'Find previous (Shift+F3)' + + + + + Default: 'Match case' + + + + + Default: 'Match whole words' + + + + + Default: 'No matches found!' + + + + + Default: 'Use regular expressions' + + + + + Search commands for AvalonEdit. + + + + + Closes the SearchPanel. + + + + + Finds the next occurrence in the file. + + + + + Finds the previous occurrence in the file. + + + + + TextAreaInputHandler that registers all search-related commands. + + + + + Creates a new SearchInputHandler and registers the search-related commands. + + + + + Fired when SearchOptions are modified inside the SearchPanel. + + + + + Defines supported search modes. + + + + + Standard search + + + + + RegEx search + + + + + Wildcard search + + + + + EventArgs for event. + + + + + Creates a new SearchOptionsChangedEventArgs instance. + + + + + Gets whether the search pattern should be interpreted case-sensitive. + + + + + Gets the search pattern. + + + + + Gets whether the search pattern should be interpreted as regular expression. + + + + + Gets whether the search pattern should only match whole words. + + + + + Provides search functionality for AvalonEdit. It is displayed in the top-right corner of the TextArea. + + + + + Creates a new SearchPanel. + + + + + Attaches this SearchPanel to a TextArea instance. + + + + + Closes the SearchPanel. + + + + + Closes the SearchPanel and removes it. + + + + + Moves to the next occurrence in the file. + + + + + Moves to the previous occurrence in the file. + + + + + Creates a SearchPanel and installs it to the TextArea. + + + + + Creates a SearchPanel and installs it to the TextEditor's TextArea. + + + + + Gets whether the Panel is already closed. + + + + + Gets/sets the localization for the SearchPanel. + + + + + Dependency property for . + + + + + Gets/sets the Brush used for marking search results in the TextView. + + + + + Dependency property for . + + + + + Gets/sets whether the search pattern should be interpreted case-sensitive. + + + + + Dependency property for . + + + + When overridden in a derived class, is invoked whenever application code or internal processes call . + + + + Raises the event. + + + + + Opens the an existing search panel. + + + + + Reactivates the SearchPanel by setting the focus on the search box and selecting all text. + + + + + Fired when SearchOptions are changed inside the SearchPanel. + + + + + Gets/sets the search pattern. + + + + + Dependency property for . + + + + + Removes the SearchPanel from the TextArea. + + + + + Gets/sets whether the search pattern should be interpreted as regular expression. + + + + + Dependency property for . + + + + + Gets/sets whether the search pattern should only match whole words. + + + + + Dependency property for . + + + + Represents errors that occur during application execution. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + Initializes a new instance of the class with a specified error message. + The message that describes the error. + + + Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Provides factory methods for ISearchStrategies. + + + + + Creates a default ISearchStrategy with the given parameters. + + + + + AnchorElement created by SnippetAnchorElement. + + + + + Creates a new AnchorElement. + + + + + Called when the interactive mode is deactivated. + + + + + Gets whether this element is editable (the user will be able to select it with Tab). + + + + + Gets or sets the name of the anchor. + + + + + Called when the all snippet elements have been inserted. + + + + + Gets the segment associated with this element. May be null. + + + + + Gets or sets the text at the anchor. + + + + + Describes the reason for deactivation of a . + + + + + Unknown reason. + + + + + Snippet was deleted. + + + + + There are no active elements in the snippet. + + + + + The SnippetInputHandler was detached. + + + + + Return was pressed by the user. + + + + + Escape was pressed by the user. + + + + + Represents an active element that allows the snippet to stay interactive after insertion. + + + + + Called when the interactive mode is deactivated. + + + + + Gets whether this element is editable (the user will be able to select it with Tab). + + + + + Called when the all snippet elements have been inserted. + + + + + Gets the segment associated with this element. May be null. + + + + + Represents the context of a snippet insertion. + + + + + Creates a new InsertionContext instance. + + + + + Gets the list of active elements. + + + + + Calls the method on all registered active elements. + + The EventArgs to use + + + + Occurs when the interactive mode is deactivated. + + + + + Gets the text document. + + + + + Returns the active element belonging to the specified snippet element, or null if no such active element is found. + + + + + Gets the indentation at the insertion position. + + + + + Occurs when the all snippet elements have been inserted. + + + + + Gets/Sets the insertion position. + + + + + Inserts text at the insertion position and advances the insertion position. + This method will add the current indentation to every line in and will + replace newlines with the expected newline for the document. + + + + + Gets the line terminator at the insertion position. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Snippets.InsertionContext.Link(ICSharpCode.NRefactory.Editor.ISegment,ICSharpCode.NRefactory.Editor.ISegment[]) + + + + + + + Calls the method on all registered active elements + and raises the event. + + The EventArgs to use + + + Receives events from the centralized event manager. + The type of the calling this method. + Object that originated the event. + Event data. + true if the listener handled the event. It is considered an error by the handling in WPF to register a listener for an event that the listener does not handle. Regardless, the method should return false if it receives an event that it does not recognize or handle. + + + + Registers an active element. Elements should be registered during insertion and will be called back + when insertion has completed. + + The snippet element that created the active element. + The active element. + + + + Gets the text that was selected before the insertion of the snippet. + + + + + Gets the start position of the snippet insertion. + + + + + Gets the indentation string for a single indentation level. + + + + + Gets the text area. + + + + + Interface for active element registered by . + + + + + Gets the current text inside the element. + + + + + Occurs when the text inside the element changes. + + + + + A code snippet that can be inserted into the text editor. + + + + + + + ICSharpCode.AvalonEdit.Snippets.Snippet + + + + + + + Inserts the snippet into the text area. + + + + + Creates a named anchor that can be accessed by other SnippetElements. + + + + + Creates a SnippetAnchorElement with the supplied name. + + + + + Performs insertion of the snippet. + + + + + Gets or sets the name of the anchor. + + + + + An element that binds to a and displays the same text. + + + + + + + ICSharpCode.AvalonEdit.Snippets.SnippetBoundElement + + + + + + + Converts the text before copying it. + + + + + Performs insertion of the snippet. + + + + + Gets/Sets the target element. + + + + + Converts the snippet to text, with replaceable fields in italic. + + + + + Sets the caret position after interactive mode has finished. + + + + + Creates a new SnippetCaretElement. + + + + + Creates a new SnippetCaretElement. + + + If set to true, the caret is set only when some text was selected. + This is useful when both SnippetCaretElement and SnippetSelectionElement are used in the same snippet. + + + + + Performs insertion of the snippet. + + + + + A snippet element that has sub-elements. + + + + + + + ICSharpCode.AvalonEdit.Snippets.SnippetContainerElement + + + + + + + Gets the list of child elements. + + + + + Performs insertion of the snippet. + + + + + Converts the snippet to text, with replaceable fields in italic. + + + + + An element inside a snippet. + + + + + + + ICSharpCode.AvalonEdit.Snippets.SnippetElement + + + + + + + Performs insertion of the snippet. + + + + + Converts the snippet to text, with replaceable fields in italic. + + + + + Provides information about the event that occured during use of snippets. + + + + + Creates a new SnippetEventArgs object, with a DeactivateReason. + + + + + Gets the reason for deactivation. + + + + + Text element that is supposed to be replaced by the user. + Will register an . + + + + + + + ICSharpCode.AvalonEdit.Snippets.SnippetReplaceableTextElement + + + + + + + Performs insertion of the snippet. + + + + + Converts the snippet to text, with replaceable fields in italic. + + + + + Inserts the previously selected text at the selection marker. + + + + + + + ICSharpCode.AvalonEdit.Snippets.SnippetSelectionElement + + + + + + + Gets/Sets the new indentation of the selected text. + + + + + Performs insertion of the snippet. + + + + + Represents a text element in a snippet. + + + + + + + ICSharpCode.AvalonEdit.Snippets.SnippetTextElement + + + + + + + Performs insertion of the snippet. + + + + + The text to be inserted. + + + + + Converts the snippet to text, with replaceable fields in italic. + + + + + Poor man's template specialization: extension methods for Rope<char>. + + + + + Appends text to this rope. + Runs in O(lg N + M). + + newElements is null. + + + + Creates a new rope from the specified text. + + + + + Gets the index of the first occurrence of the search text. + + + + + Gets the index of the first occurrence of any element in the specified array. + + The target rope. + Array of characters being searched. + Start index of the search. + Length of the area to search. + The first index where any character was found; or -1 if no occurrence was found. + + + + Inserts text into this rope. + Runs in O(lg N + M). + + newElements is null. + index or length is outside the valid range. + + + + Gets the index of the last occurrence of the search text. + + + + + Retrieves the text for a portion of the rope. + Runs in O(lg N + M), where M=. + + offset or length is outside the valid range. + + + + Retrieves the text for a portion of the rope and writes it to the specified text writer. + Runs in O(lg N + M), where M=. + + offset or length is outside the valid range. + + + + A IList{T} implementation that has efficient insertion and removal (in O(lg n) time) + and that saves memory by allocating only one node when a value is repeated in adjacent indices. + Based on this "compression", it also supports efficient InsertRange/SetRange/RemoveRange operations. + + + + + Creates a new CompressingTreeList instance. + + The equality comparer used for comparing consequtive values. + A single node may be used to store the multiple values that are considered equal. + + + + Creates a new CompressingTreeList instance. + + A function that checks two values for equality. If this + function returns true, a single node may be used to store the two values. + + + + Adds the specified to the end of the list. + + + + + Removes all items from this list. + + + + + Gets whether this list contains the specified item. + + + + + Copies all items in this list to the specified array. + + + + + Gets the number of items in the list. + + + + + Gets the first index after so that the value at the result index is not + equal to the value at . + That is, this method returns the exclusive end index of the run of equal values. + + + + + Gets an enumerator for this list. + + + + + Gets the number of elements after that have the same value as each other. + + + + + Gets the the first index so that all values from the result index to + are equal. + + + + + Gets the index of the specified . + + + + + Inserts the specified at + + + + Inserts times at position + . + + + + + Gets or sets an item by index. + + + + + Removes the specified item from this list. + + + + + Removes one item at + + + + Removes items starting at position + . + + + + + Sets indices starting at to + + + + + Applies the conversion function to all elements in this CompressingTreeList. + + + + + Applies the conversion function to the elements in the specified range. + + + + + Double-ended queue. + + + + + + + ICSharpCode.AvalonEdit.Utils.Deque`1 + + + + + + Removes all items from the . + The is read-only. + + + Determines whether the contains a specific value. + The object to locate in the . + true if is found in the ; otherwise, false. + + + Copies the elements of the to an , starting at a particular index. + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + is null. + + is less than 0. + + is multidimensional.-or-The number of elements in the source is greater than the available space from to the end of the destination .-or-Type cannot be cast automatically to the type of the destination . + + + Gets the number of elements contained in the . + The number of elements contained in the . + + + Returns an enumerator that iterates through the collection. + A that can be used to iterate through the collection. + + + + Gets/Sets an element inside the deque. + + + + + Pops an element from the end of the deque. + + + + + Pops an element from the end of the deque. + + + + + Adds an element to the end of the deque. + + + + + Adds an element to the front of the deque. + + + + + Helps printing documents. + + + + + + + summary + M:ICSharpCode.AvalonEdit.Utils.DocumentPrinter.ConvertTextDocumentToBlock(ICSharpCode.NRefactory.Editor.IDocument,ICSharpCode.AvalonEdit.Highlighting.IHighlighter) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Utils.DocumentPrinter.ConvertTextDocumentToBlock(ICSharpCode.NRefactory.Editor.ReadOnlyDocument,ICSharpCode.AvalonEdit.Highlighting.IHighlightingDefinition) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Utils.DocumentPrinter.ConvertTextDocumentToRichText(ICSharpCode.NRefactory.Editor.IDocument,ICSharpCode.AvalonEdit.Highlighting.IHighlighter) + + + + + + + + + summary + M:ICSharpCode.AvalonEdit.Utils.DocumentPrinter.ConvertTextDocumentToRichText(ICSharpCode.NRefactory.Editor.ReadOnlyDocument,ICSharpCode.AvalonEdit.Highlighting.IHighlightingDefinition) + + + + + + + Creates a flow document from the editor's contents. + + + + + Class that can open text files with auto-detection of the encoding. + + + + + Gets if the given encoding is a Unicode encoding (UTF). + + + + + Opens the specified file for reading. + + The file to open. + The encoding to use if the encoding cannot be auto-detected. + Returns a StreamReader that reads from the stream. Use + to get the encoding that was used. + + + + Opens the specified stream for reading. + + The stream to open. + The encoding to use if the encoding cannot be auto-detected. + Returns a StreamReader that reads from the stream. Use + to get the encoding that was used. + + + + Reads the content of the given stream. + + The stream to read. + The stream must support seeking and must be positioned at its beginning. + The encoding to use if the encoding cannot be auto-detected. + The file content as string. + + + + Reads the content of the file. + + The file name. + The encoding to use if the encoding cannot be auto-detected. + The file content as string. + + + + An immutable stack. + + Using 'foreach' on the stack will return the items from top to bottom (in the order they would be popped). + + + + + Gets the empty stack instance. + + + + + Gets an enumerator that iterates through the stack top-to-bottom. + + + + + Gets if this stack is empty. + + + + + Gets the item on the top of the stack. + + The stack is empty. + + + + Gets the item on the top of the stack. + Returns default(T) if the stack is empty. + + + + + Gets the stack with the top item removed. + + The stack is empty. + + + + Pushes an item on the stack. This does not modify the stack itself, but returns a new + one with the value pushed. + + + + Returns a that represents the current . + A that represents the current . + + + + A collection that cannot contain null values. + + + + + + + ICSharpCode.AvalonEdit.Utils.NullSafeCollection`1 + + + + + + Inserts an element into the at the specified index. + The zero-based index at which should be inserted. + The object to insert. The value can be null for reference types. + + is less than zero.-or- is greater than . + + + Replaces the element at the specified index. + The zero-based index of the element to replace. + The new value for the element at the specified index. The value can be null for reference types. + + is less than zero.-or- is greater than . + + + + Contains static helper methods for aligning stuff on a whole number of pixels. + + + + + Gets the pixel size on the screen containing visual. + This method does not take transforms on visual into account. + + + + + Aligns on the next middle of a pixel. + + The value that should be aligned + The size of one pixel + + + + Aligns the borders of rect on the middles of pixels. + + + + + Rounds to a whole number of pixels. + + + + + Rounds to whole number of pixels. + + + + + Rounds val to whole number of pixels. + + + + + Rounds to an whole odd number of pixels. + + + + + WeakEventManager for INotifyPropertyChanged.PropertyChanged. + + + + + + + ICSharpCode.AvalonEdit.Utils.PropertyChangedWeakEventManager + + + + + + + A kind of List<T>, but more efficient for random insertions/removal. + Also has cheap Clone() and SubRope() implementations. + + + + + Creates a new rope representing the empty string. + + + + + Creates a rope from the specified input. + This operation runs in O(N). + + input is null. + + + + Creates a new rope that lazily initalizes its content. + + The length of the rope that will be lazily loaded. + + The callback that provides the content for this rope. + will be called exactly once when the content of this rope is first requested. + It must return a rope with the specified length. + Because the initializer function is not called when a rope is cloned, and such clones may be used on another threads, + it is possible for the initializer callback to occur on any thread. + + + + + Creates a rope from a part of the array. + This operation runs in O(N). + + input is null. + + + + Appends the item at the end of the rope. + Runs in O(lg N). + + + + + Appends another rope to the end of this rope. + Runs in O(lg N + lg M), plus a per-node cost as if newElements.Clone() was called. + + newElements is null. + + + + Appends multiple elements to the end of this rope. + Runs in O(lg N + M), where N is the length of this rope and M is the number of new elements. + + newElements is null. + + + + Appends new elements to the end of this rope. + Runs in O(lg N + M), where N is the length of this rope and M is the number of new elements. + + array is null. + + + + Resets the rope to an empty list. + Runs in O(1). + + + + + Clones the rope. + This operation runs in linear time to the number of rope nodes touched since the last clone was created. + If you count the per-node cost to the operation modifying the rope (doing this doesn't increase the complexity of the modification operations); + the remainder of Clone() runs in O(1). + + + + + Concatenates two ropes. The input ropes are not modified. + Runs in O(lg N + lg M). + + + + + Concatenates multiple ropes. The input ropes are not modified. + + + + + Searches the item in the rope. + Runs in O(N). + + + + + Copies the a part of the rope into the specified array. + Runs in O(lg N + M). + + + + + Copies the whole content of the rope into the specified array. + Runs in O(N). + + + + + Gets the length of the rope. + Runs in O(1). + + + + + Retrieves an enumerator to iterate through the rope. + The enumerator will reflect the state of the rope from the GetEnumerator() call, further modifications + to the rope will not be visible to the enumerator. + + + + + Creates a new rope and initializes it with a part of this rope. + Runs in O(lg N) plus a per-node cost as if this.Clone() was called. + + offset or length is outside the valid range. + + + + Finds the first occurance of item. + Runs in O(N). + + The index of the first occurance of item, or -1 if it cannot be found. + + + + Gets the index of the first occurrence the specified item. + + Item to search for. + Start index of the search. + Length of the area to search. + The first index where the item was found; or -1 if no occurrence was found. + + + + Inserts the item at the specified index in the rope. + Runs in O(lg N). + + + + + Inserts another rope into this rope. + Runs in O(lg N + lg M), plus a per-node cost as if newElements.Clone() was called. + + newElements is null. + index or length is outside the valid range. + + + + Inserts new elemetns into this rope. + Runs in O(lg N + M), where N is the length of this rope and M is the number of new elements. + + newElements is null. + index or length is outside the valid range. + + + + Inserts new elements into this rope. + Runs in O(lg N + M), where N is the length of this rope and M is the number of new elements. + + newElements is null. + index or length is outside the valid range. + + + + Gets/Sets a single character. + Runs in O(lg N) for random access. Sequential read-only access benefits from a special optimization and runs in amortized O(1). + + Offset is outside the valid range (0 to Length-1). + + + + Gets the index of the last occurrence of the specified item in this rope. + + + + + Gets the index of the last occurrence of the specified item in this rope. + + The search item + Start index of the area to search. + Length of the area to search. + The last index where the item was found; or -1 if no occurrence was found. + + + + Gets the length of the rope. + Runs in O(1). + + + + + Removes the first occurance of an item from the rope. + Runs in O(N). + + + + + Removes a single item from the rope. + Runs in O(lg N). + + + + + Removes a range of elements from the rope. + Runs in O(lg N). + + offset or length is outside the valid range. + + + + Copies a range of the specified array into the rope, overwriting existing elements. + Runs in O(lg N + M). + + + + + Creates an array and copies the contents of the rope into it. + Runs in O(N). + + + + + Creates an array and copies the contents of the rope into it. + Runs in O(N). + + + + + Creates a string from the rope. Runs in O(N). + + A string consisting of all elements in the rope as comma-separated list in {}. + As a special case, Rope<char> will return its contents as string without any additional separators or braces, + so it can be used like StringBuilder.ToString(). + + + + TextReader implementation that reads text from a rope. + + + + + Creates a new RopeTextReader. + Internally, this method creates a Clone of the rope; so the text reader will always read through the old + version of the rope if it is modified. + + + Reads the next character without changing the state of the reader or the character source. Returns the next available character without actually reading it from the input stream. + An integer representing the next character to be read, or -1 if no more characters are available or the stream does not support seeking. + The is closed. + An I/O error occurs. + + + Reads the next character from the input stream and advances the character position by one character. + The next character from the input stream, or -1 if no more characters are available. The default implementation returns -1. + The is closed. + An I/O error occurs. + + + Reads a maximum of characters from the current stream and writes the data to , beginning at . + When this method returns, contains the specified character array with the values between and ( + - 1) replaced by the characters read from the current source. + The place in at which to begin writing. + The maximum number of characters to read. If the end of the stream is reached before of characters is read into , the current method returns. + The number of characters that have been read. The number will be less than or equal to , depending on whether the data is available within the stream. This method returns zero if called when no more characters are left to read. + + is null. + The buffer length minus is less than . + + or is negative. + The is closed. + An I/O error occurs. + + + + Represents a string with a segment. + Similar to System.ArraySegment<T>, but for strings instead of arrays. + + + + + Creates a new StringSegment. + + + + + Creates a new StringSegment. + + + + + Gets the length of the segment. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Indicates whether this instance and a specified object are equal. + Another object to compare to. + true if and this instance are the same type and represent the same value; otherwise, false. + + + Returns the hash code for this instance. + A 32-bit signed integer that is the hash code for this instance. + + + + Gets the start offset of the segment with the text. + + + + + Equality operator. + + + + + Inequality operator. + + + + + Gets the string used for this segment. + + + + + WeakEventManager with AddListener/RemoveListener and CurrentManager implementation. + Helps implementing the WeakEventManager pattern with less code. + + + + + Creates a new WeakEventManagerBase instance. + + + + + Adds a weak event listener. + + + + + Gets the current manager. + + + + + Removes a weak event listener. + + + + When overridden in a derived class, starts listening for the event being managed. After is first called, the manager should be in the state of calling or whenever the relevant event from the provided source is handled. + The source to begin listening on. + + + + Attaches the event handler. + + + + When overridden in a derived class, stops listening on the provided source for the event being managed. + The source to stop listening on. + + + + Detaches the event handler. + + + + \ No newline at end of file diff --git a/netpoet-coop-8k/packages/SharpDX.4.0.1/SharpDX.4.0.1.nupkg b/netpoet-coop-8k/packages/SharpDX.4.0.1/SharpDX.4.0.1.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..20ce2b280b1cd0ed293fe9cac58abeb6acbd3c2b GIT binary patch literal 1317559 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
9z)YV=`JmUC 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 + + + ICSharpCode.AvalonEdit + + + +

KgJ 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 + + + AvalonEdit + 5.0.2 + Daniel Grunwald + Daniel Grunwald + http://opensource.org/licenses/MIT + http://www.avalonedit.net/ + http://community.sharpdevelop.net/blogs/mattward/SharpDevelop.png + false + AvalonEdit is the WPF-based text editor used in SharpDevelop. There are two builds of AvalonEdit included in this package. One that targets .NET 4.0 and one that targets .NET 3.5. +