diff --git a/TestSuite/extendedProperties.pas b/TestSuite/extendedProperties.pas
new file mode 100644
index 000000000..af308eb22
--- /dev/null
+++ b/TestSuite/extendedProperties.pas
@@ -0,0 +1,16 @@
+type
+ B = class
+ x: real;
+ end;
+ A = class
+ b1 := new B;
+ property X: real read b1.x write begin b1.x := value; Print(value); end;
+ end;
+
+var a1 := new A;
+
+begin
+ a1.X := 2;
+ a1.X.Print;
+ Assert(a1.X = 2);
+end.
\ No newline at end of file
diff --git a/YMC/Components/AspectCore/AspectCore.dll b/YMC/Components/AspectCore/AspectCore.dll
new file mode 100644
index 000000000..40d1f4efe
Binary files /dev/null and b/YMC/Components/AspectCore/AspectCore.dll differ
diff --git a/YMC/Components/AspectCore/GPPGcopyright.rtf b/YMC/Components/AspectCore/GPPGcopyright.rtf
new file mode 100644
index 000000000..b214fd79c
--- /dev/null
+++ b/YMC/Components/AspectCore/GPPGcopyright.rtf
@@ -0,0 +1,195 @@
+{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang3081\deflangfe3081\themelang3081\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
+{\f1\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}
+{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}
+{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f39\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f40\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
+{\f42\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f43\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f44\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f45\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
+{\f46\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f47\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f49\fbidi \fswiss\fcharset238\fprq2 Arial CE;}{\f50\fbidi \fswiss\fcharset204\fprq2 Arial Cyr;}
+{\f52\fbidi \fswiss\fcharset161\fprq2 Arial Greek;}{\f53\fbidi \fswiss\fcharset162\fprq2 Arial Tur;}{\f54\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f55\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}
+{\f56\fbidi \fswiss\fcharset186\fprq2 Arial Baltic;}{\f57\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\f49\fbidi \fswiss\fcharset238\fprq2 Arial CE;}{\f50\fbidi \fswiss\fcharset204\fprq2 Arial Cyr;}
+{\f52\fbidi \fswiss\fcharset161\fprq2 Arial Greek;}{\f53\fbidi \fswiss\fcharset162\fprq2 Arial Tur;}{\f54\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f55\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}
+{\f56\fbidi \fswiss\fcharset186\fprq2 Arial Baltic;}{\f57\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
+{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
+{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
+{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
+{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}
+{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}
+{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
+{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
+{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
+{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
+{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
+{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
+{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
+{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}
+{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}
+{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
+{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
+{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
+{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;
+\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp \fs22 }{\*\defpap
+\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025
+\ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\s1\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \rtlch\fcs1
+\ab\af1\afs32\alang1025 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\kerning32\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink15 \sqformat heading 1;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*
+\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang3081\langfe3081\cgrid\langnp3081\langfenp3081 \snext11 \ssemihidden \sunhideused \sqformat Normal Table;}{\*\cs15 \additive
+\rtlch\fcs1 \ab\af31503\afs32 \ltrch\fcs0 \b\fs32\lang1033\langfe1033\kerning32\loch\f31502\hich\af31502\dbch\af31501\langnp1033\langfenp1033 \sbasedon10 \slink1 \slocked \spriority9 Heading 1 Char;}}{\*\listtable{\list\listtemplateid-1508889896
+\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698703\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li720
+\jclisttab\tx720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698713\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li1440
+\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698715\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0
+\fi-180\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698703\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0
+\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698713\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0
+\ltrch\fcs0 \hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698715\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1
+\af0 \ltrch\fcs0 \hres0\chhres0 \fi-180\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698703\'02\'06.;}{\levelnumbers\'01;}
+\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698713\'02\'07.;}{\levelnumbers
+\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698715
+\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-180\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1123961876}}{\*\listoverridetable{\listoverride\listid1123961876\listoverridecount0\ls1}}{\*\rsidtbl \rsid397295
+\rsid1799385\rsid9001816\rsid13445214}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\title Gardens Point Component Pascal Copyright}{\author gough}{\operator john}
+{\creatim\yr2005\mo2\dy15\hr17\min18}{\revtim\yr2014\mo8\dy24\hr9}{\version5}{\edmins3}{\nofpages1}{\nofwords268}{\nofchars1491}{\*\company Faculty of Information Technology}{\nofcharsws1756}{\vern32774}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/
+office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect
+\widowctrl\ftnbj\aenddoc\trackmoves1\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\noxlattoyen
+\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1440\dgvorigin1440\dghshow1\dgvshow1
+\jexpand\viewkind1\viewscale117\viewzk2\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\rsidroot9001816 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect
+\linex0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4
+\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}
+{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar
+\s1\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af1\afs32\alang1025 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\kerning32\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af1 \ltrch\fcs0 \insrsid397295 Gardens Point Parser Generator}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9001816 Copyright
+\par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9001816
+
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid397295 Copyright }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9001816 2005}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1799385 -2014}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9001816
+ Queensland University of Technology (QUT). All rights reserved.
+\par
+\par Redistribution and use in source and binary forms, with or without modification are permitted provided that the following conditions are met:
+\par
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\langfenp1033\insrsid9001816 \hich\af0\dbch\af0\loch\f0 1.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9001816 Redistribution of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\langfenp1033\insrsid9001816 \hich\af0\dbch\af0\loch\f0 2.\tab}
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials with the distribution.
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9001816
+\par THIS }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid397295 SOFTWARE IS PROVIDED BY THE GPPG}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9001816 PROJECT \'93AS IS\rquote
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE HEREBY DISCLA}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid397295 IMED. IN NO EVENT SHALL THE GPPG}{
+\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9001816
+ PROJECT OR QUT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTIO
+N) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+\par
+\par The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either e}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid397295 xpressed or implied, of the GPPG}{
+\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9001816 project or QUT.
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13445214
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13445214 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13445214 Explanatory note: the source code of GPPG is copyright, as stated above. The }{\rtlch\fcs1
+\af0 \ltrch\fcs0 \i\insrsid13445214\charrsid8993829 outputs}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13445214 produced by running GPPG over syntactic specifications are the property of the specification owner and QUT makes no claim on such outputs.
+\par
+\par }{\*\themedata 504b030414000600080000002100828abc13fa0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb6ac3301045f785fe83d0b6d8
+72ba28a5d8cea249777d2cd20f18e4b12d6a8f843409c9df77ecb850ba082d74231062ce997b55ae8fe3a00e1893f354e9555e6885647de3a8abf4fbee29bbd7
+2a3150038327acf409935ed7d757e5ee14302999a654e99e393c18936c8f23a4dc072479697d1c81e51a3b13c07e4087e6b628ee8cf5c4489cf1c4d075f92a0b
+44d7a07a83c82f308ac7b0a0f0fbf90c2480980b58abc733615aa2d210c2e02cb04430076a7ee833dfb6ce62e3ed7e14693e8317d8cd0433bf5c60f53fea2fe7
+065bd80facb647e9e25c7fc421fd2ddb526b2e9373fed4bb902e182e97b7b461e6bfad3f010000ffff0300504b030414000600080000002100a5d6a7e7c00000
+00360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4fc7060abb08
+84a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b63095120f88d94fbc
+52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462a1a82fe353
+bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f7468656d652f7468
+656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b4b0d592c9c
+070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b4757e8d3f7
+29e245eb2b260a0238fd010000ffff0300504b03041400060008000000210096b5ade296060000501b0000160000007468656d652f7468656d652f7468656d65
+312e786d6cec594f6fdb3614bf0fd87720746f6327761a07758ad8b19b2d4d1bc46e871e698996d850a240d2497d1bdae38001c3ba618715d86d87615b8116d8
+a5fb34d93a6c1dd0afb0475292c5585e9236d88aad3e2412f9e3fbff1e1fa9abd7eec70c1d1221294fda5efd72cd4324f1794093b0eddd1ef62fad79482a9c04
+98f184b4bd2991deb58df7dfbb8ad755446282607d22d771db8b944ad79796a40fc3585ee62949606ecc458c15bc8a702910f808e8c66c69b9565b5d8a314d3c
+94e018c8de1a8fa94fd05093f43672e23d06af89927ac06762a049136785c10607758d9053d965021d62d6f6804fc08f86e4bef210c352c144dbab999fb7b471
+7509af678b985ab0b6b4ae6f7ed9ba6c4170b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83a6569632cd467faddec9699640f671
+9e76b7d6ac355c7c89feca9cccad4ea7d36c65b258a206641f1b73f8b5da6a6373d9c11b90c537e7f08dce66b7bbeae00dc8e257e7f0fd2badd5868b37a088d1
+e4600ead1ddaef67d40bc898b3ed4af81ac0d76a197c86826828a24bb318f3442d8ab518dfe3a20f000d6458d104a9694ac6d88728eee2782428d60cf03ac1a5
+193be4cbb921cd0b495fd054b5bd0f530c1931a3f7eaf9f7af9e3f45c70f9e1d3ff8e9f8e1c3e3073f5a42ceaa6d9c84e5552fbffdeccfc71fa33f9e7ef3f2d1
+17d57859c6fffac327bffcfc793510d26726ce8b2f9ffcf6ecc98baf3efdfdbb4715f04d814765f890c644a29be408edf3181433567125272371be15c308d3f2
+8acd249438c19a4b05fd9e8a1cf4cd296699771c393ac4b5e01d01e5a30a787d72cf1178108989a2159c77a2d801ee72ce3a5c545a6147f32a99793849c26ae6
+6252c6ed637c58c5bb8b13c7bfbd490a75330f4b47f16e441c31f7184e140e494214d273fc80900aedee52ead87597fa824b3e56e82e451d4c2b4d32a423279a
+668bb6690c7e9956e90cfe766cb37b077538abd27a8b1cba48c80acc2a841f12e698f13a9e281c57911ce298950d7e03aba84ac8c154f8655c4f2af074481847
+bd804859b5e696007d4b4edfc150b12addbecba6b18b148a1e54d1bc81392f23b7f84137c2715a851dd0242a633f900710a218ed715505dfe56e86e877f0034e
+16bafb0e258ebb4faf06b769e888340b103d3311da9750aa9d0a1cd3e4efca31a3508f6d0c5c5c398602f8e2ebc71591f5b616e24dd893aa3261fb44f95d843b
+5974bb5c04f4edafb95b7892ec1108f3f98de75dc97d5772bdff7cc95d94cf672db4b3da0a6557f70db629362d72bcb0431e53c6066acac80d699a6409fb44d0
+8741bdce9c0e4971624a2378cceaba830b05366b90e0ea23aaa241845368b0eb9e2612ca8c742851ca251ceccc70256d8d87265dd96361531f186c3d9058edf2
+c00eafe8e1fc5c509031bb4d680e9f39a3154de0accc56ae644441edd76156d7429d995bdd88664a9dc3ad50197c38af1a0c16d684060441db02565e85f3b966
+0d0713cc48a0ed6ef7dedc2dc60b17e92219e180643ed27acffba86e9c94c78ab90980d8a9f0913ee49d62b512b79626fb06dccee2a432bbc60276b9f7dec44b
+7904cfbca4f3f6443ab2a49c9c2c41476dafd55c6e7ac8c769db1bc399161ee314bc2e75cf8759081743be1236ec4f4d6693e5336fb672c5dc24a8c33585b5fb
+9cc24e1d4885545b58463634cc5416022cd19cacfccb4d30eb45296023fd35a458598360f8d7a4003bbaae25e331f155d9d9a5116d3bfb9a95523e51440ca2e0
+088dd844ec6370bf0e55d027a012ae264c45d02f708fa6ad6da6dce29c255df9f6cae0ec38666984b372ab5334cf640b37795cc860de4ae2816e95b21be5ceaf
+8a49f90b52a51cc6ff3355f47e0237052b81f6800fd7b802239daf6d8f0b1571a8426944fdbe80c6c1d40e8816b88b8569082ab84c36ff0539d4ff6dce591a26
+ade1c0a7f669880485fd484582903d284b26fa4e2156cff62e4b9265844c4495c495a9157b440e091bea1ab8aaf7760f4510eaa69a6465c0e04ec69ffb9e65d0
+28d44d4e39df9c1a52ecbd3607fee9cec7263328e5d661d3d0e4f62f44acd855ed7ab33cdf7bcb8ae889599bd5c8b3029895b6825696f6af29c239b75a5bb1e6
+345e6ee6c28117e73586c1a2214ae1be07e93fb0ff51e133fb65426fa843be0fb515c187064d0cc206a2fa926d3c902e907670048d931db4c1a44959d366ad93
+b65abe595f70a75bf03d616c2dd959fc7d4e6317cd99cbcec9c58b34766661c7d6766ca1a9c1b327531486c6f941c638c67cd22a7f75e2a37be0e82db8df9f30
+254d30c1372581a1f51c983c80e4b71ccdd28dbf000000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f74
+68656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f24
+51eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e3198
+720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d9850528
+a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100828abc13fa0000001c0200001300000000000000000000000000
+000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b000000000000000000000000
+002b0100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c00000000000000000000000000140200007468
+656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d001400060008000000210096b5ade296060000501b000016000000000000000000
+00000000d10200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b010000270000000000
+00000000000000009b0900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000960a00000000}
+{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
+617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
+6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
+656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
+{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;
+\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;
+\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7;
+\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 010500000200000018000000
+4d73786d6c322e534158584d4c5265616465722e352e3000000000000000000000060000
+d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffffec69d9888b8b3d4c859eaf6cd158be0f000000000000000000000000d015
+391126bfcf01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000105000000000000}}
\ No newline at end of file
diff --git a/YMC/Components/AspectCore/ParserGenDoc.docx b/YMC/Components/AspectCore/ParserGenDoc.docx
new file mode 100644
index 000000000..5c6acede7
Binary files /dev/null and b/YMC/Components/AspectCore/ParserGenDoc.docx differ
diff --git a/YMC/Components/AspectCore/ParserSources/CSharp.lp b/YMC/Components/AspectCore/ParserSources/CSharp.lp
new file mode 100644
index 000000000..1579d5642
--- /dev/null
+++ b/YMC/Components/AspectCore/ParserSources/CSharp.lp
@@ -0,0 +1,30 @@
+%Extension "cs"
+%CaseSensitive
+%Preprocessor Define="define" Undef="undef" IfDef="if" ElIf="elif" Else="else" End="endif"
+
+Skip Begin "//"
+Skip Begin "#" Preprocessor
+Skip Begin "/*" End "*/"
+Skip BeginEnd "'" EscapeSymbol "'"
+Skip BeginEnd '\"' EscapeSymbol '\\'
+Skip Begin '@\"' End '\"'
+
+Token LetterDigits [[:IsLetterOrDigit:]_&]*
+Token Sign [[:IsPunctuation:][:IsSymbol:]]
+
+Rule tkClassNamespace : @"class" | @"namespace"
+Rule @Block : "{" [Any | Block]* "}"
+Rule Tk : @AnyExcept(tkClassNamespace, "{", "}", ";")
+
+Rule Program : #ProgramNode*
+Rule ProgramNode: #ClassOrNamespace
+ | #Field
+ | #Method
+ | #error
+
+Rule ClassOrNamespace : @Tk* @tkClassNamespace @Tk* "{" #ProgramNode* "}"
+Rule Field : @Tk* ";"
+Rule Method : @Tk* Block
+
+// 20
+// ,
\ No newline at end of file
diff --git a/YMC/Components/AspectCore/ParserSources/Java.lp b/YMC/Components/AspectCore/ParserSources/Java.lp
new file mode 100644
index 000000000..0522c5b0a
--- /dev/null
+++ b/YMC/Components/AspectCore/ParserSources/Java.lp
@@ -0,0 +1,23 @@
+%CaseSensitive
+%Extension "java"
+
+Skip Begin "//"
+Skip Begin "/*" End "*/"
+Skip BeginEnd "'" EscapeSymbol "'"
+Skip BeginEnd '\"' EscapeSymbol '\\'
+
+Token ID [[:IsLetterOrDigit:]_]+
+Token Sign [[:IsPunctuation:][:IsSymbol:]]
+
+//TODO - field initializer: String [] Names = {"1", "2"};
+
+Rule @Code : "{" [Any|Code]* "}"
+
+Rule TKList : @AnyExcept("class", "{", "}", ";")*
+
+Rule Program: #Imports* #Class+
+Rule Imports: @TKList ";"
+Rule Class : @TKList @"class" @ID "{" #ClassEntity* "}"
+Rule ClassEntity : #Field | #Method
+Rule Field : @TKList ";"
+Rule Method : @TKList #Code
diff --git a/YMC/Components/AspectCore/ParserSources/PascalABCNET.lp b/YMC/Components/AspectCore/ParserSources/PascalABCNET.lp
new file mode 100644
index 000000000..947c10ddb
--- /dev/null
+++ b/YMC/Components/AspectCore/ParserSources/PascalABCNET.lp
@@ -0,0 +1,76 @@
+%Extension "pas"
+%CaseInsensitive
+
+Skip Begin "//"
+Skip Begin "#"
+Skip Begin "{" End "}"
+Skip Begin "/*" End "*/"
+Skip BeginEnd "'" EscapeSymbol "'"
+
+Token LetterDigits [[:IsLetterOrDigit:]_&]*
+Token Sign [[:IsPunctuation:][:IsSymbol:]]
+
+Rule tkCodeOpen : @"begin" | @"case" | @"try"
+Rule tkClassOpen : @"class" | @"interface" | @"record"
+Rule tkDefs : @"var" | @"const" | @"label"
+Rule tkClassVisModifier : @"internal" | @"private" | @"protected" | @"public"
+Rule tkMethod : @"procedure" | @"function" | @"constructor" | @"destructor"
+Rule tkDirective : @"forward" | @"external"
+Rule tkDirectiveHeader : @"virtual" | @"override" | @"reintroduce"
+Rule tkInitFinal: @"initialization" | @"finalization"
+Rule tkInterf: @"interface"
+Rule tkImpl: @"implementation"
+
+Rule Params : @"(" [@Any|@Params]* @")"
+Rule @Block : tkCodeOpen [Any | Block]* "end"
+Rule Attribute : @"[" [@Any | @Attribute]* @"]"
+
+Rule Tk: @LetterDigits | @Sign | @Params | @"."
+Rule Tk2: @LetterDigits | @Sign | @Params | @"." | @tkMethod | @"type" | @"[" |@"]"
+
+Rule Program : List0(ProgramNode) [#Block "." | "end" "."] Any*
+
+Rule ProgramNode: #Defs
+ | #Field
+ | #Method
+ | #InitFinal
+ | #InterfacePart
+ | #Attribute
+ | #error
+
+Rule ClassNode : tkClassVisModifier
+ | "class"? #Field
+ | #ClassMethod
+ | #Attribute
+ | #error
+
+Rule InterfacePart: tkInterf #InterfNode* tkImpl
+
+Rule InterfNode: #Defs
+ | #Field
+ | #MethodHeader
+ | #Attribute
+ | #error
+
+Rule Field : @Tk @Tk2* ";"
+Rule Class : @Tk @Tk2* @tkClassOpen @Params? List0(ClassNode) "end" ";"
+
+Rule Method: @MethodHeader #MethodBody
+Rule MethodHeader: @"class"? @tkMethod @Tk* ";" @DirectiveHeader*
+Rule MethodBody: Directive
+ | List0(MethodLocals) #Block ";"
+Rule MethodLocals: #Defs
+ | #Method
+
+Rule ClassMethod: @MethodHeader #ClassMethodBody
+Rule ClassMethodBody: //empty
+ | Directive
+ | List0(Defs) #Block ";"
+Rule Defs : [tkDefs|"type"] List1(FieldOrClass)
+Rule FieldOrClass: #Field | #Class
+
+Rule Directive: @tkDirective @Any* ";"
+Rule DirectiveHeader: @tkDirectiveHeader ";"
+
+Rule InitFinal : @tkInitFinal CodeToken*
+Rule CodeToken: AnyExcept(tkInitFinal, "end", tkCodeOpen) | Block
diff --git a/YMC/Components/AspectCore/ParserSources/XML.lp b/YMC/Components/AspectCore/ParserSources/XML.lp
new file mode 100644
index 000000000..9a941269a
--- /dev/null
+++ b/YMC/Components/AspectCore/ParserSources/XML.lp
@@ -0,0 +1,22 @@
+%CaseSensitive
+%Extension "xml" "xaml"
+
+Skip Begin ""
+
+Token ID [[:IsLetterOrDigit:]_]+
+Token Sign [[:IsPunctuation:][:IsSymbol:]]
+
+Rule TagStart: "<"
+Rule TagEnd: ">"
+
+Rule Program: [#XMLDecl|#DoctypeDcecl|#Tag]+
+
+Rule XMLDecl : TagStart "?" @"xml" #Attribute* "?" TagEnd
+Rule DoctypeDcecl: TagStart "!" @"DOCTYPE" #Attribute* TagEnd
+
+Rule Tag: TagStart @ID #Attribute* TagEnd [#Tag|#Text]* CloseTag
+ | TagStart @ID #Attribute* "/" TagEnd
+Rule CloseTag : TagStart "/" @ID TagEnd
+Rule Attribute: @AnyExcept(">")+ "=" #String
+Rule Text : @AnyExcept("<",">")+
+Rule String : @'\"' @Any* @'\"'
diff --git a/YMC/Components/AspectCore/ParserSources/Yacc.lp b/YMC/Components/AspectCore/ParserSources/Yacc.lp
new file mode 100644
index 000000000..f275c3f8b
--- /dev/null
+++ b/YMC/Components/AspectCore/ParserSources/Yacc.lp
@@ -0,0 +1,28 @@
+%CaseSensitive
+%Extension "y"
+
+Skip Begin "//"
+Skip Begin "/*" End "*/"
+Skip BeginEnd "'" EscapeSymbol "'"
+Skip BeginEnd '\"' EscapeSymbol '\\'
+
+Token LetterDigit [[:IsLetterOrDigit:]_]+
+Token Sign [[:IsPunctuation:][:IsSymbol:]]
+
+Rule @Action : "{" [Any|Action]* "}" // ,
+
+Rule @Program : #Section1 "%%" #Section2 "%%" #Section3 //
+
+Rule @Section1 : List0(S1Node) // 1
+Rule S1Node : @"%{" @Any* @"%}"
+ | @"%" @AnyExcept("%%", "%", "{") @AnyExcept("%%", "%")*
+ | error
+
+Rule @Section2 : List0(yRule) // 2
+Rule yRule : @LetterDigit ":" List1(SubRule, "|") ";" //@LetterDigit ":" List1(SubRule, "|") ";"
+ | error
+Rule SubRule : @List0(subRulePart)
+Rule subRulePart : @AnyExcept("{", "|", ";")
+ | @Action
+
+Rule @Section3 : Any*
\ No newline at end of file
diff --git a/YMC/Components/AspectCore/Parsers/LWParserCS2.dll b/YMC/Components/AspectCore/Parsers/LWParserCS2.dll
new file mode 100644
index 000000000..7458c15e6
Binary files /dev/null and b/YMC/Components/AspectCore/Parsers/LWParserCS2.dll differ
diff --git a/YMC/Components/AspectCore/Parsers/LWParserJava.dll b/YMC/Components/AspectCore/Parsers/LWParserJava.dll
new file mode 100644
index 000000000..346090a64
Binary files /dev/null and b/YMC/Components/AspectCore/Parsers/LWParserJava.dll differ
diff --git a/YMC/Components/AspectCore/Parsers/LWParserPascal.dll b/YMC/Components/AspectCore/Parsers/LWParserPascal.dll
new file mode 100644
index 000000000..9200b947d
Binary files /dev/null and b/YMC/Components/AspectCore/Parsers/LWParserPascal.dll differ
diff --git a/YMC/Components/AspectCore/Parsers/LWParserXML.dll b/YMC/Components/AspectCore/Parsers/LWParserXML.dll
new file mode 100644
index 000000000..4fdafcf2c
Binary files /dev/null and b/YMC/Components/AspectCore/Parsers/LWParserXML.dll differ
diff --git a/YMC/Components/AspectCore/Parsers/LWParserYacc.dll b/YMC/Components/AspectCore/Parsers/LWParserYacc.dll
new file mode 100644
index 000000000..bbb27907b
Binary files /dev/null and b/YMC/Components/AspectCore/Parsers/LWParserYacc.dll differ
diff --git a/YMC/Components/AvalonDock/AvalonDock.XML b/YMC/Components/AvalonDock/AvalonDock.XML
new file mode 100644
index 000000000..e5887a24b
--- /dev/null
+++ b/YMC/Components/AvalonDock/AvalonDock.XML
@@ -0,0 +1,4009 @@
+
+
+
+ AvalonDock
+
+
+
+
+ Provides derived classes an opportunity to handle execute code before to the Parent property changes.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the Parent property.
+
+
+
+
+ IsDragging Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the IsDragging property.
+ This dependency property indicates that this floating window is being dragged.
+
+ The new value for the property.
+
+
+
+ Handles changes to the IsDragging property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the IsDragging property.
+
+
+
+
+ IsMaximized Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the IsMaximized property.
+ This dependency property indicates if the window is maximized.
+
+ The new value for the property.
+
+
+
+ Gets the IsDragging property. This dependency property
+ indicates that this floating window is being dragged.
+
+
+
+
+ Gets the IsMaximized property. This dependency property
+ indicates if the window is maximized.
+
+
+
+
+ Content Dependency Property
+
+
+
+
+ Handles changes to the Content property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the Content property.
+
+
+
+
+ Gets or sets the Content property. This dependency property
+ indicates ....
+
+
+
+
+ Converts a value.
+
+ The value produced by the binding source.
+ The type of the binding target property.
+ The converter parameter to use.
+ The culture to use in the converter.
+
+ A converted value. If the method returns null, the valid null value is used.
+
+
+
+
+ Converts a value.
+
+ The value that is produced by the binding target.
+ The type to convert to.
+ The converter parameter to use.
+ The culture to use in the converter.
+
+ A converted value. If the method returns null, the valid null value is used.
+
+
+
+
+ Removes any empty container not directly referenced by other layout items
+
+
+
+
+ Background Dependency Property
+
+
+
+
+ AnchorableStyle Dependency Property
+
+
+
+
+ Gets or sets the Background property. This dependency property
+ indicates background of the autohide childwindow.
+
+
+
+
+ Gets or sets the AnchorableStyle property. This dependency property
+ indicates the style to apply to the LayoutAnchorableControl hosted in this auto hide window.
+
+
+
+
+ HIGHCONTRAST flags
+
+
+
+
+ BITMAPINFOHEADER Compression type. BI_*.
+
+
+
+
+ CombingRgn flags. RGN_*
+
+
+
+
+ Creates the intersection of the two combined regions.
+
+
+
+
+ Creates the union of two combined regions.
+
+
+
+
+ Creates the union of two combined regions except for any overlapping areas.
+
+
+
+
+ Combines the parts of hrgnSrc1 that are not part of hrgnSrc2.
+
+
+
+
+ Creates a copy of the region identified by hrgnSrc1.
+
+
+
+
+ For IWebBrowser2. OLECMDEXECOPT_*
+
+
+
+
+ For IWebBrowser2. OLECMDF_*
+
+
+
+
+ For IWebBrowser2. OLECMDID_*
+
+
+
+
+ For IWebBrowser2. READYSTATE_*
+
+
+
+
+ DATAOBJ_GET_ITEM_FLAGS. DOGIF_*.
+
+
+
+ Use the system default, which is to display all error dialog boxes.
+
+
+
+ The system does not display the critical-error-handler message box.
+ Instead, the system sends the error to the calling process.
+
+
+
+
+ 64-bit Windows: The system automatically fixes memory alignment faults and makes them
+ invisible to the application. It does this for the calling process and any descendant processes.
+ After this value is set for a process, subsequent attempts to clear the value are ignored.
+
+
+
+
+ The system does not display the general-protection-fault message box.
+ This flag should only be set by debugging applications that handle general
+ protection (GP) faults themselves with an exception handler.
+
+
+
+
+ The system does not display a message box when it fails to find a file.
+ Instead, the error is returned to the calling process.
+
+
+
+
+ Non-client hit test values, HT*
+
+
+
+
+ GetClassLongPtr values, GCLP_*
+
+
+
+
+ GetWindowLongPtr values, GWL_*
+
+
+
+
+ SystemMetrics. SM_*
+
+
+
+
+ SystemParameterInfo values, SPI_*
+
+
+
+
+ SystemParameterInfo flag values, SPIF_*
+
+
+
+
+ CS_*
+
+
+
+
+ WindowStyle values, WS_*
+
+
+
+
+ Window message values, WM_*
+
+
+
+
+ Window style extended values, WS_EX_*
+
+
+
+
+ GetDeviceCaps nIndex values.
+
+
+
+ Number of bits per pixel
+
+
+
+
+ Number of planes
+
+
+
+
+ Logical pixels inch in X
+
+
+
+
+ Logical pixels inch in Y
+
+
+
+
+ "FILEOP_FLAGS", FOF_*.
+
+
+
+
+ EnableMenuItem uEnable values, MF_*
+
+
+
+
+ Possible return value for EnableMenuItem
+
+
+
+ Specifies the type of visual style attribute to set on a window.
+
+
+ Non-client area window attributes will be set.
+
+
+
+ DWMFLIP3DWINDOWPOLICY. DWMFLIP3D_*
+
+
+
+
+ DWMNCRENDERINGPOLICY. DWMNCRP_*
+
+
+
+
+ DWMWINDOWATTRIBUTE. DWMWA_*
+
+
+
+
+ WindowThemeNonClientAttributes
+
+
+
+ Prevents the window caption from being drawn.
+
+
+ Prevents the system icon from being drawn.
+
+
+ Prevents the system icon menu from appearing.
+
+
+ Prevents mirroring of the question mark, even in right-to-left (RTL) layout.
+
+
+ A mask that contains all the valid bits.
+
+
+
+ SetWindowPos options
+
+
+
+
+ ShowWindow options
+
+
+
+
+ SCF_ISSECURE
+
+
+
+
+ GDI+ Status codes
+
+
+
+
+ MSGFLT_*. New in Vista. Realiased in Windows 7.
+
+
+
+
+ Shell_NotifyIcon messages. NIM_*
+
+
+
+
+ SHAddToRecentDocuments flags. SHARD_*
+
+
+
+
+ Shell_NotifyIcon flags. NIF_*
+
+
+
+
+ Vista only.
+
+
+
+
+ Vista only.
+
+
+
+
+ Shell_NotifyIcon info flags. NIIF_*
+
+
+
+ XP SP2 and later.
+
+
+ XP and later.
+
+
+ Vista and later.
+
+
+ Windows 7 and later
+
+
+ XP and later. Native version called NIIF_ICON_MASK.
+
+
+
+ AC_*
+
+
+
+
+ The state of the icon. There are two flags that can be set independently.
+ NIS_HIDDEN = 1. The icon is hidden.
+ NIS_SHAREDICON = 2. The icon is shared.
+
+
+
+ The idlist for the shell item that should be added to the recent docs folder.
+
+
+ The id of the application that should be associated with this recent doc.
+
+
+ Defines options that are used to set window visual style attributes.
+
+
+
+ A combination of flags that modify window visual style attributes.
+ Can be a combination of the WTNCA constants.
+
+
+
+
+ A bitmask that describes how the values specified in dwFlags should be applied.
+ If the bit corresponding to a value in dwFlags is 0, that flag will be removed.
+ If the bit is 1, the flag will be added.
+
+
+
+ Width of left border that retains its size.
+
+
+ Width of right border that retains its size.
+
+
+ Height of top border that retains its size.
+
+
+ Height of bottom border that retains its size.
+
+
+ Delegate declaration that matches native WndProc signatures.
+
+
+ Delegate declaration that matches native WndProc signatures.
+
+
+ Delegate declaration that matches managed WndProc signatures.
+
+
+
+ Sets attributes to control how visual styles are applied to a specified window.
+
+
+ Handle to a window to apply changes to.
+
+
+ Value of type WINDOWTHEMEATTRIBUTETYPE that specifies the type of attribute to set.
+ The value of this parameter determines the type of data that should be passed in the pvAttribute parameter.
+ Can be the following value:
+ WTA_NONCLIENT (Specifies non-client related attributes).
+ pvAttribute must be a pointer of type WTA_OPTIONS.
+
+
+ A pointer that specifies attributes to set. Type is determined by the value of the eAttribute value.
+
+
+ Specifies the size, in bytes, of the data pointed to by pvAttribute.
+
+
+
+ Overload of SystemParametersInfo for getting and setting NONCLIENTMETRICS.
+
+
+ Overload of SystemParametersInfo for getting and setting HIGHCONTRAST.
+
+
+
+ Sets the User Model AppID for the current process, enabling Windows to retrieve this ID
+
+
+
+
+
+ Retrieves the User Model AppID that has been explicitly set for the current process via SetCurrentProcessExplicitAppUserModelID
+
+
+
+
+
+ Convert a point in device independent pixels (1/96") to a point in the system coordinates.
+
+ A point in the logical coordinate system.
+ Returns the parameter converted to the system's coordinates.
+
+
+
+ Convert a point in system coordinates to a point in device independent pixels (1/96").
+
+ A point in the physical coordinate system.
+ Returns the parameter converted to the device independent coordinate system.
+
+
+ A static class for verifying assumptions.
+
+
+
+ Executes the specified argument.
+
+ The function to execute.
+
+
+ Obsolete: Use Standard.Assert.AreEqual instead of Assert.Equals
+ The generic type to compare for equality.
+ The first generic type data to compare. This is is the expected value.
+ The second generic type data to compare. This is the actual value.
+
+
+
+ Verifies that two generic type data are equal. The assertion fails if they are not.
+
+ The generic type to compare for equality.
+ The first generic type data to compare. This is is the expected value.
+ The second generic type data to compare. This is the actual value.
+ This breaks into the debugger in the case of a failed assertion.
+
+
+
+ Verifies that two generic type data are not equal. The assertion fails if they are.
+
+ The generic type to compare for inequality.
+ The first generic type data to compare. This is is the value that's not expected.
+ The second generic type data to compare. This is the actual value.
+ This breaks into the debugger in the case of a failed assertion.
+
+
+
+ Verifies that if the specified condition is true, then so is the result.
+ The assertion fails if the condition is true but the result is false.
+
+ if set to true [condition].
+
+ A second Boolean statement. If the first was true then so must this be.
+ If the first statement was false then the value of this is ignored.
+
+ This breaks into the debugger in the case of a failed assertion.
+
+
+
+ Lazy evaluation overload. Verifies that if a condition is true, then so is a secondary value.
+
+ The conditional value.
+ A function to be evaluated for truth if the condition argument is true.
+
+ This overload only evaluates the result if the first condition is true.
+
+
+
+
+ Verifies that a string has content. I.e. it is not null and it is not empty.
+
+ The string to verify.
+
+
+
+ Verifies that a string has content. I.e. it is not null and it is not purely whitespace.
+
+ The string to verify.
+
+
+
+ Verifies the specified value is not null. The assertion fails if it is.
+
+ The generic reference type.
+ The value to check for nullness.
+ This breaks into the debugger in the case of a failed assertion.
+
+
+
+ Verifies that the specified condition is false. The assertion fails if it is true.
+
+ The expression that should be false.
+ This breaks into the debugger in the case of a failed assertion.
+
+
+
+ Verifies that the specified condition is false. The assertion fails if it is true.
+
+ The expression that should be false.
+ The message to display if the condition is true.
+ This breaks into the debugger in the case of a failed assertion.
+
+
+
+ Verifies that the specified condition is true. The assertion fails if it is not.
+
+ A condition that is expected to be true.
+ This breaks into the debugger in the case of a failed assertion.
+
+
+
+ Verifies that the specified condition is true. The assertion fails if it is not.
+
+ A condition that is expected to be true.
+ The message to write in case the condition is false.
+ This breaks into the debugger in the case of a failed assertion.
+
+
+
+ This line should never be executed. The assertion always fails.
+
+ This breaks into the debugger in the case of a failed assertion.
+
+
+
+ This line should never be executed. The assertion always fails.
+
+ The message to display if this function is executed.
+ This breaks into the debugger in the case of a failed assertion.
+
+
+
+ Verifies that the specified object is null. The assertion fails if it is not.
+
+ The item to verify is null.
+
+
+
+ Verifies that the specified value is within the expected range. The assertion fails if it isn't.
+
+ The lower bound inclusive value.
+ The value to verify.
+ The upper bound inclusive value.
+
+
+
+ Verifies that the specified value is within the expected range. The assertion fails if it isn't.
+
+ The lower bound inclusive value.
+ The value to verify.
+ The upper bound exclusive value.
+
+
+
+ Verify the current thread's apartment state is what's expected. The assertion fails if it isn't
+
+
+ The expected apartment state for the current thread.
+
+ This breaks into the debugger in the case of a failed assertion.
+
+
+ A function signature for Assert.Evaluate.
+
+
+ A function signature for Assert.Implies.
+ Returns the truth of a predicate.
+
+
+
+ Model Dependency Property
+
+
+
+
+ Handles changes to the Model property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the Model property.
+
+
+
+
+ LayoutItem Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the LayoutItem property.
+ This dependency property indicates the LayoutItem attached to this tag item.
+
+ The new value for the property.
+
+
+
+ Gets or sets the Model property. This dependency property
+ indicates the layout content model attached to the tab item.
+
+
+
+
+ Gets the LayoutItem property. This dependency property
+ indicates the LayoutItem attached to this tag item.
+
+
+
+ The Window that's chrome is being modified.
+
+
+ Underlying HWND for the _window.
+
+
+ Object that describes the current modifications being made to the chrome.
+
+
+ Add and remove a native WindowStyle from the HWND.
+ The styles to be removed. These can be bitwise combined.
+ The styles to be added. These can be bitwise combined.
+ Whether the styles of the HWND were modified as a result of this call.
+
+
+
+ Get the WindowState as the native HWND knows it to be. This isn't necessarily the same as what Window thinks.
+
+
+
+
+ Get the bounding rectangle for the window in physical coordinates.
+
+ The bounding rectangle for the window.
+
+
+
+ Update the items in the system menu based on the current, or assumed, WindowState.
+
+
+ The state to assume that the Window is in. This can be null to query the Window's state.
+
+
+ We want to update the menu while we have some control over whether the caption will be repainted.
+
+
+
+
+ Matrix of the HT values to return when responding to NC window messages.
+
+
+
+
+ Private constructor. The public way to access this class is through the static Current property.
+
+
+
+
+ IsDraggingOver Attached Dependency Property
+
+
+
+
+ Gets the IsDraggingOver property. This dependency property
+ indicates if user is dragging a window over the target element.
+
+
+
+
+ Sets the IsDraggingOver property. This dependency property
+ indicates if user is dragging away a window from the target element.
+
+
+
+
+ Model Dependency Property
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the Model property.
+
+
+
+
+ LayoutItem Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the LayoutItem property.
+ This dependency property indicates the LayoutItem attached to this tag item.
+
+ The new value for the property.
+
+
+
+ Gets or sets the Model property. This dependency property
+ indicates model attached to this view.
+
+
+
+
+ Gets the LayoutItem property. This dependency property
+ indicates the LayoutItem attached to this tag item.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the IsSelected property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the IsActive property.
+
+
+
+
+ Test if the content can be closed
+
+
+
+
+
+ Close the content
+
+ Please note that usually the anchorable is only hidden (not closed). By default when user click the X button it only hides the content.
+
+
+
+ Float the content in a popup window
+
+
+
+
+ Dock the content as document
+
+
+
+
+ Re-dock the content to its previous container
+
+
+
+
+ Event fired when the content is closed (i.e. removed definitely from the layout)
+
+
+
+
+ Event fired when the content is about to be closed (i.e. removed definitely from the layout)
+
+ Please note that LayoutAnchorable also can be hidden. Usually user hide anchorables when click the 'X' button. To completely close
+ an anchorable the user should click the 'Close' menu item from the context menu. When an LayoutAnchorable is hidden its visibility changes to false and
+ IsHidden property is set to true.
+ Hanlde the Hiding event for the LayoutAnchorable to cancel the hide operation.
+
+
+
+ IsLeftSide Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the IsLeftSide property.
+ This dependency property indicates this control is anchored to left side.
+
+ The new value for the property.
+
+
+
+ IsTopSide Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the IsTopSide property.
+ This dependency property indicates this control is anchored to top side.
+
+ The new value for the property.
+
+
+
+ IsRightSide Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the IsRightSide property.
+ This dependency property indicates this control is anchored to right side.
+
+ The new value for the property.
+
+
+
+ IsBottomSide Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the IsBottomSide property.
+ This dependency property indicates if this panel is anchored to bottom side.
+
+ The new value for the property.
+
+
+
+ Gets the IsLeftSide property. This dependency property
+ indicates this control is anchored to left side.
+
+
+
+
+ Gets the IsTopSide property. This dependency property
+ indicates this control is anchored to top side.
+
+
+
+
+ Gets the IsRightSide property. This dependency property
+ indicates this control is anchored to right side.
+
+
+
+
+ Gets the IsBottomSide property. This dependency property
+ indicates if this panel is anchored to bottom side.
+
+
+
+ Display the system menu at a specified location.
+ The location to display the system menu, in logical screen coordinates.
+
+
+
+ Title Dependency Property
+
+
+
+
+ Handles changes to the Title property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the Title property.
+
+
+
+
+ IconSource Dependency Property
+
+
+
+
+ Handles changes to the IconSource property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the IconSource property.
+
+
+
+
+ ContentId Dependency Property
+
+
+
+
+ Handles changes to the ContentId property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the ContentId property.
+
+
+
+
+ IsSelected Dependency Property
+
+
+
+
+ Handles changes to the IsSelected property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the IsSelected property.
+
+
+
+
+ IsActive Dependency Property
+
+
+
+
+ Handles changes to the IsActive property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the IsActive property.
+
+
+
+
+ CanClose Dependency Property
+
+
+
+
+ Handles changes to the CanClose property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the CanClose property.
+
+
+
+
+ CanFloat Dependency Property
+
+
+
+
+ Handles changes to the CanFloat property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the CanFloat property.
+
+
+
+
+ CloseCommand Dependency Property
+
+
+
+
+ Handles changes to the CloseCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the CloseCommand property.
+
+
+
+
+ Coerces the CloseCommand value.
+
+
+
+
+ FloatCommand Dependency Property
+
+
+
+
+ Handles changes to the FloatCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the FloatCommand property.
+
+
+
+
+ Coerces the FloatCommand value.
+
+
+
+
+ DockAsDocumentCommand Dependency Property
+
+
+
+
+ Handles changes to the DockAsDocumentCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DockAsDocumentCommand property.
+
+
+
+
+ Coerces the DockAsDocumentCommand value.
+
+
+
+
+ CloseAllButThisCommand Dependency Property
+
+
+
+
+ Handles changes to the CloseAllButThisCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the CloseAllButThisCommand property.
+
+
+
+
+ Coerces the CloseAllButThisCommand value.
+
+
+
+
+ ActivateCommand Dependency Property
+
+
+
+
+ Handles changes to the ActivateCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the ActivateCommand property.
+
+
+
+
+ Coerces the ActivateCommand value.
+
+
+
+
+ NewVerticalTabGroupCommand Dependency Property
+
+
+
+
+ Handles changes to the NewVerticalTabGroupCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the NewVerticalTabGroupCommand property.
+
+
+
+
+ NewHorizontalTabGroupCommand Dependency Property
+
+
+
+
+ Handles changes to the NewHorizontalTabGroupCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the NewHorizontalTabGroupCommand property.
+
+
+
+
+ MoveToNextTabGroupCommand Dependency Property
+
+
+
+
+ Handles changes to the MoveToNextTabGroupCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the MoveToNextTabGroupCommand property.
+
+
+
+
+ MoveToPreviousTabGroupCommand Dependency Property
+
+
+
+
+ Handles changes to the MoveToPreviousTabGroupCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the MoveToPreviousTabGroupCommand property.
+
+
+
+
+ Gets or sets the Title property. This dependency property
+ indicates the title of the element.
+
+
+
+
+ Gets or sets the IconSource property. This dependency property
+ indicates icon associated with the item.
+
+
+
+
+ Gets or sets the ContentId property. This dependency property
+ indicates the content id used to retrive content when deserializing layouts.
+
+
+
+
+ Gets or sets the IsSelected property. This dependency property
+ indicates if the item is selected inside its container.
+
+
+
+
+ Gets or sets the IsActive property. This dependency property
+ indicates if the item is active in the UI.
+
+
+
+
+ Gets or sets the CanClose property. This dependency property
+ indicates if the item can be closed.
+
+
+
+
+ Gets or sets the CanFloat property. This dependency property
+ indicates if user can move the layout element dragging it to another position.
+
+
+
+
+ Gets or sets the CloseCommand property. This dependency property
+ indicates the command to execute when user click the document close button.
+
+
+
+
+ Gets or sets the FloatCommand property. This dependency property
+ indicates the command to execute when user click the float button.
+
+ By default this command move the anchorable inside new floating window.
+
+
+
+ Gets or sets the DockAsDocumentCommand property. This dependency property
+ indicates the command to execute when user click the DockAsDocument button.
+
+ By default this command move the anchorable inside the last focused document pane.
+
+
+
+ Gets or sets the CloseAllButThisCommand property. This dependency property
+ indicates the 'Close All But This' command.
+
+
+
+
+ Gets or sets the ActivateCommand property. This dependency property
+ indicates the command to execute when user wants to activate a content (either a Document or an Anchorable).
+
+
+
+
+ Gets or sets the NewVerticalTabGroupCommand property. This dependency property
+ indicates the new vertical tab group command.
+
+
+
+
+ Gets or sets the NewHorizontalTabGroupCommand property. This dependency property
+ indicates the new horizontal tab group command.
+
+
+
+
+ Gets or sets the MoveToNextTabGroupCommand property. This dependency property
+ indicates move to next tab group command.
+
+
+
+
+ Gets or sets the MoveToPreviousTabGroupCommand property. This dependency property
+ indicates move to rpevious tab group command.
+
+
+
+
+ Description Dependency Property
+
+
+
+
+ Handles changes to the Description property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the Description property.
+
+
+
+
+ Gets or sets the Description property. This dependency property
+ indicates the description to display for the document item.
+
+
+
+
+ Model Dependency Property
+
+
+
+
+ Handles changes to the Model property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the Model property.
+
+
+
+
+ LayoutItem Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the LayoutItem property.
+ This dependency property indicates the LayoutItem attached to this tag item.
+
+ The new value for the property.
+
+
+
+ Gets or sets the Model property. This dependency property
+ indicates the model attached to this view.
+
+
+
+
+ Gets the LayoutItem property. This dependency property
+ indicates the LayoutItem attached to this tag item.
+
+
+
+
+ IconTemplate Dependency Property
+
+
+
+
+ Handles changes to the IconTemplate property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the IconTemplate property.
+
+
+
+
+ IconTemplateSelector Dependency Property
+
+
+
+
+ Handles changes to the IconTemplateSelector property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the IconTemplateSelector property.
+
+
+
+
+ Gets or sets the IconTemplate property. This dependency property
+ indicates the data template for the icon.
+
+
+
+
+ Gets or sets the IconTemplateSelector property. This dependency property
+ indicates the DataTemplateSelector for the Icon.
+
+
+
+
+ Special window handles
+
+
+
+
+ Changes an attribute of the specified window. The function also sets the 32-bit (long) value at the specified offset into the extra window memory.
+
+ A handle to the window and, indirectly, the class to which the window belongs..
+ The zero-based offset to the value to be set. Valid values are in the range zero through the number of bytes of extra window memory, minus the size of an integer. To set any other value, specify one of the following values: GWL_EXSTYLE, GWL_HINSTANCE, GWL_ID, GWL_STYLE, GWL_USERDATA, GWL_WNDPROC
+ The replacement value.
+ If the function succeeds, the return value is the previous value of the specified 32-bit integer.
+ If the function fails, the return value is zero. To get extended error information, call GetLastError.
+
+
+
+ SetWindowPos Flags
+
+
+
+ If the calling thread and the thread that owns the window are attached to different input queues,
+ the system posts the request to the thread that owns the window. This prevents the calling thread from
+ blocking its execution while other threads process the request.
+ SWP_ASYNCWINDOWPOS
+
+
+ Prevents generation of the WM_SYNCPAINT message.
+ SWP_DEFERERASE
+
+
+ Draws a frame (defined in the window's class description) around the window.
+ SWP_DRAWFRAME
+
+
+ Applies new frame styles set using the SetWindowLong function. Sends a WM_NCCALCSIZE message to
+ the window, even if the window's size is not being changed. If this flag is not specified, WM_NCCALCSIZE
+ is sent only when the window's size is being changed.
+ SWP_FRAMECHANGED
+
+
+ Hides the window.
+ SWP_HIDEWINDOW
+
+
+ Does not activate the window. If this flag is not set, the window is activated and moved to the
+ top of either the topmost or non-topmost group (depending on the setting of the hWndInsertAfter
+ parameter).
+ SWP_NOACTIVATE
+
+
+ Discards the entire contents of the client area. If this flag is not specified, the valid
+ contents of the client area are saved and copied back into the client area after the window is sized or
+ repositioned.
+ SWP_NOCOPYBITS
+
+
+ Retains the current position (ignores X and Y parameters).
+ SWP_NOMOVE
+
+
+ Does not change the owner window's position in the Z order.
+ SWP_NOOWNERZORDER
+
+
+ Does not redraw changes. If this flag is set, no repainting of any kind occurs. This applies to
+ the client area, the nonclient area (including the title bar and scroll bars), and any part of the parent
+ window uncovered as a result of the window being moved. When this flag is set, the application must
+ explicitly invalidate or redraw any parts of the window and parent window that need redrawing.
+ SWP_NOREDRAW
+
+
+ Same as the SWP_NOOWNERZORDER flag.
+ SWP_NOREPOSITION
+
+
+ Prevents the window from receiving the WM_WINDOWPOSCHANGING message.
+ SWP_NOSENDCHANGING
+
+
+ Retains the current size (ignores the cx and cy parameters).
+ SWP_NOSIZE
+
+
+ Retains the current Z order (ignores the hWndInsertAfter parameter).
+ SWP_NOZORDER
+
+
+ Displays the window.
+ SWP_SHOWWINDOW
+
+
+
+ Direct insert/remove operation has been perfomed to the group
+
+
+
+
+ An element below in the hierarchy as been added/removed
+
+
+
+
+ A static class for retail validated assertions.
+ Instead of breaking into the debugger an exception is thrown.
+
+
+
+
+ Ensure that the current thread's apartment state is what's expected.
+
+
+ The required apartment state for the current thread.
+
+
+ The message string for the exception to be thrown if the state is invalid.
+
+
+ Thrown if the calling thread's apartment state is not the same as the requiredState.
+
+
+
+
+ Ensure that an argument is neither null nor empty.
+
+ The string to validate.
+ The name of the parameter that will be presented if an exception is thrown.
+
+
+
+ Ensure that an argument is neither null nor does it consist only of whitespace.
+
+ The string to validate.
+ The name of the parameter that will be presented if an exception is thrown.
+
+
+ Verifies that an argument is not null.
+ Type of the object to validate. Must be a class.
+ The object to validate.
+ The name of the parameter that will be presented if an exception is thrown.
+
+
+ Verifies that an argument is not null.
+ Type of the object to validate. Must be a class.
+ The object to validate.
+ The name of the parameter that will be presented if an exception is thrown.
+
+
+ Verifies that an argument is null.
+ Type of the object to validate. Must be a class.
+ The object to validate.
+ The name of the parameter that will be presented if an exception is thrown.
+
+
+
+ Verifies the specified statement is true. Throws an ArgumentException if it's not.
+
+ The statement to be verified as true.
+ Name of the parameter to include in the ArgumentException.
+
+
+
+ Verifies the specified statement is true. Throws an ArgumentException if it's not.
+
+ The statement to be verified as true.
+ Name of the parameter to include in the ArgumentException.
+ The message to include in the ArgumentException.
+
+
+
+ Verifies that the specified value is within the expected range. The assertion fails if it isn't.
+
+ The lower bound inclusive value.
+ The value to verify.
+ The upper bound exclusive value.
+
+
+
+ Get the input element that was focused before user left the layout element
+
+ Element to look for
+ Input element
+
+
+
+ Get the last window handle focused before user left the element passed as argument
+
+
+
+
+
+
+ Given a layout element tries to set the focus of the keyword where it was before user moved to another element
+
+
+
+
+
+ SingleContentLayoutItem Dependency Property
+
+
+
+
+ Handles changes to the SingleContentLayoutItem property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the SingleContentLayoutItem property.
+
+
+
+
+ Gets or sets the SingleContentLayoutItem property. This dependency property
+ indicates the layout item of the selected content when is shown a single anchorable pane.
+
+
+
+
+ Wraps a managed stream instance into an interface pointer consumable by COM.
+
+
+
+
+ Initializes a new instance of the ManagedIStream class with the specified managed Stream object.
+
+
+ The stream that this IStream reference is wrapping.
+
+
+
+
+ Creates a new stream object with its own seek pointer that
+ references the same bytes as the original stream.
+
+
+ When this method returns, contains the new stream object. This parameter is passed uninitialized.
+
+
+ For more information, see the existing documentation for IStream::Clone in the MSDN library.
+ This class doesn't implement Clone. A COMException is thrown if it is used.
+
+
+
+
+ Ensures that any changes made to a stream object that is open in transacted
+ mode are reflected in the parent storage.
+
+
+ A value that controls how the changes for the stream object are committed.
+
+
+ For more information, see the existing documentation for IStream::Commit in the MSDN library.
+
+
+
+
+ Copies a specified number of bytes from the current seek pointer in the
+ stream to the current seek pointer in another stream.
+
+
+ A reference to the destination stream.
+
+
+ The number of bytes to copy from the source stream.
+
+
+ On successful return, contains the actual number of bytes read from the source.
+ (Note the native signature is to a ULARGE_INTEGER*, so 64 bits are written
+ to this parameter on success.)
+
+
+ On successful return, contains the actual number of bytes written to the destination.
+ (Note the native signature is to a ULARGE_INTEGER*, so 64 bits are written
+ to this parameter on success.)
+
+
+
+
+ Restricts access to a specified range of bytes in the stream.
+
+
+ The byte offset for the beginning of the range.
+
+
+ The length of the range, in bytes, to restrict.
+
+
+ The requested restrictions on accessing the range.
+
+
+ For more information, see the existing documentation for IStream::LockRegion in the MSDN library.
+ This class doesn't implement LockRegion. A COMException is thrown if it is used.
+
+
+
+
+ Reads a specified number of bytes from the stream object into memory starting at the current seek pointer.
+
+
+ When this method returns, contains the data read from the stream. This parameter is passed uninitialized.
+
+
+ The number of bytes to read from the stream object.
+
+
+ A pointer to a ULONG variable that receives the actual number of bytes read from the stream object.
+
+
+ For more information, see the existing documentation for ISequentialStream::Read in the MSDN library.
+
+
+
+
+ Discards all changes that have been made to a transacted stream since the last Commit call.
+
+
+ This class doesn't implement Revert. A COMException is thrown if it is used.
+
+
+
+
+ Changes the seek pointer to a new location relative to the beginning of the
+ stream, to the end of the stream, or to the current seek pointer.
+
+
+ The displacement to add to dwOrigin.
+
+
+ The origin of the seek. The origin can be the beginning of the file, the current seek pointer, or the end of the file.
+
+
+ On successful return, contains the offset of the seek pointer from the beginning of the stream.
+ (Note the native signature is to a ULARGE_INTEGER*, so 64 bits are written
+ to this parameter on success.)
+
+
+ For more information, see the existing documentation for IStream::Seek in the MSDN library.
+
+
+
+
+ Changes the size of the stream object.
+
+
+ The new size of the stream as a number of bytes.
+
+
+ For more information, see the existing documentation for IStream::SetSize in the MSDN library.
+
+
+
+
+ Retrieves the STATSTG structure for this stream.
+
+
+ When this method returns, contains a STATSTG structure that describes this stream object.
+ This parameter is passed uninitialized.
+
+
+ Members in the STATSTG structure that this method does not return, thus saving some memory allocation operations.
+
+
+
+
+ Removes the access restriction on a range of bytes previously restricted with the LockRegion method.
+
+ The byte offset for the beginning of the range.
+
+
+ The length, in bytes, of the range to restrict.
+
+
+ The access restrictions previously placed on the range.
+
+
+ For more information, see the existing documentation for IStream::UnlockRegion in the MSDN library.
+ This class doesn't implement UnlockRegion. A COMException is thrown if it is used.
+
+
+
+
+ Writes a specified number of bytes into the stream object starting at the current seek pointer.
+
+
+ The buffer to write this stream to.
+
+
+ The number of bytes to write to the stream.
+
+
+ On successful return, contains the actual number of bytes written to the stream object.
+ If the caller sets this pointer to null, this method does not provide the actual number
+ of bytes written.
+
+
+
+
+ Releases resources controlled by this object.
+
+
+ Dispose can be called multiple times, but trying to use the object
+ after it has been disposed will generally throw ObjectDisposedExceptions.
+
+
+
+ ShellItem attribute flags. SIATTRIBFLAGS_*
+
+
+
+ Flags for SetTabProperties. STPF_*
+
+ The native enum was called STPFLAG.
+
+
+
+ Flags for Setting Taskbar Progress state. TBPF_*
+
+
+ The native enum was called TBPFLAG.
+
+
+
+
+ THUMBBUTTON mask. THB_*
+
+
+
+
+ THUMBBUTTON flags. THBF_*
+
+
+
+
+ GetPropertyStoreFlags. GPS_*.
+
+
+ These are new for Vista, but are used in downlevel components
+
+
+
+
+ KNOWNDESTCATEGORY. KDC_*
+
+
+
+ Objects can be copied
+ DROPEFFECT_COPY
+
+
+ Objects can be moved
+ DROPEFFECT_MOVE
+
+
+ Objects can be linked
+
+ DROPEFFECT_LINK.
+
+ If this bit is set on an item in the shell folder, a
+ 'Create Shortcut' menu item will be added to the File
+ menu and context menus for the item. If the user selects
+ that command, your IContextMenu::InvokeCommand() will be called
+ with 'link'.
+ That flag will also be used to determine if 'Create Shortcut'
+ should be added when the item in your folder is dragged to another
+ folder.
+
+
+
+ supports BindToObject(IID_IStorage)
+
+
+ Objects can be renamed
+
+
+ Objects can be deleted
+
+
+ Objects have property sheets
+
+
+ Objects are drop target
+
+
+ Object is encrypted (use alt color)
+
+
+ 'Slow' object
+
+
+ Ghosted icon
+
+
+ Shortcut (link)
+
+
+ Shared
+
+
+ Read-only
+
+
+ Hidden object
+
+
+ May contain children with SFGAO_FILESYSTEM
+
+
+ Support BindToObject(IID_IShellFolder)
+
+
+ Is a win32 file system object (file/folder/root)
+
+
+ May contain children with SFGAO_FOLDER (may be slow)
+
+
+ Invalidate cached information (may be slow)
+
+
+ Is this removeable media?
+
+
+ Object is compressed (use alt color)
+
+
+ Supports IShellFolder, but only implements CreateViewObject() (non-folder view)
+
+
+ Is a non-enumerated object (should be hidden)
+
+
+ Should show bold in explorer tree
+
+
+ Obsolete
+
+
+ Obsolete
+
+
+ Supports BindToObject(IID_IStream)
+
+
+ May contain children with SFGAO_STORAGE or SFGAO_STREAM
+
+
+ For determining storage capabilities, ie for open/save semantics
+
+
+
+ Attributes that are masked out for PKEY_SFGAOFlags because they are considered
+ to cause slow calculations or lack context
+ (SFGAO_VALIDATE | SFGAO_ISSLOW | SFGAO_HASSUBFOLDER and others)
+
+
+
+
+ IShellFolder::EnumObjects grfFlags bits. Also called SHCONT
+
+
+
+
+ IShellFolder::GetDisplayNameOf/SetNameOf uFlags. Also called SHGDNF.
+
+
+ For compatibility with SIGDN, these bits must all sit in the LOW word.
+
+
+
+
+ SHELLITEMCOMPAREHINTF. SICHINT_*.
+
+
+
+ iOrder based on display in a folder view
+
+
+ exact instance compare
+
+
+ iOrder based on canonical name (better performance)
+
+
+
+ ShellItem enum. SIGDN_*.
+
+
+
+
+ STR_GPS_*
+
+
+ When requesting a property store through IShellFolder, you can specify the equivalent of
+ GPS_DEFAULT by passing in a null IBindCtx parameter.
+
+ You can specify the equivalent of GPS_READWRITE by passing a mode of STGM_READWRITE | STGM_EXCLUSIVE
+ in the bind context
+
+ Here are the string versions of GPS_ flags, passed to IShellFolder::BindToObject() via IBindCtx::RegisterObjectParam()
+ These flags are valid when requesting an IPropertySetStorage or IPropertyStore handler
+
+ The meaning of these flags are described above.
+
+ There is no STR_ equivalent for GPS_TEMPORARY because temporary property stores
+ are provided by IShellItem2 only -- not by the underlying IShellFolder.
+
+
+
+
+ WPARAM value for a THUMBBUTTON being clicked.
+
+
+
+ fmtid
+
+
+ pid
+
+
+ PKEY_Title
+
+
+ PKEY_AppUserModel_ID
+
+
+ PKEY_AppUserModel_IsDestListSeparator
+
+
+ PKEY_AppUserModel_RelaunchCommand
+
+
+ PKEY_AppUserModel_RelaunchDisplayNameResource
+
+
+ PKEY_AppUserModel_RelaunchIconResource
+
+
+ Unknown Object Array
+
+
+
+ Shell Namespace helper
+
+
+
+
+ Shell Namespace helper 2
+
+
+
+
+ This function must be called first to validate use of other members.
+
+
+
+
+ This function adds a tab for hwnd to the taskbar.
+
+ The HWND for which to add the tab.
+
+
+
+ This function deletes a tab for hwnd from the taskbar.
+
+ The HWND for which the tab is to be deleted.
+
+
+
+ This function activates the tab associated with hwnd on the taskbar.
+
+ The HWND for which the tab is to be actuvated.
+
+
+
+ This function marks hwnd in the taskbar as the active tab.
+
+ The HWND to activate.
+
+
+
+ Marks a window as full-screen.
+
+ The handle of the window to be marked.
+ A Boolean value marking the desired full-screen status of the window.
+
+ Setting the value of fFullscreen to true, the Shell treats this window as a full-screen window, and the taskbar
+ is moved to the bottom of the z-order when this window is active. Setting the value of fFullscreen to false
+ removes the full-screen marking, but does not cause the Shell to treat the window as though it were
+ definitely not full-screen. With a false fFullscreen value, the Shell depends on its automatic detection facility
+ to specify how the window should be treated, possibly still flagging the window as full-screen.
+
+
+
+
+ Allows an application to retrieve the most recent and frequent documents opened in that app, as reported via SHAddToRecentDocs
+
+
+
+
+ Set the App User Model ID for the application retrieving this list. If an AppID is not provided via this method,
+ the system will use a heuristically determined ID. This method must be called before GetList.
+
+ App Id.
+
+
+
+ Retrieve an IEnumObjects or IObjectArray for IShellItems and/or IShellLinks.
+ Items may appear in both the frequent and recent lists.
+
+
+
+
+
+
+ Provides access to the App User Model ID on objects supporting this value.
+
+
+
+
+ Provides access to the ProgID associated with an object
+
+
+
+
+ Side Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the Side property.
+ This dependency property indicates the anchor side of the control.
+
+ The new value for the property.
+
+
+
+ Gets the Side property. This dependency property
+ indicates the anchor side of the control.
+
+
+
+
+ Documents Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the Documents property.
+ This dependency property indicates the list of documents.
+
+ The new value for the property.
+
+
+
+ Anchorables Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the Anchorables property.
+ This dependency property indicates the list of anchorables.
+
+ The new value for the property.
+
+
+
+ SelectedDocument Dependency Property
+
+
+
+
+ Handles changes to the SelectedDocument property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the SelectedDocument property.
+
+
+
+
+ SelectedAnchorable Dependency Property
+
+
+
+
+ Handles changes to the SelectedAnchorable property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the SelectedAnchorable property.
+
+
+
+
+ Gets the Documents property. This dependency property
+ indicates the list of documents.
+
+
+
+
+ Gets the Anchorables property. This dependency property
+ indicates the list of anchorables.
+
+
+
+
+ Gets or sets the SelectedDocument property. This dependency property
+ indicates the selected document.
+
+
+
+
+ Gets or sets the SelectedAnchorable property. This dependency property
+ indicates the selected anchorable.
+
+
+
+
+ Converts a value.
+
+ The value produced by the binding source.
+ The type of the binding target property.
+ The converter parameter to use.
+ The culture to use in the converter.
+
+ A converted value. If the method returns null, the valid null value is used.
+
+
+
+
+ Converts a value.
+
+ The value that is produced by the binding target.
+ The type to convert to.
+ The converter parameter to use.
+ The culture to use in the converter.
+
+ A converted value. If the method returns null, the valid null value is used.
+
+
+
+
+ DropDownContextMenu Dependency Property
+
+
+
+
+ DropDownContextMenuDataContext Dependency Property
+
+
+
+
+ Gets or sets the DropDownContextMenu property. This dependency property
+ indicates context menu to show when a right click is detected over the area occpied by the control.
+
+
+
+
+ Gets or sets the DropDownContextMenuDataContext property. This dependency property
+ indicates data context to attach when context menu is shown.
+
+
+
+
+ Model Dependency Property
+
+
+
+
+ Handles changes to the Model property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the Model property.
+
+
+
+
+ LayoutItem Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the LayoutItem property.
+ This dependency property indicates the LayoutItem attached to this tag item.
+
+ The new value for the property.
+
+
+
+ Gets or sets the Model property. This dependency property
+ indicates model attached to the anchorable tab item.
+
+
+
+
+ Gets the LayoutItem property. This dependency property
+ indicates the LayoutItem attached to this tag item.
+
+
+
+
+ DoubleUtil uses fixed eps to provide fuzzy comparison functionality for doubles.
+ Note that FP noise is a big problem and using any of these compare
+ methods is not a complete solution, but rather the way to reduce
+ the probability of repeating unnecessary work.
+
+
+
+
+ Epsilon - more or less random, more or less small number.
+
+
+
+
+ AreClose returns whether or not two doubles are "close". That is, whether or
+ not they are within epsilon of each other.
+ There are plenty of ways for this to return false even for numbers which
+ are theoretically identical, so no code calling this should fail to work if this
+ returns false.
+
+ The first double to compare.
+ The second double to compare.
+ The result of the AreClose comparision.
+
+
+
+ LessThan returns whether or not the first double is less than the second double.
+ That is, whether or not the first is strictly less than *and* not within epsilon of
+ the other number.
+ There are plenty of ways for this to return false even for numbers which
+ are theoretically identical, so no code calling this should fail to work if this
+ returns false.
+
+ The first double to compare.
+ The second double to compare.
+ The result of the LessThan comparision.
+
+
+
+ GreaterThan returns whether or not the first double is greater than the second double.
+ That is, whether or not the first is strictly greater than *and* not within epsilon of
+ the other number.
+ There are plenty of ways for this to return false even for numbers which
+ are theoretically identical, so no code calling this should fail to work if this
+ returns false.
+
+ The first double to compare.
+ The second double to compare.
+ The result of the GreaterThan comparision.
+
+
+
+ LessThanOrClose returns whether or not the first double is less than or close to
+ the second double. That is, whether or not the first is strictly less than or within
+ epsilon of the other number.
+ There are plenty of ways for this to return false even for numbers which
+ are theoretically identical, so no code calling this should fail to work if this
+ returns false.
+
+ The first double to compare.
+ The second double to compare.
+ The result of the LessThanOrClose comparision.
+
+
+
+ GreaterThanOrClose returns whether or not the first double is greater than or close to
+ the second double. That is, whether or not the first is strictly greater than or within
+ epsilon of the other number.
+ There are plenty of ways for this to return false even for numbers which
+ are theoretically identical, so no code calling this should fail to work if this
+ returns false.
+
+ The first double to compare.
+ The second double to compare.
+ The result of the GreaterThanOrClose comparision.
+
+
+
+ Test to see if a double is a finite number (is not NaN or Infinity).
+
+ The value to test.
+ Whether or not the value is a finite number.
+
+
+
+ Test to see if a double a valid size value (is finite and > 0).
+
+ The value to test.
+ Whether or not the value is a valid size value.
+
+
+
+ HideCommand Dependency Property
+
+
+
+
+ Handles changes to the HideCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the HideCommand property.
+
+
+
+
+ Coerces the HideCommand value.
+
+
+
+
+ AutoHideCommand Dependency Property
+
+
+
+
+ Handles changes to the AutoHideCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the AutoHideCommand property.
+
+
+
+
+ Coerces the AutoHideCommand value.
+
+
+
+
+ DockCommand Dependency Property
+
+
+
+
+ Handles changes to the DockCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DockCommand property.
+
+
+
+
+ Coerces the DockCommand value.
+
+
+
+
+ CanHide Dependency Property
+
+
+
+
+ Handles changes to the CanHide property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the CanHide property.
+
+
+
+
+ Gets or sets the HideCommand property. This dependency property
+ indicates the command to execute when an anchorable is hidden.
+
+
+
+
+ Gets or sets the AutoHideCommand property. This dependency property
+ indicates the command to execute when user click the auto hide button.
+
+ By default this command toggles auto hide state for an anchorable.
+
+
+
+ Gets or sets the DockCommand property. This dependency property
+ indicates the command to execute when user click the Dock button.
+
+ By default this command moves the anchorable inside the container pane which previously hosted the object.
+
+
+
+ Gets or sets the CanHide property. This dependency property
+ indicates if user can hide the anchorable item.
+
+
+
+
+ DropDownContextMenu Dependency Property
+
+
+
+
+ Handles changes to the DropDownContextMenu property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DropDownContextMenu property.
+
+
+
+
+ DropDownContextMenuDataContext Dependency Property
+
+
+
+
+ Gets or sets the DropDownContextMenu property. This dependency property
+ indicates drop down menu to show up when user click on an anchorable menu pin.
+
+
+
+
+ Gets or sets the DropDownContextMenuDataContext property. This dependency property
+ indicates data context to set for drop down context menu.
+
+
+
+
+ Layout Dependency Property
+
+
+
+
+ Handles changes to the Layout property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the property.
+
+
+
+
+ Coerces the value.
+
+
+
+
+ LayoutUpdateStrategy Dependency Property
+
+
+
+
+ DocumentPaneTemplate Dependency Property
+
+
+
+
+ Handles changes to the DocumentPaneTemplate property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DocumentPaneTemplate property.
+
+
+
+
+ AnchorablePaneTemplate Dependency Property
+
+
+
+
+ Handles changes to the AnchorablePaneDataTemplate property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the AnchorablePaneDataTemplate property.
+
+
+
+
+ AnchorSideTemplate Dependency Property
+
+
+
+
+ AnchorGroupTemplate Dependency Property
+
+
+
+
+ AnchorTemplate Dependency Property
+
+
+
+
+ DocumentPaneControlStyle Dependency Property
+
+
+
+
+ Handles changes to the DocumentPaneControlStyle property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DocumentPaneControlStyle property.
+
+
+
+
+ AnchorablePaneControlStyle Dependency Property
+
+
+
+
+ Handles changes to the AnchorablePaneControlStyle property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the AnchorablePaneControlStyle property.
+
+
+
+
+ DocumentHeaderTemplate Dependency Property
+
+
+
+
+ Handles changes to the DocumentHeaderTemplate property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DocumentHeaderTemplate property.
+
+
+
+
+ Coerces the DocumentHeaderTemplate value.
+
+
+
+
+ DocumentHeaderTemplateSelector Dependency Property
+
+
+
+
+ Handles changes to the DocumentHeaderTemplateSelector property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DocumentHeaderTemplateSelector property.
+
+
+
+
+ Coerces the DocumentHeaderTemplateSelector value.
+
+
+
+
+ DocumentTitleTemplate Dependency Property
+
+
+
+
+ Handles changes to the DocumentTitleTemplate property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DocumentTitleTemplate property.
+
+
+
+
+ Coerces the DocumentTitleTemplate value.
+
+
+
+
+ DocumentTitleTemplateSelector Dependency Property
+
+
+
+
+ Handles changes to the DocumentTitleTemplateSelector property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DocumentTitleTemplateSelector property.
+
+
+
+
+ Coerces the DocumentTitleTemplateSelector value.
+
+
+
+
+ AnchorableTitleTemplate Dependency Property
+
+
+
+
+ Handles changes to the AnchorableTitleTemplate property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the AnchorableTitleTemplate property.
+
+
+
+
+ Coerces the AnchorableTitleTemplate value.
+
+
+
+
+ AnchorableTitleTemplateSelector Dependency Property
+
+
+
+
+ Handles changes to the AnchorableTitleTemplateSelector property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the AnchorableTitleTemplateSelector property.
+
+
+
+
+ AnchorableHeaderTemplate Dependency Property
+
+
+
+
+ Handles changes to the AnchorableHeaderTemplate property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the AnchorableHeaderTemplate property.
+
+
+
+
+ Coerces the AnchorableHeaderTemplate value.
+
+
+
+
+ AnchorableHeaderTemplateSelector Dependency Property
+
+
+
+
+ Handles changes to the AnchorableHeaderTemplateSelector property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the AnchorableHeaderTemplateSelector property.
+
+
+
+
+ LayoutRootPanel Dependency Property
+
+
+
+
+ Handles changes to the LayoutRootPanel property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the LayoutRootPanel property.
+
+
+
+
+ RightSidePanel Dependency Property
+
+
+
+
+ Handles changes to the RightSidePanel property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the RightSidePanel property.
+
+
+
+
+ LeftSidePanel Dependency Property
+
+
+
+
+ Handles changes to the LeftSidePanel property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the LeftSidePanel property.
+
+
+
+
+ TopSidePanel Dependency Property
+
+
+
+
+ Handles changes to the TopSidePanel property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the TopSidePanel property.
+
+
+
+
+ BottomSidePanel Dependency Property
+
+
+
+
+ Handles changes to the BottomSidePanel property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the BottomSidePanel property.
+
+
+
+
+ AutoHideWindow Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the AutoHideWindow property.
+ This dependency property indicates the currently shown autohide window.
+
+ The new value for the property.
+
+
+
+ Handles changes to the AutoHideWindow property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the AutoHideWindow property.
+
+
+
+
+ LayoutItemTemplate Dependency Property
+
+
+
+
+ Handles changes to the AnchorableTemplate property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the AnchorableTemplate property.
+
+
+
+
+ LayoutItemTemplateSelector Dependency Property
+
+
+
+
+ Handles changes to the LayoutItemTemplateSelector property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the LayoutItemTemplateSelector property.
+
+
+
+
+ DocumentsSource Dependency Property
+
+
+
+
+ Handles changes to the DocumentsSource property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DocumentsSource property.
+
+
+
+
+ DocumentContextMenu Dependency Property
+
+
+
+
+ AnchorablesSource Dependency Property
+
+
+
+
+ Handles changes to the AnchorablesSource property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the AnchorablesSource property.
+
+
+
+
+ ActiveContent Dependency Property
+
+
+
+
+ Handles changes to the ActiveContent property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the ActiveContent property.
+
+
+
+
+ AnchorableContextMenu Dependency Property
+
+
+
+
+ Theme Dependency Property
+
+
+
+
+ Handles changes to the Theme property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the Theme property.
+
+
+
+
+ GridSplitterWidth Dependency Property
+
+
+
+
+ GridSplitterHeight Dependency Property
+
+
+
+
+ DocumentPaneMenuItemHeaderTemplate Dependency Property
+
+
+
+
+ Handles changes to the DocumentPaneMenuItemHeaderTemplate property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DocumentPaneMenuItemHeaderTemplate property.
+
+
+
+
+ Coerces the DocumentPaneMenuItemHeaderTemplate value.
+
+
+
+
+ DocumentPaneMenuItemHeaderTemplateSelector Dependency Property
+
+
+
+
+ Handles changes to the DocumentPaneMenuItemHeaderTemplateSelector property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DocumentPaneMenuItemHeaderTemplateSelector property.
+
+
+
+
+ Coerces the DocumentPaneMenuItemHeaderTemplateSelector value.
+
+
+
+
+ IconContentTemplate Dependency Property
+
+
+
+
+ IconContentTemplateSelector Dependency Property
+
+
+
+
+ LayoutItemContainerStyle Dependency Property
+
+
+
+
+ Handles changes to the LayoutItemContainerStyle property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the LayoutItemContainerStyle property.
+
+
+
+
+ LayoutItemContainerStyleSelector Dependency Property
+
+
+
+
+ Handles changes to the LayoutItemContainerStyleSelector property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the LayoutItemContainerStyleSelector property.
+
+
+
+
+ Return the LayoutItem wrapper for the content passed as argument
+
+ LayoutContent to search
+ Either a LayoutAnchorableItem or LayoutDocumentItem which contains the LayoutContent passed as argument
+
+
+
+ ShowSystemMenu Dependency Property
+
+
+
+
+ AllowMixedOrientation Dependency Property
+
+
+
+
+ Gets or sets the Layout property. This dependency property
+ indicates layout tree.
+
+
+
+
+ Event fired when property changes
+
+
+
+
+ Event fired when property is about to be changed
+
+
+
+
+ Gets or sets the LayoutUpdateStrategy property. This dependency property
+ indicates the strategy class to call when AvalonDock needs to positionate a LayoutAnchorable inside an existing layout.
+
+ Sometimes it's impossible to automatically insert an anchorable in the layout without specifing the target parent pane.
+ Set this property to an object that will be asked to insert the anchorable to the desidered position.
+
+
+
+ Gets or sets the DocumentPaneDataTemplate property. This dependency property
+ indicates .
+
+
+
+
+ Gets or sets the AnchorablePaneTemplate property. This dependency property
+ indicates ....
+
+
+
+
+ Gets or sets the AnchorSideTemplate property. This dependency property
+ indicates ....
+
+
+
+
+ Gets or sets the AnchorGroupTemplate property. This dependency property
+ indicates the template used to render the AnchorGroup control.
+
+
+
+
+ Gets or sets the AnchorTemplate property. This dependency property
+ indicates ....
+
+
+
+
+ Gets or sets the DocumentPaneControlStyle property. This dependency property
+ indicates ....
+
+
+
+
+ Gets or sets the AnchorablePaneControlStyle property. This dependency property
+ indicates the style to apply to AnchorablePaneControl.
+
+
+
+
+ Gets or sets the DocumentHeaderTemplate property. This dependency property
+ indicates data template to use for document header.
+
+
+
+
+ Gets or sets the DocumentHeaderTemplateSelector property. This dependency property
+ indicates the template selector that is used when selcting the data template for the header.
+
+
+
+
+ Gets or sets the DocumentTitleTemplate property. This dependency property
+ indicates the datatemplate to use when creating the title for a document.
+
+
+
+
+ Gets or sets the DocumentTitleTemplateSelector property. This dependency property
+ indicates the data template selector to use when creating the data template for the title.
+
+
+
+
+ Gets or sets the AnchorableTitleTemplate property. This dependency property
+ indicates the data template to use for anchorables title.
+
+
+
+
+ Gets or sets the AnchorableTitleTemplateSelector property. This dependency property
+ indicates selctor to use when selecting data template for the title of anchorables.
+
+
+
+
+ Gets or sets the AnchorableHeaderTemplate property. This dependency property
+ indicates the data template to use for anchorable templates.
+
+
+
+
+ Gets or sets the AnchorableHeaderTemplateSelector property. This dependency property
+ indicates the selector to use when selecting the data template for anchorable headers.
+
+
+
+
+ Gets or sets the LayoutRootPanel property. This dependency property
+ indicates the layout panel control which is attached to the Layout.Root property.
+
+
+
+
+ Gets or sets the RightSidePanel property. This dependency property
+ indicates right side anchor panel.
+
+
+
+
+ Gets or sets the LeftSidePanel property. This dependency property
+ indicates the left side panel control.
+
+
+
+
+ Gets or sets the TopSidePanel property. This dependency property
+ indicates top side control panel.
+
+
+
+
+ Gets or sets the BottomSidePanel property. This dependency property
+ indicates bottom side panel control.
+
+
+
+
+ Gets the AutoHideWindow property. This dependency property
+ indicates the currently shown autohide window.
+
+
+
+
+ Gets or sets the AnchorableTemplate property. This dependency property
+ indicates the template to use to render anchorable and document contents.
+
+
+
+
+ Gets or sets the LayoutItemTemplateSelector property. This dependency property
+ indicates selector object to use for anchorable templates.
+
+
+
+
+ Gets or sets the DocumentsSource property. This dependency property
+ indicates the source collection of documents.
+
+
+
+
+ Event fired when a document is about to be closed
+
+ Subscribers have the opportuniy to cancel the operation.
+
+
+
+ Event fired after a document is closed
+
+
+
+
+ Gets or sets the DocumentContextMenu property. This dependency property
+ indicates context menu to show for documents.
+
+
+
+
+ Gets or sets the AnchorablesSource property. This dependency property
+ indicates source collection of anchorables.
+
+
+
+
+ Gets or sets the ActiveContent property. This dependency property
+ indicates the content currently active.
+
+
+
+
+ Gets or sets the AnchorableContextMenu property. This dependency property
+ indicates the context menu to show up for anchorables.
+
+
+
+
+ Gets or sets the Theme property. This dependency property
+ indicates the theme to use for AvalonDock controls.
+
+
+
+
+ Gets or sets the GridSplitterWidth property. This dependency property
+ indicates width of grid splitters.
+
+
+
+
+ Gets or sets the GridSplitterHeight property. This dependency property
+ indicates height of grid splitters.
+
+
+
+
+ Gets or sets the DocumentPaneMenuItemHeaderTemplate property. This dependency property
+ indicates the header template to use while creating menu items for the document panes.
+
+
+
+
+ Gets or sets the DocumentPaneMenuItemHeaderTemplateSelector property. This dependency property
+ indicates the data template selector to use for the menu items show when user select the DocumentPane document switch context menu.
+
+
+
+
+ Gets or sets the IconContentTemplate property. This dependency property
+ indicates the data template to use while extracting the icon from model.
+
+
+
+
+ Gets or sets the IconContentTemplateSelector property. This dependency property
+ indicates data template selector to use while selecting the datatamplate for content icons.
+
+
+
+
+ Gets or sets the LayoutItemContainerStyle property. This dependency property
+ indicates the style to apply to LayoutDocumentItem objects. A LayoutDocumentItem object is created when a new LayoutDocument is created inside the current Layout.
+
+
+
+
+ Gets or sets the LayoutItemContainerStyleSelector property. This dependency property
+ indicates style selector of the LayoutDocumentItemStyle.
+
+
+
+
+ Gets or sets the ShowSystemMenu property. This dependency property
+ indicates if floating windows should show the system menu when a custom context menu is not defined.
+
+
+
+
+ Gets or sets the AllowMixedOrientation property. This dependency property
+ indicates if the manager should allow mixed orientation for document panes.
+
+
+
+
+ Model Dependency Property
+
+
+
+
+ Handles changes to the Model property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the Model property.
+
+
+
+
+ LayoutItem Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the LayoutItem property.
+ This dependency property indicates the LayoutItem attached to this tag item.
+
+ The new value for the property.
+
+
+
+ Gets or sets the Model property. This dependency property
+ indicates the model attached to this view.
+
+
+
+
+ Gets the LayoutItem property. This dependency property
+ indicates the LayoutItem attached to this tag item.
+
+
+
+
+ Wrapper for common Win32 status codes.
+
+
+
+ The operation completed successfully.
+
+
+ Incorrect function.
+
+
+ The system cannot find the file specified.
+
+
+ The system cannot find the path specified.
+
+
+ The system cannot open the file.
+
+
+ Access is denied.
+
+
+ The handle is invalid.
+
+
+ Not enough storage is available to complete this operation.
+
+
+ There are no more files.
+
+
+ The process cannot access the file because it is being used by another process.
+
+
+ The parameter is incorrect.
+
+
+ The data area passed to a system call is too small.
+
+
+ Cannot nest calls to LoadModule.
+
+
+ Illegal operation attempted on a registry key that has been marked for deletion.
+
+
+ Element not found.
+
+
+ There was no match for the specified key in the index.
+
+
+ An invalid device was specified.
+
+
+ The operation was canceled by the user.
+
+
+ The window class was already registered.
+
+
+ The specified datatype is invalid.
+
+
+
+ Create a new Win32 error.
+
+ The integer value of the error.
+
+
+ Performs HRESULT_FROM_WIN32 conversion.
+ The Win32 error being converted to an HRESULT.
+ The equivilent HRESULT value.
+
+
+ Performs HRESULT_FROM_WIN32 conversion.
+ The Win32 error being converted to an HRESULT.
+ The equivilent HRESULT value.
+
+
+ Performs the equivalent of Win32's GetLastError()
+ A Win32Error instance with the result of the native GetLastError
+
+
+
+ Compare two Win32 error codes for equality.
+
+ The first error code to compare.
+ The second error code to compare.
+ Whether the two error codes are the same.
+
+
+
+ Compare two Win32 error codes for inequality.
+
+ The first error code to compare.
+ The second error code to compare.
+ Whether the two error codes are not the same.
+
+
+ FACILITY_NULL
+
+
+ FACILITY_RPC
+
+
+ FACILITY_DISPATCH
+
+
+ FACILITY_STORAGE
+
+
+ FACILITY_ITF
+
+
+ FACILITY_WIN32
+
+
+ FACILITY_WINDOWS
+
+
+ FACILITY_CONTROL
+
+
+ MSDN doced facility code for ESE errors.
+
+
+ FACILITY_WINCODEC (WIC)
+
+
+ Wrapper for HRESULT status codes.
+
+
+ S_OK
+
+
+ S_FALSE
+
+
+ E_PENDING
+
+
+ E_NOTIMPL
+
+
+ E_NOINTERFACE
+
+
+ E_POINTER
+
+
+ E_ABORT
+
+
+ E_FAIL
+
+
+ E_UNEXPECTED
+
+
+ STG_E_INVALIDFUNCTION
+
+
+ REGDB_E_CLASSNOTREG
+
+
+ DESTS_E_NO_MATCHING_ASSOC_HANDLER. Win7 internal error code for Jump Lists.
+ There is no Assoc Handler for the given item registered by the specified application.
+
+
+ DESTS_E_NORECDOCS. Win7 internal error code for Jump Lists.
+ The given item is excluded from the recent docs folder by the NoRecDocs bit on its registration.
+
+
+ DESTS_E_NOTALLCLEARED. Win7 internal error code for Jump Lists.
+ Not all of the items were successfully cleared
+
+
+ E_ACCESSDENIED
+ Win32Error ERROR_ACCESS_DENIED.
+
+
+ E_OUTOFMEMORY
+ Win32Error ERROR_OUTOFMEMORY.
+
+
+ E_INVALIDARG
+ Win32Error ERROR_INVALID_PARAMETER.
+
+
+ INTSAFE_E_ARITHMETIC_OVERFLOW
+
+
+ COR_E_OBJECTDISPOSED
+
+
+ WC_E_GREATERTHAN
+
+
+ WC_E_SYNTAX
+
+
+
+ Create an HRESULT from an integer value.
+
+
+
+
+
+ Get a string representation of this HRESULT.
+
+
+
+
+
+ Convert the result of Win32 GetLastError() into a raised exception.
+
+
+
+
+ retrieve HRESULT_FACILITY
+
+
+
+
+ retrieve HRESULT_CODE
+
+
+
+
+ A strongly-typed resource class, for looking up localized strings, etc.
+
+
+
+
+ Returns the cached ResourceManager instance used by this class.
+
+
+
+
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+
+
+
+
+ Looks up a localized string similar to Auto Hide.
+
+
+
+
+ Looks up a localized string similar to Auto Hide.
+
+
+
+
+ Looks up a localized string similar to Hide.
+
+
+
+
+ Looks up a localized string similar to Window Position.
+
+
+
+
+ Looks up a localized string similar to Dock.
+
+
+
+
+ Looks up a localized string similar to Dock as Tabbed Document.
+
+
+
+
+ Looks up a localized string similar to Float.
+
+
+
+
+ Looks up a localized string similar to Close.
+
+
+
+
+ Looks up a localized string similar to Close.
+
+
+
+
+ Looks up a localized string similar to Close All But This.
+
+
+
+
+ Looks up a localized string similar to Window Position.
+
+
+
+
+ Looks up a localized string similar to Dock as Tabbed Document.
+
+
+
+
+ Looks up a localized string similar to Float.
+
+
+
+
+ Looks up a localized string similar to Move To Next Tab Group.
+
+
+
+
+ Looks up a localized string similar to Move To Previous Tab Group.
+
+
+
+
+ Looks up a localized string similar to New Horizontal Tab Group.
+
+
+
+
+ Looks up a localized string similar to New Vertical Tab Group.
+
+
+
+
+ Looks up a localized string similar to Maximize.
+
+
+
+
+ Looks up a localized string similar to Restore.
+
+
+
+
+ BackgroundWhileDragging Dependency Property
+
+
+
+
+ OpacityWhileDragging Dependency Property
+
+
+
+
+ Gets or sets the BackgroundWhileDragging property. This dependency property
+ indicates ....
+
+
+
+
+ Gets or sets the OpacityWhileDragging property. This dependency property
+ indicates ....
+
+
+
+ The native RGB macro.
+
+
+
+
+ Convert a native integer that represent a color with an alpha channel into a Color struct.
+ The integer that represents the color. Its bits are of the format 0xAARRGGBB.
+ A Color representation of the parameter.
+
+
+ From a list of BitmapFrames find the one that best matches the requested dimensions.
+ The methods used here are copied from Win32 sources. We want to be consistent with
+ system behaviors.
+
+
+
+ Simple guard against the exceptions that File.Delete throws on null and empty strings.
+
+ The path to delete. Unlike File.Delete, this can be null or empty.
+
+ Note that File.Delete, and by extension SafeDeleteFile, does not throw an exception
+ if the file does not exist.
+
+
+
+ GDI's DeleteObject
+
+
+ GDI+'s DisposeImage
+
+
+
+
+ Utility to help classes catenate their properties for implementing ToString().
+
+ The StringBuilder to catenate the results into.
+ The name of the property to be catenated.
+ The value of the property to be catenated.
+
+
+
+ Generates ToString functionality for a struct. This is an expensive way to do it,
+ it exists for the sake of debugging while classes are in flux.
+ Eventually this should just be removed and the classes should
+ do this without reflection.
+
+
+
+
+
+
+
+ Encodes a URL string. Duplicated functionality from System.Web.HttpUtility.UrlEncode.
+
+
+
+
+ Duplicated from System.Web.HttpUtility because System.Web isn't part of the client profile.
+ URL Encoding replaces ' ' with '+' and unsafe ASCII characters with '%XX'.
+ Safe characters are defined in RFC2396 (http://www.ietf.org/rfc/rfc2396.txt).
+ They are the 7-bit ASCII alphanumerics and the mark characters "-_.!~*'()".
+ This implementation does not treat '~' as a safe character to be consistent with the System.Web version.
+
+
+
+
+ Is this using WPF4?
+
+
+ There are a few specific bugs in Window in 3.5SP1 and below that require workarounds
+ when handling WM_NCCALCSIZE on the HWND.
+
+
+
+ IID_IEnumIDList
+
+
+ IID_IEnumObjects
+
+
+ IID_IHTMLDocument2
+
+
+ IID_IModalWindow
+
+
+ IID_IObjectArray
+
+
+ IID_IObjectCollection
+
+
+ IID_IPropertyNotifySink
+
+
+ IID_IPropertyStore
+
+
+ IID_IServiceProvider
+
+
+ IID_IShellFolder
+
+
+ IID_IShellLink
+
+
+ IID_IShellItem
+
+
+ IID_IShellItem2
+
+
+ IID_IShellItemArray
+
+
+ IID_ITaskbarList
+
+
+ IID_ITaskbarList2
+
+
+ IID_IUnknown
+
+
+ IID_IApplicationDestinations
+
+
+ IID_IApplicationDocumentLists
+
+
+ IID_ICustomDestinationList
+
+
+ IID_IObjectWithAppUserModelID
+
+
+ IID_IObjectWithProgID
+
+
+ IID_ITaskbarList3
+
+
+ IID_ITaskbarList4
+
+
+ CLSID_TaskbarList
+ IID_ITaskbarList
+
+
+ CLSID_EnumerableObjectCollection
+ IID_IEnumObjects.
+
+
+ CLSID_ShellLink
+ IID_IShellLink
+
+
+ CLSID_DestinationList
+ IID_ICustomDestinationList
+
+
+ CLSID_ApplicationDestinations
+ IID_IApplicationDestinations
+
+
+ CLSID_ApplicationDocumentLists
+ IID_IApplicationDocumentLists
+
+
+
+ Hide this contents
+
+ Add this content to collection of parent root.
+
+
+
+ Show the content
+
+ Try to show the content where it was previously hidden.
+
+
+
+ Add the anchorable to a DockingManager layout
+
+
+
+
+
+
+ Get a value indicating if the anchorable is anchored to a border in an autohide status
+
+
+
+ The extent of the top of the window to treat as the caption.
+
+
+
+ Gets or sets the ShowSystemMenu property. This dependency property
+ indicates if the system menu should be shown at right click on the caption.
+
+
+
+
+ GeneratedInternalTypeHelper
+
+
+
+
+ CreateInstance
+
+
+
+
+ GetPropertyValue
+
+
+
+
+ SetPropertyValue
+
+
+
+
+ CreateDelegate
+
+
+
+
+ AddEventHandler
+
+
+
+
diff --git a/YMC/Components/AvalonDock/AvalonDock.dll b/YMC/Components/AvalonDock/AvalonDock.dll
new file mode 100644
index 000000000..b14a70086
Binary files /dev/null and b/YMC/Components/AvalonDock/AvalonDock.dll differ
diff --git a/YMC/Components/AvalonDock/ru/AvalonDock.resources.dll b/YMC/Components/AvalonDock/ru/AvalonDock.resources.dll
new file mode 100644
index 000000000..77693b6e8
Binary files /dev/null and b/YMC/Components/AvalonDock/ru/AvalonDock.resources.dll differ
diff --git a/YMC/Components/AvalonEdit/ICSharpCode.AvalonEdit.dll b/YMC/Components/AvalonEdit/ICSharpCode.AvalonEdit.dll
new file mode 100644
index 000000000..743c5fa9b
Binary files /dev/null and b/YMC/Components/AvalonEdit/ICSharpCode.AvalonEdit.dll differ
diff --git a/YMC/Components/AvalonEdit/ICSharpCode.AvalonEdit.xml b/YMC/Components/AvalonEdit/ICSharpCode.AvalonEdit.xml
new file mode 100644
index 000000000..df4f04eb3
--- /dev/null
+++ b/YMC/Components/AvalonEdit/ICSharpCode.AvalonEdit.xml
@@ -0,0 +1,11207 @@
+
+
+
+ ICSharpCode.AvalonEdit
+
+
+
+
+ Custom commands for AvalonEdit.
+
+
+
+
+ Deletes the current line.
+ The default shortcut is Ctrl+D.
+
+
+
+
+ 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).
+
+
+
+
+ Converts the selected text to upper case.
+
+
+
+
+ Converts the selected text to lower case.
+
+
+
+
+ Converts the selected text to title case.
+
+
+
+
+ Inverts the case of the selected text.
+
+
+
+
+ Converts tabs to spaces in the selected text.
+
+
+
+
+ Converts spaces to tabs in the selected text.
+
+
+
+
+ Converts leading tabs to spaces in the selected lines (or the whole document if the selection is empty).
+
+
+
+
+ Converts leading spaces to tabs in the selected lines (or the whole document if the selection is empty).
+
+
+
+
+ Runs the IIndentationStrategy on the selected lines (or the whole document if the selection is empty).
+
+
+
+
+ The list box used inside the CompletionList.
+
+
+
+
+
+
+
+ Removes the selection.
+
+
+
+
+ Selects the item with the specified index and scrolls it into view.
+
+
+
+
+ Centers the view on the item with the specified index.
+
+
+
+
+ Gets the number of the first visible item.
+
+
+
+
+ Gets the number of visible items.
+
+
+
+
+ Base class for completion windows. Handles positioning the window at the caret.
+
+
+
+
+ Creates a new CompletionWindowBase.
+
+
+
+
+ Detaches events from the text area.
+
+
+
+
+
+
+
+ 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.
+
+
+
+ Activates the parent window.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Positions the completion window at the specified position.
+
+
+
+
+ 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.
+
+
+
+
+
+
+
+ Gets the parent TextArea.
+
+
+
+
+ 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/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 whether the window was opened above the current line.
+
+
+
+
+ Gets whether the completion window should automatically close when the text editor looses focus.
+
+
+
+
+ Gets/sets whether the completion window should expect text insertion at the start offset,
+ which not go into the completion region, but before it.
+
+ This property allows only a single insertion, it is reset to false
+ when that insertion has occurred.
+
+
+
+ A dummy input handler (that justs invokes the default input handler).
+ This is used to ensure the completion window closes when any other input handler
+ becomes active.
+
+
+
+
+ Stacked input handler.
+ Uses OnEvent-methods instead of registering event handlers to ensure that the events are handled in the correct order.
+
+
+
+
+ A set of input bindings and event handlers for the text area.
+
+
+
+ There is one active input handler per text area (), plus
+ a number of active stacked input handlers.
+
+
+ The text area also stores a reference to a default input handler, but that is not necessarily active.
+
+
+ Stacked input handlers work in addition to the set of currently active handlers (without detaching them).
+ They are detached in the reverse order of being attached.
+
+
+
+
+
+ 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.
+
+
+
+
+ Creates a new TextAreaInputHandler.
+
+
+
+
+
+
+
+
+
+
+ Called for the PreviewKeyDown event.
+
+
+
+
+ Called for the PreviewKeyUp event.
+
+
+
+
+
+
+
+ The listbox used inside the CompletionWindow, contains CompletionListBox.
+
+
+
+
+ Dependency property for .
+
+
+
+
+ Raises the InsertionRequested event.
+
+
+
+
+
+
+
+
+
+
+ Handles a key press. Used to let the completion list handle key presses while the
+ focus is still on the text editor.
+
+
+
+
+
+
+
+ Scrolls the specified item into view.
+
+
+
+
+ Selects the best match, and filter the items if turned on using .
+
+
+
+
+ Filters CompletionList items to show only those matching given query, and selects the best match.
+
+
+
+
+ Selects the item that starts with the specified query.
+
+
+
+
+ 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.
+
+
+
+
+ Content of EmptyTemplate will be shown when CompletionList contains no items.
+ If EmptyTemplate is null, nothing will be shown.
+
+
+
+
+ Is raised when the completion list indicates that the user has chosen
+ an entry to be completed.
+
+
+
+
+ Gets the list box.
+
+
+
+
+ Gets the scroll viewer used in this list box.
+
+
+
+
+ Gets the list to which completion data can be added.
+
+
+
+
+ Gets/Sets the selected item.
+
+
+ The setter of this property does not scroll to the selected item.
+ You might want to also call .
+
+
+
+
+ Occurs when the SelectedItem property changes.
+
+
+
+
+ The code completion window.
+
+
+
+
+ Creates a new code completion window.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the completion list used in this completion window.
+
+
+
+
+ Gets/Sets whether the completion window should close automatically.
+ The default value is true.
+
+
+
+
+
+
+
+ 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.
+
+
+
+
+ Describes an entry in the .
+
+
+
+
+ Perform the completion.
+
+ The text area on which completion is performed.
+ The text segment that was used by the completion window if
+ the user types (segment between CompletionWindow.StartOffset and CompletionWindow.EndOffset).
+ The EventArgs used for the insertion request.
+ These can be TextCompositionEventArgs, KeyEventArgs, MouseEventArgs, depending on how
+ the insertion was triggered.
+
+
+
+ Gets the image.
+
+
+
+
+ Gets the text. This property is used to filter the list of visible elements.
+
+
+
+
+ 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 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.
+
+
+
+
+ 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.
+
+
+
+
+
+
+
+ TemplateSelector for InsightWindow to replace plain string content by a TextBlock with TextWrapping.
+
+
+
+
+ Provides the items for the OverloadViewer.
+
+
+
+
+ Gets/Sets the selected index.
+
+
+
+
+ Gets the number of overloads.
+
+
+
+
+ Gets the text 'SelectedIndex of Count'.
+
+
+
+
+ Gets the current header.
+
+
+
+
+ Gets the current content.
+
+
+
+
+ Insight window that shows an OverloadViewer.
+
+
+
+
+ Creates a new OverloadInsightWindow.
+
+
+
+
+
+
+
+ Gets/Sets the item provider.
+
+
+
+
+ Represents a text between "Up" and "Down" buttons.
+
+
+
+
+ The text property.
+
+
+
+
+
+
+
+ The ItemProvider property.
+
+
+
+
+ Changes the selected index.
+
+ The relative index change - usual values are +1 or -1.
+
+
+
+ Gets/Sets the text between the Up and Down buttons.
+
+
+
+
+ Gets/Sets the item provider.
+
+
+
+
+ Describes a change to a TextDocument.
+
+
+
+
+ This Interface describes a the basic Undo/Redo operation
+ all Undo Operations must implement this interface.
+
+
+
+
+ Undo the last operation
+
+
+
+
+ Redo the last operation
+
+
+
+
+ A TextWriter implementation that directly inserts into a document.
+
+
+
+
+ Creates a new DocumentTextWriter that inserts into document, starting at insertionOffset.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets/Sets the current insertion offset.
+
+
+
+
+
+
+
+ A document representing a source code file for refactoring.
+ Line and column counting starts at 1.
+ Offset counting starts at 0.
+
+
+
+
+ A read-only view on a (potentially mutable) text source.
+ The IDocument interface derives from this interface.
+
+
+
+
+ Creates an immutable snapshot of this text source.
+ Unlike all other methods in this interface, this method is thread-safe.
+
+
+
+
+ Creates an immutable snapshot of a part of this text source.
+ Unlike all other methods in this interface, this method is thread-safe.
+
+
+
+
+ Creates a new TextReader to read from this text source.
+
+
+
+
+ Creates a new TextReader to read from this text source.
+
+
+
+
+ Gets a character at the specified position in the document.
+
+ The index of the character to get.
+ Offset is outside the valid range (0 to TextLength-1).
+ The character at the specified position.
+ This is the same as Text[offset], but is more efficient because
+ it doesn't require creating a String object.
+
+
+
+ Retrieves the text for a portion of the document.
+
+ offset or length is outside the valid range.
+ This is the same as Text.Substring, but is more efficient because
+ it doesn't require creating a String object for the whole document.
+
+
+
+ Retrieves the text for a portion of the document.
+
+ offset or length is outside the valid range.
+
+
+
+ Writes the text from this document into the TextWriter.
+
+
+
+
+ Writes the text from this document into the TextWriter.
+
+
+
+
+ Gets the index of the first occurrence of the character in the specified array.
+
+ Character to search for
+ Start index of the area to search.
+ Length of the area to search.
+ The first index where the character was found; or -1 if no occurrence was found.
+
+
+
+ Gets the index of the first occurrence of any character in the specified array.
+
+ Characters to search for
+ Start index of the area to search.
+ Length of the area to search.
+ The first index where any character was found; or -1 if no occurrence was found.
+
+
+
+ Gets the index of the first occurrence of the specified search text in this text source.
+
+ The search text
+ Start index of the area to search.
+ Length of the area to search.
+ String comparison to use.
+ The first index where the search term was found; or -1 if no occurrence was found.
+
+
+
+ Gets the index of the last occurrence of the specified character in this text source.
+
+ The search character
+ Start index of the area to search.
+ Length of the area to search.
+ The last index where the search term was found; or -1 if no occurrence was found.
+ The search proceeds backwards from (startIndex+count) to startIndex.
+ This is different than the meaning of the parameters on string.LastIndexOf!
+
+
+
+ Gets the index of the last occurrence of the specified search text in this text source.
+
+ The search text
+ Start index of the area to search.
+ Length of the area to search.
+ String comparison to use.
+ The last index where the search term was found; or -1 if no occurrence was found.
+ The search proceeds backwards from (startIndex+count) to startIndex.
+ This is different than the meaning of the parameters on string.LastIndexOf!
+
+
+
+ Gets a version identifier for this text source.
+ Returns null for unversioned text sources.
+
+
+
+
+ Gets the total text length.
+
+ The length of the text, in characters.
+ This is the same as Text.Length, but is more efficient because
+ it doesn't require creating a String object.
+
+
+
+ Gets the whole text as string.
+
+
+
+
+ Gets the document line with the specified number.
+
+ The number of the line to retrieve. The first line has number 1.
+
+
+
+ Gets the document line that contains the specified offset.
+
+
+
+
+ Gets the offset from a text location.
+
+
+
+
+
+ Gets the offset from a text location.
+
+
+
+
+
+ Gets the location from an offset.
+
+
+
+
+
+ Inserts text.
+
+ The offset at which the text is inserted.
+ The new text.
+
+ Anchors positioned exactly at the insertion offset will move according to their movement type.
+ For AnchorMovementType.Default, they will move behind the inserted text.
+ The caret will also move behind the inserted text.
+
+
+
+
+ Inserts text.
+
+ The offset at which the text is inserted.
+ The new text.
+
+ Anchors positioned exactly at the insertion offset will move according to their movement type.
+ For AnchorMovementType.Default, they will move behind the inserted text.
+ The caret will also move behind the inserted text.
+
+
+
+
+ Inserts text.
+
+ The offset at which the text is inserted.
+ The new text.
+
+ Anchors positioned exactly at the insertion offset will move according to the anchor's movement type.
+ For AnchorMovementType.Default, they will move according to the movement type specified by this parameter.
+ The caret will also move according to the parameter.
+
+
+
+
+ Inserts text.
+
+ The offset at which the text is inserted.
+ The new text.
+
+ Anchors positioned exactly at the insertion offset will move according to the anchor's movement type.
+ For AnchorMovementType.Default, they will move according to the movement type specified by this parameter.
+ The caret will also move according to the parameter.
+
+
+
+
+ Removes text.
+
+ Starting offset of the text to be removed.
+ Length of the text to be removed.
+
+
+
+ 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.
+
+
+
+ Make the document combine the following actions into a single
+ action for undo purposes.
+
+
+
+
+ Ends the undoable action started with .
+
+
+
+
+ Creates an undo group. Dispose the returned value to close the undo group.
+
+ An object that closes the undo group when Dispose() is called.
+
+
+
+ Creates a new at the specified offset.
+
+
+
+
+
+ Gets/Sets the text of the whole document..
+
+
+
+
+ This event is called directly before a change is applied to the document.
+
+
+ It is invalid to modify the document within this event handler.
+ Aborting the change (by throwing an exception) is likely to cause corruption of data structures
+ that listen to the Changing and Changed events.
+
+
+
+
+ This event is called directly after a change is applied to the document.
+
+
+ It is invalid to modify the document within this event handler.
+ Aborting the event handler (by throwing an exception) is likely to cause corruption of data structures
+ that listen to the Changing and Changed events.
+
+
+
+
+ This event is called after a group of changes is completed.
+
+
+
+
+
+ Gets the number of lines in the document.
+
+
+
+
+ Gets the name of the file the document is stored in.
+ Could also be a non-existent dummy file name or null if no name has been set.
+
+
+
+
+ Fired when the file name of the document changes.
+
+
+
+
+ A line inside a .
+
+
+
+
+ An (Offset,Length)-pair.
+
+
+
+
+ Gets the start offset of the segment.
+
+
+
+
+ Gets the length of the segment.
+
+ For line segments (IDocumentLine), the length does not include the line delimeter.
+
+
+
+ Gets the end offset of the segment.
+
+ EndOffset = Offset + Length;
+
+
+
+ Gets the length of this line, including the line delimiter.
+
+
+
+
+ Gets the length of the line terminator.
+ Returns 1 or 2; or 0 at the end of the document.
+
+
+
+
+ Gets the number of this line.
+ The first line has the number 1.
+
+
+
+
+ Gets the previous line. Returns null if this is the first line in the document.
+
+
+
+
+ Gets the next line. Returns null if this is the last line in the document.
+
+
+
+
+ Gets whether the line was deleted.
+
+
+
+
+ Describes a change of the document text.
+ This class is thread-safe.
+
+
+
+
+ Creates a new TextChangeEventArgs object.
+
+
+
+
+ Creates a new TextChangeEventArgs object.
+
+
+
+
+ Gets the new offset where the specified offset moves after this document change.
+
+
+
+
+ Creates TextChangeEventArgs for the reverse change.
+
+
+
+
+ The offset at which the change occurs.
+
+
+
+
+ The text that was removed.
+
+
+
+
+ The number of characters removed.
+
+
+
+
+ The text that was inserted.
+
+
+
+
+ The number of characters inserted.
+
+
+
+
+ Allows for low-level line tracking.
+
+
+ The methods on this interface are called by the TextDocument's LineManager immediately after the document
+ has changed, *while* the DocumentLineTree is updating.
+ Thus, the DocumentLineTree may be in an invalid state when these methods are called.
+ This interface should only be used to update per-line data structures like the HeightTree.
+ Line trackers must not cause any events to be raised during an update to prevent other code from seeing
+ the invalid state.
+ Line trackers may be called while the TextDocument has taken a lock.
+ You must be careful not to dead-lock inside ILineTracker callbacks.
+
+
+
+
+ Is called immediately before a document line is removed.
+
+
+
+
+ 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.
+
+
+
+
+ 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.
+
+
+
+
+ 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.
+
+
+
+
+ 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.
+
+
+ Use the property to get the offset from a text anchor.
+ Use the method to create an anchor from an offset.
+
+
+ The document will automatically update all text anchors; and because it uses weak references to do so,
+ the garbage collector can simply collect the anchor object when you don't need it anymore.
+
+ Moreover, the document is able to efficiently update a large number of anchors without having to look
+ at each anchor object individually. Updating the offsets of all anchors usually only takes time logarithmic
+ to the number of anchors. Retrieving the property also runs in O(lg N).
+
+
+ Usage:
+ TextAnchor anchor = document.CreateAnchor(offset);
+ ChangeMyDocument();
+ int newOffset = anchor.Offset;
+
+
+
+
+
+ Gets the text location of this anchor.
+
+ Thrown when trying to get the Offset from a deleted anchor.
+
+
+
+ Gets the offset of the text anchor.
+
+ Thrown when trying to get the Offset from a deleted anchor.
+
+
+
+ Controls how the anchor moves.
+
+ Anchor movement is ambiguous if text is inserted exactly at the anchor's location.
+ Does the anchor stay before the inserted text, or does it move after it?
+ The property will be used to determine which of these two options the anchor will choose.
+ The default value is .
+
+
+
+
+ Specifies whether the anchor survives deletion of the text containing it.
+
+ false: The anchor is deleted when the a selection that includes the anchor is deleted.
+ true: The anchor is not deleted.
+
+
+
+
+
+
+ Gets whether the anchor was deleted.
+
+
+ When a piece of text containing an anchor is removed, then that anchor will be deleted.
+ First, the property is set to true on all deleted anchors,
+ then the events are raised.
+ You cannot retrieve the offset from an anchor that has been deleted.
+ This deletion behavior might be useful when using anchors for building a bookmark feature,
+ but in other cases you want to still be able to use the anchor. For those cases, set = true.
+
+
+
+
+ Occurs after the anchor was deleted.
+
+
+
+ Due to the 'weak reference' nature of text anchors, you will receive
+ the Deleted event only while your code holds a reference to the TextAnchor object.
+
+
+
+
+
+ Gets the line number of the anchor.
+
+ Thrown when trying to get the Offset from a deleted anchor.
+
+
+
+ Gets the column number of this anchor.
+
+ Thrown when trying to get the Offset from a deleted anchor.
+
+
+
+ Defines how a text anchor moves.
+
+
+
+
+ When text is inserted at the anchor position, the type of the insertion
+ determines where the caret moves to. For normal insertions, the anchor will move
+ after the inserted text.
+
+
+
+
+ Behaves like a start marker - when text is inserted at the anchor position, the anchor will stay
+ before the inserted text.
+
+
+
+
+ Behave like an end marker - when text is insered at the anchor position, the anchor will move
+ after the inserted text.
+
+
+
+
+ Represents a version identifier for a text source.
+
+
+ Verions can be used to efficiently detect whether a document has changed and needs reparsing;
+ or even to implement incremental parsers.
+ It is a separate class from ITextSource to allow the GC to collect the text source while
+ the version checkpoint is still in use.
+
+
+
+
+ Gets whether this checkpoint belongs to the same document as the other checkpoint.
+
+
+ Returns false when given null.
+
+
+
+
+ Compares the age of this checkpoint to the other checkpoint.
+
+ This method is thread-safe.
+ Raised if 'other' belongs to a different document than this version.
+ -1 if this version is older than .
+ 0 if this version instance represents the same version as .
+ 1 if this version is newer than .
+
+
+
+ Gets the changes from this checkpoint to the other checkpoint.
+ If 'other' is older than this checkpoint, reverse changes are calculated.
+
+ This method is thread-safe.
+ Raised if 'other' belongs to a different document than this checkpoint.
+
+
+
+ Calculates where the offset has moved in the other buffer version.
+
+ Raised if 'other' belongs to a different document than this checkpoint.
+
+
+
+ Implements the ITextSource interface using a string.
+
+
+
+
+ Gets a text source containing the empty string.
+
+
+
+
+ Creates a new StringTextSource with the given text.
+
+
+
+
+ Creates a new StringTextSource with the given text.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Represents a simple segment (Offset,Length pair) that is not automatically updated
+ on document changes.
+
+
+
+
+ Gets the overlapping portion of the segments.
+ Returns SimpleSegment.Invalid if the segments don't overlap.
+
+
+
+
+
+
+
+ A segment using s as start and end positions.
+
+
+
+ For the constructors creating new anchors, the start position will be AfterInsertion and the end position will be BeforeInsertion.
+ Should the end position move before the start position, the segment will have length 0.
+
+
+
+
+
+
+
+ Creates a new AnchorSegment using the specified anchors.
+ The anchors must have set to true.
+
+
+
+
+ Creates a new AnchorSegment that creates new anchors.
+
+
+
+
+ Creates a new AnchorSegment that creates new anchors.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Implements the ITextSource interface using a rope.
+
+
+
+
+ Creates a new RopeTextSource.
+
+
+
+
+ Creates a new RopeTextSource.
+
+
+
+
+ Returns a clone of the rope used for this text source.
+
+
+ RopeTextSource only publishes a copy of the contained rope to ensure that the underlying rope cannot be modified.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Represents a line inside a .
+
+
+
+ The collection contains one DocumentLine instance
+ for every line in the document. This collection is read-only to user code and is automatically
+ updated to reflect the current document content.
+
+
+ Internally, the DocumentLine instances are arranged in a binary tree that allows for both efficient updates and lookup.
+ Converting between offset and line number is possible in O(lg N) time,
+ and the data structure also updates all offsets in O(lg N) whenever a line is inserted or removed.
+
+
+
+
+
+ Resets the line to enable its reuse after a document rebuild.
+
+
+
+
+ The number of lines in this node and its child nodes.
+ Invariant:
+ nodeTotalCount = 1 + left.nodeTotalCount + right.nodeTotalCount
+
+
+
+
+ The total text length of this node and its child nodes.
+ Invariant:
+ nodeTotalLength = left.nodeTotalLength + documentLine.TotalLength + right.nodeTotalLength
+
+
+
+
+ Gets a string with debug output showing the line number and offset.
+ Does not include the line's text.
+
+
+
+
+ Gets if this line was deleted from the document.
+
+
+
+
+ Gets the number of this line.
+ Runtime: O(log n)
+
+ The line was deleted.
+
+
+
+ Gets the starting offset of the line in the document's text.
+ Runtime: O(log n)
+
+ The line was deleted.
+
+
+
+ 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.
+ EndOffset = + .
+
+
+
+ Gets the length of this line. The length does not include the line delimiter. O(1)
+
+ This property is still available even if the line was deleted;
+ in that case, it contains the line's length before the deletion.
+
+
+
+ Gets the length of this line, including the line delimiter. O(1)
+
+ This property is still available even if the line was deleted;
+ in that case, it contains the line's length before the deletion.
+
+
+
+ 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.
+
+ This property is still available even if the line was deleted;
+ in that case, it contains the line delimiter's length before the deletion.
+
+
+
+ Gets the next line in the document.
+
+ The line following this line, or null if this is the last line.
+
+
+
+ Gets the previous line in the document.
+
+ The line before this line, or null if this is the first line.
+
+
+
+ Gets the location of the next new line character, or SimpleSegment.Invalid
+ if none is found.
+
+
+
+
+ Gets the location of the next new line character, or SimpleSegment.Invalid
+ if none is found.
+
+
+
+
+ Static helper methods for working with text.
+
+
+
+
+ Finds the next new line character starting at offset.
+
+ The text source to search in.
+ The starting offset for the search.
+ The string representing the new line that was found, or null if no new line was found.
+ The position of the first new line starting at or after ,
+ or -1 if no new line was found.
+
+
+
+ Gets whether the specified string is a newline sequence.
+
+
+
+
+ Normalizes all new lines in to be .
+
+
+
+
+ Gets the newline sequence used in the document at the specified line.
+
+
+
+
+ Gets the name of the control character.
+ For unknown characters, the unicode codepoint is returned as 4-digit hexadecimal value.
+
+
+
+
+ Gets all whitespace (' ' and '\t', but no newlines) after offset.
+
+ The text source.
+ The offset where the whitespace starts.
+ The segment containing the whitespace.
+
+
+
+ Gets all whitespace (' ' and '\t', but no newlines) before offset.
+
+ The text source.
+ The offset where the whitespace ends.
+ The segment containing the whitespace.
+
+
+
+ Gets the leading whitespace segment on the document line.
+
+
+
+
+ Gets the trailing whitespace segment on the document line.
+
+
+
+
+ Gets a single indentation segment starting at - at most one tab
+ or spaces.
+
+ The text source.
+ The offset where the indentation segment starts.
+ The size of an indentation unit. See .
+ The indentation segment.
+ If there is no indentation character at the specified ,
+ an empty segment is returned.
+
+
+
+ Gets whether the character is whitespace, part of an identifier, or line terminator.
+
+
+
+
+ Gets the next caret position.
+
+ The text source.
+ The start offset inside the text source.
+ The search direction (forwards or backwards).
+ The mode for caret positioning.
+ The offset of the next caret position, or -1 if there is no further caret position
+ in the text source.
+
+ This method is NOT equivalent to the actual caret movement when using VisualLine.GetNextCaretPosition.
+ In real caret movement, there are additional caret stops at line starts and ends. This method
+ treats linefeeds as simple whitespace.
+
+
+
+
+ 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.
+
+
+ This is the default implementation of DocumentChangeEventArgs when OffsetChangeMap is null,
+ so using this option usually works without creating an OffsetChangeMap instance.
+ This is equivalent to an OffsetChangeMap with a single entry describing the replace operation.
+
+
+
+
+ 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.
+
+
+ This is implemented as an OffsetChangeMap with two entries: the removal, and the insertion.
+
+
+
+
+ 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.
+
+
+ On the OffsetChangeMap level, growing text is implemented by replacing the last character in the replaced text
+ with itself and the additional text segment. A simple insertion of the additional text would have the undesired
+ effect of moving anchors immediately after the replaced text into the replacement text if they used
+ AnchorMovementStyle.BeforeInsertion.
+ Shrinking text is implemented by removing the text segment that's too long; but in a special mode that
+ causes anchors to always survive irrespective of their setting.
+ If the text keeps its old size, this is implemented as OffsetChangeMap.Empty.
+
+
+
+
+ Like 'Normal', but anchors with = Default will stay in front of the
+ insertion instead of being moved behind it.
+
+
+
+
+ Describes a series of offset changes.
+
+
+
+
+ Immutable OffsetChangeMap that is empty.
+
+
+
+
+ Creates a new OffsetChangeMap with a single element.
+
+ The entry.
+ Returns a frozen OffsetChangeMap with a single entry.
+
+
+
+ Creates a new OffsetChangeMap instance.
+
+
+
+
+ Gets the new offset where the specified offset moves after this document change.
+
+
+
+
+ Gets whether this OffsetChangeMap is a valid explanation for the specified document change.
+
+
+
+
+ Calculates the inverted OffsetChangeMap (used for the undo operation).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Freezes this instance.
+
+
+
+
+ Gets if this instance is frozen. Frozen instances are immutable and thus thread-safe.
+
+
+
+
+ An entry in the OffsetChangeMap.
+ This represents the offset of a document change (either insertion or removal, not both at once).
+
+
+
+
+ Gets the new offset where the specified offset moves after this document change.
+
+
+
+
+ Creates a new OffsetChangeMapEntry instance.
+
+
+
+
+ Creates a new OffsetChangeMapEntry instance.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tests the two entries for equality.
+
+
+
+
+ Tests the two entries for inequality.
+
+
+
+
+ The offset at which the change occurs.
+
+
+
+
+ The number of characters inserted.
+ Returns 0 if this entry represents a removal.
+
+
+
+
+ The number of characters removed.
+ Returns 0 if this entry represents an insertion.
+
+
+
+
+ Gets whether the removal should not cause any anchor deletions.
+
+
+
+
+ Gets whether default anchor movement causes the anchor to stay in front of the caret.
+
+
+
+
+ Contains weak event managers for the TextDocument events.
+
+
+
+
+ Weak event manager for the event.
+
+
+
+
+ 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.
+
+
+
+
+ Removes a weak event listener.
+
+
+
+
+
+
+
+
+
+
+ Attaches the event handler.
+
+
+
+
+ Detaches the event handler.
+
+
+
+
+ Gets the current manager.
+
+
+
+
+
+
+
+
+
+
+ Weak event manager for the event.
+
+
+
+
+
+
+
+
+
+
+ Weak event manager for the event.
+
+
+
+
+
+
+
+
+
+
+ Weak event manager for the event.
+
+
+
+
+
+
+
+
+
+
+ Weak event manager for the event.
+
+
+
+
+
+
+
+
+
+
+ Weak event manager for the event.
+
+
+
+
+
+
+
+
+
+
+ Weak event manager for the event.
+
+
+
+
+
+
+
+
+
+
+ A line/column position.
+ Text editor lines/columns are counted started from one.
+
+
+ The document provides the methods and
+ to convert between offsets and TextLocations.
+
+
+
+
+ Represents no text location (0, 0).
+
+
+
+
+ Creates a TextLocation instance.
+
+
+
+
+ Gets a string representation for debugging purposes.
+
+
+
+
+ Gets a hash code.
+
+
+
+
+ Equality test.
+
+
+
+
+ Equality test.
+
+
+
+
+ Equality test.
+
+
+
+
+ Inequality test.
+
+
+
+
+ Compares two text locations.
+
+
+
+
+ Compares two text locations.
+
+
+
+
+ Compares two text locations.
+
+
+
+
+ Compares two text locations.
+
+
+
+
+ Compares two text locations.
+
+
+
+
+ Gets the line number.
+
+
+
+
+ Gets the column number.
+
+
+
+
+ Gets whether the TextLocation instance is empty.
+
+
+
+
+ Converts strings of the form '0+[;,]0+' to a .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Extension methods for .
+
+
+
+
+ Gets whether fully contains the specified segment.
+
+
+ Use segment.Contains(offset, 0) to detect whether a segment (end inclusive) contains offset;
+ use segment.Contains(offset, 1) to detect whether a segment (end exclusive) contains offset.
+
+
+
+
+ Gets whether fully contains the specified segment.
+
+
+
+
+ Interface to allow TextSegments to access the TextSegmentCollection - we cannot use a direct reference
+ because TextSegmentCollection is generic.
+
+
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ Adds the specified segment to the tree. This will cause the segment to update when the
+ document changes.
+
+
+
+
+ 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.
+
+
+
+
+ Gets the first segment with a start offset greater or equal to .
+ Returns null if no such segment is found.
+
+
+
+
+ Finds the node at the specified offset.
+ After the method has run, offset is relative to the beginning of the returned node.
+
+
+
+
+ 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.
+
+
+
+ Finds all segments that overlap with the given segment (including touching segments).
+
+ 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 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.
+
+
+
+ Removes the specified segment from the tree. This will cause the segment to not update
+ anymore 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 an enumerator to enumerate the segments.
+
+
+
+
+ Returns the first segment in the collection or null, if the collection is empty.
+
+
+
+
+ Returns the last segment in the collection or null, if the collection is empty.
+
+
+
+
+ Gets the number of segments in the tree.
+
+
+
+
+ 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.
+
+
+ Use the property to get the offset from a text anchor.
+ Use the method to create an anchor from an offset.
+
+
+ The document will automatically update all text anchors; and because it uses weak references to do so,
+ the garbage collector can simply collect the anchor object when you don't need it anymore.
+
+ Moreover, the document is able to efficiently update a large number of anchors without having to look
+ at each anchor object individually. Updating the offsets of all anchors usually only takes time logarithmic
+ to the number of anchors. Retrieving the property also runs in O(lg N).
+
+
+ If you want to track a segment, you can use the class which
+ implements using two text anchors.
+
+
+ Usage:
+ TextAnchor anchor = document.CreateAnchor(offset);
+ ChangeMyDocument();
+ int newOffset = anchor.Offset;
+
+
+
+
+
+
+
+
+ Gets the document owning the anchor.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the offset of the text anchor.
+
+ Thrown when trying to get the Offset from a deleted anchor.
+
+
+
+ Gets the line number of the anchor.
+
+ Thrown when trying to get the Offset from a deleted anchor.
+
+
+
+ Gets the column number of this 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.
+
+
+
+ A TextAnchorNode is placed in the TextAnchorTree.
+ It describes a section of text with a text anchor at the end of the section.
+ A weak reference is used to refer to the TextAnchor. (to save memory, we derive from WeakReference instead of referencing it)
+
+
+
+
+ Gets the inorder successor of the node.
+
+
+
+
+ Gets the inorder predecessor of the node.
+
+
+
+
+ A tree of TextAnchorNodes.
+
+
+
+
+ Swaps the anchors stored in the two nodes.
+
+
+
+
+ Finds the node at the specified offset.
+ After the method has run, offset is relative to the beginning of the returned node.
+
+
+
+
+ A segment that can be put into a .
+
+
+
+ A can be stand-alone or part of a .
+ If the segment is stored inside a TextSegmentCollection, its Offset and Length will be updated by that collection.
+
+
+ When the document changes, the offsets of all text segments in the TextSegmentCollection will be adjusted accordingly.
+ Start offsets move like AnchorMovementType.AfterInsertion,
+ end offsets move like AnchorMovementType.BeforeInsertion
+ (i.e. the segment will always stay as small as possible).
+
+ If a document change causes a segment to be deleted completely, it will be reduced to length 0, but segments are
+ never automatically removed from the collection.
+ Segments with length 0 will never expand due to document changes, and they move as AfterInsertion.
+
+
+ Thread-safety: a TextSegmentCollection that is connected to a may only be used on that document's owner thread.
+ A disconnected TextSegmentCollection is safe for concurrent reads, but concurrent access is not safe when there are writes.
+ Keep in mind that reading the Offset properties of a text segment inside the collection is a read access on the
+ collection; and setting an Offset property of a text segment is a write access on the collection.
+
+
+
+
+
+
+
+
+ The color of the segment in the red/black tree.
+
+
+
+
+ The "length" of the node (distance to previous node)
+
+
+
+
+ The total "length" of this subtree.
+
+
+
+
+ The length of the segment (do not confuse with nodeLength).
+
+
+
+
+ distanceToMaxEnd = Max(segmentLength,
+ left.distanceToMaxEnd + left.Offset - Offset,
+ left.distanceToMaxEnd + right.Offset - Offset)
+
+
+
+
+ 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 whether this segment is connected to a TextSegmentCollection and will automatically
+ update its offsets.
+
+
+
+
+ Gets/Sets the start offset of the segment.
+
+
+ When setting the start offset, the end offset will change, too: the Length of the segment will stay constant.
+
+
+
+
+ Gets/Sets the end offset of the segment.
+
+
+ Setting the end offset will change the length, the start offset will stay constant.
+
+
+
+
+ Gets/Sets the length of the segment.
+
+
+ Setting the length will change the end offset, the start offset will stay constant.
+
+
+
+
+ Gets the inorder successor of the node.
+
+
+
+
+ Gets the inorder predecessor of the node.
+
+
+
+
+ Provides ITextSourceVersion instances.
+
+
+
+
+ Creates a new TextSourceVersionProvider instance.
+
+
+
+
+ Replaces the current version with a new version.
+
+ Change from current version to new version
+
+
+
+ Gets the current version.
+
+
+
+
+ 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".
+
+
+
+
+ This class stacks the last x operations from the undostack and makes
+ one undo/redo operation from it.
+
+
+
+
+ Undo stack implementation.
+
+
+
+ undo stack is listening for changes
+
+
+ undo stack is reverting/repeating a set of changes
+
+
+ state is used for checking that noone but the UndoStack performs changes
+ during Undo events
+
+
+
+ Number of times undo must be executed until the original state is reached.
+ Negative: number of times redo must be executed until the original state is reached.
+ Special case: int.MinValue == original state is unreachable
+
+
+
+
+ Marks the current state as original. Discards any previous "original" markers.
+
+
+
+
+ Discards the current "original" marker.
+
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ Stops grouping changes.
+
+
+
+
+ Throws an InvalidOperationException if an undo group is current open.
+
+
+
+
+ Call this method to undo the last operation on the stack
+
+
+
+
+ Call this method to redo the last undone operation
+
+
+
+
+ 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, if you want to clear the redo stack
+
+
+
+
+ Clears both the undo and redo stack.
+
+
+
+
+ Gets whether the document is currently in its original state (no modifications).
+
+
+
+
+ Gets if the undo stack currently accepts changes.
+ Is false while an undo action is running.
+
+
+
+
+ Gets if there are actions on the undo stack.
+ Use the PropertyChanged event to listen to changes of this property.
+
+
+
+
+ Gets if there are actions on the redo stack.
+ Use the PropertyChanged event to listen to changes of this property.
+
+
+
+
+ Gets/Sets the limit on the number of items on the undo stack.
+
+ The size limit is enforced only on the number of stored top-level undo groups.
+ Elements within undo groups do not count towards the size limit.
+
+
+
+ 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.
+
+ The group descriptor can be used to join adjacent undo groups:
+ use a group descriptor to mark your changes, and on the second action,
+ compare LastGroupDescriptor and use if you
+ want to join the undo groups.
+
+
+
+ Is raised when a property (CanUndo, CanRedo) changed.
+
+
+
+
+ Allows registering a line tracker on a TextDocument using a weak reference from the document to the 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.
+
+
+
+
+ Deregisters the weak line tracker.
+
+
+
+
+ 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!
+
+
+
+
+ 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.
+
+
+
+
+ TextView property.
+
+
+
+
+ Called when the is changing.
+
+
+
+
+ Called when the is changing.
+
+
+
+
+ Gets/sets the text view for which line numbers are displayed.
+
+ Adding a margin to will automatically set this property to the text area's TextView.
+
+
+
+ Gets the document associated with the margin.
+
+
+
+
+ Helper class with caret-related methods.
+
+
+
+
+ Minimum distance of the caret to the view border.
+
+
+
+
+ Validates the visual column of the caret using the specified visual line.
+ The visual line must contain the caret offset.
+
+
+
+
+ Returns the caret rectangle. The coordinate system is in device-independent pixels from the top of the document.
+
+
+
+
+ Scrolls the text view so that the caret is visible.
+
+
+
+
+ Makes the caret visible and updates its on-screen position.
+
+
+
+
+ Makes the caret invisible.
+
+
+
+
+ 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.
+
+
+
+
+ Gets the caret position without validating it.
+
+
+
+
+ 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 line.
+
+
+
+
+ Gets/Sets the caret column.
+
+
+
+
+ Gets/Sets the caret visual column.
+
+
+
+
+ Gets whether the caret is in virtual space.
+
+
+
+
+ Gets/Sets the caret offset.
+ Setting the caret offset has the side effect of setting the to NaN.
+
+
+
+
+ Gets/Sets the desired x-position of the caret, in device-independent pixels.
+ This property is NaN if the caret has no desired position.
+
+
+
+
+ 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.
+
+
+
+
+ Gets/Sets the color of the caret.
+
+
+
+
+ Base class for known layers.
+
+
+
+
+ Creates a new for the text area.
+
+
+
+
+ Contains classes for handling weak events on the Caret class.
+
+
+
+
+ Handles the Caret.PositionChanged event.
+
+
+
+
+
+
+
+
+
+
+ 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.
+
+
+
+
+ Creates a new DragDropException.
+
+
+
+
+ Creates a new DragDropException.
+
+
+
+
+ Deserializes a DragDropException.
+
+
+
+
+ We re-use the CommandBinding and InputBinding instances between multiple text areas,
+ so this class is static.
+
+
+
+
+ Creates a new for the text area.
+
+
+
+
+ Calls transformLine on all lines in the selected range.
+ transformLine needs to handle read-only segments!
+
+
+
+
+ Calls transformLine on all writable segment in the selected range.
+
+
+
+
+ Base class for selections.
+
+
+
+
+ Creates a new simple selection that selects the text from startOffset to endOffset.
+
+
+
+
+ Creates a new simple selection that selects the text in the specified segment.
+
+
+
+
+ Constructor for Selection.
+
+
+
+
+ Replaces the selection with the specified text.
+
+
+
+
+ Updates the selection when the document changes.
+
+
+
+
+ Returns a new selection with the changed end point.
+
+ Cannot set endpoint for empty selection
+
+
+
+ If this selection is empty, starts a new selection from to
+ , otherwise, changes the endpoint of this selection.
+
+
+
+
+ Gets the selected text.
+
+
+
+
+ Creates a HTML fragment for the selected text.
+
+
+
+
+
+
+
+
+
+
+ Gets whether the specified offset is included in the selection.
+
+ True, if the selection contains the offset (selection borders inclusive);
+ otherwise, false.
+
+
+
+ Creates a data object containing the selection's text.
+
+
+
+
+ Gets the start position of the selection.
+
+
+
+
+ Gets the end position of the selection.
+
+
+
+
+ Gets the selected text segments.
+
+
+
+
+ Gets the smallest segment that contains all segments in this selection.
+ May return null if the selection is empty.
+
+
+
+
+ Gets whether the selection is empty.
+
+
+
+
+ Gets whether virtual space is enabled for this selection.
+
+
+
+
+ Gets the selection length.
+
+
+
+
+ Gets whether the selection is multi-line.
+
+
+
+
+ Native API required for IME support.
+
+
+
+
+ Represents a selected segment.
+
+
+
+
+ Creates a SelectionSegment from two offsets.
+
+
+
+
+ Creates a SelectionSegment from two offsets and visual columns.
+
+
+
+
+
+
+
+ Gets the start offset.
+
+
+
+
+ Gets the end offset.
+
+
+
+
+ Gets the start visual column.
+
+
+
+
+ Gets the end visual column.
+
+
+
+
+
+
+
+
+
+
+ A that produces line elements for folded s.
+
+
+
+
+ Abstract base class for generators that produce new visual line elements.
+
+
+
+
+ Initializes the generator for the
+
+
+
+
+ De-initializes the generator.
+
+
+
+
+ Should only be used by VisualLine.ConstructVisualElements.
+
+
+
+
+ Gets the first offset >= startOffset where the generator wants to construct an element.
+ Return -1 to signal no interest.
+
+
+
+
+ Constructs an element at the specified offset.
+ May return null if no element should be constructed.
+
+
+ Avoid signalling interest and then building no element by returning null - doing so
+ causes the generated elements to be unnecessarily split
+ at the position where you signalled interest.
+
+
+
+
+ Gets the text run construction context.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Default brush for folding element text. Value: Brushes.Gray
+
+
+
+
+ Gets/Sets the folding manager from which the foldings should be shown.
+
+
+
+
+ Gets/sets the brush used for folding element text.
+
+
+
+
+ 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.
+
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+
+ Retrieves the text span immediately before the visual column.
+
+ This method is used for word-wrapping in bidirectional text.
+
+
+
+ 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 visual column of a text location inside this element.
+ The text offset is given relative to the visual line start.
+
+
+
+
+ Gets the text offset of a visual column inside this element.
+
+ A text offset relative to the visual line start.
+
+
+
+ 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.
+
+ In the space between two line elements, it is sufficient that one of them contains a caret position;
+ though in many cases, both of them contain one.
+
+
+
+
+ Gets whether the specified offset in this element is considered whitespace.
+
+
+
+
+ Queries the cursor over the visual line element.
+
+
+
+
+ Allows the visual line element to handle a mouse event.
+
+
+
+
+ Allows the visual line element to handle a mouse event.
+
+
+
+
+ Gets the length of this element in visual columns.
+
+
+
+
+ Gets the length of this element in the text document.
+
+
+
+
+ Gets the visual column where this element starts.
+
+
+
+
+ Gets the text offset where this element starts, relative to the start text offset of the visual line.
+
+
+
+
+ Gets the text run properties.
+ A unique instance is used for each
+ ; colorizing code may assume that modifying the
+ will affect only this
+ .
+
+
+
+
+ Gets/sets the brush used for the background of this .
+
+
+
+
+ Gets if this VisualLineElement can be split.
+
+
+
+
+ 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
+ .
+
+
+
+
+ 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.
+
+
+
+
+
+
+
+ Constructs a TextLine from a simple text.
+
+
+
+
+ Gets/sets the line break condition before the element.
+ The default is 'BreakPossible'.
+
+
+
+
+ Gets/sets the line break condition after the element.
+ The default is 'BreakPossible'.
+
+
+
+
+ This is the TextRun implementation used by the class.
+
+
+
+
+ Creates a new FormattedTextRun.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the element for which the FormattedTextRun was created.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Stores a list of foldings for a specific TextView and TextDocument.
+
+
+
+
+ Creates a new FoldingManager instance.
+
+
+
+
+
+
+
+ Creates a folding for the specified text section.
+
+
+
+
+ Removes a folding section from this manager.
+
+
+
+
+ Removes all folding sections.
+
+
+
+
+ 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 .
+
+
+
+
+ Gets all foldings that start exactly at .
+
+
+
+
+ Gets all foldings that contain .
+
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ Uninstalls the folding manager.
+
+ The specified manager was not created using .
+
+
+
+ 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.
+
+
+
+
+ A margin that shows markers for foldings and allows to expand/collapse the foldings.
+
+
+
+
+ FoldingMarkerBrush dependency property.
+
+
+
+
+ FoldingMarkerBackgroundBrush dependency property.
+
+
+
+
+ SelectedFoldingMarkerBrush dependency property.
+
+
+
+
+ SelectedFoldingMarkerBackgroundBrush dependency property.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Calculates fold lines for all folding sections that start in front of the current view
+ and run into the current view.
+
+
+
+
+ Calculates fold lines for all folding sections that start inside the current view
+
+
+
+
+ Draws the lines for the folding sections (vertical line with 'color', horizontal lines with 'endMarker')
+ Each entry in the input arrays corresponds to one TextLine.
+
+
+
+
+ Gets/Sets the folding manager from which the foldings should be shown.
+
+
+
+
+ Gets/sets the Brush used for displaying the lines of folding markers.
+
+
+
+
+ Gets/sets the Brush used for displaying the background of folding markers.
+
+
+
+
+ Gets/sets the Brush used for displaying the lines of selected folding markers.
+
+
+
+
+ Gets/sets the Brush used for displaying the background of selected folding markers.
+
+
+
+
+
+
+
+ A section that can be folded.
+
+
+
+
+
+
+
+ Gets/sets if the section is folded.
+
+
+
+
+ Gets/Sets the text used to display the collapsed version of the folding section.
+
+
+
+
+ Gets the content of the collapsed lines as text.
+
+
+
+
+ Gets the content of the collapsed lines as tooltip text.
+
+
+
+
+ Gets/Sets an additional object associated with this folding section.
+
+
+
+
+ Determines whether the document can be modified.
+
+
+
+
+ Gets whether insertion is possible at the specified offset.
+
+
+
+
+ Gets the deletable segments inside the given segment.
+
+
+ All segments in the result must be within the given segment, and they must be returned in order
+ (e.g. if two segments are returned, EndOffset of first segment must be less than StartOffset of second segment).
+
+ For replacements, the last segment being returned will be replaced with the new text. If an empty list is returned,
+ no replacement will be done.
+
+
+
+
+ Margin showing line numbers.
+
+
+
+
+ The typeface used for rendering the line number margin.
+ This field is calculated in MeasureOverride() based on the FontFamily etc. properties.
+
+
+
+
+ The font size used for rendering the line number margin.
+ This field is calculated in MeasureOverride() based on the FontFamily etc. properties.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Maximum length of a line number, in characters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ that has no read-only sections; all text is editable.
+
+
+
+
+ that completely disables editing.
+
+
+
+
+ Rectangular selection ("box selection").
+
+
+
+
+ Gets the name of the entry in the DataObject that signals rectangle selections.
+
+
+
+
+ Expands the selection left by one character, creating a rectangular selection.
+ Key gesture: 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+Left
+
+
+
+
+ Expands the selection left by one word, creating a rectangular selection.
+ Key gesture: Ctrl+Alt+Shift+Right
+
+
+
+
+ Expands the selection up by one line, creating a rectangular selection.
+ Key gesture: Alt+Shift+Up
+
+
+
+
+ Expands the selection up by one line, creating a rectangular selection.
+ Key gesture: Alt+Shift+Down
+
+
+
+
+ Expands the selection to the start of the line, creating a rectangular selection.
+ Key gesture: Alt+Shift+Home
+
+
+
+
+ Expands the selection to the end of the line, creating a rectangular selection.
+ Key gesture: Alt+Shift+End
+
+
+
+
+ Creates a new rectangular selection.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Performs a rectangular paste operation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Base class for that helps
+ splitting visual elements so that colors (and other text properties) can be easily assigned
+ to individual words/characters.
+
+
+
+
+ Allows transforming visual line elements.
+
+
+
+
+ Applies the transformation to the specified list of visual line elements.
+
+
+
+
+ implementation.
+ Sets and calls .
+
+
+
+
+ Performs the colorization.
+
+
+
+
+ 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 .
+
+
+
+ Called when added to a text view.
+
+
+
+
+ Called when removed from a text view.
+
+
+
+
+ Gets the list of elements currently being transformed.
+
+
+
+
+ Handles selection of text using the mouse.
+
+
+
+
+ no selection (no mouse button down)
+
+
+
+
+ left mouse button down on selection, might be normal click
+ or might be drag'n'drop
+
+
+
+
+ dragging text
+
+
+
+
+ normal selection (click+drag)
+
+
+
+
+ whole-word selection (double click+drag or ctrl+click+drag)
+
+
+
+
+ whole-line selection (triple click+drag)
+
+
+
+
+ rectangular selection (alt+click+drag)
+
+
+
+
+ A simple selection.
+
+
+
+
+ Creates a new SimpleSelection instance.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Control that wraps a TextView and adds support for user input and the caret.
+
+
+
+
+ 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).
+
+
+
+
+ Gets the options of the text editor.
+
+
+
+
+ Occurs when the Options property changes, or when an option inside the current option list
+ changes.
+
+
+
+
+ Creates a new TextArea instance.
+
+
+
+
+ Creates a new TextArea instance.
+
+
+
+
+ Pushes an input handler onto the list of stacked input handlers.
+
+
+
+
+
+ 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.
+
+
+
+
+
+ Document property.
+
+
+
+
+ Options property.
+
+
+
+
+ Raises the event.
+
+
+
+
+
+
+
+
+
+
+ Clears the current selection.
+
+
+
+
+ The property.
+
+
+
+
+ The property.
+
+
+
+
+ The property.
+
+
+
+
+ The property.
+
+
+
+
+ Code that updates only the caret but not the selection can cause confusion when
+ keys like 'Delete' delete the (possibly invisible) selected text and not the
+ text around the caret.
+
+ So we'll ensure that the caret is inside the selection.
+ (when the caret is not in the selection, we'll clear the selection)
+
+ This method is invoked using the Dispatcher so that code may temporarily violate this rule
+ (e.g. most 'extend selection' methods work by first setting the caret, then the selection),
+ it's sufficient to fix it after any event handlers have run.
+
+
+
+
+ Temporarily allows positioning the caret outside the selection.
+ Dispose the returned IDisposable to revert the allowance.
+
+
+ The text area only forces the caret to be inside the selection when other events
+ have finished running (using the dispatcher), so you don't have to use this method
+ for temporarily positioning the caret in event handlers.
+ This method is only necessary if you want to run the WPF dispatcher, e.g. if you
+ perform a drag'n'drop operation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Raises the TextEntering event.
+
+
+
+
+ Raises the TextEntered event.
+
+
+
+
+
+
+
+ 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.
+
+
+
+
+ IndentationStrategy property.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The dependency property.
+
+
+
+
+
+
+
+
+
+
+ Gets the requested service.
+
+ Returns the requested service instance, or null if the service cannot be found.
+
+
+
+ Gets the default input handler.
+
+
+
+
+
+ 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.
+
+
+
+
+ Gets the list of currently active stacked input handlers.
+
+
+
+
+
+ Gets/Sets the document displayed by the text editor.
+
+
+
+
+
+
+
+ Gets/Sets the document displayed by the text editor.
+
+
+
+
+ Occurs when a text editor option has changed.
+
+
+
+
+ Gets the text view used to display text in this text area.
+
+
+
+
+ Occurs when the selection has changed.
+
+
+
+
+ Gets/Sets the selection in this text area.
+
+
+
+
+ Gets/Sets the background brush used for the selection.
+
+
+
+
+ Gets/Sets the foreground brush used selected text.
+
+
+
+
+ Gets/Sets the background brush used for the selection.
+
+
+
+
+ Gets/Sets the corner radius of the selection.
+
+
+
+
+ Gets the Caret used for this text area.
+
+
+
+
+ Gets the collection of margins displayed to the left of the text view.
+
+
+
+
+ Gets/Sets an object that provides read-only sections for the text area.
+
+
+
+
+ Occurs when the TextArea receives text input.
+ This is like the event,
+ but occurs immediately before the TextArea handles the TextInput event.
+
+
+
+
+ Occurs when the TextArea receives text input.
+ This is like the event,
+ but occurs immediately after the TextArea handles the TextInput event.
+
+
+
+
+ Gets/Sets the indentation strategy used when inserting new lines.
+
+
+
+
+ Gets/Sets whether overstrike mode is active.
+
+
+
+
+ Occurs when text inside the TextArea was copied.
+
+
+
+
+ EventArgs with text.
+
+
+
+
+ Creates a new TextEventArgs instance.
+
+
+
+
+ Gets the text.
+
+
+
+
+ Contains the predefined input handlers.
+
+
+
+
+ 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.
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets whether the input handler is currently attached to the text area.
+
+
+
+
+ Gets the command bindings of this input handler.
+
+
+
+
+ Gets the input bindings of this input handler.
+
+
+
+
+ Gets the collection of nested input handlers. NestedInputHandlers are activated and deactivated
+ together with this input handler.
+
+
+
+
+ Creates a new TextAreaDefaultInputHandler instance.
+
+
+
+
+ Gets the caret navigation input handler.
+
+
+
+
+ Gets the editing input handler.
+
+
+
+
+ Gets the mouse selection input handler.
+
+
+
+
+ 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.
+
+
+
+
+ Gets the deletable segments inside the given segment.
+
+
+
+
+ Gets the collection storing the read-only segments.
+
+
+
+
+ Helper class used for .
+
+
+
+
+ Creates a new NewFolding instance.
+
+
+
+
+ Creates a new NewFolding instance.
+
+
+
+
+ Gets/Sets the start offset.
+
+
+
+
+ Gets/Sets the end offset.
+
+
+
+
+ Gets/Sets the name displayed for the folding.
+
+
+
+
+ Gets/Sets whether the folding is closed by default.
+
+
+
+
+ Gets/Sets whether the folding is considered to be a definition.
+ This has an effect on the 'Show Definitions only' command.
+
+
+
+
+ Holds information about the start of a fold in an xml string.
+
+
+
+
+ Determines folds for an xml string in the editor.
+
+
+
+
+ Create s for the specified document and updates the folding manager with them.
+
+
+
+
+ Create s for the specified document.
+
+
+
+
+ Create s for the specified document.
+
+
+
+
+ Creates a comment fold if the comment spans more than one line.
+
+ The text displayed when the comment is folded is the first
+ line of the comment.
+
+
+
+ Creates an XmlFoldStart for the start tag of an element.
+
+
+
+
+ Create an element fold if the start and end tag are on
+ different lines.
+
+
+
+
+ Gets the element's attributes as a string on one line that will
+ be displayed when the element is folded.
+
+
+ Currently this puts all attributes from an element on the same
+ line of the start tag. It does not cater for elements where attributes
+ are not on the same line as the start tag.
+
+
+
+
+ Xml encode the attribute string since the string returned from
+ the XmlTextReader is the plain unencoded string and .NET
+ does not provide us with an xml encode method.
+
+
+
+
+ Flag indicating whether attributes should be displayed on folded
+ elements.
+
+
+
+
+ This class can syntax-highlight a document.
+ It automatically manages invalidating the highlighting when the document changes.
+
+
+
+
+ Represents a highlighted document.
+
+ This interface is used by the to register the highlighter as a TextView service.
+
+
+
+ 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.
+
+
+ GetColorStack(0) is valid and will return the empty stack.
+ The elements are returned in inside-out order (first element of result enumerable is the color of the innermost span).
+
+
+
+
+ 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.
+
+
+
+
+ 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).
+
+
+ The group is closed by either a or a call.
+ Nested groups are not allowed.
+
+
+
+
+ Closes the currently opened group of calls.
+
+ .
+
+
+
+ Retrieves the HighlightingColor with the specified name. Returns null if no color matching the name is found.
+
+
+
+
+ Gets the underlying text document.
+
+
+
+
+ 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.
+
+
+ For implementers: there is the requirement that, during highlighting,
+ if there was no state changed reported for the beginning of line X,
+ and there were no document changes between the start of line X and the start of line Y (with Y > X),
+ then this event must not be raised for any line between X and Y (inclusive).
+
+ Equal input state + unchanged line = Equal output state.
+
+ See the comment in the HighlightingColorizer.OnHighlightStateChanged implementation
+ for details about the requirements for a correct custom IHighlighter.
+
+ Outside of the highlighting process, this event can be raised without such restrictions.
+
+
+
+
+ Gets the default text color.
+
+
+
+
+ Stores the span state at the end of each line.
+ storedSpanStacks[0] = state at beginning of document
+ storedSpanStacks[i] = state after line i
+
+
+
+
+ Creates a new DocumentHighlighter instance.
+
+
+
+
+ Disposes the document highlighter.
+
+
+
+
+ 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.
+
+
+
+
+ Invalidates stored highlighting info, but does not raise the HighlightingStateChanged event.
+
+
+
+
+
+
+
+ Gets the span stack at the end of the specified line.
+ -> GetSpanStack(1) returns the spans at the start of the second line.
+
+
+ GetSpanStack(0) is valid and will return .
+ The elements are returned in inside-out order (first element of result enumerable is the color of the innermost span).
+
+
+
+
+
+
+
+
+
+
+ Sets the engine's CurrentSpanStack to the end of the target line.
+ Updates the span stack for all lines up to (and including) the target line, if necessary.
+
+
+
+
+ Is called when the highlighting state at the end of the specified line has changed.
+
+ This callback must not call HighlightLine or InvalidateHighlighting.
+ It may call GetSpanStack, but only for the changed line and lines above.
+ This method must not modify the document.
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the document that this DocumentHighlighter is highlighting.
+
+
+
+
+ Gets/sets the the initial span stack of the document. Default value is .
+
+
+
+
+
+
+
+
+
+
+ Takes a series of highlighting commands and stores them.
+ Later, it can build inline objects (for use with WPF TextBlock) from the commands.
+
+
+ This class is not used in AvalonEdit - but it is useful for someone who wants to put a HighlightedLine
+ into a TextBlock.
+ In SharpDevelop, we use it to provide syntax highlighting inside the search results pad.
+
+
+
+
+ Creates a new HighlightedInlineBuilder instance.
+
+
+
+
+ Creates a new HighlightedInlineBuilder instance.
+
+
+
+
+ Applies the properties from the HighlightingColor to the specified text segment.
+
+
+
+
+ Sets the foreground brush on the specified text segment.
+
+
+
+
+ Sets the background brush on the specified text segment.
+
+
+
+
+ Sets the font weight on the specified text segment.
+
+
+
+
+ Sets the font style on the specified text segment.
+
+
+
+
+ Creates WPF Run instances that can be used for TextBlock.Inlines.
+
+
+
+
+ Creates a RichText instance.
+
+
+
+
+ Clones this HighlightedInlineBuilder.
+
+
+
+
+ Gets the text.
+
+
+
+
+ Represents a highlighted document line.
+
+
+
+
+ Creates a new HighlightedLine instance.
+
+
+
+
+ Validates that the sections are sorted correctly, and that they are not overlapping.
+
+
+
+
+
+ Merges the additional line into this line.
+
+
+
+
+ Writes the highlighted line to the RichTextWriter.
+
+
+
+
+ Writes a part of the highlighted line to the RichTextWriter.
+
+
+
+
+ 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 highlighting of this line.
+
+
+
+
+ Creates a that stores the text and highlighting of this line.
+
+
+
+
+ Gets the document associated with this HighlightedLine.
+
+
+
+
+ Gets the document line associated with this HighlightedLine.
+
+
+
+
+ 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.
+
+
+
+
+ A text section with syntax highlighting information.
+
+
+
+
+
+
+
+ Gets/sets the document offset of the section.
+
+
+
+
+ Gets/sets the length of the section.
+
+
+
+
+ Gets the highlighting color associated with the highlighted section.
+
+
+
+
+ A brush used for syntax highlighting. Can retrieve a real brush on-demand.
+
+
+
+
+ Gets the real brush.
+
+ The construction context. context can be null!
+
+
+
+ Gets the color of the brush.
+
+ The construction context. context can be null!
+
+
+
+ Highlighting brush implementation that takes a frozen brush.
+
+
+
+
+ Creates a new HighlightingBrush with the specified color.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HighlightingBrush implementation that finds a brush using a resource.
+
+
+
+
+ A highlighting color is a set of font properties and foreground and background color.
+
+
+
+
+ Freezes this instance.
+
+
+
+
+ Gets if this instance is frozen. Frozen instances are immutable and thus thread-safe.
+
+
+
+
+ Creates a new HighlightingColor instance.
+
+
+
+
+ Deserializes a HighlightingColor.
+
+
+
+
+ Serializes this HighlightingColor instance.
+
+
+
+
+ Gets CSS code for the color.
+
+
+
+
+
+
+
+ Prevent further changes to this highlighting color.
+
+
+
+
+ Clones this highlighting color.
+ If this color is frozen, the clone will be unfrozen.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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/sets the font weight. Null if the highlighting color does not change the font weight.
+
+
+
+
+ Gets/sets the font style. Null if the highlighting color does not change the font style.
+
+
+
+
+ Gets/sets the underline flag. Null if the underline status does not change the font style.
+
+
+
+
+ Gets/sets the foreground color applied by the highlighting.
+
+
+
+
+ Gets/sets the background color applied by the highlighting.
+
+
+
+
+ Gets whether this HighlightingColor instance is frozen.
+
+
+
+
+ A colorizes that interprets a highlighting rule set and colors the document accordingly.
+
+
+
+
+ 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.
+
+
+
+
+
+
+
+ Override this method to colorize an individual document line.
+
+
+
+
+ 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 .
+
+
+
+ Gets the current ITextRunConstructionContext.
+
+
+
+
+ Creates a new HighlightingColorizer instance.
+
+ The highlighting definition.
+
+
+
+ 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.
+ Derived classes using this constructor must override the method.
+
+
+
+
+ This method is called when a text view is removed from this HighlightingColorizer,
+ and also when the TextDocument on any associated text view changes.
+
+
+
+
+ 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.
+
+
+
+
+ Creates the IHighlighter instance for the specified text document.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets whether the color is empty (has no effect on a VisualLineTextElement).
+ For example, the C# "Punctuation" is an empty color.
+
+
+
+
+ Applies a highlighting color to a visual line element.
+
+
+
+
+ This method is responsible for telling the TextView to redraw lines when the highlighting state has changed.
+
+
+ Creation of a VisualLine triggers the syntax highlighter (which works on-demand), so it says:
+ Hey, the user typed "/*". Don't just recreate that line, but also the next one
+ because my highlighting state (at end of line) changed!
+
+
+
+
+ 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).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Regex-based highlighting engine.
+
+
+
+
+ Creates a new HighlightingEngine instance.
+
+
+
+
+ the HighlightedLine where highlighting output is being written to.
+ if this variable is null, nothing is highlighted and only the span state is updated
+
+
+
+
+ Highlights the specified line in the specified document.
+
+ Before calling this method, must be set to the proper
+ state for the beginning of this line. After highlighting has completed,
+ will be updated to represent the state after the line.
+
+
+
+
+ Updates for the specified line in the specified document.
+
+ Before calling this method, must be set to the proper
+ state for the beginning of this line. After highlighting has completed,
+ will be updated to represent the state after the line.
+
+
+
+
+ Returns the first match from the array or endSpanMatch.
+
+
+
+
+ Gets/sets the current span stack.
+
+
+
+
+ Manages a list of syntax highlighting definitions.
+
+
+ All memers on this class (including instance members) are thread-safe.
+
+
+
+
+ Interface for resolvers that can solve cross-definition references.
+
+
+
+
+ Gets the highlighting definition by name, or null if it is not found.
+
+
+
+
+ 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.
+
+
+
+
+ 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.
+
+
+
+ Gets a copy of all highlightings.
+
+
+
+
+ Gets the default HighlightingManager instance.
+ The default HighlightingManager comes with built-in highlightings.
+
+
+
+
+ A highlighting definition.
+
+
+
+
+ Gets a rule set by name.
+
+ The rule set, or null if it is not found.
+
+
+
+ Gets a named highlighting color.
+
+ The highlighting color, or null if it is not found.
+
+
+
+ Gets the name of the highlighting definition.
+
+
+
+
+ Gets the main rule set.
+
+
+
+
+ Gets the list of named highlighting colors.
+
+
+
+
+ Gets the list of properties.
+
+
+
+
+ Allows copying HTML text to the clipboard.
+
+
+
+
+ Builds a header for the CF_HTML clipboard format.
+
+
+
+
+ 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.
+
+
+
+
+ Creates a HTML fragment from a part of a document.
+
+ The document to create HTML from.
+ The highlighter used to highlight the document. null is valid and will create HTML without any highlighting.
+ The part of the document to create HTML for. You can pass null to create HTML for the whole document.
+ The options for the HTML creation.
+ HTML code for the document part.
+
+
+
+ Holds options for converting text to HTML.
+
+
+
+
+ Creates a default HtmlOptions instance.
+
+
+
+
+ Creates a new HtmlOptions instance that copies applicable options from the .
+
+
+
+
+ Writes the HTML attribute for the style to the text writer.
+
+
+
+
+ Gets whether the color needs to be written out to HTML.
+
+
+
+
+ The amount of spaces a tab gets converted to.
+
+
+
+
+ RichTextWriter implementation that produces HTML.
+
+
+
+
+ A text writer that supports creating spans of highlighted text.
+
+
+
+
+ Gets called by the RichTextWriter base class when a BeginSpan() method
+ that is not overwritten gets called.
+
+
+
+
+ Writes the RichText instance.
+
+
+
+
+ Writes the RichText instance.
+
+
+
+
+ Begin a colored span.
+
+
+
+
+ Begin a span with modified font weight.
+
+
+
+
+ Begin a span with modified font style.
+
+
+
+
+ Begin a span with modified font family.
+
+
+
+
+ Begin a highlighted span.
+
+
+
+
+ Begin a span that links to the specified URI.
+
+
+
+
+ Marks the end of the current span.
+
+
+
+
+ Increases the indentation level.
+
+
+
+
+ Decreases the indentation level.
+
+
+
+
+ Creates a new HtmlRichTextWriter instance.
+
+
+ The text writer where the raw HTML is written to.
+ The HtmlRichTextWriter does not take ownership of the htmlWriter;
+ disposing the HtmlRichTextWriter will not dispose the underlying htmlWriter!
+
+ Options that control the HTML output.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Event handler for
+
+
+
+
+ A highlighting rule.
+
+
+
+
+
+
+
+ Gets/Sets the regular expression for the rule.
+
+
+
+
+ Gets/Sets the highlighting color.
+
+
+
+
+ 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 spans.
+
+
+
+
+ Gets the list of rules.
+
+
+
+
+ A highlighting span is a region with start+end expression that has a different RuleSet inside
+ and colors the region.
+
+
+
+
+
+
+
+ Gets/Sets the start expression.
+
+
+
+
+ Gets/Sets the end expression.
+
+
+
+
+ Gets/Sets the rule set that applies inside this span.
+
+
+
+
+ Gets the color used for the text matching the start expression.
+
+
+
+
+ Gets the color used for the text between start and end.
+
+
+
+
+ Gets the color used for the text matching the end expression.
+
+
+
+
+ Gets/Sets whether the span color includes the start.
+ The default is false.
+
+
+
+
+ Gets/Sets whether the span color includes the end.
+ The default is false.
+
+
+
+
+ Represents a immutable piece text with highlighting information.
+
+
+
+
+ The empty string without any formatting 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.
+
+
+
+
+ Gets the HighlightingColor for the specified offset.
+
+
+
+
+ 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.
+
+
+
+
+ Creates a new RichTextModel with the formatting from this RichText.
+
+
+
+
+ Gets the text.
+
+
+
+
+ Creates WPF Run instances that can be used for TextBlock.Inlines.
+
+
+
+
+ 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 substring of this rich text.
+
+
+
+
+ Concatenates the specified rich texts.
+
+
+
+
+ Concatenates the specified rich texts.
+
+
+
+
+ Implicit conversion from string to RichText.
+
+
+
+
+ Gets the text.
+
+
+
+
+ Gets the text length.
+
+
+
+
+ A colorizer that applies the highlighting from a to the editor.
+
+
+
+
+ Creates a new RichTextColorizer instance.
+
+
+
+
+
+
+
+ Stores rich-text formatting.
+
+
+
+
+ Creates a new RichTextModel.
+
+
+
+
+ Creates a RichTextModel from a CONTIGUOUS list of HighlightedSections.
+
+
+
+
+ Updates the start and end offsets of all segments stored in this collection.
+
+ TextChangeEventArgs instance describing the change to the document.
+
+
+
+ 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.
+
+
+
+ Appends another RichTextModel after this one.
+
+
+
+
+ Gets a copy of the HighlightingColor for the specified offset.
+
+
+
+
+ Applies the HighlightingColor to the specified range of text.
+ If the color specifies null for some properties, existing highlighting is preserved.
+
+
+
+
+ Sets the HighlightingColor for the specified range of text,
+ completely replacing the existing highlighting in that area.
+
+
+
+
+ Sets the foreground brush on the specified text segment.
+
+
+
+
+ Sets the background brush on the specified text segment.
+
+
+
+
+ Sets the font weight on the specified text segment.
+
+
+
+
+ Sets the font style on the specified text segment.
+
+
+
+
+ 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.
+
+
+
+
+ Creates WPF Run instances that can be used for TextBlock.Inlines.
+
+ The text source that holds the text for this RichTextModel.
+
+
+
+ A RichTextWriter that writes into a document and RichTextModel.
+
+
+
+
+ RichTextWriter implementation that writes plain text only
+ and ignores all formatted spans.
+
+
+
+
+ The text writer that was passed to the PlainRichTextWriter constructor.
+
+
+
+
+ Creates a new PlainRichTextWriter instance that writes the text to the specified text writer.
+
+
+
+
+
+
+
+
+
+
+ Writes the indentation, if necessary.
+
+
+
+
+ Is called after a write operation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets/Sets the string used to indent by one level.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates a new RichTextModelWriter that inserts into document, starting at insertionOffset.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets/Sets the current insertion offset.
+
+
+
+
+ Static class with helper methods to load XSHD highlighting files.
+
+
+
+
+ Lodas a syntax definition from the xml reader.
+
+
+
+
+ Creates a highlighting definition from the XSHD file.
+
+
+
+
+ Creates a highlighting definition from the XSHD file.
+
+
+
+
+ A visitor over the XSHD element tree.
+
+
+
+ Visit method for XshdRuleSet
+
+
+ Visit method for XshdColor
+
+
+ Visit method for XshdKeywords
+
+
+ Visit method for XshdSpan
+
+
+ Visit method for XshdImport
+
+
+ Visit method for XshdRule
+
+
+
+ Xshd visitor implementation that saves an .xshd file as XML.
+
+
+
+
+ XML namespace for XSHD.
+
+
+
+
+ Creates a new SaveXshdVisitor instance.
+
+
+
+
+ Writes the specified syntax definition.
+
+
+
+
+ Loads .xshd files, version 1.0.
+
+
+
+
+ Loads .xshd files, version 2.0.
+ Version 2.0 files are recognized by the namespace.
+
+
+
+
+ Sets the element's position to the XmlReader's position.
+
+
+
+
+ A color in an Xshd file.
+
+
+
+
+ An element in a XSHD rule set.
+
+
+
+
+ Applies the visitor to this element.
+
+
+
+
+ Gets the line number in the .xshd file.
+
+
+
+
+ Gets the column number in the .xshd file.
+
+
+
+
+ Creates a new XshdColor instance.
+
+
+
+
+ Deserializes an XshdColor.
+
+
+
+
+ Serializes this XshdColor instance.
+
+
+
+
+
+
+
+ Gets/sets the name.
+
+
+
+
+ Gets/sets the foreground brush.
+
+
+
+
+ Gets/sets the background brush.
+
+
+
+
+ Gets/sets the font weight.
+
+
+
+
+ Gets/sets the underline flag
+
+
+
+
+ Gets/sets the font style.
+
+
+
+
+ Gets/Sets the example text that demonstrates where the color is used.
+
+
+
+
+ <Import> element.
+
+
+
+
+
+
+
+ Gets/sets the referenced rule set.
+
+
+
+
+ A property in an Xshd file.
+
+
+
+
+ Creates a new XshdColor instance.
+
+
+
+
+
+
+
+ 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.
+
+
+
+
+
+
+
+ Equality operator.
+
+
+
+
+ Inequality operator.
+
+
+
+
+ Gets the reference.
+
+
+
+
+ Gets the reference.
+
+
+
+
+ Gets the inline element.
+
+
+
+
+ A list of keywords.
+
+
+
+
+
+
+
+ The color.
+
+
+
+
+ Gets the list of key words.
+
+
+
+
+ <Rule> element.
+
+
+
+
+
+
+
+ Gets/sets the rule regex.
+
+
+
+
+ Gets/sets the rule regex type.
+
+
+
+
+ Gets/sets the color reference.
+
+
+
+
+ A rule set in a XSHD file.
+
+
+
+
+ Applies the visitor to all elements.
+
+
+
+
+
+
+
+ Gets/Sets the name of the rule set.
+
+
+
+
+ Gets/sets whether the case is ignored in expressions inside this rule set.
+
+
+
+
+ Gets the collection of elements.
+
+
+
+
+ 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.
+
+
+
+
+ <Span> element.
+
+
+
+
+
+
+
+ Gets/sets the begin regex.
+
+
+
+
+ Gets/sets the begin regex type.
+
+
+
+
+ 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.
+
+
+
+
+ Gets/sets the span begin color.
+
+
+
+
+ Gets/sets the span end color.
+
+
+
+
+ A <SyntaxDefinition> element.
+
+
+
+
+ Creates a new XshdSyntaxDefinition object.
+
+
+
+
+ Applies the visitor to all elements.
+
+
+
+
+ Gets/sets the definition name
+
+
+
+
+ Gets the associated extensions.
+
+
+
+
+ Gets the collection of elements.
+
+
+
+ Leave empty lines empty.
+
+
+
+ An indentation block. Tracks the state of the indentation.
+
+
+
+
+ The indentation outside of the block.
+
+
+
+
+ The indentation inside the block.
+
+
+
+
+ The last word that was seen inside this block.
+ Because parenthesis open a sub-block and thus don't change their parent's LastWord,
+ this property can be used to identify the type of block statement (if, while, switch)
+ at the position of the '{'.
+
+
+
+
+ The type of bracket that opened this block (, [ or {
+
+
+
+
+ Gets whether there's currently a line continuation going on inside this block.
+
+
+
+
+ Gets whether there's currently a 'one-line-block' going on. 'one-line-blocks' occur
+ with if statements that don't use '{}'. They are not represented by a Block instance on
+ the stack, but are instead handled similar to line continuations.
+ This property is an integer because there might be multiple nested one-line-blocks.
+ As soon as there is a finished statement, OneLineBlock is reset to 0.
+
+
+
+
+ The previous value of one-line-block before it was reset.
+ Used to restore the indentation of 'else' to the correct level.
+
+
+
+
+ Gets the line number where this block started.
+
+
+
+
+ Smart indentation for C#.
+
+
+
+
+ Handles indentation by copying the indentation from the previous line.
+ Does not support indenting multiple lines.
+
+
+
+
+ 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.
+
+
+
+
+
+
+
+ Does nothing: indenting multiple lines is useless without a smart indentation strategy.
+
+
+
+
+ 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.
+
+
+
+
+ Interface used for the indentation class to access the document.
+
+
+
+ Advances to the next line.
+
+
+ Gets if the current line is read only (because it is not in the
+ selected text region)
+
+
+ Gets the number of the current 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.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Helper for creating a PathGeometry.
+
+
+
+
+ Creates a new BackgroundGeometryBuilder instance.
+
+
+
+
+ Adds the specified segment to the geometry.
+
+
+
+
+ Adds a rectangle to the geometry.
+
+
+ This overload will align the coordinates according to
+ or .
+ Use the -overload instead if the coordinates should not be aligned.
+
+
+
+
+ Calculates the list of rectangle where the segment in shown.
+ This method usually returns one rectangle for each line inside the segment
+ (but potentially more, e.g. when bidirectional text is involved).
+
+
+
+
+ Calculates the rectangles for the visual column segment.
+ This returns one rectangle for each line inside the segment.
+
+
+
+
+ Adds a rectangle to the geometry.
+
+
+ This overload assumes that the coordinates are aligned properly
+ (see , ).
+ Use the -overload instead if the coordinates are not yet aligned.
+
+
+
+
+ Closes the current figure.
+
+
+
+
+ Creates the geometry.
+ Returns null when the geometry is empty!
+
+
+
+
+ Gets/sets the radius of the rounded corners.
+
+
+
+
+ Gets/Sets whether to align the geometry to whole pixels.
+
+
+
+
+ Gets/Sets whether to align the geometry to the middle of pixels.
+
+
+
+
+ Gets/Sets whether to extend the rectangles to full width at line end.
+
+
+
+
+ Represents a collapsed line section.
+ Use the Uncollapse() method to uncollapse the section.
+
+
+
+
+ Uncollapses the section.
+ This causes the Start and End properties to be set to null!
+ Does nothing if the section is already uncollapsed.
+
+
+
+
+ Gets a string representation of the collapsed section.
+
+
+
+
+ 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 the end line of the section.
+ When the section is uncollapsed or the text containing it is deleted,
+ this property returns null.
+
+
+
+
+ Renders a ruler at a certain column.
+
+
+
+
+ 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.
+
+
+
+
+ Default implementation for TextRunTypographyProperties.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Red-black tree similar to DocumentLineTree, augmented with collapsing and height data.
+
+
+
+
+ Rebuild the tree, in O(n).
+
+
+
+
+ build a tree from a list of nodes
+
+
+
+
+ Collapses the specified text section.
+ Runtime: O(log n)
+
+
+
+
+ Returns 0 if the line is directly collapsed, otherwise, returns .
+
+
+
+
+ A node in the text view's height tree.
+
+
+
+
+ The number of lines in this node and its child nodes.
+ Invariant:
+ totalCount = 1 + left.totalCount + right.totalCount
+
+
+
+
+ The total height of this node and its child nodes, excluding directly collapsed nodes.
+ Invariant:
+ totalHeight = left.IsDirectlyCollapsed ? 0 : left.totalHeight
+ + lineNode.IsDirectlyCollapsed ? 0 : lineNode.Height
+ + right.IsDirectlyCollapsed ? 0 : right.totalHeight
+
+
+
+
+ List of the sections that hold this node collapsed.
+ Invariant 1:
+ For each document line in the range described by a CollapsedSection, exactly one ancestor
+ contains that CollapsedSection.
+ Invariant 2:
+ A CollapsedSection is contained either in left+middle or middle+right or just middle.
+ Invariant 3:
+ Start and end of a CollapsedSection always contain the collapsedSection in their
+ documentLine (middle node).
+
+
+
+
+ Gets the inorder successor of the node.
+
+
+
+
+ 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.
+
+
+
+
+
+
+ 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 element displayed by the InlineObjectRun.
+
+
+
+
+ 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 a piece of text from the document.
+
+
+ This method is allowed to return a larger string than requested.
+ It does this by returning a that describes the requested segment within the returned string.
+ This method should be the preferred text access method in the text transformation pipeline, as it can avoid repeatedly allocating string instances
+ for text within the same line.
+
+
+
+
+ Gets the text document.
+
+
+
+
+ Gets the text view for which the construction runs.
+
+
+
+
+ Gets the visual line that is currently being constructed.
+
+
+
+
+ Gets the global text run properties.
+
+
+
+
+ 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 is below the Selection layer.
+
+
+
+ This layer contains the selection rectangle.
+
+ This layer is between the Background and the Text layers.
+
+
+
+ This layer contains the text and inline UI elements.
+
+ This layer is between the Selection and the Caret layers.
+
+
+
+ This layer contains the blinking caret.
+
+ This layer is above the Text layer.
+
+
+
+ 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.
+
+
+ This element generator can be easily enabled and configured using the
+ .
+
+
+
+
+ Creates a new LinkElementGenerator.
+
+
+
+
+ Creates a new LinkElementGenerator using the specified regex.
+
+
+
+
+
+
+
+
+
+
+ Constructs a VisualLineElement that replaces the matched text.
+ The default implementation will create a
+ based on the URI provided by .
+
+
+
+
+ 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.
+
+
+
+
+ Detects e-mail addresses and makes them clickable.
+
+
+ This element generator can be easily enabled and configured using the
+ .
+
+
+
+
+ Creates a new MailLinkElementGenerator.
+
+
+
+
+ Encapsulates and adds MouseHover support to UIElements.
+
+
+
+
+ Creates a new instance and attaches itself to the UIElement.
+
+
+
+
+ Raises the event.
+
+
+
+
+ Raises the event.
+
+
+
+
+ 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.
+
+
+
+
+ Element generator that displays · for spaces and » for tabs and a box for control characters.
+
+
+ This element generator is present in every TextView by default; the enabled features can be configured using the
+ .
+
+
+
+
+ Creates a new SingleCharacterElementGenerator instance.
+
+
+
+
+ Gets/Sets whether to show · for spaces.
+
+
+
+
+ Gets/Sets whether to show » for tabs.
+
+
+
+
+ Gets/Sets whether to show a box with the hex code for control characters.
+
+
+
+
+ The control that contains the text.
+
+ This control is used to allow other UIElements to be placed inside the TextView but
+ behind the text.
+ The text rendering process (VisualLine creation) is controlled by the TextView, this
+ class simply displays the created Visual Lines.
+
+
+ This class does not contain any input handling and is invisible to hit testing. Input
+ is handled by the TextView.
+ This allows UIElements that are displayed behind the text, but still can react to mouse input.
+
+
+
+
+ the index of the text layer in the layers collection
+
+
+
+
+ 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.
+
+
+
+
+ Additonal amount that allows horizontal scrolling past the end of the longest line.
+ This is necessary to ensure the caret always is visible, even when it is at the end of the longest line.
+
+
+
+
+ Creates a new TextView instance.
+
+
+
+
+ Document property.
+
+
+
+
+ Recreates the text formatter that is used internally
+ by calling .
+
+
+
+
+
+
+
+ Options property.
+
+
+
+
+ Raises the event.
+
+
+
+
+ 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
+
+
+
+
+
+
+ Adds a new inline object.
+
+
+
+
+ Remove the inline objects that were marked for removal.
+
+
+
+
+ NonPrintableCharacterBrush dependency property.
+
+
+
+
+ LinkTextForegroundBrush dependency property.
+
+
+
+
+ LinkTextBackgroundBrush dependency property.
+
+
+
+
+ LinkTextUnderlinedBrush dependency property.
+
+
+
+
+ Causes the text editor to regenerate all visual lines.
+
+
+
+
+ Causes the text editor to regenerate all visual lines.
+
+
+
+
+ Causes the text editor to regenerate the specified visual line.
+
+
+
+
+ Causes the text editor to redraw all lines overlapping with the specified segment.
+
+
+
+
+ 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.
+
+
+
+
+ Causes the text editor to redraw all lines overlapping with the specified segment.
+ Does nothing if segment is null.
+
+
+
+
+ Invalidates all visual lines.
+ The caller of ClearVisualLines() must also call InvalidateMeasure() to ensure
+ that the visual lines will be recreated.
+
+
+
+
+ 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 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.
+
+
+
+
+ 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.
+
+
+
+
+
+
+ Build all VisualLines in the visible range.
+
+ Width the longest line
+
+
+
+ Arrange implementation.
+
+
+
+
+
+
+
+ Size of the document, in pixels.
+
+
+
+
+ Offset of the scroll position.
+
+
+
+
+ Size of the viewport.
+
+
+
+
+ Scrolls the text view so that the specified rectangle gets visible.
+
+
+
+
+
+
+
+ Updates the mouse cursor by calling , but with background priority.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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 top position (relative to start of document) from a document line number.
+
+
+
+
+ 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 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.
+
+
+
+
+ The PreviewMouseHover event.
+
+
+
+
+ The MouseHover event.
+
+
+
+
+ The PreviewMouseHoverStopped event.
+
+
+
+
+ The MouseHoverStopped event.
+
+
+
+
+ Collapses lines for the purpose of scrolling. s marked as collapsed will be hidden
+ and not used to start the generation of a .
+
+
+ This method is meant for s that cause s to span
+ multiple s. Do not call it without providing a corresponding
+ .
+ If you want to create collapsible text sections, see .
+
+ Note that if you want a VisualLineElement to span from line N to line M, then you need to collapse only the lines
+ N+1 to M. Do not collapse line N itself.
+
+ When you no longer need the section to be collapsed, call on the
+ returned from this method.
+
+
+
+
+ Gets the document line at the specified visual position.
+
+
+
+
+
+
+
+ The pen used to draw the column ruler.
+
+
+
+
+
+ The property.
+
+
+
+
+ The property.
+
+
+
+
+ Gets/Sets the document displayed by the text editor.
+
+
+
+
+ Occurs when the document property has changed.
+
+
+
+
+ Gets/Sets the options used by the text editor.
+
+
+
+
+ Occurs when a text editor option has changed.
+
+
+
+
+ Gets a collection where element generators can be registered.
+
+
+
+
+ Gets a collection where line transformers can be registered.
+
+
+
+
+ Gets the list of layers displayed in the text view.
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the Brush used for displaying non-printable characters.
+
+
+
+
+ Gets/sets the Brush used for displaying link texts.
+
+
+
+
+ Gets/sets the Brush used for the background of link texts.
+
+
+
+
+ Gets/sets whether to underline link texts.
+
+
+ Note that when setting this property to false, link text remains clickable and the LinkTextForegroundBrush (if any) is still applied.
+ Set TextEditorOptions.EnableHyperlinks and EnableEmailHyperlinks to false to disable links completely.
+
+
+
+
+ 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.
+
+
+
+
+ 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.
+
+
+
+
+ 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.
+
+
+
+
+ Occurs when the TextView was measured and changed its visual lines.
+
+
+
+
+ Gets the list of background renderers.
+
+
+
+
+ Gets the horizontal scroll offset.
+
+
+
+
+ Gets the vertical scroll offset.
+
+
+
+
+ Gets the scroll offset;
+
+
+
+
+ Occurs when the scroll offset has changed.
+
+
+
+
+ Gets the width of a 'wide space' (the space width used for calculating the tab size).
+
+
+ This is the width of an 'x' in the current font.
+ We do not measure the width of an actual space as that would lead to tiny tabs in
+ some proportional fonts.
+ For monospaced fonts, this property will return the expected value, as 'x' and ' ' have the same width.
+
+
+
+
+ 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 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 a service container used to associate services with the text view.
+
+
+ This container does not provide document services -
+ use TextView.GetService() instead of TextView.Services.GetService() to ensure
+ that document services can be found as well.
+
+
+
+
+ Occurs when the mouse has hovered over a fixed location for some time.
+
+
+
+
+ Occurs when the mouse has hovered over a fixed location for some time.
+
+
+
+
+ Occurs when the mouse had previously hovered but now started moving again.
+
+
+
+
+ Occurs when the mouse had previously hovered but now started moving again.
+
+
+
+
+ Gets the height of the document.
+
+
+
+
+ Gets/Sets the pen used to draw the column ruler.
+
+
+
+
+
+ Gets/Sets the background brush used by current line highlighter.
+
+
+
+
+ Gets/Sets the background brush used for the current line.
+
+
+
+
+ Gets/Sets highlighted line number.
+
+
+
+
+ Contains weak event managers for the TextView events.
+
+
+
+
+ Weak event manager for the event.
+
+
+
+
+
+
+
+
+
+
+ Weak event manager for the event.
+
+
+
+
+
+
+
+
+
+
+ Weak event manager for the event.
+
+
+
+
+
+
+
+
+
+
+ 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.
+
+
+
+
+ Replaces the single element at with the specified elements.
+ The replacement operation must preserve the document length, but may change the visual length.
+
+
+ This method may only be called by line transformers.
+
+
+
+
+ Replaces elements starting at with the specified elements.
+ The replacement operation must preserve the document length, but may change the visual length.
+
+
+ This method may only be called by line transformers.
+
+
+
+
+ Gets the visual column from a document offset relative to the first line start.
+
+
+
+
+ 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 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 start visual column from the specified text line.
+
+
+
+
+ Gets a TextLine by the visual position.
+
+
+
+
+ Gets the visual position from the specified visualColumn.
+
+ Position in device-independent pixels
+ relative to the top left of the document.
+
+
+
+ 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 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.
+
+
+
+
+ Validates the visual column and returns the correct one.
+
+
+
+
+ Validates the visual column and returns the correct one.
+
+
+
+
+ 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 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 next possible caret position after visualColumn, or -1 if there is no caret position.
+
+
+
+
+ Gets the document to which this VisualLine belongs.
+
+
+
+
+ Gets the first document line displayed by this visual line.
+
+
+
+
+ Gets the last document line displayed by this visual line.
+
+
+
+
+ Gets a read-only collection of line elements.
+
+
+
+
+ Gets a read-only collection of text lines.
+
+
+
+
+ Gets the start offset of the VisualLine inside the document.
+ This is equivalent to FirstDocumentLine.Offset.
+
+
+
+
+ Length in visual line coordinates.
+
+
+
+
+ Length in visual line coordinates including the end of line marker, if TextEditorOptions.ShowEndOfLine is enabled.
+
+
+
+
+ Gets the height of the visual line in device-independent pixels.
+
+
+
+
+ Gets the Y position of the line. This is measured in device-independent pixels relative to the start of the document.
+
+
+
+
+ Gets whether the visual line was disposed.
+
+
+
+
+ EventArgs for the event.
+
+
+
+
+ Creates a new VisualLineConstructionStartEventArgs instance.
+
+
+
+
+ Gets/Sets the first line that is visible in the TextView.
+
+
+
+
+ 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.
+
+
+
+
+ Creates a copy of this instance.
+
+
+
+
+ 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 typography properties for the text run.
+
+
+
+
+ Gets the number substitution settings for the text run.
+
+
+
+
+ VisualLineElement that represents a piece of text and is a clickable link.
+
+
+
+
+ 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.
+
+
+
+
+ Override this method to control the type of new VisualLineText instances when
+ the visual line is split due to syntax highlighting.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the parent visual line.
+
+
+
+
+
+
+
+ Creates a visual line text element with the specified length.
+ It uses the and its
+ to find the actual text string.
+
+
+
+
+
+
+
+ Gets whether the link is currently clickable.
+
+ Returns true when control is pressed; or when
+ is disabled.
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets/Sets the URL that is navigated to when the link is clicked.
+
+
+
+
+ Gets/Sets the window name where the URL will be opened.
+
+
+
+
+ Gets/Sets whether the user needs to press Control to click the link.
+ The default value is true.
+
+
+
+
+ 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.
+
+
+
+
+ WPF TextSource implementation that creates TextRuns for a VisualLine.
+
+
+
+
+ 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.
+
+
+
+
+ Holds default texts for buttons and labels in the SearchPanel. Override properties to add other languages.
+
+
+
+
+ Default: 'Match case'
+
+
+
+
+ Default: 'Match whole words'
+
+
+
+
+ Default: 'Use regular expressions'
+
+
+
+
+ Default: 'Find next (F3)'
+
+
+
+
+ Default: 'Find previous (Shift+F3)'
+
+
+
+
+ Default: 'Error: '
+
+
+
+
+ Default: 'No matches found!'
+
+
+
+
+ Basic interface for search algorithms.
+
+
+
+
+ Finds all matches in the given ITextSource and the given range.
+
+
+ This method must be implemented thread-safe.
+ All segments in the result must be within the given range, and they must be returned in order
+ (e.g. if two results are returned, EndOffset of first result must be less than or equal StartOffset of second result).
+
+
+
+
+ Finds the next match in the given ITextSource and the given range.
+
+ This method must be implemented thread-safe.
+
+
+
+ Represents a search result.
+
+
+
+
+ Replaces parts of the replacement string with parts from the match. (e.g. $1)
+
+
+
+
+ A button that opens a drop-down menu when clicked.
+
+
+
+
+ Identifies the dependency property.
+
+
+
+
+ The key that identifies the dependency property.
+
+
+
+
+ Identifies the dependency property.
+
+
+
+
+
+
+
+ Gets/Sets the popup that is used as drop-down content.
+
+
+
+
+ Gets whether the drop-down is opened.
+
+
+
+
+ Defines supported search modes.
+
+
+
+
+ Standard search
+
+
+
+
+ RegEx search
+
+
+
+
+ Wildcard search
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Search commands for AvalonEdit.
+
+
+
+
+ Finds the next occurrence in the file.
+
+
+
+
+ Finds the previous occurrence in the file.
+
+
+
+
+ Closes the SearchPanel.
+
+
+
+
+ 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.
+
+
+
+
+ Provides search functionality for AvalonEdit. It is displayed in the top-right corner of the TextArea.
+
+
+
+
+ Dependency property for .
+
+
+
+
+ Dependency property for .
+
+
+
+
+ Dependency property for .
+
+
+
+
+ Dependency property for .
+
+
+
+
+ Dependency property for .
+
+
+
+
+ Dependency property for .
+
+
+
+
+ Creates a new SearchPanel.
+
+
+
+
+ Attaches this SearchPanel to a TextArea instance.
+
+
+
+
+ Creates a SearchPanel and installs it to the TextEditor's TextArea.
+
+ This is a convenience wrapper.
+
+
+
+ Creates a SearchPanel and installs it to the TextArea.
+
+
+
+
+ Removes the SearchPanel from the TextArea.
+
+
+
+
+
+
+
+ Reactivates the SearchPanel by setting the focus on the search box and selecting all text.
+
+
+
+
+ Moves to the next occurrence in the file.
+
+
+
+
+ Moves to the previous occurrence in the file.
+
+
+
+
+ Closes the SearchPanel.
+
+
+
+
+ Closes the SearchPanel and removes it.
+
+
+
+
+ Opens the an existing search panel.
+
+
+
+
+ Raises the event.
+
+
+
+
+ Gets/sets whether the search pattern should be interpreted as regular expression.
+
+
+
+
+ Gets/sets whether the search pattern should be interpreted case-sensitive.
+
+
+
+
+ Gets/sets whether the search pattern should only match whole words.
+
+
+
+
+ Gets/sets the search pattern.
+
+
+
+
+ Gets/sets the Brush used for marking search results in the TextView.
+
+
+
+
+ Gets/sets the localization for the SearchPanel.
+
+
+
+
+ Gets whether the Panel is already closed.
+
+
+
+
+ Fired when SearchOptions are changed inside the SearchPanel.
+
+
+
+
+ EventArgs for event.
+
+
+
+
+ Creates a new SearchOptionsChangedEventArgs instance.
+
+
+
+
+ Gets the search pattern.
+
+
+
+
+ Gets whether the search pattern should be interpreted case-sensitive.
+
+
+
+
+ Gets whether the search pattern should be interpreted as regular expression.
+
+
+
+
+ Gets whether the search pattern should only match whole words.
+
+
+
+
+ Provides factory methods for ISearchStrategies.
+
+
+
+
+ Creates a default ISearchStrategy with the given parameters.
+
+
+
+
+ Represents an active element that allows the snippet to stay interactive after insertion.
+
+
+
+
+ Called when the all snippet elements have been inserted.
+
+
+
+
+ Called when the interactive mode is deactivated.
+
+
+
+
+ Gets whether this element is editable (the user will be able to select it with Tab).
+
+
+
+
+ Gets the segment associated with this element. May be null.
+
+
+
+
+ Creates a named anchor that can be accessed by other SnippetElements.
+
+
+
+
+ An element inside a snippet.
+
+
+
+
+ Performs insertion of the snippet.
+
+
+
+
+ Converts the snippet to text, with replaceable fields in italic.
+
+
+
+
+ Creates a SnippetAnchorElement with the supplied name.
+
+
+
+
+
+
+
+ Gets or sets the name of the anchor.
+
+
+
+
+ AnchorElement created by SnippetAnchorElement.
+
+
+
+
+ Creates a new AnchorElement.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets or sets the text at the anchor.
+
+
+
+
+ Gets or sets the name of the anchor.
+
+
+
+
+ Provides information about the event that occured during use of snippets.
+
+
+
+
+ Creates a new SnippetEventArgs object, with a DeactivateReason.
+
+
+
+
+ Gets the reason for deactivation.
+
+
+
+
+ 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.
+
+
+
+
+ A code snippet that can be inserted into the text editor.
+
+
+
+
+ A snippet element that has sub-elements.
+
+
+
+
+
+
+
+
+
+
+ Gets the list of child elements.
+
+
+
+
+ Inserts the snippet into the text area.
+
+
+
+
+ An element that binds to a and displays the same text.
+
+
+
+
+ Converts the text before copying it.
+
+
+
+
+
+
+
+
+
+
+ Gets/Sets the target element.
+
+
+
+
+ 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.
+
+
+
+
+
+
+
+ Represents the context of a snippet insertion.
+
+
+
+
+ Creates a new InsertionContext instance.
+
+
+
+
+ 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.
+
+
+
+
+ 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.
+
+
+
+ Returns the active element belonging to the specified snippet element, or null if no such active element is found.
+
+
+
+
+ Calls the method on all registered active elements
+ and raises the event.
+
+ The EventArgs to use
+
+
+
+ Calls the method on all registered active elements.
+
+ The EventArgs to use
+
+
+
+
+
+
+ Adds existing segments as snippet elements.
+
+
+
+
+ Gets the text area.
+
+
+
+
+ Gets the text document.
+
+
+
+
+ Gets the text that was selected before the insertion of the snippet.
+
+
+
+
+ Gets the indentation at the insertion position.
+
+
+
+
+ Gets the indentation string for a single indentation level.
+
+
+
+
+ Gets the line terminator at the insertion position.
+
+
+
+
+ Gets/Sets the insertion position.
+
+
+
+
+ Gets the start position of the snippet insertion.
+
+
+
+
+ Gets the list of active elements.
+
+
+
+
+ Occurs when the all snippet elements have been inserted.
+
+
+
+
+ Occurs when the interactive mode is deactivated.
+
+
+
+
+ Text element that is supposed to be replaced by the user.
+ Will register an .
+
+
+
+
+ Represents a text element in a snippet.
+
+
+
+
+
+
+
+
+
+
+ The text to be inserted.
+
+
+
+
+
+
+
+
+
+
+ Interface for active element registered by .
+
+
+
+
+ Gets the current text inside the element.
+
+
+
+
+ Occurs when the text inside the element changes.
+
+
+
+
+ Inserts the previously selected text at the selection marker.
+
+
+
+
+
+
+
+ Gets/Sets the new indentation of the selected text.
+
+
+
+
+ The text editor control.
+ Contains a scrollable TextArea.
+
+
+
+
+ Creates a new TextEditor instance.
+
+
+
+
+ Creates a new TextEditor instance.
+
+
+
+
+
+
+ Forward focus to TextArea.
+
+
+
+
+ Document property.
+
+
+
+
+ Raises the event.
+
+
+
+
+ Options property.
+
+
+
+
+ Raises the event.
+
+
+
+
+
+
+
+ Raises the event.
+
+
+
+
+ Is called after the template was applied.
+
+
+
+
+ The property.
+
+
+
+
+ Creates the highlighting colorizer for the specified highlighting definition.
+ Allows derived classes to provide custom colorizer implementations for special highlighting definitions.
+
+
+
+
+
+ Word wrap dependency property.
+
+
+
+
+ IsReadOnly dependency property.
+
+
+
+
+ Dependency property for
+
+
+
+
+ ShowLineNumbers dependency property.
+
+
+
+
+ LineNumbersForeground dependency property.
+
+
+
+
+ Appends text to the end of the document.
+
+
+
+
+ Begins a group of document changes.
+
+
+
+
+ Copies the current selection to the clipboard.
+
+
+
+
+ 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.
+
+
+
+
+ Ends the current group of document changes.
+
+
+
+
+ Scrolls one line down.
+
+
+
+
+ Scrolls to the left.
+
+
+
+
+ Scrolls to the right.
+
+
+
+
+ Scrolls one line up.
+
+
+
+
+ Scrolls one page down.
+
+
+
+
+ Scrolls one page up.
+
+
+
+
+ Scrolls one page left.
+
+
+
+
+ Scrolls one page right.
+
+
+
+
+ Pastes the clipboard content.
+
+
+
+
+ Redoes the most recent undone command.
+
+ True is the redo operation was successful, false is the redo stack is empty.
+
+
+
+ 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 position in the document.
+
+
+
+
+ Selects the entire text.
+
+
+
+
+ Undoes the most recent command.
+
+ True is the undo operation was successful, false is the undo stack is empty.
+
+
+
+ Selects the specified text section.
+
+
+
+
+ Clears the text.
+
+
+
+
+ Loads the text from the stream, auto-detecting the encoding.
+
+
+ This method sets to false.
+
+
+
+
+ Loads the text from the stream, auto-detecting the encoding.
+
+
+
+
+ Encoding dependency property.
+
+
+
+
+ Saves the text to the stream.
+
+
+ This method sets to false.
+
+
+
+
+ Saves the text to the file.
+
+
+
+
+ The PreviewMouseHover event.
+
+
+
+
+ The MouseHover event.
+
+
+
+
+ The PreviewMouseHoverStopped event.
+
+
+
+
+ The MouseHoverStopped event.
+
+
+
+
+ Dependency property for
+
+
+
+
+ Dependency property for
+
+
+
+
+ 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.
+
+
+
+ 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 line/column.
+ This method requires that the TextEditor was already assigned a size (WPF layout must have run prior).
+
+
+
+
+ Gets/Sets the document displayed by the text editor.
+ This is a dependency property.
+
+
+
+
+ Occurs when the document property has changed.
+
+
+
+
+ Gets/Sets the options currently used by the text editor.
+
+
+
+
+ Occurs when a text editor option has changed.
+
+
+
+
+ Gets/Sets the text of the current document.
+
+
+
+
+ Occurs when the Text property changes.
+
+
+
+
+ Gets the text area.
+
+
+
+
+ Gets the scroll viewer used by the text editor.
+ This property can return null if the template has not been applied / does not contain a scroll viewer.
+
+
+
+
+ Gets/sets the syntax highlighting definition used to colorize the text.
+
+
+
+
+ Specifies whether the text editor uses word wrapping.
+
+
+ Setting WordWrap=true has the same effect as setting HorizontalScrollBarVisibility=Disabled and will override the
+ HorizontalScrollBarVisibility setting.
+
+
+
+
+ Specifies whether the user can change the text editor content.
+ Setting this property will replace the
+ TextArea.ReadOnlySectionProvider.
+
+
+
+
+ Gets/Sets the 'modified' flag.
+
+
+
+
+ Specifies whether line numbers are shown on the left to the text view.
+
+
+
+
+ Gets/sets the Brush used for displaying the foreground color of line numbers.
+
+
+
+
+ Gets if the most recent undone command can be redone.
+
+
+
+
+ Gets if the most recent command can be undone.
+
+
+
+
+ Gets the vertical size of the document.
+
+
+
+
+ Gets the horizontal size of the current document region.
+
+
+
+
+ Gets the horizontal size of the viewport.
+
+
+
+
+ Gets the horizontal size of the viewport.
+
+
+
+
+ Gets the vertical scroll position.
+
+
+
+
+ Gets the horizontal scroll position.
+
+
+
+
+ Gets/Sets the selected text.
+
+
+
+
+ Gets/sets the caret position.
+
+
+
+
+ Gets/sets the start position of the selection.
+
+
+
+
+ Gets/sets the length of the selection.
+
+
+
+
+ Gets the number of lines in the document.
+
+
+
+
+ Gets/sets the encoding used when the file is saved.
+
+
+ The method autodetects the encoding of the file and sets this property accordingly.
+ The method uses the encoding specified in this property.
+
+
+
+
+ Occurs when the mouse has hovered over a fixed location for some time.
+
+
+
+
+ Occurs when the mouse has hovered over a fixed location for some time.
+
+
+
+
+ Occurs when the mouse had previously hovered but now started moving again.
+
+
+
+
+ Occurs when the mouse had previously hovered but now started moving again.
+
+
+
+
+ Gets/Sets the horizontal scroll bar visibility.
+
+
+
+
+ Gets/Sets the vertical scroll bar visibility.
+
+
+
+
+ Exposes to automation.
+
+
+
+
+ Creates a new TextEditorAutomationPeer instance.
+
+
+
+
+
+
+
+ Describes a change of the document text.
+ This class is thread-safe.
+
+
+
+
+ Gets the new offset where the specified offset moves after this document change.
+
+
+
+
+ Creates a new DocumentChangeEventArgs object.
+
+
+
+
+ Creates a new DocumentChangeEventArgs object.
+
+
+
+
+ Creates a new DocumentChangeEventArgs object.
+
+
+
+
+
+
+
+ Gets the OffsetChangeMap associated with this document change.
+
+ The OffsetChangeMap instance is guaranteed to be frozen and thus thread-safe.
+
+
+
+ Gets the OffsetChangeMap, or null if the default offset map (=single replacement) is being used.
+
+
+
+
+ Creates/Deletes lines when text is inserted/removed.
+
+
+
+
+ A copy of the line trackers. We need a copy so that line trackers may remove themselves
+ while being notified (used e.g. by WeakLineTracker)
+
+
+
+
+ Sets the total line length and checks the delimiter.
+ This method can cause line to be deleted when it contains a single '\n' character
+ and the previous line ends with '\r'.
+
+ Usually returns , but if line was deleted due to
+ the "\r\n" merge, returns the previous line.
+
+
+
+ Data structure for efficient management of the document lines (most operations are O(lg n)).
+ This implements an augmented red-black tree.
+ See for the augmented data.
+
+ NOTE: The tree is never empty, initially it contains an empty line.
+
+
+
+
+ Rebuild the tree, in O(n).
+
+
+
+
+ build a tree from a list of nodes
+
+
+
+
+ This class is the main class of the text model. Basically, it is a with events.
+
+
+ Thread safety:
+
+ However, there is a single method that is thread-safe: (and its overloads).
+
+
+
+
+ Verifies that the current thread is the documents owner thread.
+ Throws an if the wrong thread accesses the TextDocument.
+
+
+ The TextDocument class is not thread-safe. A document instance expects to have a single owner thread
+ and will throw an when accessed from another thread.
+ It is possible to change the owner thread using the method.
+
+
+
+
+ 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.
+
+
+
+
+ The owner can be set to null, which means that no thread can access the document. But, if the document
+ has no owner thread, any thread may take ownership by calling .
+
+
+
+
+
+ Create an empty text document.
+
+
+
+
+ Create a new text document with the specified initial text.
+
+
+
+
+ Create a new text document with the specified initial text.
+
+
+
+
+
+
+
+ Retrieves the text for a portion of the document.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates a snapshot of the current text.
+
+
+ This method returns an immutable snapshot of the document, and may be safely called even when
+ the document's owner thread is concurrently modifying the document.
+
+ This special thread-safety guarantee is valid only for TextDocument.CreateSnapshot(), not necessarily for other
+ classes implementing ITextSource.CreateSnapshot().
+
+
+
+
+
+
+ Creates a snapshot of a part of the current text.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Immediately calls ,
+ and returns an IDisposable that calls .
+
+
+
+
+
+ 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.
+
+
+
+
+
+ Ends a group of document changes.
+
+
+
+
+
+ Fires TextChanged, TextLengthChanged, LineCountChanged if required.
+
+
+
+
+ Inserts text.
+
+ The offset at which the text is inserted.
+ The new text.
+
+ Anchors positioned exactly at the insertion offset will move according to their movement type.
+ For AnchorMovementType.Default, they will move behind the inserted text.
+ The caret will also move behind the inserted text.
+
+
+
+
+ Inserts text.
+
+ The offset at which the text is inserted.
+ The new text.
+
+ Anchors positioned exactly at the insertion offset will move according to their movement type.
+ For AnchorMovementType.Default, they will move behind the inserted text.
+ The caret will also move behind the inserted text.
+
+
+
+
+ Inserts text.
+
+ The offset at which the text is inserted.
+ The new text.
+
+ Anchors positioned exactly at the insertion offset will move according to the anchor's movement type.
+ For AnchorMovementType.Default, they will move according to the movement type specified by this parameter.
+ The caret will also move according to the parameter.
+
+
+
+
+ Inserts text.
+
+ The offset at which the text is inserted.
+ The new text.
+
+ Anchors positioned exactly at the insertion offset will move according to the anchor's movement type.
+ For AnchorMovementType.Default, they will move according to the movement type specified by this parameter.
+ The caret will also move according to the parameter.
+
+
+
+
+ Removes text.
+
+
+
+
+ Removes text.
+
+ Starting offset of the text to be removed.
+ Length of the text to be removed.
+
+
+
+ Replaces text.
+
+
+
+
+ Replaces text.
+
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ 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 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.
+
+
+
+
+ Gets a line by the line number: O(log n)
+
+
+
+
+ Gets a document lines by offset.
+ Runtime: O(log n)
+
+
+
+
+ Gets the offset from a text location.
+
+
+
+
+
+ Gets the offset from a text location.
+
+
+
+
+
+ Gets the location from an offset.
+
+
+
+
+
+ Creates a new at the specified offset.
+
+
+
+
+
+ Gets the document lines tree in string form.
+
+
+
+
+ Gets the text anchor tree in string form.
+
+
+
+
+ Gets/Sets the text of the whole document.
+
+
+
+
+ This event is called after a group of changes is completed.
+
+
+
+
+
+
+
+
+ Is raised when the TextLength property changes.
+
+
+
+
+
+ Is raised when one of the properties , , ,
+ changes.
+
+
+
+
+
+ Is raised before the document changes.
+
+
+ Here is the order in which events are raised during a document update:
+
+ BeginUpdate()
+
+ Start of change group (on undo stack)
+ event is raised
+
+ Insert() / Remove() / Replace()
+
+ event is raised
+ The document is changed
+ TextAnchor.Deleted event is raised if anchors were
+ in the deleted text portion
+ event is raised
+
+ EndUpdate()
+
+ event is raised
+ event is raised (for the Text, TextLength, LineCount properties, in that order)
+ End of change group (on undo stack)
+ event is raised
+
+
+
+ If the insert/remove/replace methods are called without a call to BeginUpdate(),
+ they will call BeginUpdate() and EndUpdate() to ensure no change happens outside of UpdateStarted/UpdateFinished.
+
+ There can be multiple document changes between the BeginUpdate() and EndUpdate() calls.
+ In this case, the events associated with EndUpdate will be raised only once after the whole document update is done.
+
+ The listens to the UpdateStarted and UpdateFinished events to group all changes into a single undo step.
+
+
+
+
+
+ Is raised after the document has changed.
+
+
+
+
+
+
+
+
+ Gets if an update is running.
+
+
+
+
+
+ Occurs when a document change starts.
+
+
+
+
+
+ Occurs when a document change is finished.
+
+
+
+
+
+ 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.
+
+
+
+
+ Gets the of the document.
+
+ This property can also be used to set the undo stack, e.g. for sharing a common undo stack between multiple documents.
+
+
+
+ Gets the total number of lines in the document.
+ Runtime: O(1).
+
+
+
+
+ Is raised when the LineCount property changes.
+
+
+
+
+ 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 .
+
+
+
+
+
+
+
+
+
+
+ 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.
+
+
+
+
+ Raises the PropertyChanged event.
+
+ The name of the changed property.
+
+
+
+ Raises the PropertyChanged event.
+
+
+
+
+ Gets text required to indent from the specified to the next indentation level.
+
+
+
+
+
+
+
+ Gets/Sets whether to show · for spaces.
+
+ The default value is false.
+
+
+
+ Gets/Sets whether to show » for tabs.
+
+ The default value is false.
+
+
+
+ Gets/Sets whether to show ¶ at the end of lines.
+
+ The default value is false.
+
+
+
+ Gets/Sets whether to show a box with the hex code for control characters.
+
+ The default value is true.
+
+
+
+ Gets/Sets whether to enable clickable hyperlinks in the editor.
+
+ The default value is true.
+
+
+
+ Gets/Sets whether to enable clickable hyperlinks for e-mail addresses in the editor.
+
+ The default value is true.
+
+
+
+ Gets/Sets whether the user needs to press Control to click hyperlinks.
+ The default value is true.
+
+ The default value is true.
+
+
+
+ Gets/Sets the width of one indentation unit.
+
+ The default value is 4.
+
+
+
+ Gets/Sets whether to use spaces for indentation instead of tabs.
+
+ The default value is false.
+
+
+
+ Gets the text used for indentation.
+
+
+
+
+ Gets/Sets whether copying without a selection copies the whole current line.
+
+
+
+
+ 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 the indentation used for all lines except the first when word-wrapping.
+ The default value is 0.
+
+
+
+
+ Gets/Sets whether the indentation is inherited from the first line when word-wrapping.
+ The default value is true.
+
+ When combined with , the inherited indentation is added to the word wrap indentation.
+
+
+
+ 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/Sets whether the support for Input Method Editors (IME)
+ for non-alphanumeric scripts (Chinese, Japanese, Korean, ...) is enabled.
+
+
+
+
+ Gets/Sets whether the column ruler should be shown.
+
+
+
+
+ Gets/Sets where the column ruler should be shown.
+
+
+
+
+ Gets/Sets if current line should be shown.
+
+
+
+
+ Gets/Sets if mouse cursor should be hidden while user is typing.
+
+
+
+
+ Gets/Sets if the user is allowed to enable/disable overstrike mode.
+
+
+
+
+ Contains weak event managers for .
+
+
+
+
+ Weak event manager for the event.
+
+
+
+
+
+
+
+
+
+
+ Weak event manager for the event.
+
+
+
+
+
+
+
+
+
+
+ Represents a text location with a visual column.
+
+
+
+
+ Creates a new TextViewPosition instance.
+
+
+
+
+ Creates a new TextViewPosition instance.
+
+
+
+
+ Creates a new TextViewPosition instance.
+
+
+
+
+ Creates a new TextViewPosition instance.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Equality test.
+
+
+
+
+ Equality test.
+
+
+
+
+ Inequality test.
+
+
+
+
+
+
+
+ Gets/Sets Location.
+
+
+
+
+ Gets/Sets the line number.
+
+
+
+
+ Gets/Sets the (text) column number.
+
+
+
+
+ Gets/Sets the visual column number.
+ Can be -1 (meaning unknown visual column).
+
+
+
+
+ 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.
+
+
+
+
+ Reuse the same instances for boxed booleans.
+
+
+
+
+ Invokes an action when it is disposed.
+
+
+ This class ensures the callback is invoked at most once,
+ even when Dispose is called on multiple threads.
+
+
+
+
+ This class is used to prevent stack overflows by representing a 'busy' flag
+ that prevents reentrance when another call is running.
+ However, using a simple 'bool busy' is not thread-safe, so we use a
+ thread-static BusyManager.
+
+
+
+
+ Poor man's template specialization: extension methods for Rope<char>.
+
+
+
+
+ Creates a new rope from the specified 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.
+
+ This method counts as a read access and may be called concurrently to other read accesses.
+
+
+
+
+ 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.
+
+ This method counts as a read access and may be called concurrently to other read accesses.
+
+
+
+
+ Appends text to this rope.
+ Runs in O(lg N + M).
+
+ newElements is null.
+
+
+
+ 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 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.
+
+
+
+ Gets the index of the first occurrence of the search text.
+
+
+
+
+ Gets the index of the last occurrence of the search text.
+
+
+
+
+ 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.
+
+
+ Current memory usage: 5*IntPtr.Size + 12 + sizeof(T) per node.
+ Use this class only if lots of adjacent values are identical (can share one node).
+
+
+
+
+ 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.
+
+
+
+ Inserts times at position
+ .
+
+
+
+
+ Removes items starting at position
+ .
+
+
+
+
+ Sets indices starting at to
+
+
+
+
+
+ Gets the index of the specified .
+
+
+
+
+ Gets the the first index so that all values from the result index to
+ are equal.
+
+
+
+
+ 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 the number of elements after that have the same value as each other.
+
+
+
+
+ Applies the conversion function to all elements in this CompressingTreeList.
+
+
+
+
+ Applies the conversion function to the elements in the specified range.
+
+
+
+
+ Inserts the specified at
+
+
+
+
+ Removes one item at
+
+
+
+
+ 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.
+
+
+
+
+ Removes the specified item from this list.
+
+
+
+
+ Gets an enumerator for this list.
+
+
+
+
+ Gets or sets an item by index.
+
+
+
+
+ Gets the number of items in the list.
+
+
+
+
+ Gets the inorder predecessor of the node.
+
+
+
+
+ Gets the inorder successor of the node.
+
+
+
+
+ Multiply with this constant to convert from points to device-independent pixels.
+
+
+
+
+ Maintains a list of delayed events to raise.
+
+
+
+
+ Double-ended queue.
+
+
+
+
+
+
+
+ Adds an element to the end of the deque.
+
+
+
+
+ Pops an element from the end of the deque.
+
+
+
+
+ Adds an element to the front of the deque.
+
+
+
+
+ Pops an element from the end of the deque.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets/Sets an element inside the deque.
+
+
+
+
+ Helps printing documents.
+
+
+
+
+ Converts an IDocument to a Block and applies the provided highlighter.
+
+
+
+
+ Converts an IDocument to a RichText and applies the provided highlighter.
+
+
+
+
+ Creates a flow document from the editor's contents.
+
+
+
+
+ Provides immutable empty list instances.
+
+
+
+
+ Epsilon used for IsClose() implementations.
+ We can use up quite a few digits in front of the decimal point (due to visual positions being relative to document origin),
+ and there's no need to be too accurate (we're dealing with pixels here),
+ so we will use the value 0.01.
+ Previosly we used 1e-8 but that was causing issues:
+ http://community.sharpdevelop.net/forums/t/16048.aspx
+
+
+
+
+ Returns true if the doubles are close (difference smaller than 0.01).
+
+
+
+
+ Returns true if the doubles are close (difference smaller than 0.01).
+
+
+
+
+ Returns true if the doubles are close (difference smaller than 0.01).
+
+
+
+
+ Forces the value to stay between mininum and maximum.
+
+ minimum, if value is less than minimum.
+ Maximum, if value is greater than maximum.
+ Otherwise, value.
+
+
+
+ Forces the value to stay between mininum and maximum.
+
+ minimum, if value is less than minimum.
+ Maximum, if value is greater than maximum.
+ Otherwise, value.
+
+
+
+ Creates typeface from the framework element.
+
+
+
+
+ Creates an IEnumerable with a single value.
+
+
+
+
+ Gets the value of the attribute, or null if the attribute does not exist.
+
+
+
+
+ Gets the value of the attribute as boolean, or null if the attribute does not exist.
+
+
+
+
+ Gets the value of the attribute as boolean, or null if the attribute does not exist.
+
+
+
+
+ Class that can open text files with auto-detection of the encoding.
+
+
+
+
+ Gets if the given encoding is a Unicode encoding (UTF).
+
+
+ Returns true for UTF-7, UTF-8, UTF-16 LE, UTF-16 BE, UTF-32 LE and UTF-32 BE.
+ Returns false for all other encodings.
+
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ If the item is not frozen, this method creates and returns a frozen clone.
+ If the item is already frozen, it is returned without creating a clone.
+
+
+
+
+ Freezes this instance.
+
+
+
+
+ Gets if this instance is frozen. Frozen instances are immutable and thus thread-safe.
+
+
+
+
+ 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.
+
+
+
+
+ Pushes an item on the stack. This does not modify the stack itself, but returns a new
+ one with the value pushed.
+
+
+
+
+ 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.
+
+
+
+ Gets an enumerator that iterates through the stack top-to-bottom.
+
+
+
+
+
+
+
+ Gets if this stack is empty.
+
+
+
+
+ A collection that cannot contain null values.
+
+
+
+
+
+
+
+
+
+
+ A collection where adding and removing items causes a callback.
+ It is valid for the onAdd callback to throw an exception - this will prevent the new item from
+ being added to the collection.
+
+
+
+
+ Creates a new ObserveAddRemoveCollection using the specified callbacks.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ WeakEventManager for INotifyPropertyChanged.PropertyChanged.
+
+
+
+
+
+
+
+
+
+
+ A kind of List<T>, but more efficient for random insertions/removal.
+ Also has cheap Clone() and SubRope() implementations.
+
+
+ This class is not thread-safe: multiple concurrent write operations or writes concurrent to reads have undefined behaviour.
+ Concurrent reads, however, are safe.
+ However, clones of a rope are safe to use on other threads even though they share data with the original rope.
+
+
+
+
+ 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 rope from a part of the array.
+ 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.
+
+
+ Any modifications inside the rope will also cause the content to be initialized.
+ However, insertions at the beginning and the end, as well as inserting this rope into another or
+ using the method, allows constructions of larger ropes where parts are
+ lazily loaded.
+ However, even methods like Concat may sometimes cause the initializer function to be called, e.g. when
+ two short ropes are concatenated.
+
+
+
+
+ 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).
+
+
+ This method counts as a read access and may be called concurrently to other read accesses.
+
+
+
+
+ Resets the rope to an empty list.
+ Runs in O(1).
+
+
+
+
+ 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.
+
+
+
+ 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 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 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.
+
+
+
+ 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 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.
+
+ This method counts as a read access and may be called concurrently to other read accesses.
+
+
+
+
+ Concatenates two ropes. The input ropes are not modified.
+ Runs in O(lg N + lg M).
+
+
+ This method counts as a read access and may be called concurrently to other read accesses.
+
+
+
+
+ Concatenates multiple ropes. The input ropes are not modified.
+
+
+ This method counts as a read access and may be called concurrently to other read accesses.
+
+
+
+
+ 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().
+
+ This method counts as a read access and may be called concurrently to other read accesses.
+
+
+
+
+ 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.
+
+ This method counts as a read access and may be called concurrently to other read accesses.
+
+
+
+
+ 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.
+
+ This method counts as a read access and may be called concurrently to other read accesses.
+
+
+
+
+ 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.
+ The search proceeds backwards from (startIndex+count) to startIndex.
+ This is different than the meaning of the parameters on Array.LastIndexOf!
+
+
+
+ Inserts the item at the specified index in the rope.
+ Runs in O(lg N).
+
+
+
+
+ Removes a single item from the rope.
+ Runs in O(lg N).
+
+
+
+
+ Appends the item at the end of the rope.
+ Runs in O(lg N).
+
+
+
+
+ Searches the item in the rope.
+ Runs in O(N).
+
+
+ This method counts as a read access and may be called concurrently to other read accesses.
+
+
+
+
+ Copies the whole content of the rope into the specified array.
+ Runs in O(N).
+
+
+ This method counts as a read access and may be called concurrently to other read accesses.
+
+
+
+
+ Copies the a part of the rope into the specified array.
+ Runs in O(lg N + M).
+
+
+ This method counts as a read access and may be called concurrently to other read accesses.
+
+
+
+
+ Removes the first occurance of an item from the rope.
+ Runs in O(N).
+
+
+
+
+ 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.
+
+
+ This method counts as a read access and may be called concurrently to other read accesses.
+
+
+
+
+ Creates an array and copies the contents of the rope into it.
+ Runs in O(N).
+
+
+ This method counts as a read access and may be called concurrently to other read accesses.
+
+
+
+
+ Creates an array and copies the contents of the rope into it.
+ Runs in O(N).
+
+
+ This method counts as a read access and may be called concurrently to other read accesses.
+
+
+
+
+ Gets the length of the rope.
+ Runs in O(1).
+
+
+ This method counts as a read access and may be called concurrently to other read accesses.
+
+
+
+
+ Gets the length of the rope.
+ Runs in O(1).
+
+
+ This method counts as a read access and may be called concurrently to other read accesses.
+
+
+
+
+ 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).
+
+ The getter counts as a read access and may be called concurrently to other read accesses.
+
+
+
+
+ Balances this node and recomputes the 'height' field.
+ This method assumes that the children of this node are already balanced and have an up-to-date 'height' value.
+
+
+
+
+ Copies from the array to this node.
+
+
+
+
+ Copies from this node to the array.
+
+
+
+
+ Splits this leaf node at offset and returns a new node with the part of the text after offset.
+
+
+
+
+ Gets the root node of the subtree from a lazily evaluated function node.
+ Such nodes are always marked as shared.
+ GetContentNode() will return either a Concat or Leaf node, never another FunctionNode.
+
+
+
+
+ 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.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Equality operator.
+
+
+
+
+ Inequality operator.
+
+
+
+
+ Gets the string used for this segment.
+
+
+
+
+ Gets the start offset of the segment with the text.
+
+
+
+
+ Gets the length of the segment.
+
+
+
+
+ Creates TextFormatter instances that with the correct TextFormattingMode, if running on .NET 4.0.
+
+
+
+
+ Creates a using the formatting mode used by the specified owner object.
+
+
+
+
+ Returns whether the specified dependency property affects the text formatter creation.
+ Controls should re-create their text formatter for such property changes.
+
+
+
+
+ Creates formatted text.
+
+ The owner element. The text formatter setting are read from this element.
+ The text.
+ The typeface to use. If this parameter is null, the typeface of the will be used.
+ The font size. If this parameter is null, the font size of the will be used.
+ The foreground color. If this parameter is null, the foreground of the will be used.
+ A FormattedText object using the specified settings.
+
+
+
+ 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 whole number of pixels.
+
+
+
+
+ Rounds val to whole number of pixels.
+
+
+
+
+ Rounds to a whole number of pixels.
+
+
+
+
+ Rounds to an whole odd number of pixels.
+
+
+
+
+ Contains exception-throwing helper methods.
+
+
+
+
+ Throws an ArgumentNullException if is null; otherwise
+ returns val.
+
+
+ Use this method to throw an ArgumentNullException when using parameters for base
+ constructor calls.
+
+ public VisualLineText(string text) : base(ThrowUtil.CheckNotNull(text, "text").Length)
+
+
+
+
+
+ Wrapper around Win32 functions.
+
+
+
+
+ Creates an invisible Win32 caret for the specified Visual with the specified size (coordinates local to the owner visual).
+
+
+
+
+ Sets the position of the caret previously created using . position is relative to the owner visual.
+
+
+
+
+ Destroys the caret previously created using .
+
+
+
+
+ Gets the caret blink time.
+
+
+
+
+ GeneratedInternalTypeHelper
+
+
+
+
+ CreateInstance
+
+
+
+
+ GetPropertyValue
+
+
+
+
+ SetPropertyValue
+
+
+
+
+ CreateDelegate
+
+
+
+
+ AddEventHandler
+
+
+
+
diff --git a/YMC/Components/AvalonEdit/License.html b/YMC/Components/AvalonEdit/License.html
new file mode 100644
index 000000000..d7542b775
--- /dev/null
+++ b/YMC/Components/AvalonEdit/License.html
@@ -0,0 +1,35 @@
+
+
+
+ License
+
+
+
+
+
+
The MIT License (MIT)
+
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+
+
diff --git a/YMC/Components/Generators/Gplex.exe b/YMC/Components/Generators/Gplex.exe
new file mode 100644
index 000000000..ffbe89fe0
Binary files /dev/null and b/YMC/Components/Generators/Gplex.exe differ
diff --git a/YMC/Components/Generators/Gppg.exe b/YMC/Components/Generators/Gppg.exe
new file mode 100644
index 000000000..e9681362a
Binary files /dev/null and b/YMC/Components/Generators/Gppg.exe differ
diff --git a/YMC/Components/Generators/QUT.ShiftReduceParser.dll b/YMC/Components/Generators/QUT.ShiftReduceParser.dll
new file mode 100644
index 000000000..efded93f2
Binary files /dev/null and b/YMC/Components/Generators/QUT.ShiftReduceParser.dll differ
diff --git a/YMC/Components/GraphSharp/GraphSharp.Contracts.dll b/YMC/Components/GraphSharp/GraphSharp.Contracts.dll
new file mode 100644
index 000000000..3bc529c29
Binary files /dev/null and b/YMC/Components/GraphSharp/GraphSharp.Contracts.dll differ
diff --git a/YMC/Components/GraphSharp/GraphSharp.Controls.dll b/YMC/Components/GraphSharp/GraphSharp.Controls.dll
new file mode 100644
index 000000000..e1641cd7a
Binary files /dev/null and b/YMC/Components/GraphSharp/GraphSharp.Controls.dll differ
diff --git a/YMC/Components/GraphSharp/GraphSharp.dll b/YMC/Components/GraphSharp/GraphSharp.dll
new file mode 100644
index 000000000..de83fd94c
Binary files /dev/null and b/YMC/Components/GraphSharp/GraphSharp.dll differ
diff --git a/YMC/Components/GraphSharp/Microsoft.Contracts.dll b/YMC/Components/GraphSharp/Microsoft.Contracts.dll
new file mode 100644
index 000000000..1eff269c6
Binary files /dev/null and b/YMC/Components/GraphSharp/Microsoft.Contracts.dll differ
diff --git a/YMC/Components/GraphSharp/QuickGraph.dll b/YMC/Components/GraphSharp/QuickGraph.dll
new file mode 100644
index 000000000..2f2f34a84
Binary files /dev/null and b/YMC/Components/GraphSharp/QuickGraph.dll differ
diff --git a/YMC/Components/GraphSharp/WPFExtensions.dll b/YMC/Components/GraphSharp/WPFExtensions.dll
new file mode 100644
index 000000000..b617dc4fc
Binary files /dev/null and b/YMC/Components/GraphSharp/WPFExtensions.dll differ
diff --git a/YMC/Highlighting/Dark/lex.xshd b/YMC/Highlighting/Dark/lex.xshd
new file mode 100644
index 000000000..7b2fe62c5
--- /dev/null
+++ b/YMC/Highlighting/Dark/lex.xshd
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <\s*((\w+(\s*,\s*\w+)*|\*)|\*)\s*>
+
+
+
+
+ "
+ "
+
+
+
+
+
+
+
+
+ ^%\S+
+
+
+
+
+ \b0[xX][0-9a-fA-F]+ # hex number
+ | \b
+ ( \d+(\.[0-9]+)? #number with optional floating point
+ | \.[0-9]+ #or just starting with floating point
+ )
+ ([eE][+-]?[0-9]+)? # optional exponent
+
+
+
+
\ No newline at end of file
diff --git a/YMC/Highlighting/Dark/yacc.xshd b/YMC/Highlighting/Dark/yacc.xshd
new file mode 100644
index 000000000..4d8d3d5c5
--- /dev/null
+++ b/YMC/Highlighting/Dark/yacc.xshd
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+ "
+ "
+
+
+
+
+
+
+
+
+ \b0[xX][0-9a-fA-F]+ # hex number
+ | \b
+ ( \d+(\.[0-9]+)? #number with optional floating point
+ | \.[0-9]+ #or just starting with floating point
+ )
+ ([eE][+-]?[0-9]+)? # optional exponent
+
+
+
+
+
+
+
+ ^%\S+
+
+
+
+ %%
+ %%
+
+
+
+
+
+
+ \$\$|\$\d+|@\d+|@\$
+
+
+
+
+ ^[a-zA-Z_][a-zA-Z_0-9]*
+
+
+
+
+
\ No newline at end of file
diff --git a/YMC/Highlighting/Light/lex.xshd b/YMC/Highlighting/Light/lex.xshd
new file mode 100644
index 000000000..f7598fb0f
--- /dev/null
+++ b/YMC/Highlighting/Light/lex.xshd
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <\s*((\w+(\s*,\s*\w+)*|\*)|\*)\s*>
+
+
+
+
+ "
+ "
+
+
+
+
+
+
+
+
+ ^%\S+
+
+
+
+
+ \b0[xX][0-9a-fA-F]+ # hex number
+ | \b
+ ( \d+(\.[0-9]+)? #number with optional floating point
+ | \.[0-9]+ #or just starting with floating point
+ )
+ ([eE][+-]?[0-9]+)? # optional exponent
+
+
+
+
\ No newline at end of file
diff --git a/YMC/Highlighting/Light/yacc.xshd b/YMC/Highlighting/Light/yacc.xshd
new file mode 100644
index 000000000..8ac3baee0
--- /dev/null
+++ b/YMC/Highlighting/Light/yacc.xshd
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+ "
+ "
+
+
+
+
+
+
+
+
+ \b0[xX][0-9a-fA-F]+ # hex number
+ | \b
+ ( \d+(\.[0-9]+)? #number with optional floating point
+ | \.[0-9]+ #or just starting with floating point
+ )
+ ([eE][+-]?[0-9]+)? # optional exponent
+
+
+
+
+
+
+
+ ^%\S+
+
+
+
+ %%
+ %%
+
+
+
+
+
+
+ \$\$|\$\d+|@\d+|@\$
+
+
+
+
+ ^[a-zA-Z_][a-zA-Z_0-9]*
+
+
+
+
+
\ No newline at end of file
diff --git a/YMC/Images/AppHelp.png b/YMC/Images/AppHelp.png
new file mode 100644
index 000000000..bc29dc447
Binary files /dev/null and b/YMC/Images/AppHelp.png differ
diff --git a/YMC/Images/AppIcon.png b/YMC/Images/AppIcon.png
new file mode 100644
index 000000000..1d9a3cad4
Binary files /dev/null and b/YMC/Images/AppIcon.png differ
diff --git a/YMC/Images/EditCancel.png b/YMC/Images/EditCancel.png
new file mode 100644
index 000000000..129fa0c8d
Binary files /dev/null and b/YMC/Images/EditCancel.png differ
diff --git a/YMC/Images/EditCopy.png b/YMC/Images/EditCopy.png
new file mode 100644
index 000000000..01bbc2af6
Binary files /dev/null and b/YMC/Images/EditCopy.png differ
diff --git a/YMC/Images/EditCut.png b/YMC/Images/EditCut.png
new file mode 100644
index 000000000..b9a13633f
Binary files /dev/null and b/YMC/Images/EditCut.png differ
diff --git a/YMC/Images/EditGoNext.png b/YMC/Images/EditGoNext.png
new file mode 100644
index 000000000..11194c586
Binary files /dev/null and b/YMC/Images/EditGoNext.png differ
diff --git a/YMC/Images/EditGoPrev.png b/YMC/Images/EditGoPrev.png
new file mode 100644
index 000000000..f00da2b37
Binary files /dev/null and b/YMC/Images/EditGoPrev.png differ
diff --git a/YMC/Images/EditPaste.png b/YMC/Images/EditPaste.png
new file mode 100644
index 000000000..c522ce3a3
Binary files /dev/null and b/YMC/Images/EditPaste.png differ
diff --git a/YMC/Images/EditRedo.png b/YMC/Images/EditRedo.png
new file mode 100644
index 000000000..ea7ed8919
Binary files /dev/null and b/YMC/Images/EditRedo.png differ
diff --git a/YMC/Images/EditUndo.png b/YMC/Images/EditUndo.png
new file mode 100644
index 000000000..2207d1d75
Binary files /dev/null and b/YMC/Images/EditUndo.png differ
diff --git a/YMC/Images/FileNewProject.png b/YMC/Images/FileNewProject.png
new file mode 100644
index 000000000..0aae9420d
Binary files /dev/null and b/YMC/Images/FileNewProject.png differ
diff --git a/YMC/Images/FileNewSingle.png b/YMC/Images/FileNewSingle.png
new file mode 100644
index 000000000..dcc5393ae
Binary files /dev/null and b/YMC/Images/FileNewSingle.png differ
diff --git a/YMC/Images/FileOpenProject.png b/YMC/Images/FileOpenProject.png
new file mode 100644
index 000000000..8677ed2d9
Binary files /dev/null and b/YMC/Images/FileOpenProject.png differ
diff --git a/YMC/Images/FileOpenSingle.png b/YMC/Images/FileOpenSingle.png
new file mode 100644
index 000000000..c24d0c61f
Binary files /dev/null and b/YMC/Images/FileOpenSingle.png differ
diff --git a/YMC/Images/FileSave.png b/YMC/Images/FileSave.png
new file mode 100644
index 000000000..749af4884
Binary files /dev/null and b/YMC/Images/FileSave.png differ
diff --git a/YMC/Images/FileSaveAll.png b/YMC/Images/FileSaveAll.png
new file mode 100644
index 000000000..7bde10a6d
Binary files /dev/null and b/YMC/Images/FileSaveAll.png differ
diff --git a/YMC/Images/InfoAdd.png b/YMC/Images/InfoAdd.png
new file mode 100644
index 000000000..8ec08aa15
Binary files /dev/null and b/YMC/Images/InfoAdd.png differ
diff --git a/YMC/Images/InfoAnd.png b/YMC/Images/InfoAnd.png
new file mode 100644
index 000000000..ec0895b36
Binary files /dev/null and b/YMC/Images/InfoAnd.png differ
diff --git a/YMC/Images/InfoCheck.png b/YMC/Images/InfoCheck.png
new file mode 100644
index 000000000..b96beab7a
Binary files /dev/null and b/YMC/Images/InfoCheck.png differ
diff --git a/YMC/Images/InfoCompile.png b/YMC/Images/InfoCompile.png
new file mode 100644
index 000000000..8e76acc40
Binary files /dev/null and b/YMC/Images/InfoCompile.png differ
diff --git a/YMC/Images/InfoLock.png b/YMC/Images/InfoLock.png
new file mode 100644
index 000000000..9f0710989
Binary files /dev/null and b/YMC/Images/InfoLock.png differ
diff --git a/YMC/Images/InfoMacro.png b/YMC/Images/InfoMacro.png
new file mode 100644
index 000000000..e0653bbf6
Binary files /dev/null and b/YMC/Images/InfoMacro.png differ
diff --git a/YMC/Images/InfoOr.png b/YMC/Images/InfoOr.png
new file mode 100644
index 000000000..4c7513e5c
Binary files /dev/null and b/YMC/Images/InfoOr.png differ
diff --git a/YMC/Images/InfoRefresh.png b/YMC/Images/InfoRefresh.png
new file mode 100644
index 000000000..7acdddcfb
Binary files /dev/null and b/YMC/Images/InfoRefresh.png differ
diff --git a/YMC/Images/InfoRevert.png b/YMC/Images/InfoRevert.png
new file mode 100644
index 000000000..3b177d982
Binary files /dev/null and b/YMC/Images/InfoRevert.png differ
diff --git a/YMC/Images/InfoSort.png b/YMC/Images/InfoSort.png
new file mode 100644
index 000000000..98e4cb834
Binary files /dev/null and b/YMC/Images/InfoSort.png differ
diff --git a/YMC/Images/InfoStatistics.png b/YMC/Images/InfoStatistics.png
new file mode 100644
index 000000000..0d98f869e
Binary files /dev/null and b/YMC/Images/InfoStatistics.png differ
diff --git a/YMC/Images/ProjectBackup.png b/YMC/Images/ProjectBackup.png
new file mode 100644
index 000000000..506a940bd
Binary files /dev/null and b/YMC/Images/ProjectBackup.png differ
diff --git a/YMC/Images/ProjectGetLatest.png b/YMC/Images/ProjectGetLatest.png
new file mode 100644
index 000000000..d49408686
Binary files /dev/null and b/YMC/Images/ProjectGetLatest.png differ
diff --git a/YMC/bin/Release/AspectCore.dll b/YMC/bin/Release/AspectCore.dll
new file mode 100644
index 000000000..40d1f4efe
Binary files /dev/null and b/YMC/bin/Release/AspectCore.dll differ
diff --git a/YMC/bin/Release/AvalonDock.dll b/YMC/bin/Release/AvalonDock.dll
new file mode 100644
index 000000000..b14a70086
Binary files /dev/null and b/YMC/bin/Release/AvalonDock.dll differ
diff --git a/YMC/bin/Release/AvalonDock.resources.dll b/YMC/bin/Release/AvalonDock.resources.dll
new file mode 100644
index 000000000..77693b6e8
Binary files /dev/null and b/YMC/bin/Release/AvalonDock.resources.dll differ
diff --git a/YMC/bin/Release/AvalonDock.xml b/YMC/bin/Release/AvalonDock.xml
new file mode 100644
index 000000000..e5887a24b
--- /dev/null
+++ b/YMC/bin/Release/AvalonDock.xml
@@ -0,0 +1,4009 @@
+
+
+
+ AvalonDock
+
+
+
+
+ Provides derived classes an opportunity to handle execute code before to the Parent property changes.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the Parent property.
+
+
+
+
+ IsDragging Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the IsDragging property.
+ This dependency property indicates that this floating window is being dragged.
+
+ The new value for the property.
+
+
+
+ Handles changes to the IsDragging property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the IsDragging property.
+
+
+
+
+ IsMaximized Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the IsMaximized property.
+ This dependency property indicates if the window is maximized.
+
+ The new value for the property.
+
+
+
+ Gets the IsDragging property. This dependency property
+ indicates that this floating window is being dragged.
+
+
+
+
+ Gets the IsMaximized property. This dependency property
+ indicates if the window is maximized.
+
+
+
+
+ Content Dependency Property
+
+
+
+
+ Handles changes to the Content property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the Content property.
+
+
+
+
+ Gets or sets the Content property. This dependency property
+ indicates ....
+
+
+
+
+ Converts a value.
+
+ The value produced by the binding source.
+ The type of the binding target property.
+ The converter parameter to use.
+ The culture to use in the converter.
+
+ A converted value. If the method returns null, the valid null value is used.
+
+
+
+
+ Converts a value.
+
+ The value that is produced by the binding target.
+ The type to convert to.
+ The converter parameter to use.
+ The culture to use in the converter.
+
+ A converted value. If the method returns null, the valid null value is used.
+
+
+
+
+ Removes any empty container not directly referenced by other layout items
+
+
+
+
+ Background Dependency Property
+
+
+
+
+ AnchorableStyle Dependency Property
+
+
+
+
+ Gets or sets the Background property. This dependency property
+ indicates background of the autohide childwindow.
+
+
+
+
+ Gets or sets the AnchorableStyle property. This dependency property
+ indicates the style to apply to the LayoutAnchorableControl hosted in this auto hide window.
+
+
+
+
+ HIGHCONTRAST flags
+
+
+
+
+ BITMAPINFOHEADER Compression type. BI_*.
+
+
+
+
+ CombingRgn flags. RGN_*
+
+
+
+
+ Creates the intersection of the two combined regions.
+
+
+
+
+ Creates the union of two combined regions.
+
+
+
+
+ Creates the union of two combined regions except for any overlapping areas.
+
+
+
+
+ Combines the parts of hrgnSrc1 that are not part of hrgnSrc2.
+
+
+
+
+ Creates a copy of the region identified by hrgnSrc1.
+
+
+
+
+ For IWebBrowser2. OLECMDEXECOPT_*
+
+
+
+
+ For IWebBrowser2. OLECMDF_*
+
+
+
+
+ For IWebBrowser2. OLECMDID_*
+
+
+
+
+ For IWebBrowser2. READYSTATE_*
+
+
+
+
+ DATAOBJ_GET_ITEM_FLAGS. DOGIF_*.
+
+
+
+ Use the system default, which is to display all error dialog boxes.
+
+
+
+ The system does not display the critical-error-handler message box.
+ Instead, the system sends the error to the calling process.
+
+
+
+
+ 64-bit Windows: The system automatically fixes memory alignment faults and makes them
+ invisible to the application. It does this for the calling process and any descendant processes.
+ After this value is set for a process, subsequent attempts to clear the value are ignored.
+
+
+
+
+ The system does not display the general-protection-fault message box.
+ This flag should only be set by debugging applications that handle general
+ protection (GP) faults themselves with an exception handler.
+
+
+
+
+ The system does not display a message box when it fails to find a file.
+ Instead, the error is returned to the calling process.
+
+
+
+
+ Non-client hit test values, HT*
+
+
+
+
+ GetClassLongPtr values, GCLP_*
+
+
+
+
+ GetWindowLongPtr values, GWL_*
+
+
+
+
+ SystemMetrics. SM_*
+
+
+
+
+ SystemParameterInfo values, SPI_*
+
+
+
+
+ SystemParameterInfo flag values, SPIF_*
+
+
+
+
+ CS_*
+
+
+
+
+ WindowStyle values, WS_*
+
+
+
+
+ Window message values, WM_*
+
+
+
+
+ Window style extended values, WS_EX_*
+
+
+
+
+ GetDeviceCaps nIndex values.
+
+
+
+ Number of bits per pixel
+
+
+
+
+ Number of planes
+
+
+
+
+ Logical pixels inch in X
+
+
+
+
+ Logical pixels inch in Y
+
+
+
+
+ "FILEOP_FLAGS", FOF_*.
+
+
+
+
+ EnableMenuItem uEnable values, MF_*
+
+
+
+
+ Possible return value for EnableMenuItem
+
+
+
+ Specifies the type of visual style attribute to set on a window.
+
+
+ Non-client area window attributes will be set.
+
+
+
+ DWMFLIP3DWINDOWPOLICY. DWMFLIP3D_*
+
+
+
+
+ DWMNCRENDERINGPOLICY. DWMNCRP_*
+
+
+
+
+ DWMWINDOWATTRIBUTE. DWMWA_*
+
+
+
+
+ WindowThemeNonClientAttributes
+
+
+
+ Prevents the window caption from being drawn.
+
+
+ Prevents the system icon from being drawn.
+
+
+ Prevents the system icon menu from appearing.
+
+
+ Prevents mirroring of the question mark, even in right-to-left (RTL) layout.
+
+
+ A mask that contains all the valid bits.
+
+
+
+ SetWindowPos options
+
+
+
+
+ ShowWindow options
+
+
+
+
+ SCF_ISSECURE
+
+
+
+
+ GDI+ Status codes
+
+
+
+
+ MSGFLT_*. New in Vista. Realiased in Windows 7.
+
+
+
+
+ Shell_NotifyIcon messages. NIM_*
+
+
+
+
+ SHAddToRecentDocuments flags. SHARD_*
+
+
+
+
+ Shell_NotifyIcon flags. NIF_*
+
+
+
+
+ Vista only.
+
+
+
+
+ Vista only.
+
+
+
+
+ Shell_NotifyIcon info flags. NIIF_*
+
+
+
+ XP SP2 and later.
+
+
+ XP and later.
+
+
+ Vista and later.
+
+
+ Windows 7 and later
+
+
+ XP and later. Native version called NIIF_ICON_MASK.
+
+
+
+ AC_*
+
+
+
+
+ The state of the icon. There are two flags that can be set independently.
+ NIS_HIDDEN = 1. The icon is hidden.
+ NIS_SHAREDICON = 2. The icon is shared.
+
+
+
+ The idlist for the shell item that should be added to the recent docs folder.
+
+
+ The id of the application that should be associated with this recent doc.
+
+
+ Defines options that are used to set window visual style attributes.
+
+
+
+ A combination of flags that modify window visual style attributes.
+ Can be a combination of the WTNCA constants.
+
+
+
+
+ A bitmask that describes how the values specified in dwFlags should be applied.
+ If the bit corresponding to a value in dwFlags is 0, that flag will be removed.
+ If the bit is 1, the flag will be added.
+
+
+
+ Width of left border that retains its size.
+
+
+ Width of right border that retains its size.
+
+
+ Height of top border that retains its size.
+
+
+ Height of bottom border that retains its size.
+
+
+ Delegate declaration that matches native WndProc signatures.
+
+
+ Delegate declaration that matches native WndProc signatures.
+
+
+ Delegate declaration that matches managed WndProc signatures.
+
+
+
+ Sets attributes to control how visual styles are applied to a specified window.
+
+
+ Handle to a window to apply changes to.
+
+
+ Value of type WINDOWTHEMEATTRIBUTETYPE that specifies the type of attribute to set.
+ The value of this parameter determines the type of data that should be passed in the pvAttribute parameter.
+ Can be the following value:
+ WTA_NONCLIENT (Specifies non-client related attributes).
+ pvAttribute must be a pointer of type WTA_OPTIONS.
+
+
+ A pointer that specifies attributes to set. Type is determined by the value of the eAttribute value.
+
+
+ Specifies the size, in bytes, of the data pointed to by pvAttribute.
+
+
+
+ Overload of SystemParametersInfo for getting and setting NONCLIENTMETRICS.
+
+
+ Overload of SystemParametersInfo for getting and setting HIGHCONTRAST.
+
+
+
+ Sets the User Model AppID for the current process, enabling Windows to retrieve this ID
+
+
+
+
+
+ Retrieves the User Model AppID that has been explicitly set for the current process via SetCurrentProcessExplicitAppUserModelID
+
+
+
+
+
+ Convert a point in device independent pixels (1/96") to a point in the system coordinates.
+
+ A point in the logical coordinate system.
+ Returns the parameter converted to the system's coordinates.
+
+
+
+ Convert a point in system coordinates to a point in device independent pixels (1/96").
+
+ A point in the physical coordinate system.
+ Returns the parameter converted to the device independent coordinate system.
+
+
+ A static class for verifying assumptions.
+
+
+
+ Executes the specified argument.
+
+ The function to execute.
+
+
+ Obsolete: Use Standard.Assert.AreEqual instead of Assert.Equals
+ The generic type to compare for equality.
+ The first generic type data to compare. This is is the expected value.
+ The second generic type data to compare. This is the actual value.
+
+
+
+ Verifies that two generic type data are equal. The assertion fails if they are not.
+
+ The generic type to compare for equality.
+ The first generic type data to compare. This is is the expected value.
+ The second generic type data to compare. This is the actual value.
+ This breaks into the debugger in the case of a failed assertion.
+
+
+
+ Verifies that two generic type data are not equal. The assertion fails if they are.
+
+ The generic type to compare for inequality.
+ The first generic type data to compare. This is is the value that's not expected.
+ The second generic type data to compare. This is the actual value.
+ This breaks into the debugger in the case of a failed assertion.
+
+
+
+ Verifies that if the specified condition is true, then so is the result.
+ The assertion fails if the condition is true but the result is false.
+
+ if set to true [condition].
+
+ A second Boolean statement. If the first was true then so must this be.
+ If the first statement was false then the value of this is ignored.
+
+ This breaks into the debugger in the case of a failed assertion.
+
+
+
+ Lazy evaluation overload. Verifies that if a condition is true, then so is a secondary value.
+
+ The conditional value.
+ A function to be evaluated for truth if the condition argument is true.
+
+ This overload only evaluates the result if the first condition is true.
+
+
+
+
+ Verifies that a string has content. I.e. it is not null and it is not empty.
+
+ The string to verify.
+
+
+
+ Verifies that a string has content. I.e. it is not null and it is not purely whitespace.
+
+ The string to verify.
+
+
+
+ Verifies the specified value is not null. The assertion fails if it is.
+
+ The generic reference type.
+ The value to check for nullness.
+ This breaks into the debugger in the case of a failed assertion.
+
+
+
+ Verifies that the specified condition is false. The assertion fails if it is true.
+
+ The expression that should be false.
+ This breaks into the debugger in the case of a failed assertion.
+
+
+
+ Verifies that the specified condition is false. The assertion fails if it is true.
+
+ The expression that should be false.
+ The message to display if the condition is true.
+ This breaks into the debugger in the case of a failed assertion.
+
+
+
+ Verifies that the specified condition is true. The assertion fails if it is not.
+
+ A condition that is expected to be true.
+ This breaks into the debugger in the case of a failed assertion.
+
+
+
+ Verifies that the specified condition is true. The assertion fails if it is not.
+
+ A condition that is expected to be true.
+ The message to write in case the condition is false.
+ This breaks into the debugger in the case of a failed assertion.
+
+
+
+ This line should never be executed. The assertion always fails.
+
+ This breaks into the debugger in the case of a failed assertion.
+
+
+
+ This line should never be executed. The assertion always fails.
+
+ The message to display if this function is executed.
+ This breaks into the debugger in the case of a failed assertion.
+
+
+
+ Verifies that the specified object is null. The assertion fails if it is not.
+
+ The item to verify is null.
+
+
+
+ Verifies that the specified value is within the expected range. The assertion fails if it isn't.
+
+ The lower bound inclusive value.
+ The value to verify.
+ The upper bound inclusive value.
+
+
+
+ Verifies that the specified value is within the expected range. The assertion fails if it isn't.
+
+ The lower bound inclusive value.
+ The value to verify.
+ The upper bound exclusive value.
+
+
+
+ Verify the current thread's apartment state is what's expected. The assertion fails if it isn't
+
+
+ The expected apartment state for the current thread.
+
+ This breaks into the debugger in the case of a failed assertion.
+
+
+ A function signature for Assert.Evaluate.
+
+
+ A function signature for Assert.Implies.
+ Returns the truth of a predicate.
+
+
+
+ Model Dependency Property
+
+
+
+
+ Handles changes to the Model property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the Model property.
+
+
+
+
+ LayoutItem Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the LayoutItem property.
+ This dependency property indicates the LayoutItem attached to this tag item.
+
+ The new value for the property.
+
+
+
+ Gets or sets the Model property. This dependency property
+ indicates the layout content model attached to the tab item.
+
+
+
+
+ Gets the LayoutItem property. This dependency property
+ indicates the LayoutItem attached to this tag item.
+
+
+
+ The Window that's chrome is being modified.
+
+
+ Underlying HWND for the _window.
+
+
+ Object that describes the current modifications being made to the chrome.
+
+
+ Add and remove a native WindowStyle from the HWND.
+ The styles to be removed. These can be bitwise combined.
+ The styles to be added. These can be bitwise combined.
+ Whether the styles of the HWND were modified as a result of this call.
+
+
+
+ Get the WindowState as the native HWND knows it to be. This isn't necessarily the same as what Window thinks.
+
+
+
+
+ Get the bounding rectangle for the window in physical coordinates.
+
+ The bounding rectangle for the window.
+
+
+
+ Update the items in the system menu based on the current, or assumed, WindowState.
+
+
+ The state to assume that the Window is in. This can be null to query the Window's state.
+
+
+ We want to update the menu while we have some control over whether the caption will be repainted.
+
+
+
+
+ Matrix of the HT values to return when responding to NC window messages.
+
+
+
+
+ Private constructor. The public way to access this class is through the static Current property.
+
+
+
+
+ IsDraggingOver Attached Dependency Property
+
+
+
+
+ Gets the IsDraggingOver property. This dependency property
+ indicates if user is dragging a window over the target element.
+
+
+
+
+ Sets the IsDraggingOver property. This dependency property
+ indicates if user is dragging away a window from the target element.
+
+
+
+
+ Model Dependency Property
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the Model property.
+
+
+
+
+ LayoutItem Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the LayoutItem property.
+ This dependency property indicates the LayoutItem attached to this tag item.
+
+ The new value for the property.
+
+
+
+ Gets or sets the Model property. This dependency property
+ indicates model attached to this view.
+
+
+
+
+ Gets the LayoutItem property. This dependency property
+ indicates the LayoutItem attached to this tag item.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the IsSelected property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the IsActive property.
+
+
+
+
+ Test if the content can be closed
+
+
+
+
+
+ Close the content
+
+ Please note that usually the anchorable is only hidden (not closed). By default when user click the X button it only hides the content.
+
+
+
+ Float the content in a popup window
+
+
+
+
+ Dock the content as document
+
+
+
+
+ Re-dock the content to its previous container
+
+
+
+
+ Event fired when the content is closed (i.e. removed definitely from the layout)
+
+
+
+
+ Event fired when the content is about to be closed (i.e. removed definitely from the layout)
+
+ Please note that LayoutAnchorable also can be hidden. Usually user hide anchorables when click the 'X' button. To completely close
+ an anchorable the user should click the 'Close' menu item from the context menu. When an LayoutAnchorable is hidden its visibility changes to false and
+ IsHidden property is set to true.
+ Hanlde the Hiding event for the LayoutAnchorable to cancel the hide operation.
+
+
+
+ IsLeftSide Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the IsLeftSide property.
+ This dependency property indicates this control is anchored to left side.
+
+ The new value for the property.
+
+
+
+ IsTopSide Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the IsTopSide property.
+ This dependency property indicates this control is anchored to top side.
+
+ The new value for the property.
+
+
+
+ IsRightSide Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the IsRightSide property.
+ This dependency property indicates this control is anchored to right side.
+
+ The new value for the property.
+
+
+
+ IsBottomSide Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the IsBottomSide property.
+ This dependency property indicates if this panel is anchored to bottom side.
+
+ The new value for the property.
+
+
+
+ Gets the IsLeftSide property. This dependency property
+ indicates this control is anchored to left side.
+
+
+
+
+ Gets the IsTopSide property. This dependency property
+ indicates this control is anchored to top side.
+
+
+
+
+ Gets the IsRightSide property. This dependency property
+ indicates this control is anchored to right side.
+
+
+
+
+ Gets the IsBottomSide property. This dependency property
+ indicates if this panel is anchored to bottom side.
+
+
+
+ Display the system menu at a specified location.
+ The location to display the system menu, in logical screen coordinates.
+
+
+
+ Title Dependency Property
+
+
+
+
+ Handles changes to the Title property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the Title property.
+
+
+
+
+ IconSource Dependency Property
+
+
+
+
+ Handles changes to the IconSource property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the IconSource property.
+
+
+
+
+ ContentId Dependency Property
+
+
+
+
+ Handles changes to the ContentId property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the ContentId property.
+
+
+
+
+ IsSelected Dependency Property
+
+
+
+
+ Handles changes to the IsSelected property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the IsSelected property.
+
+
+
+
+ IsActive Dependency Property
+
+
+
+
+ Handles changes to the IsActive property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the IsActive property.
+
+
+
+
+ CanClose Dependency Property
+
+
+
+
+ Handles changes to the CanClose property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the CanClose property.
+
+
+
+
+ CanFloat Dependency Property
+
+
+
+
+ Handles changes to the CanFloat property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the CanFloat property.
+
+
+
+
+ CloseCommand Dependency Property
+
+
+
+
+ Handles changes to the CloseCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the CloseCommand property.
+
+
+
+
+ Coerces the CloseCommand value.
+
+
+
+
+ FloatCommand Dependency Property
+
+
+
+
+ Handles changes to the FloatCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the FloatCommand property.
+
+
+
+
+ Coerces the FloatCommand value.
+
+
+
+
+ DockAsDocumentCommand Dependency Property
+
+
+
+
+ Handles changes to the DockAsDocumentCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DockAsDocumentCommand property.
+
+
+
+
+ Coerces the DockAsDocumentCommand value.
+
+
+
+
+ CloseAllButThisCommand Dependency Property
+
+
+
+
+ Handles changes to the CloseAllButThisCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the CloseAllButThisCommand property.
+
+
+
+
+ Coerces the CloseAllButThisCommand value.
+
+
+
+
+ ActivateCommand Dependency Property
+
+
+
+
+ Handles changes to the ActivateCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the ActivateCommand property.
+
+
+
+
+ Coerces the ActivateCommand value.
+
+
+
+
+ NewVerticalTabGroupCommand Dependency Property
+
+
+
+
+ Handles changes to the NewVerticalTabGroupCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the NewVerticalTabGroupCommand property.
+
+
+
+
+ NewHorizontalTabGroupCommand Dependency Property
+
+
+
+
+ Handles changes to the NewHorizontalTabGroupCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the NewHorizontalTabGroupCommand property.
+
+
+
+
+ MoveToNextTabGroupCommand Dependency Property
+
+
+
+
+ Handles changes to the MoveToNextTabGroupCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the MoveToNextTabGroupCommand property.
+
+
+
+
+ MoveToPreviousTabGroupCommand Dependency Property
+
+
+
+
+ Handles changes to the MoveToPreviousTabGroupCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the MoveToPreviousTabGroupCommand property.
+
+
+
+
+ Gets or sets the Title property. This dependency property
+ indicates the title of the element.
+
+
+
+
+ Gets or sets the IconSource property. This dependency property
+ indicates icon associated with the item.
+
+
+
+
+ Gets or sets the ContentId property. This dependency property
+ indicates the content id used to retrive content when deserializing layouts.
+
+
+
+
+ Gets or sets the IsSelected property. This dependency property
+ indicates if the item is selected inside its container.
+
+
+
+
+ Gets or sets the IsActive property. This dependency property
+ indicates if the item is active in the UI.
+
+
+
+
+ Gets or sets the CanClose property. This dependency property
+ indicates if the item can be closed.
+
+
+
+
+ Gets or sets the CanFloat property. This dependency property
+ indicates if user can move the layout element dragging it to another position.
+
+
+
+
+ Gets or sets the CloseCommand property. This dependency property
+ indicates the command to execute when user click the document close button.
+
+
+
+
+ Gets or sets the FloatCommand property. This dependency property
+ indicates the command to execute when user click the float button.
+
+ By default this command move the anchorable inside new floating window.
+
+
+
+ Gets or sets the DockAsDocumentCommand property. This dependency property
+ indicates the command to execute when user click the DockAsDocument button.
+
+ By default this command move the anchorable inside the last focused document pane.
+
+
+
+ Gets or sets the CloseAllButThisCommand property. This dependency property
+ indicates the 'Close All But This' command.
+
+
+
+
+ Gets or sets the ActivateCommand property. This dependency property
+ indicates the command to execute when user wants to activate a content (either a Document or an Anchorable).
+
+
+
+
+ Gets or sets the NewVerticalTabGroupCommand property. This dependency property
+ indicates the new vertical tab group command.
+
+
+
+
+ Gets or sets the NewHorizontalTabGroupCommand property. This dependency property
+ indicates the new horizontal tab group command.
+
+
+
+
+ Gets or sets the MoveToNextTabGroupCommand property. This dependency property
+ indicates move to next tab group command.
+
+
+
+
+ Gets or sets the MoveToPreviousTabGroupCommand property. This dependency property
+ indicates move to rpevious tab group command.
+
+
+
+
+ Description Dependency Property
+
+
+
+
+ Handles changes to the Description property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the Description property.
+
+
+
+
+ Gets or sets the Description property. This dependency property
+ indicates the description to display for the document item.
+
+
+
+
+ Model Dependency Property
+
+
+
+
+ Handles changes to the Model property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the Model property.
+
+
+
+
+ LayoutItem Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the LayoutItem property.
+ This dependency property indicates the LayoutItem attached to this tag item.
+
+ The new value for the property.
+
+
+
+ Gets or sets the Model property. This dependency property
+ indicates the model attached to this view.
+
+
+
+
+ Gets the LayoutItem property. This dependency property
+ indicates the LayoutItem attached to this tag item.
+
+
+
+
+ IconTemplate Dependency Property
+
+
+
+
+ Handles changes to the IconTemplate property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the IconTemplate property.
+
+
+
+
+ IconTemplateSelector Dependency Property
+
+
+
+
+ Handles changes to the IconTemplateSelector property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the IconTemplateSelector property.
+
+
+
+
+ Gets or sets the IconTemplate property. This dependency property
+ indicates the data template for the icon.
+
+
+
+
+ Gets or sets the IconTemplateSelector property. This dependency property
+ indicates the DataTemplateSelector for the Icon.
+
+
+
+
+ Special window handles
+
+
+
+
+ Changes an attribute of the specified window. The function also sets the 32-bit (long) value at the specified offset into the extra window memory.
+
+ A handle to the window and, indirectly, the class to which the window belongs..
+ The zero-based offset to the value to be set. Valid values are in the range zero through the number of bytes of extra window memory, minus the size of an integer. To set any other value, specify one of the following values: GWL_EXSTYLE, GWL_HINSTANCE, GWL_ID, GWL_STYLE, GWL_USERDATA, GWL_WNDPROC
+ The replacement value.
+ If the function succeeds, the return value is the previous value of the specified 32-bit integer.
+ If the function fails, the return value is zero. To get extended error information, call GetLastError.
+
+
+
+ SetWindowPos Flags
+
+
+
+ If the calling thread and the thread that owns the window are attached to different input queues,
+ the system posts the request to the thread that owns the window. This prevents the calling thread from
+ blocking its execution while other threads process the request.
+ SWP_ASYNCWINDOWPOS
+
+
+ Prevents generation of the WM_SYNCPAINT message.
+ SWP_DEFERERASE
+
+
+ Draws a frame (defined in the window's class description) around the window.
+ SWP_DRAWFRAME
+
+
+ Applies new frame styles set using the SetWindowLong function. Sends a WM_NCCALCSIZE message to
+ the window, even if the window's size is not being changed. If this flag is not specified, WM_NCCALCSIZE
+ is sent only when the window's size is being changed.
+ SWP_FRAMECHANGED
+
+
+ Hides the window.
+ SWP_HIDEWINDOW
+
+
+ Does not activate the window. If this flag is not set, the window is activated and moved to the
+ top of either the topmost or non-topmost group (depending on the setting of the hWndInsertAfter
+ parameter).
+ SWP_NOACTIVATE
+
+
+ Discards the entire contents of the client area. If this flag is not specified, the valid
+ contents of the client area are saved and copied back into the client area after the window is sized or
+ repositioned.
+ SWP_NOCOPYBITS
+
+
+ Retains the current position (ignores X and Y parameters).
+ SWP_NOMOVE
+
+
+ Does not change the owner window's position in the Z order.
+ SWP_NOOWNERZORDER
+
+
+ Does not redraw changes. If this flag is set, no repainting of any kind occurs. This applies to
+ the client area, the nonclient area (including the title bar and scroll bars), and any part of the parent
+ window uncovered as a result of the window being moved. When this flag is set, the application must
+ explicitly invalidate or redraw any parts of the window and parent window that need redrawing.
+ SWP_NOREDRAW
+
+
+ Same as the SWP_NOOWNERZORDER flag.
+ SWP_NOREPOSITION
+
+
+ Prevents the window from receiving the WM_WINDOWPOSCHANGING message.
+ SWP_NOSENDCHANGING
+
+
+ Retains the current size (ignores the cx and cy parameters).
+ SWP_NOSIZE
+
+
+ Retains the current Z order (ignores the hWndInsertAfter parameter).
+ SWP_NOZORDER
+
+
+ Displays the window.
+ SWP_SHOWWINDOW
+
+
+
+ Direct insert/remove operation has been perfomed to the group
+
+
+
+
+ An element below in the hierarchy as been added/removed
+
+
+
+
+ A static class for retail validated assertions.
+ Instead of breaking into the debugger an exception is thrown.
+
+
+
+
+ Ensure that the current thread's apartment state is what's expected.
+
+
+ The required apartment state for the current thread.
+
+
+ The message string for the exception to be thrown if the state is invalid.
+
+
+ Thrown if the calling thread's apartment state is not the same as the requiredState.
+
+
+
+
+ Ensure that an argument is neither null nor empty.
+
+ The string to validate.
+ The name of the parameter that will be presented if an exception is thrown.
+
+
+
+ Ensure that an argument is neither null nor does it consist only of whitespace.
+
+ The string to validate.
+ The name of the parameter that will be presented if an exception is thrown.
+
+
+ Verifies that an argument is not null.
+ Type of the object to validate. Must be a class.
+ The object to validate.
+ The name of the parameter that will be presented if an exception is thrown.
+
+
+ Verifies that an argument is not null.
+ Type of the object to validate. Must be a class.
+ The object to validate.
+ The name of the parameter that will be presented if an exception is thrown.
+
+
+ Verifies that an argument is null.
+ Type of the object to validate. Must be a class.
+ The object to validate.
+ The name of the parameter that will be presented if an exception is thrown.
+
+
+
+ Verifies the specified statement is true. Throws an ArgumentException if it's not.
+
+ The statement to be verified as true.
+ Name of the parameter to include in the ArgumentException.
+
+
+
+ Verifies the specified statement is true. Throws an ArgumentException if it's not.
+
+ The statement to be verified as true.
+ Name of the parameter to include in the ArgumentException.
+ The message to include in the ArgumentException.
+
+
+
+ Verifies that the specified value is within the expected range. The assertion fails if it isn't.
+
+ The lower bound inclusive value.
+ The value to verify.
+ The upper bound exclusive value.
+
+
+
+ Get the input element that was focused before user left the layout element
+
+ Element to look for
+ Input element
+
+
+
+ Get the last window handle focused before user left the element passed as argument
+
+
+
+
+
+
+ Given a layout element tries to set the focus of the keyword where it was before user moved to another element
+
+
+
+
+
+ SingleContentLayoutItem Dependency Property
+
+
+
+
+ Handles changes to the SingleContentLayoutItem property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the SingleContentLayoutItem property.
+
+
+
+
+ Gets or sets the SingleContentLayoutItem property. This dependency property
+ indicates the layout item of the selected content when is shown a single anchorable pane.
+
+
+
+
+ Wraps a managed stream instance into an interface pointer consumable by COM.
+
+
+
+
+ Initializes a new instance of the ManagedIStream class with the specified managed Stream object.
+
+
+ The stream that this IStream reference is wrapping.
+
+
+
+
+ Creates a new stream object with its own seek pointer that
+ references the same bytes as the original stream.
+
+
+ When this method returns, contains the new stream object. This parameter is passed uninitialized.
+
+
+ For more information, see the existing documentation for IStream::Clone in the MSDN library.
+ This class doesn't implement Clone. A COMException is thrown if it is used.
+
+
+
+
+ Ensures that any changes made to a stream object that is open in transacted
+ mode are reflected in the parent storage.
+
+
+ A value that controls how the changes for the stream object are committed.
+
+
+ For more information, see the existing documentation for IStream::Commit in the MSDN library.
+
+
+
+
+ Copies a specified number of bytes from the current seek pointer in the
+ stream to the current seek pointer in another stream.
+
+
+ A reference to the destination stream.
+
+
+ The number of bytes to copy from the source stream.
+
+
+ On successful return, contains the actual number of bytes read from the source.
+ (Note the native signature is to a ULARGE_INTEGER*, so 64 bits are written
+ to this parameter on success.)
+
+
+ On successful return, contains the actual number of bytes written to the destination.
+ (Note the native signature is to a ULARGE_INTEGER*, so 64 bits are written
+ to this parameter on success.)
+
+
+
+
+ Restricts access to a specified range of bytes in the stream.
+
+
+ The byte offset for the beginning of the range.
+
+
+ The length of the range, in bytes, to restrict.
+
+
+ The requested restrictions on accessing the range.
+
+
+ For more information, see the existing documentation for IStream::LockRegion in the MSDN library.
+ This class doesn't implement LockRegion. A COMException is thrown if it is used.
+
+
+
+
+ Reads a specified number of bytes from the stream object into memory starting at the current seek pointer.
+
+
+ When this method returns, contains the data read from the stream. This parameter is passed uninitialized.
+
+
+ The number of bytes to read from the stream object.
+
+
+ A pointer to a ULONG variable that receives the actual number of bytes read from the stream object.
+
+
+ For more information, see the existing documentation for ISequentialStream::Read in the MSDN library.
+
+
+
+
+ Discards all changes that have been made to a transacted stream since the last Commit call.
+
+
+ This class doesn't implement Revert. A COMException is thrown if it is used.
+
+
+
+
+ Changes the seek pointer to a new location relative to the beginning of the
+ stream, to the end of the stream, or to the current seek pointer.
+
+
+ The displacement to add to dwOrigin.
+
+
+ The origin of the seek. The origin can be the beginning of the file, the current seek pointer, or the end of the file.
+
+
+ On successful return, contains the offset of the seek pointer from the beginning of the stream.
+ (Note the native signature is to a ULARGE_INTEGER*, so 64 bits are written
+ to this parameter on success.)
+
+
+ For more information, see the existing documentation for IStream::Seek in the MSDN library.
+
+
+
+
+ Changes the size of the stream object.
+
+
+ The new size of the stream as a number of bytes.
+
+
+ For more information, see the existing documentation for IStream::SetSize in the MSDN library.
+
+
+
+
+ Retrieves the STATSTG structure for this stream.
+
+
+ When this method returns, contains a STATSTG structure that describes this stream object.
+ This parameter is passed uninitialized.
+
+
+ Members in the STATSTG structure that this method does not return, thus saving some memory allocation operations.
+
+
+
+
+ Removes the access restriction on a range of bytes previously restricted with the LockRegion method.
+
+ The byte offset for the beginning of the range.
+
+
+ The length, in bytes, of the range to restrict.
+
+
+ The access restrictions previously placed on the range.
+
+
+ For more information, see the existing documentation for IStream::UnlockRegion in the MSDN library.
+ This class doesn't implement UnlockRegion. A COMException is thrown if it is used.
+
+
+
+
+ Writes a specified number of bytes into the stream object starting at the current seek pointer.
+
+
+ The buffer to write this stream to.
+
+
+ The number of bytes to write to the stream.
+
+
+ On successful return, contains the actual number of bytes written to the stream object.
+ If the caller sets this pointer to null, this method does not provide the actual number
+ of bytes written.
+
+
+
+
+ Releases resources controlled by this object.
+
+
+ Dispose can be called multiple times, but trying to use the object
+ after it has been disposed will generally throw ObjectDisposedExceptions.
+
+
+
+ ShellItem attribute flags. SIATTRIBFLAGS_*
+
+
+
+ Flags for SetTabProperties. STPF_*
+
+ The native enum was called STPFLAG.
+
+
+
+ Flags for Setting Taskbar Progress state. TBPF_*
+
+
+ The native enum was called TBPFLAG.
+
+
+
+
+ THUMBBUTTON mask. THB_*
+
+
+
+
+ THUMBBUTTON flags. THBF_*
+
+
+
+
+ GetPropertyStoreFlags. GPS_*.
+
+
+ These are new for Vista, but are used in downlevel components
+
+
+
+
+ KNOWNDESTCATEGORY. KDC_*
+
+
+
+ Objects can be copied
+ DROPEFFECT_COPY
+
+
+ Objects can be moved
+ DROPEFFECT_MOVE
+
+
+ Objects can be linked
+
+ DROPEFFECT_LINK.
+
+ If this bit is set on an item in the shell folder, a
+ 'Create Shortcut' menu item will be added to the File
+ menu and context menus for the item. If the user selects
+ that command, your IContextMenu::InvokeCommand() will be called
+ with 'link'.
+ That flag will also be used to determine if 'Create Shortcut'
+ should be added when the item in your folder is dragged to another
+ folder.
+
+
+
+ supports BindToObject(IID_IStorage)
+
+
+ Objects can be renamed
+
+
+ Objects can be deleted
+
+
+ Objects have property sheets
+
+
+ Objects are drop target
+
+
+ Object is encrypted (use alt color)
+
+
+ 'Slow' object
+
+
+ Ghosted icon
+
+
+ Shortcut (link)
+
+
+ Shared
+
+
+ Read-only
+
+
+ Hidden object
+
+
+ May contain children with SFGAO_FILESYSTEM
+
+
+ Support BindToObject(IID_IShellFolder)
+
+
+ Is a win32 file system object (file/folder/root)
+
+
+ May contain children with SFGAO_FOLDER (may be slow)
+
+
+ Invalidate cached information (may be slow)
+
+
+ Is this removeable media?
+
+
+ Object is compressed (use alt color)
+
+
+ Supports IShellFolder, but only implements CreateViewObject() (non-folder view)
+
+
+ Is a non-enumerated object (should be hidden)
+
+
+ Should show bold in explorer tree
+
+
+ Obsolete
+
+
+ Obsolete
+
+
+ Supports BindToObject(IID_IStream)
+
+
+ May contain children with SFGAO_STORAGE or SFGAO_STREAM
+
+
+ For determining storage capabilities, ie for open/save semantics
+
+
+
+ Attributes that are masked out for PKEY_SFGAOFlags because they are considered
+ to cause slow calculations or lack context
+ (SFGAO_VALIDATE | SFGAO_ISSLOW | SFGAO_HASSUBFOLDER and others)
+
+
+
+
+ IShellFolder::EnumObjects grfFlags bits. Also called SHCONT
+
+
+
+
+ IShellFolder::GetDisplayNameOf/SetNameOf uFlags. Also called SHGDNF.
+
+
+ For compatibility with SIGDN, these bits must all sit in the LOW word.
+
+
+
+
+ SHELLITEMCOMPAREHINTF. SICHINT_*.
+
+
+
+ iOrder based on display in a folder view
+
+
+ exact instance compare
+
+
+ iOrder based on canonical name (better performance)
+
+
+
+ ShellItem enum. SIGDN_*.
+
+
+
+
+ STR_GPS_*
+
+
+ When requesting a property store through IShellFolder, you can specify the equivalent of
+ GPS_DEFAULT by passing in a null IBindCtx parameter.
+
+ You can specify the equivalent of GPS_READWRITE by passing a mode of STGM_READWRITE | STGM_EXCLUSIVE
+ in the bind context
+
+ Here are the string versions of GPS_ flags, passed to IShellFolder::BindToObject() via IBindCtx::RegisterObjectParam()
+ These flags are valid when requesting an IPropertySetStorage or IPropertyStore handler
+
+ The meaning of these flags are described above.
+
+ There is no STR_ equivalent for GPS_TEMPORARY because temporary property stores
+ are provided by IShellItem2 only -- not by the underlying IShellFolder.
+
+
+
+
+ WPARAM value for a THUMBBUTTON being clicked.
+
+
+
+ fmtid
+
+
+ pid
+
+
+ PKEY_Title
+
+
+ PKEY_AppUserModel_ID
+
+
+ PKEY_AppUserModel_IsDestListSeparator
+
+
+ PKEY_AppUserModel_RelaunchCommand
+
+
+ PKEY_AppUserModel_RelaunchDisplayNameResource
+
+
+ PKEY_AppUserModel_RelaunchIconResource
+
+
+ Unknown Object Array
+
+
+
+ Shell Namespace helper
+
+
+
+
+ Shell Namespace helper 2
+
+
+
+
+ This function must be called first to validate use of other members.
+
+
+
+
+ This function adds a tab for hwnd to the taskbar.
+
+ The HWND for which to add the tab.
+
+
+
+ This function deletes a tab for hwnd from the taskbar.
+
+ The HWND for which the tab is to be deleted.
+
+
+
+ This function activates the tab associated with hwnd on the taskbar.
+
+ The HWND for which the tab is to be actuvated.
+
+
+
+ This function marks hwnd in the taskbar as the active tab.
+
+ The HWND to activate.
+
+
+
+ Marks a window as full-screen.
+
+ The handle of the window to be marked.
+ A Boolean value marking the desired full-screen status of the window.
+
+ Setting the value of fFullscreen to true, the Shell treats this window as a full-screen window, and the taskbar
+ is moved to the bottom of the z-order when this window is active. Setting the value of fFullscreen to false
+ removes the full-screen marking, but does not cause the Shell to treat the window as though it were
+ definitely not full-screen. With a false fFullscreen value, the Shell depends on its automatic detection facility
+ to specify how the window should be treated, possibly still flagging the window as full-screen.
+
+
+
+
+ Allows an application to retrieve the most recent and frequent documents opened in that app, as reported via SHAddToRecentDocs
+
+
+
+
+ Set the App User Model ID for the application retrieving this list. If an AppID is not provided via this method,
+ the system will use a heuristically determined ID. This method must be called before GetList.
+
+ App Id.
+
+
+
+ Retrieve an IEnumObjects or IObjectArray for IShellItems and/or IShellLinks.
+ Items may appear in both the frequent and recent lists.
+
+
+
+
+
+
+ Provides access to the App User Model ID on objects supporting this value.
+
+
+
+
+ Provides access to the ProgID associated with an object
+
+
+
+
+ Side Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the Side property.
+ This dependency property indicates the anchor side of the control.
+
+ The new value for the property.
+
+
+
+ Gets the Side property. This dependency property
+ indicates the anchor side of the control.
+
+
+
+
+ Documents Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the Documents property.
+ This dependency property indicates the list of documents.
+
+ The new value for the property.
+
+
+
+ Anchorables Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the Anchorables property.
+ This dependency property indicates the list of anchorables.
+
+ The new value for the property.
+
+
+
+ SelectedDocument Dependency Property
+
+
+
+
+ Handles changes to the SelectedDocument property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the SelectedDocument property.
+
+
+
+
+ SelectedAnchorable Dependency Property
+
+
+
+
+ Handles changes to the SelectedAnchorable property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the SelectedAnchorable property.
+
+
+
+
+ Gets the Documents property. This dependency property
+ indicates the list of documents.
+
+
+
+
+ Gets the Anchorables property. This dependency property
+ indicates the list of anchorables.
+
+
+
+
+ Gets or sets the SelectedDocument property. This dependency property
+ indicates the selected document.
+
+
+
+
+ Gets or sets the SelectedAnchorable property. This dependency property
+ indicates the selected anchorable.
+
+
+
+
+ Converts a value.
+
+ The value produced by the binding source.
+ The type of the binding target property.
+ The converter parameter to use.
+ The culture to use in the converter.
+
+ A converted value. If the method returns null, the valid null value is used.
+
+
+
+
+ Converts a value.
+
+ The value that is produced by the binding target.
+ The type to convert to.
+ The converter parameter to use.
+ The culture to use in the converter.
+
+ A converted value. If the method returns null, the valid null value is used.
+
+
+
+
+ DropDownContextMenu Dependency Property
+
+
+
+
+ DropDownContextMenuDataContext Dependency Property
+
+
+
+
+ Gets or sets the DropDownContextMenu property. This dependency property
+ indicates context menu to show when a right click is detected over the area occpied by the control.
+
+
+
+
+ Gets or sets the DropDownContextMenuDataContext property. This dependency property
+ indicates data context to attach when context menu is shown.
+
+
+
+
+ Model Dependency Property
+
+
+
+
+ Handles changes to the Model property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the Model property.
+
+
+
+
+ LayoutItem Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the LayoutItem property.
+ This dependency property indicates the LayoutItem attached to this tag item.
+
+ The new value for the property.
+
+
+
+ Gets or sets the Model property. This dependency property
+ indicates model attached to the anchorable tab item.
+
+
+
+
+ Gets the LayoutItem property. This dependency property
+ indicates the LayoutItem attached to this tag item.
+
+
+
+
+ DoubleUtil uses fixed eps to provide fuzzy comparison functionality for doubles.
+ Note that FP noise is a big problem and using any of these compare
+ methods is not a complete solution, but rather the way to reduce
+ the probability of repeating unnecessary work.
+
+
+
+
+ Epsilon - more or less random, more or less small number.
+
+
+
+
+ AreClose returns whether or not two doubles are "close". That is, whether or
+ not they are within epsilon of each other.
+ There are plenty of ways for this to return false even for numbers which
+ are theoretically identical, so no code calling this should fail to work if this
+ returns false.
+
+ The first double to compare.
+ The second double to compare.
+ The result of the AreClose comparision.
+
+
+
+ LessThan returns whether or not the first double is less than the second double.
+ That is, whether or not the first is strictly less than *and* not within epsilon of
+ the other number.
+ There are plenty of ways for this to return false even for numbers which
+ are theoretically identical, so no code calling this should fail to work if this
+ returns false.
+
+ The first double to compare.
+ The second double to compare.
+ The result of the LessThan comparision.
+
+
+
+ GreaterThan returns whether or not the first double is greater than the second double.
+ That is, whether or not the first is strictly greater than *and* not within epsilon of
+ the other number.
+ There are plenty of ways for this to return false even for numbers which
+ are theoretically identical, so no code calling this should fail to work if this
+ returns false.
+
+ The first double to compare.
+ The second double to compare.
+ The result of the GreaterThan comparision.
+
+
+
+ LessThanOrClose returns whether or not the first double is less than or close to
+ the second double. That is, whether or not the first is strictly less than or within
+ epsilon of the other number.
+ There are plenty of ways for this to return false even for numbers which
+ are theoretically identical, so no code calling this should fail to work if this
+ returns false.
+
+ The first double to compare.
+ The second double to compare.
+ The result of the LessThanOrClose comparision.
+
+
+
+ GreaterThanOrClose returns whether or not the first double is greater than or close to
+ the second double. That is, whether or not the first is strictly greater than or within
+ epsilon of the other number.
+ There are plenty of ways for this to return false even for numbers which
+ are theoretically identical, so no code calling this should fail to work if this
+ returns false.
+
+ The first double to compare.
+ The second double to compare.
+ The result of the GreaterThanOrClose comparision.
+
+
+
+ Test to see if a double is a finite number (is not NaN or Infinity).
+
+ The value to test.
+ Whether or not the value is a finite number.
+
+
+
+ Test to see if a double a valid size value (is finite and > 0).
+
+ The value to test.
+ Whether or not the value is a valid size value.
+
+
+
+ HideCommand Dependency Property
+
+
+
+
+ Handles changes to the HideCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the HideCommand property.
+
+
+
+
+ Coerces the HideCommand value.
+
+
+
+
+ AutoHideCommand Dependency Property
+
+
+
+
+ Handles changes to the AutoHideCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the AutoHideCommand property.
+
+
+
+
+ Coerces the AutoHideCommand value.
+
+
+
+
+ DockCommand Dependency Property
+
+
+
+
+ Handles changes to the DockCommand property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DockCommand property.
+
+
+
+
+ Coerces the DockCommand value.
+
+
+
+
+ CanHide Dependency Property
+
+
+
+
+ Handles changes to the CanHide property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the CanHide property.
+
+
+
+
+ Gets or sets the HideCommand property. This dependency property
+ indicates the command to execute when an anchorable is hidden.
+
+
+
+
+ Gets or sets the AutoHideCommand property. This dependency property
+ indicates the command to execute when user click the auto hide button.
+
+ By default this command toggles auto hide state for an anchorable.
+
+
+
+ Gets or sets the DockCommand property. This dependency property
+ indicates the command to execute when user click the Dock button.
+
+ By default this command moves the anchorable inside the container pane which previously hosted the object.
+
+
+
+ Gets or sets the CanHide property. This dependency property
+ indicates if user can hide the anchorable item.
+
+
+
+
+ DropDownContextMenu Dependency Property
+
+
+
+
+ Handles changes to the DropDownContextMenu property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DropDownContextMenu property.
+
+
+
+
+ DropDownContextMenuDataContext Dependency Property
+
+
+
+
+ Gets or sets the DropDownContextMenu property. This dependency property
+ indicates drop down menu to show up when user click on an anchorable menu pin.
+
+
+
+
+ Gets or sets the DropDownContextMenuDataContext property. This dependency property
+ indicates data context to set for drop down context menu.
+
+
+
+
+ Layout Dependency Property
+
+
+
+
+ Handles changes to the Layout property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the property.
+
+
+
+
+ Coerces the value.
+
+
+
+
+ LayoutUpdateStrategy Dependency Property
+
+
+
+
+ DocumentPaneTemplate Dependency Property
+
+
+
+
+ Handles changes to the DocumentPaneTemplate property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DocumentPaneTemplate property.
+
+
+
+
+ AnchorablePaneTemplate Dependency Property
+
+
+
+
+ Handles changes to the AnchorablePaneDataTemplate property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the AnchorablePaneDataTemplate property.
+
+
+
+
+ AnchorSideTemplate Dependency Property
+
+
+
+
+ AnchorGroupTemplate Dependency Property
+
+
+
+
+ AnchorTemplate Dependency Property
+
+
+
+
+ DocumentPaneControlStyle Dependency Property
+
+
+
+
+ Handles changes to the DocumentPaneControlStyle property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DocumentPaneControlStyle property.
+
+
+
+
+ AnchorablePaneControlStyle Dependency Property
+
+
+
+
+ Handles changes to the AnchorablePaneControlStyle property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the AnchorablePaneControlStyle property.
+
+
+
+
+ DocumentHeaderTemplate Dependency Property
+
+
+
+
+ Handles changes to the DocumentHeaderTemplate property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DocumentHeaderTemplate property.
+
+
+
+
+ Coerces the DocumentHeaderTemplate value.
+
+
+
+
+ DocumentHeaderTemplateSelector Dependency Property
+
+
+
+
+ Handles changes to the DocumentHeaderTemplateSelector property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DocumentHeaderTemplateSelector property.
+
+
+
+
+ Coerces the DocumentHeaderTemplateSelector value.
+
+
+
+
+ DocumentTitleTemplate Dependency Property
+
+
+
+
+ Handles changes to the DocumentTitleTemplate property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DocumentTitleTemplate property.
+
+
+
+
+ Coerces the DocumentTitleTemplate value.
+
+
+
+
+ DocumentTitleTemplateSelector Dependency Property
+
+
+
+
+ Handles changes to the DocumentTitleTemplateSelector property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DocumentTitleTemplateSelector property.
+
+
+
+
+ Coerces the DocumentTitleTemplateSelector value.
+
+
+
+
+ AnchorableTitleTemplate Dependency Property
+
+
+
+
+ Handles changes to the AnchorableTitleTemplate property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the AnchorableTitleTemplate property.
+
+
+
+
+ Coerces the AnchorableTitleTemplate value.
+
+
+
+
+ AnchorableTitleTemplateSelector Dependency Property
+
+
+
+
+ Handles changes to the AnchorableTitleTemplateSelector property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the AnchorableTitleTemplateSelector property.
+
+
+
+
+ AnchorableHeaderTemplate Dependency Property
+
+
+
+
+ Handles changes to the AnchorableHeaderTemplate property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the AnchorableHeaderTemplate property.
+
+
+
+
+ Coerces the AnchorableHeaderTemplate value.
+
+
+
+
+ AnchorableHeaderTemplateSelector Dependency Property
+
+
+
+
+ Handles changes to the AnchorableHeaderTemplateSelector property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the AnchorableHeaderTemplateSelector property.
+
+
+
+
+ LayoutRootPanel Dependency Property
+
+
+
+
+ Handles changes to the LayoutRootPanel property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the LayoutRootPanel property.
+
+
+
+
+ RightSidePanel Dependency Property
+
+
+
+
+ Handles changes to the RightSidePanel property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the RightSidePanel property.
+
+
+
+
+ LeftSidePanel Dependency Property
+
+
+
+
+ Handles changes to the LeftSidePanel property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the LeftSidePanel property.
+
+
+
+
+ TopSidePanel Dependency Property
+
+
+
+
+ Handles changes to the TopSidePanel property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the TopSidePanel property.
+
+
+
+
+ BottomSidePanel Dependency Property
+
+
+
+
+ Handles changes to the BottomSidePanel property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the BottomSidePanel property.
+
+
+
+
+ AutoHideWindow Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the AutoHideWindow property.
+ This dependency property indicates the currently shown autohide window.
+
+ The new value for the property.
+
+
+
+ Handles changes to the AutoHideWindow property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the AutoHideWindow property.
+
+
+
+
+ LayoutItemTemplate Dependency Property
+
+
+
+
+ Handles changes to the AnchorableTemplate property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the AnchorableTemplate property.
+
+
+
+
+ LayoutItemTemplateSelector Dependency Property
+
+
+
+
+ Handles changes to the LayoutItemTemplateSelector property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the LayoutItemTemplateSelector property.
+
+
+
+
+ DocumentsSource Dependency Property
+
+
+
+
+ Handles changes to the DocumentsSource property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DocumentsSource property.
+
+
+
+
+ DocumentContextMenu Dependency Property
+
+
+
+
+ AnchorablesSource Dependency Property
+
+
+
+
+ Handles changes to the AnchorablesSource property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the AnchorablesSource property.
+
+
+
+
+ ActiveContent Dependency Property
+
+
+
+
+ Handles changes to the ActiveContent property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the ActiveContent property.
+
+
+
+
+ AnchorableContextMenu Dependency Property
+
+
+
+
+ Theme Dependency Property
+
+
+
+
+ Handles changes to the Theme property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the Theme property.
+
+
+
+
+ GridSplitterWidth Dependency Property
+
+
+
+
+ GridSplitterHeight Dependency Property
+
+
+
+
+ DocumentPaneMenuItemHeaderTemplate Dependency Property
+
+
+
+
+ Handles changes to the DocumentPaneMenuItemHeaderTemplate property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DocumentPaneMenuItemHeaderTemplate property.
+
+
+
+
+ Coerces the DocumentPaneMenuItemHeaderTemplate value.
+
+
+
+
+ DocumentPaneMenuItemHeaderTemplateSelector Dependency Property
+
+
+
+
+ Handles changes to the DocumentPaneMenuItemHeaderTemplateSelector property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the DocumentPaneMenuItemHeaderTemplateSelector property.
+
+
+
+
+ Coerces the DocumentPaneMenuItemHeaderTemplateSelector value.
+
+
+
+
+ IconContentTemplate Dependency Property
+
+
+
+
+ IconContentTemplateSelector Dependency Property
+
+
+
+
+ LayoutItemContainerStyle Dependency Property
+
+
+
+
+ Handles changes to the LayoutItemContainerStyle property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the LayoutItemContainerStyle property.
+
+
+
+
+ LayoutItemContainerStyleSelector Dependency Property
+
+
+
+
+ Handles changes to the LayoutItemContainerStyleSelector property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the LayoutItemContainerStyleSelector property.
+
+
+
+
+ Return the LayoutItem wrapper for the content passed as argument
+
+ LayoutContent to search
+ Either a LayoutAnchorableItem or LayoutDocumentItem which contains the LayoutContent passed as argument
+
+
+
+ ShowSystemMenu Dependency Property
+
+
+
+
+ AllowMixedOrientation Dependency Property
+
+
+
+
+ Gets or sets the Layout property. This dependency property
+ indicates layout tree.
+
+
+
+
+ Event fired when property changes
+
+
+
+
+ Event fired when property is about to be changed
+
+
+
+
+ Gets or sets the LayoutUpdateStrategy property. This dependency property
+ indicates the strategy class to call when AvalonDock needs to positionate a LayoutAnchorable inside an existing layout.
+
+ Sometimes it's impossible to automatically insert an anchorable in the layout without specifing the target parent pane.
+ Set this property to an object that will be asked to insert the anchorable to the desidered position.
+
+
+
+ Gets or sets the DocumentPaneDataTemplate property. This dependency property
+ indicates .
+
+
+
+
+ Gets or sets the AnchorablePaneTemplate property. This dependency property
+ indicates ....
+
+
+
+
+ Gets or sets the AnchorSideTemplate property. This dependency property
+ indicates ....
+
+
+
+
+ Gets or sets the AnchorGroupTemplate property. This dependency property
+ indicates the template used to render the AnchorGroup control.
+
+
+
+
+ Gets or sets the AnchorTemplate property. This dependency property
+ indicates ....
+
+
+
+
+ Gets or sets the DocumentPaneControlStyle property. This dependency property
+ indicates ....
+
+
+
+
+ Gets or sets the AnchorablePaneControlStyle property. This dependency property
+ indicates the style to apply to AnchorablePaneControl.
+
+
+
+
+ Gets or sets the DocumentHeaderTemplate property. This dependency property
+ indicates data template to use for document header.
+
+
+
+
+ Gets or sets the DocumentHeaderTemplateSelector property. This dependency property
+ indicates the template selector that is used when selcting the data template for the header.
+
+
+
+
+ Gets or sets the DocumentTitleTemplate property. This dependency property
+ indicates the datatemplate to use when creating the title for a document.
+
+
+
+
+ Gets or sets the DocumentTitleTemplateSelector property. This dependency property
+ indicates the data template selector to use when creating the data template for the title.
+
+
+
+
+ Gets or sets the AnchorableTitleTemplate property. This dependency property
+ indicates the data template to use for anchorables title.
+
+
+
+
+ Gets or sets the AnchorableTitleTemplateSelector property. This dependency property
+ indicates selctor to use when selecting data template for the title of anchorables.
+
+
+
+
+ Gets or sets the AnchorableHeaderTemplate property. This dependency property
+ indicates the data template to use for anchorable templates.
+
+
+
+
+ Gets or sets the AnchorableHeaderTemplateSelector property. This dependency property
+ indicates the selector to use when selecting the data template for anchorable headers.
+
+
+
+
+ Gets or sets the LayoutRootPanel property. This dependency property
+ indicates the layout panel control which is attached to the Layout.Root property.
+
+
+
+
+ Gets or sets the RightSidePanel property. This dependency property
+ indicates right side anchor panel.
+
+
+
+
+ Gets or sets the LeftSidePanel property. This dependency property
+ indicates the left side panel control.
+
+
+
+
+ Gets or sets the TopSidePanel property. This dependency property
+ indicates top side control panel.
+
+
+
+
+ Gets or sets the BottomSidePanel property. This dependency property
+ indicates bottom side panel control.
+
+
+
+
+ Gets the AutoHideWindow property. This dependency property
+ indicates the currently shown autohide window.
+
+
+
+
+ Gets or sets the AnchorableTemplate property. This dependency property
+ indicates the template to use to render anchorable and document contents.
+
+
+
+
+ Gets or sets the LayoutItemTemplateSelector property. This dependency property
+ indicates selector object to use for anchorable templates.
+
+
+
+
+ Gets or sets the DocumentsSource property. This dependency property
+ indicates the source collection of documents.
+
+
+
+
+ Event fired when a document is about to be closed
+
+ Subscribers have the opportuniy to cancel the operation.
+
+
+
+ Event fired after a document is closed
+
+
+
+
+ Gets or sets the DocumentContextMenu property. This dependency property
+ indicates context menu to show for documents.
+
+
+
+
+ Gets or sets the AnchorablesSource property. This dependency property
+ indicates source collection of anchorables.
+
+
+
+
+ Gets or sets the ActiveContent property. This dependency property
+ indicates the content currently active.
+
+
+
+
+ Gets or sets the AnchorableContextMenu property. This dependency property
+ indicates the context menu to show up for anchorables.
+
+
+
+
+ Gets or sets the Theme property. This dependency property
+ indicates the theme to use for AvalonDock controls.
+
+
+
+
+ Gets or sets the GridSplitterWidth property. This dependency property
+ indicates width of grid splitters.
+
+
+
+
+ Gets or sets the GridSplitterHeight property. This dependency property
+ indicates height of grid splitters.
+
+
+
+
+ Gets or sets the DocumentPaneMenuItemHeaderTemplate property. This dependency property
+ indicates the header template to use while creating menu items for the document panes.
+
+
+
+
+ Gets or sets the DocumentPaneMenuItemHeaderTemplateSelector property. This dependency property
+ indicates the data template selector to use for the menu items show when user select the DocumentPane document switch context menu.
+
+
+
+
+ Gets or sets the IconContentTemplate property. This dependency property
+ indicates the data template to use while extracting the icon from model.
+
+
+
+
+ Gets or sets the IconContentTemplateSelector property. This dependency property
+ indicates data template selector to use while selecting the datatamplate for content icons.
+
+
+
+
+ Gets or sets the LayoutItemContainerStyle property. This dependency property
+ indicates the style to apply to LayoutDocumentItem objects. A LayoutDocumentItem object is created when a new LayoutDocument is created inside the current Layout.
+
+
+
+
+ Gets or sets the LayoutItemContainerStyleSelector property. This dependency property
+ indicates style selector of the LayoutDocumentItemStyle.
+
+
+
+
+ Gets or sets the ShowSystemMenu property. This dependency property
+ indicates if floating windows should show the system menu when a custom context menu is not defined.
+
+
+
+
+ Gets or sets the AllowMixedOrientation property. This dependency property
+ indicates if the manager should allow mixed orientation for document panes.
+
+
+
+
+ Model Dependency Property
+
+
+
+
+ Handles changes to the Model property.
+
+
+
+
+ Provides derived classes an opportunity to handle changes to the Model property.
+
+
+
+
+ LayoutItem Read-Only Dependency Property
+
+
+
+
+ Provides a secure method for setting the LayoutItem property.
+ This dependency property indicates the LayoutItem attached to this tag item.
+
+ The new value for the property.
+
+
+
+ Gets or sets the Model property. This dependency property
+ indicates the model attached to this view.
+
+
+
+
+ Gets the LayoutItem property. This dependency property
+ indicates the LayoutItem attached to this tag item.
+
+
+
+
+ Wrapper for common Win32 status codes.
+
+
+
+ The operation completed successfully.
+
+
+ Incorrect function.
+
+
+ The system cannot find the file specified.
+
+
+ The system cannot find the path specified.
+
+
+ The system cannot open the file.
+
+
+ Access is denied.
+
+
+ The handle is invalid.
+
+
+ Not enough storage is available to complete this operation.
+
+
+ There are no more files.
+
+
+ The process cannot access the file because it is being used by another process.
+
+
+ The parameter is incorrect.
+
+
+ The data area passed to a system call is too small.
+
+
+ Cannot nest calls to LoadModule.
+
+
+ Illegal operation attempted on a registry key that has been marked for deletion.
+
+
+ Element not found.
+
+
+ There was no match for the specified key in the index.
+
+
+ An invalid device was specified.
+
+
+ The operation was canceled by the user.
+
+
+ The window class was already registered.
+
+
+ The specified datatype is invalid.
+
+
+
+ Create a new Win32 error.
+
+ The integer value of the error.
+
+
+ Performs HRESULT_FROM_WIN32 conversion.
+ The Win32 error being converted to an HRESULT.
+ The equivilent HRESULT value.
+
+
+ Performs HRESULT_FROM_WIN32 conversion.
+ The Win32 error being converted to an HRESULT.
+ The equivilent HRESULT value.
+
+
+ Performs the equivalent of Win32's GetLastError()
+ A Win32Error instance with the result of the native GetLastError
+
+
+
+ Compare two Win32 error codes for equality.
+
+ The first error code to compare.
+ The second error code to compare.
+ Whether the two error codes are the same.
+
+
+
+ Compare two Win32 error codes for inequality.
+
+ The first error code to compare.
+ The second error code to compare.
+ Whether the two error codes are not the same.
+
+
+ FACILITY_NULL
+
+
+ FACILITY_RPC
+
+
+ FACILITY_DISPATCH
+
+
+ FACILITY_STORAGE
+
+
+ FACILITY_ITF
+
+
+ FACILITY_WIN32
+
+
+ FACILITY_WINDOWS
+
+
+ FACILITY_CONTROL
+
+
+ MSDN doced facility code for ESE errors.
+
+
+ FACILITY_WINCODEC (WIC)
+
+
+ Wrapper for HRESULT status codes.
+
+
+ S_OK
+
+
+ S_FALSE
+
+
+ E_PENDING
+
+
+ E_NOTIMPL
+
+
+ E_NOINTERFACE
+
+
+ E_POINTER
+
+
+ E_ABORT
+
+
+ E_FAIL
+
+
+ E_UNEXPECTED
+
+
+ STG_E_INVALIDFUNCTION
+
+
+ REGDB_E_CLASSNOTREG
+
+
+ DESTS_E_NO_MATCHING_ASSOC_HANDLER. Win7 internal error code for Jump Lists.
+ There is no Assoc Handler for the given item registered by the specified application.
+
+
+ DESTS_E_NORECDOCS. Win7 internal error code for Jump Lists.
+ The given item is excluded from the recent docs folder by the NoRecDocs bit on its registration.
+
+
+ DESTS_E_NOTALLCLEARED. Win7 internal error code for Jump Lists.
+ Not all of the items were successfully cleared
+
+
+ E_ACCESSDENIED
+ Win32Error ERROR_ACCESS_DENIED.
+
+
+ E_OUTOFMEMORY
+ Win32Error ERROR_OUTOFMEMORY.
+
+
+ E_INVALIDARG
+ Win32Error ERROR_INVALID_PARAMETER.
+
+
+ INTSAFE_E_ARITHMETIC_OVERFLOW
+
+
+ COR_E_OBJECTDISPOSED
+
+
+ WC_E_GREATERTHAN
+
+
+ WC_E_SYNTAX
+
+
+
+ Create an HRESULT from an integer value.
+
+
+
+
+
+ Get a string representation of this HRESULT.
+
+
+
+
+
+ Convert the result of Win32 GetLastError() into a raised exception.
+
+
+
+
+ retrieve HRESULT_FACILITY
+
+
+
+
+ retrieve HRESULT_CODE
+
+
+
+
+ A strongly-typed resource class, for looking up localized strings, etc.
+
+
+
+
+ Returns the cached ResourceManager instance used by this class.
+
+
+
+
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+
+
+
+
+ Looks up a localized string similar to Auto Hide.
+
+
+
+
+ Looks up a localized string similar to Auto Hide.
+
+
+
+
+ Looks up a localized string similar to Hide.
+
+
+
+
+ Looks up a localized string similar to Window Position.
+
+
+
+
+ Looks up a localized string similar to Dock.
+
+
+
+
+ Looks up a localized string similar to Dock as Tabbed Document.
+
+
+
+
+ Looks up a localized string similar to Float.
+
+
+
+
+ Looks up a localized string similar to Close.
+
+
+
+
+ Looks up a localized string similar to Close.
+
+
+
+
+ Looks up a localized string similar to Close All But This.
+
+
+
+
+ Looks up a localized string similar to Window Position.
+
+
+
+
+ Looks up a localized string similar to Dock as Tabbed Document.
+
+
+
+
+ Looks up a localized string similar to Float.
+
+
+
+
+ Looks up a localized string similar to Move To Next Tab Group.
+
+
+
+
+ Looks up a localized string similar to Move To Previous Tab Group.
+
+
+
+
+ Looks up a localized string similar to New Horizontal Tab Group.
+
+
+
+
+ Looks up a localized string similar to New Vertical Tab Group.
+
+
+
+
+ Looks up a localized string similar to Maximize.
+
+
+
+
+ Looks up a localized string similar to Restore.
+
+
+
+
+ BackgroundWhileDragging Dependency Property
+
+
+
+
+ OpacityWhileDragging Dependency Property
+
+
+
+
+ Gets or sets the BackgroundWhileDragging property. This dependency property
+ indicates ....
+
+
+
+
+ Gets or sets the OpacityWhileDragging property. This dependency property
+ indicates ....
+
+
+
+ The native RGB macro.
+
+
+
+
+ Convert a native integer that represent a color with an alpha channel into a Color struct.
+ The integer that represents the color. Its bits are of the format 0xAARRGGBB.
+ A Color representation of the parameter.
+
+
+ From a list of BitmapFrames find the one that best matches the requested dimensions.
+ The methods used here are copied from Win32 sources. We want to be consistent with
+ system behaviors.
+
+
+
+ Simple guard against the exceptions that File.Delete throws on null and empty strings.
+
+ The path to delete. Unlike File.Delete, this can be null or empty.
+
+ Note that File.Delete, and by extension SafeDeleteFile, does not throw an exception
+ if the file does not exist.
+
+
+
+ GDI's DeleteObject
+
+
+ GDI+'s DisposeImage
+
+
+
+
+ Utility to help classes catenate their properties for implementing ToString().
+
+ The StringBuilder to catenate the results into.
+ The name of the property to be catenated.
+ The value of the property to be catenated.
+
+
+
+ Generates ToString functionality for a struct. This is an expensive way to do it,
+ it exists for the sake of debugging while classes are in flux.
+ Eventually this should just be removed and the classes should
+ do this without reflection.
+
+
+
+
+
+
+
+ Encodes a URL string. Duplicated functionality from System.Web.HttpUtility.UrlEncode.
+
+
+
+
+ Duplicated from System.Web.HttpUtility because System.Web isn't part of the client profile.
+ URL Encoding replaces ' ' with '+' and unsafe ASCII characters with '%XX'.
+ Safe characters are defined in RFC2396 (http://www.ietf.org/rfc/rfc2396.txt).
+ They are the 7-bit ASCII alphanumerics and the mark characters "-_.!~*'()".
+ This implementation does not treat '~' as a safe character to be consistent with the System.Web version.
+
+
+
+
+ Is this using WPF4?
+
+
+ There are a few specific bugs in Window in 3.5SP1 and below that require workarounds
+ when handling WM_NCCALCSIZE on the HWND.
+
+
+
+ IID_IEnumIDList
+
+
+ IID_IEnumObjects
+
+
+ IID_IHTMLDocument2
+
+
+ IID_IModalWindow
+
+
+ IID_IObjectArray
+
+
+ IID_IObjectCollection
+
+
+ IID_IPropertyNotifySink
+
+
+ IID_IPropertyStore
+
+
+ IID_IServiceProvider
+
+
+ IID_IShellFolder
+
+
+ IID_IShellLink
+
+
+ IID_IShellItem
+
+
+ IID_IShellItem2
+
+
+ IID_IShellItemArray
+
+
+ IID_ITaskbarList
+
+
+ IID_ITaskbarList2
+
+
+ IID_IUnknown
+
+
+ IID_IApplicationDestinations
+
+
+ IID_IApplicationDocumentLists
+
+
+ IID_ICustomDestinationList
+
+
+ IID_IObjectWithAppUserModelID
+
+
+ IID_IObjectWithProgID
+
+
+ IID_ITaskbarList3
+
+
+ IID_ITaskbarList4
+
+
+ CLSID_TaskbarList
+ IID_ITaskbarList
+
+
+ CLSID_EnumerableObjectCollection
+ IID_IEnumObjects.
+
+
+ CLSID_ShellLink
+ IID_IShellLink
+
+
+ CLSID_DestinationList
+ IID_ICustomDestinationList
+
+
+ CLSID_ApplicationDestinations
+ IID_IApplicationDestinations
+
+
+ CLSID_ApplicationDocumentLists
+ IID_IApplicationDocumentLists
+
+
+
+ Hide this contents
+
+ Add this content to collection of parent root.
+
+
+
+ Show the content
+
+ Try to show the content where it was previously hidden.
+
+
+
+ Add the anchorable to a DockingManager layout
+
+
+
+
+
+
+ Get a value indicating if the anchorable is anchored to a border in an autohide status
+
+
+
+ The extent of the top of the window to treat as the caption.
+
+
+
+ Gets or sets the ShowSystemMenu property. This dependency property
+ indicates if the system menu should be shown at right click on the caption.
+
+
+
+
+ GeneratedInternalTypeHelper
+
+
+
+
+ CreateInstance
+
+
+
+
+ GetPropertyValue
+
+
+
+
+ SetPropertyValue
+
+
+
+
+ CreateDelegate
+
+
+
+
+ AddEventHandler
+
+
+
+
diff --git a/YMC/bin/Release/GraphSharp.Controls.dll b/YMC/bin/Release/GraphSharp.Controls.dll
new file mode 100644
index 000000000..e1641cd7a
Binary files /dev/null and b/YMC/bin/Release/GraphSharp.Controls.dll differ
diff --git a/YMC/bin/Release/GraphSharp.dll b/YMC/bin/Release/GraphSharp.dll
new file mode 100644
index 000000000..de83fd94c
Binary files /dev/null and b/YMC/bin/Release/GraphSharp.dll differ
diff --git a/YMC/bin/Release/ICSharpCode.AvalonEdit.dll b/YMC/bin/Release/ICSharpCode.AvalonEdit.dll
new file mode 100644
index 000000000..743c5fa9b
Binary files /dev/null and b/YMC/bin/Release/ICSharpCode.AvalonEdit.dll differ
diff --git a/YMC/bin/Release/LWParserLex.dll b/YMC/bin/Release/LWParserLex.dll
new file mode 100644
index 000000000..c32a5b584
Binary files /dev/null and b/YMC/bin/Release/LWParserLex.dll differ
diff --git a/YMC/bin/Release/LWParserYacc.dll b/YMC/bin/Release/LWParserYacc.dll
new file mode 100644
index 000000000..9618fe065
Binary files /dev/null and b/YMC/bin/Release/LWParserYacc.dll differ
diff --git a/YMC/bin/Release/QuickGraph.dll b/YMC/bin/Release/QuickGraph.dll
new file mode 100644
index 000000000..2f2f34a84
Binary files /dev/null and b/YMC/bin/Release/QuickGraph.dll differ
diff --git a/YMC/bin/Release/WPFExtensions.dll b/YMC/bin/Release/WPFExtensions.dll
new file mode 100644
index 000000000..b617dc4fc
Binary files /dev/null and b/YMC/bin/Release/WPFExtensions.dll differ
diff --git a/YMC/bin/Release/YACC MC Reloaded.exe b/YMC/bin/Release/YACC MC Reloaded.exe
new file mode 100644
index 000000000..b4773c277
Binary files /dev/null and b/YMC/bin/Release/YACC MC Reloaded.exe differ
diff --git a/YMC/bin/Release/YACC MC Reloaded.exe.config b/YMC/bin/Release/YACC MC Reloaded.exe.config
new file mode 100644
index 000000000..c8f446d57
--- /dev/null
+++ b/YMC/bin/Release/YACC MC Reloaded.exe.config
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ False
+
+
+ True
+
+
+
+
+
+ 0
+
+
+ True
+
+
+ False
+
+
+
+
+
+ 1
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
diff --git a/YMC/bin/Release/YACC MC Reloaded.vshost.exe b/YMC/bin/Release/YACC MC Reloaded.vshost.exe
new file mode 100644
index 000000000..681ab771e
Binary files /dev/null and b/YMC/bin/Release/YACC MC Reloaded.vshost.exe differ
diff --git a/YMC/bin/Release/YACC MC Reloaded.vshost.exe.config b/YMC/bin/Release/YACC MC Reloaded.vshost.exe.config
new file mode 100644
index 000000000..c8f446d57
--- /dev/null
+++ b/YMC/bin/Release/YACC MC Reloaded.vshost.exe.config
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ False
+
+
+ True
+
+
+
+
+
+ 0
+
+
+ True
+
+
+ False
+
+
+
+
+
+ 1
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
diff --git a/YMC/bin/Release/YACC MC Reloaded.vshost.exe.manifest b/YMC/bin/Release/YACC MC Reloaded.vshost.exe.manifest
new file mode 100644
index 000000000..061c9ca95
--- /dev/null
+++ b/YMC/bin/Release/YACC MC Reloaded.vshost.exe.manifest
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/YMC/bin/Release/ru/AvalonDock.resources.dll b/YMC/bin/Release/ru/AvalonDock.resources.dll
new file mode 100644
index 000000000..77693b6e8
Binary files /dev/null and b/YMC/bin/Release/ru/AvalonDock.resources.dll differ
diff --git a/YMC/bin/Release/ru/YACC MC Reloaded.resources.dll b/YMC/bin/Release/ru/YACC MC Reloaded.resources.dll
new file mode 100644
index 000000000..57a013a07
Binary files /dev/null and b/YMC/bin/Release/ru/YACC MC Reloaded.resources.dll differ