Browse Source
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1088 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61shortcuts
4 changed files with 259 additions and 284 deletions
@ -1,278 +1,204 @@ |
|||||||
{\rtf1\ansi\ansicpg1252\uc1\deff37\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1031\deflangfe1031{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;} |
{\rtf1\ansi\deff1\adeflang1025 |
||||||
{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f37\froman\fcharset0\fprq2{\*\panose 00000000000000000000}Thorndale{\*\falt Times New Roman};}{\f38\fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Albany{\*\falt Arial};} |
{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset0 Thorndale{\*\falt Times New Roman};}{\f2\fswiss\fprq2\fcharset0 Arial;}{\f3\froman\fprq2\fcharset0 Thorndale{\*\falt Times New Roman};}{\f4\fswiss\fprq2\fcharset0 Albany{\*\falt Arial};}{\f5\fswiss\fprq2\fcharset0 Verdana;}{\f6\fmodern\fprq1\fcharset0 Cumberland{\*\falt Courier New};}{\f7\fmodern\fprq1\fcharset0 Courier New;}{\f8\fnil\fprq0\fcharset2 StarSymbol{\*\falt Arial Unicode MS};}{\f9\froman\fprq2\fcharset0 Times New Roman;}{\f10\fswiss\fprq2\fcharset0 Lucida Sans Unicode;}{\f11\fnil\fprq2\fcharset0 Lucida Sans Unicode;}{\f12\fnil\fprq2\fcharset0 Tahoma;}{\f13\fnil\fprq0\fcharset0 Tahoma;}} |
||||||
{\f39\fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Verdana;}{\f40\fmodern\fcharset0\fprq1{\*\panose 00000000000000000000}Cumberland{\*\falt Courier New};} |
{\colortbl;\red0\green0\blue0;\red0\green0\blue128;\red128\green0\blue0;\red0\green0\blue255;\red139\green0\blue139;\red255\green0\blue0;\red0\green100\blue0;\red25\green25\blue112;\red255\green0\blue255;\red128\green128\blue128;} |
||||||
{\f41\fnil\fcharset2\fprq0{\*\panose 00000000000000000000}StarSymbol{\*\falt Arial Unicode MS};}{\f42\fswiss\fcharset0\fprq2{\*\panose 020b0602030504020204}Lucida Sans Unicode;}{\f139\froman\fcharset238\fprq2 Times New Roman CE;} |
{\stylesheet{\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033\snext1 Normal;} |
||||||
{\f140\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f142\froman\fcharset161\fprq2 Times New Roman Greek;}{\f143\froman\fcharset162\fprq2 Times New Roman Tur;}{\f144\froman\fcharset177\fprq2 Times New Roman (Hebrew);} |
{\s2\sb240\sa120\keepn\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af12\afs28\lang1031\ltrch\dbch\af11\langfe255\hich\f2\fs28\lang1033\loch\f2\fs28\lang1033\sbasedon1\snext3 Heading;} |
||||||
{\f145\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f146\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f147\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f149\fswiss\fcharset238\fprq2 Arial CE;} |
{\s3\sa120\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033\sbasedon1\snext3 Body Text;} |
||||||
{\f150\fswiss\fcharset204\fprq2 Arial Cyr;}{\f152\fswiss\fcharset161\fprq2 Arial Greek;}{\f153\fswiss\fcharset162\fprq2 Arial Tur;}{\f154\fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f155\fswiss\fcharset178\fprq2 Arial (Arabic);} |
{\s4\sa120\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033\sbasedon3\snext4 List;} |
||||||
{\f156\fswiss\fcharset186\fprq2 Arial Baltic;}{\f157\fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\f159\fmodern\fcharset238\fprq1 Courier New CE;}{\f160\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f162\fmodern\fcharset161\fprq1 Courier New Greek;} |
{\s5\sb120\sa120\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af13\afs24\lang1031\ai\ltrch\dbch\langfe255\hich\fs24\lang1033\i\loch\fs24\lang1033\i\sbasedon1\snext5 caption;} |
||||||
{\f163\fmodern\fcharset162\fprq1 Courier New Tur;}{\f164\fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f165\fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f166\fmodern\fcharset186\fprq1 Courier New Baltic;} |
{\s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af13\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033\sbasedon1\snext6 Index;} |
||||||
{\f167\fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f529\fswiss\fcharset238\fprq2 Verdana CE;}{\f530\fswiss\fcharset204\fprq2 Verdana Cyr;}{\f532\fswiss\fcharset161\fprq2 Verdana Greek;}{\f533\fswiss\fcharset162\fprq2 Verdana Tur;} |
{\s7\sb240\sa120\keepn\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs32\lang1031\ab\ltrch\dbch\af4\langfe255\hich\f4\fs32\lang1033\b\loch\f4\fs32\lang1033\b\sbasedon8\snext3{\*\soutlvl0} heading 1;} |
||||||
{\f536\fswiss\fcharset186\fprq2 Verdana Baltic;}{\f537\fswiss\fcharset163\fprq2 Verdana (Vietnamese);}{\f559\fswiss\fcharset238\fprq2 Lucida Sans Unicode CE;}{\f560\fswiss\fcharset204\fprq2 Lucida Sans Unicode Cyr;} |
{\s8\sb240\sa120\keepn\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs28\lang1031\ltrch\dbch\af4\langfe255\hich\f4\fs28\lang1033\loch\f4\fs28\lang1033\sbasedon1\snext3 Heading;} |
||||||
{\f562\fswiss\fcharset161\fprq2 Lucida Sans Unicode Greek;}{\f563\fswiss\fcharset162\fprq2 Lucida Sans Unicode Tur;}{\f564\fswiss\fcharset177\fprq2 Lucida Sans Unicode (Hebrew);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255; |
{\s9\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs28\lang1031\ltrch\dbch\af4\langfe255\hich\f4\fs28\lang1033\loch\f4\fs28\lang1033\sbasedon1\snext1{\*\soutlvl1} heading 2;} |
||||||
\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; |
{\s10\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs24\lang1031\ab\ltrch\dbch\af4\langfe255\hich\f4\fs24\lang1033\b\loch\f4\fs24\lang1033\b\sbasedon1\snext1{\*\soutlvl2} heading 3;} |
||||||
\red128\green128\blue128;\red192\green192\blue192;\red255\green255\blue255;\red139\green0\blue139;\red0\green100\blue0;\red25\green25\blue112;}{\stylesheet{\ql \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 |
{\s11\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs24\lang1031\ltrch\dbch\af4\langfe255\hich\f4\fs24\lang1033\loch\f4\fs24\lang1033\sbasedon1\snext1{\*\soutlvl3} heading 4;} |
||||||
\f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 \snext0 Normal;}{\s1\ql \li0\ri0\sb240\sa120\keepn\nowidctlpar\aspalpha\faauto\outlinelevel0\rin0\lin0\itap0 \b\f38\fs32\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 |
{\s12\sb240\sa120\keepn\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs21\lang1031\ab\ltrch\dbch\af4\langfe255\hich\f4\fs21\lang1033\b\loch\f4\fs21\lang1033\b\sbasedon8\snext3 Heading 10;} |
||||||
\sbasedon16 \snext15 heading 1;}{\s2\ql \li0\ri0\nowidctlpar\aspalpha\faauto\outlinelevel1\rin0\lin0\itap0 \f38\fs28\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 \sbasedon0 \snext0 heading 2;}{ |
{\s13\cf1\tqc\tx4819\tqr\tx9638{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033\sbasedon1\snext13 footer;} |
||||||
\s3\ql \li0\ri0\nowidctlpar\aspalpha\faauto\outlinelevel2\rin0\lin0\itap0 \b\f38\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 \sbasedon0 \snext0 heading 3;}{\s4\ql \li0\ri0\nowidctlpar\aspalpha\faauto\outlinelevel3\rin0\lin0\itap0 |
{\s14\sa120\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033\sbasedon3\snext14 Table Contents;} |
||||||
\f38\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 \sbasedon0 \snext0 heading 4;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\* |
{\s15\sa120\cf1\qc{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ai\ab\ltrch\dbch\langfe255\hich\fs24\lang1033\i\b\loch\fs24\lang1033\i\b\sbasedon14\snext15 Table Heading;} |
||||||
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv |
{\s16\sb120\sa120\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs20\lang1031\ai\ltrch\dbch\langfe255\hich\fs20\lang1033\i\loch\fs20\lang1033\i\sbasedon1\snext16 caption;} |
||||||
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}{\s15\ql \li0\ri0\sa120\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 |
{\s17\sb120\sa120\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs20\lang1031\ai\ltrch\dbch\langfe255\hich\fs20\lang1033\i\loch\fs20\lang1033\i\sbasedon16\snext17 Text;} |
||||||
\f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 \sbasedon0 \snext15 Body Text;}{\s16\ql \li0\ri0\sb240\sa120\keepn\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \f38\fs28\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 \sbasedon0 \snext15 |
{\s18\li283\ri0\lin283\rin0\fi-283\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs20\lang1031\ltrch\dbch\langfe255\hich\fs20\lang1033\loch\fs20\lang1033\sbasedon1\snext18 footnote text;} |
||||||
Heading;}{\s17\ql \li0\ri0\sb240\sa120\keepn\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \b\f38\fs21\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 \sbasedon16 \snext15 Heading 10;}{\s18\ql \li0\ri0\sa120\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 |
{\s19\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033\sbasedon1\snext19 Index;} |
||||||
\f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 \sbasedon15 \snext18 List;}{\s19\ql \li0\ri0\nowidctlpar\tqc\tx4819\tqr\tx9638\aspalpha\faauto\rin0\lin0\itap0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 \sbasedon0 \snext19 |
{\s20\sb240\sa120\keepn\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs32\lang1031\ab\ltrch\dbch\af5\langfe255\hich\f5\fs32\lang1033\b\loch\f5\fs32\lang1033\b\sbasedon8\snext20 Contents Heading;} |
||||||
footer;}{\s20\ql \li0\ri0\sa120\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 \sbasedon15 \snext20 Table Contents;}{\s21\qc \li0\ri0\sa120\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 |
{\s21\cf1\tldot\tqr\tx9638{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033\sbasedon19\snext21 toc 1;} |
||||||
\b\i\f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 \sbasedon20 \snext21 Table Heading;}{\s22\ql \li0\ri0\sb120\sa120\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \i\f37\fs20\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 |
{\s22\li283\ri0\lin283\rin0\fi0\cf1\tldot\tqr\tx9638{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033\sbasedon19\snext22 toc 2;} |
||||||
\sbasedon0 \snext22 \ssemihidden caption;}{\s23\ql \li0\ri0\sb120\sa120\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \i\f37\fs20\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 \sbasedon22 \snext23 Text;}{ |
{\s23\sb240\sa120\keepn\cf1\qc{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs36\lang1031\ab\ltrch\dbch\af4\langfe255\hich\f4\fs36\lang1033\b\loch\f4\fs36\lang1033\b\sbasedon8\snext24 Title;} |
||||||
\s24\ql \fi-283\li283\ri0\nowidctlpar\aspalpha\faauto\rin0\lin283\itap0 \f37\fs20\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 \sbasedon0 \snext24 \ssemihidden footnote text;}{\s25\ql \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 |
{\s24\sb240\sa120\keepn\cf1\qc{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs28\lang1031\ai\ltrch\dbch\af4\langfe255\hich\f4\fs28\lang1033\i\loch\f4\fs28\lang1033\i\sbasedon8\snext3 Subtitle;} |
||||||
\f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 \sbasedon0 \snext25 Index;}{\s26\ql \li0\ri0\sb240\sa120\keepn\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \b\f39\fs32\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 \sbasedon16 \snext26 |
{\s25\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang1031\ltrch\dbch\af6\langfe255\hich\f6\fs20\lang1033\loch\f6\fs20\lang1033\sbasedon1\snext25 Preformatted Text;} |
||||||
Contents Heading;}{\s27\ql \li0\ri0\nowidctlpar\tqr\tldot\tx9638\aspalpha\faauto\rin0\lin0\itap0 \f1\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 \sbasedon25 \snext27 \sautoupd \ssemihidden toc 1;}{\s28\ql \li283\ri0\nowidctlpar |
{\s26\li283\ri283\lin283\rin283\fi0\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af7\afs24\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs24\lang1033\loch\f7\fs24\lang1033\sbasedon1\snext26 code;} |
||||||
\tqr\tldot\tx9638\aspalpha\faauto\rin0\lin283\itap0 \f1\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 \sbasedon25 \snext28 \sautoupd \ssemihidden toc 2;}{\s29\qc \li0\ri0\sb240\sa120\keepn\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 |
{\s27\cf1\tqc\tx4803\tqr\tx9606{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033\sbasedon1\snext27 footer;} |
||||||
\b\f38\fs36\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 \sbasedon16 \snext30 Title;}{\s30\qc \li0\ri0\sb240\sa120\keepn\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \i\f38\fs28\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 |
{\s28\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033\sbasedon1\snext28 Table Contents;} |
||||||
\sbasedon16 \snext15 Subtitle;}{\s31\ql \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \f40\fs20\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 \sbasedon0 \snext31 Preformatted Text;}{ |
{\s29\cf1\qc{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ai\ab\ltrch\dbch\langfe255\hich\fs24\lang1033\i\b\loch\fs24\lang1033\i\b\sbasedon28\snext29 Table Heading;} |
||||||
\s32\ql \li283\ri283\nowidctlpar\aspalpha\faauto\rin283\lin283\itap0 \f2\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 \sbasedon0 \snext32 code;}{\*\cs33 \additive \cf1\lang0\langfe255\langnp0\langfenp255 Footnote Symbol;}{\*\cs34 \additive |
{\*\cs31\cf0\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe1031\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031 Default Paragraph Font;} |
||||||
\cf1\lang0\langfe255\langnp0\langfenp255 \sbasedon10 page number;}{\*\cs35 \additive \cf1\lang0\langfe255\langnp0\langfenp255 Drop Caps;}{\*\cs36 \additive \cf1\lang0\langfe255\langnp0\langfenp255 Numbering Symbols;}{\*\cs37 \additive |
{\*\cs32\cf1\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Footnote Symbol;} |
||||||
\f41\fs18\cf1\lang0\langfe255\langnp0\langfenp255 Bullet Symbols;}{\*\cs38 \additive \ul\cf9\lang0\langfe255\langnp0\langfenp255 Internet link;}{\*\cs39 \additive \ul\cf13\lang0\langfe255\langnp0\langfenp255 Visited Internet Link;}{\*\cs40 \additive |
{\*\cs33\cf1\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0\sbasedon31 page number;} |
||||||
\cf1\lang0\langfe255\langnp0\langfenp255 Index Link;}{\*\cs41 \additive \cf1\lang0\langfe255\langnp0\langfenp255 Endnote Symbol;}{\*\cs42 \additive \cf1\lang0\langfe255\langnp0\langfenp255 Line numbering;}{\*\cs43 \additive |
{\*\cs34\cf1\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Drop Caps;} |
||||||
\cf1\up10\lang0\langfe255\langnp0\langfenp255 Footnote anchor;}{\*\cs44 \additive \cf1\up10\lang0\langfe255\langnp0\langfenp255 Endnote anchor;}{\*\cs45 \additive \fs12\cf1\lang0\langfe255\langnp0\langfenp255 Rubies;}{\*\cs46 \additive |
{\*\cs35\cf1\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Numbering Symbols;} |
||||||
\i\cf1\lang0\langfe255\langnp0\langfenp255 \sbasedon10 Emphasis;}{\*\cs47 \additive \i\cf1\lang0\langfe255\langnp0\langfenp255 Citation;}{\*\cs48 \additive \b\cf1\lang0\langfe255\langnp0\langfenp255 Strong Emphasis;}{\*\cs49 \additive |
{\*\cs36\cf1\rtlch\af8\afs18\lang1031\ltrch\dbch\af8\langfe255\hich\f8\fs18\lang0\loch\f8\fs18\lang0 Bullet Symbols;} |
||||||
\f40\cf1\lang0\langfe255\langnp0\langfenp255 Source Text;}{\*\cs50 \additive \f40\cf1\lang0\langfe255\langnp0\langfenp255 Example;}{\*\cs51 \additive \f40\cf1\lang0\langfe255\langnp0\langfenp255 User Entry;}{\*\cs52 \additive |
{\*\cs37\cf2\ul\ulc0\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Internet link;} |
||||||
\i\cf1\lang0\langfe255\langnp0\langfenp255 Variable;}{\*\cs53 \additive \cf1\lang0\langfe255\langnp0\langfenp255 Definition;}{\*\cs54 \additive \f40\cf1\lang0\langfe255\langnp0\langfenp255 Teletype;}{\*\cs55 \additive |
{\*\cs38\cf3\ul\ulc0\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Visited Internet Link;} |
||||||
\f2\cf1\lang0\langfe255\langnp0\langfenp255 Code;}{\*\cs56 \additive \ul\cf2 \sbasedon10 \styrsid16142753 Hyperlink;}}{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\rsidtbl \rsid949230\rsid1919123\rsid2558074\rsid2972686\rsid4550365\rsid12152870 |
{\*\cs39\cf1\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Index Link;} |
||||||
\rsid16077661\rsid16142753}{\*\generator Microsoft Word 11.0.6502;}{\info{\author Christoph Wille}{\operator mich}{\creatim\yr2002\mo2\dy22\hr20\min46}{\revtim\yr2005\mo11\dy26\hr14\min36}{\printim\yr2113\mo1\dy1}{\version5}{\edmins0}{\nofpages4} |
{\*\cs40\cf1\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Endnote Symbol;} |
||||||
{\nofwords1376}{\nofchars8669}{\*\company AlphaSierraPapa}{\nofcharsws10025}{\vern24579}}\paperw11906\paperh16838\margl1170\margr1130\margt1134\margb1997 |
{\*\cs41\cf1\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Line numbering;} |
||||||
\deftab1250\widowctrl\ftnbj\aenddoc\hyphhotz425\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\lytprtmet\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3 |
{\*\cs42\cf1{\*\updnprop10000}\up2\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Footnote anchor;} |
||||||
\jcompress\viewkind1\viewscale100\nolnhtadjtbl\rsidroot12152870 \fet0{\*\ftnsep \pard\plain \ql \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 \chftnsep |
{\*\cs43\cf1{\*\updnprop10000}\up2\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Endnote anchor;} |
||||||
\par }}{\*\ftnsepc \pard\plain \ql \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 \chftnsepc |
{\*\cs44\cf1\rtlch\af1\afs12\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs12\lang0\loch\f1\fs12\lang0 Rubies;} |
||||||
\par }}{\*\aftnsep \pard\plain \ql \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 \chftnsep |
{\*\cs45\cf1\rtlch\af1\afs24\lang1031\ai\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\i\loch\f1\fs24\lang0\i\sbasedon31 Emphasis;} |
||||||
\par }}{\*\aftnsepc \pard\plain \ql \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 \chftnsepc |
{\*\cs46\cf1\rtlch\af1\afs24\lang1031\ai\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\i\loch\f1\fs24\lang0\i Citation;} |
||||||
\par }}\sectd \sbknone\linex0\footery1440\sectdefaultcl\sftnbj {\footer \pard\plain \s19\ql \li0\ri0\nowidctlpar\tqc\tx4819\tqr\tx9638\aspalpha\faauto\rin0\lin0\itap0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 \tab \'a9 |
{\*\cs47\cf1\rtlch\af1\afs24\lang1031\ab\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\b\loch\f1\fs24\lang0\b Strong Emphasis;} |
||||||
Mike Kr\'fcger 2004, Daniel Grunwald 2005\tab }{\field{\*\fldinst {\insrsid16077661 \\page}}{\fldrslt {\lang1024\langfe1024\noproof\insrsid16142753 1}}}{\insrsid16077661 |
{\*\cs48\cf1\rtlch\af6\afs24\lang1031\ltrch\dbch\af6\langfe255\hich\f6\fs24\lang0\loch\f6\fs24\lang0 Source Text;} |
||||||
\par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}} |
{\*\cs49\cf1\rtlch\af6\afs24\lang1031\ltrch\dbch\af6\langfe255\hich\f6\fs24\lang0\loch\f6\fs24\lang0 Example;} |
||||||
{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8 |
{\*\cs50\cf1\rtlch\af6\afs24\lang1031\ltrch\dbch\af6\langfe255\hich\f6\fs24\lang0\loch\f6\fs24\lang0 User Entry;} |
||||||
\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ql \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 |
{\*\cs51\cf1\rtlch\af1\afs24\lang1031\ai\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\i\loch\f1\fs24\lang0\i Variable;} |
||||||
\f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\b\f1\fs48\insrsid16077661 Technotes, HowTo Series |
{\*\cs52\cf1\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Definition;} |
||||||
\par }{\b\f1\fs56\insrsid16077661 |
{\*\cs53\cf1\rtlch\af6\afs24\lang1031\ltrch\dbch\af6\langfe255\hich\f6\fs24\lang0\loch\f6\fs24\lang0 Teletype;} |
||||||
\par }{\b\fs56\loch\af1\insrsid16077661 \hich\af37\dbch\af0\loch\f1 AddIn Building Guide}{\insrsid16077661 |
{\*\cs54\cf1\rtlch\af7\afs24\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs24\lang0\loch\f7\fs24\lang0 Code;} |
||||||
\par }{\b\f1\fs32\insrsid16077661 Version 2.0 (not finished) |
{\*\cs55\cf4\ul\ulc0\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe1031\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031\sbasedon31 Internet link;} |
||||||
\par }{\b\f1\insrsid16077661 |
} |
||||||
\par }{\b\loch\af1\insrsid16077661 \hich\af37\dbch\af0\loch\f1 Version 1.0 by Mike Kr}{\b\loch\af1\insrsid16077661 \loch\af1\dbch\af0\hich\f37 \'fc}{\b\loch\af1\insrsid16077661 \hich\af37\dbch\af0\loch\f1 ger, }{\field{\*\fldinst {\b\loch\af1\insrsid16077661 |
{\info{\creatim\yr2006\mo2\dy7\hr13\min59}{\revtim\yr1601\mo1\dy1\hr0\min0}{\printim\yr1601\mo1\dy1\hr0\min0}{\comment StarWriter}{\vern6800}}\deftab1250 |
||||||
\hich\af37\dbch\af0\loch\f1 HYPERLINK "mailto:mike@icsharpcode.net" }{\b\loch\af1\insrsid949230\charrsid16077661 {\*\datafield |
{\*\pgdsctbl |
||||||
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b380000006d00610069006c0074006f003a006d0069006b0065004000690063007300680061007200700063006f00640065002e006e00650074000000e20000}}}{\fldrslt {\cs38\b\ul\cf9\insrsid16077661 |
{\pgdsc0\pgdscuse195\pgwsxn11906\pghsxn16838\marglsxn1170\margrsxn1130\margtsxn1134\margbsxn1440\footery0{\*\footeryt274\footerxl0\footerxr0\footeryh557}{\footer \pard\plain \s13\cf1\tqc\tx4819\tqr\tx9638{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 \tab \'a9 Mike Kr\'fcger 2004, Daniel Grunwald 2005\tab {\field{\*\fldinst \\page\\* ARABIC}{\fldrslt 4}}} |
||||||
mike@icsharpcode.net}}}{\insrsid16077661 |
\par } |
||||||
\par }{\b\loch\af1\insrsid16077661 \hich\af37\dbch\af0\loch\f1 Version 2.0 by Daniel Grunwald, }{\field{\*\fldinst {\b\loch\af1\insrsid16077661 \hich\af37\dbch\af0\loch\f1 HYPERLINK "mailto:daniel@danielgrunwald.de" }{ |
\pgdscnxt0 Standard;}} |
||||||
\b\loch\af1\insrsid949230\charrsid16077661 {\*\datafield |
{\*\pgdscno0}\paperh16838\paperw11906\margl1170\margr1130\margt1134\margb1440\sectd\sbknone\pgwsxn11906\pghsxn16838\marglsxn1170\margrsxn1130\margtsxn1134\margbsxn1997\footery1440{\footer \pard\plain \s13\cf1\tqc\tx4819\tqr\tx9638{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 \tab \'a9 Mike Kr\'fcger 2004, Daniel Grunwald 2005\tab {\field{\*\fldinst \\page\\* ARABIC}{\fldrslt 4}}} |
||||||
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b400000006d00610069006c0074006f003a00640061006e00690065006c004000640061006e00690065006c006700720075006e00770061006c0064002e00640065000000000000}}}{\fldrslt { |
\par } |
||||||
\cs38\b\ul\cf9\insrsid16077661 daniel@danielgrunwald.de}}}{\insrsid16077661 |
\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc |
||||||
\par |
\pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af2\afs48\lang1031\ab\ltrch\dbch\af2\langfe255\hich\f2\fs48\lang1033\b\loch\f2\fs48\lang1033\b {\rtlch \ltrch\loch\f2\fs48\lang1033\i0\b Technotes, HowTo Series} |
||||||
\par }{\fs22\insrsid16077661 |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af2\afs56\lang1031\ab\ltrch\dbch\af2\langfe255\hich\f2\fs56\lang1033\b\loch\f2\fs56\lang1033\b |
||||||
\par \sect }\sectd \sbknone\linex0\footery1440\sectdefaultcl\sftnbj \pard\plain \s26\ql \li0\ri0\sb240\sa120\keepn\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \b\f39\fs32\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 Contents |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs56\lang1031\ab\ltrch\dbch\af0\langfe255\hich\f2\fs56\lang1033\b\loch\f2\fs56\lang1033\b {\rtlch \ltrch\loch\f2\fs56\lang1033\i0\b AddIn Building Guide} |
||||||
\par }\pard\plain \s27\ql \li0\ri0\nowidctlpar\tqr\tldot\tx9638\aspalpha\faauto\rin0\lin0\itap0 \f1\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\field\fldedit{\*\fldinst {\insrsid16142753 TOC \\o "1-3" \\h \\z \\u }}{\fldrslt |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af2\afs32\lang1031\ab\ltrch\dbch\af2\langfe255\hich\f2\fs32\lang1033\b\loch\f2\fs32\lang1033\b {\rtlch \ltrch\loch\f2\fs32\lang1033\i0\b Version 2.0 (not finished)} |
||||||
{\field\fldedit{\*\fldinst {\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 }{\lang1024\langfe1024\noproof\insrsid16142753 HYPERLINK \\l "_Toc120779115"}{\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 }{ |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af2\afs24\lang1031\ab\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\b\loch\f2\fs24\lang1033\b |
||||||
\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid16142753 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320030003700370039003100310035000000}}}{\fldrslt { |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\f2\fs24\lang1033\i0\b{\b{\f2 Version 1.0 by Mike Kr}}}{\b{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b \'fc{\f2 ger, }}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\field{\*\fldinst HYPERLINK "mailto:mike@icsharpcode.net" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031{\b\ul\ulc0\f2\cf2 mike@icsharpcode.net}}}} |
||||||
\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 1 About the AddIn Building Guide}{\lang1024\langfe1024\noproof\webhidden\insrsid16142753 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid16142753 PAGEREF |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\f2\fs24\lang1033\i0\b{\b\f2 Version 2.0 by Daniel Grunwald, }}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\field{\*\fldinst HYPERLINK "mailto:daniel@danielgrunwald.de" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031{\b\ul\ulc0\f2\cf2 daniel@danielgrunwald.de}}}} |
||||||
_Toc120779115 \\h }{\lang1024\langfe1024\noproof\insrsid16142753 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320030003700370039003100310035000000}}}{\fldrslt { |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 |
||||||
\lang1024\langfe1024\noproof\webhidden\insrsid16142753 1}}}}}{\f0\cf0\lang1024\langfe1024\noproof\langnp1031\langfenp1031\insrsid16142753 |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs22\lang1031\ltrch\dbch\langfe255\hich\fs22\lang1033\loch\fs22\lang1033 |
||||||
\par }{\field\fldedit{\*\fldinst {\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 }{\lang1024\langfe1024\noproof\insrsid16142753 HYPERLINK \\l "_Toc120779116"}{\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 }{ |
\par \sect\sbknone\cols1\ltrsect |
||||||
\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid16142753 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320030003700370039003100310036000000}}}{\fldrslt { |
\pard\plain \ltrpar\s20\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\rtlch\af5\afs32\lang1031\ab\ltrch\dbch\af5\langfe255\hich\f5\fs32\lang1033\b\loch\f5\fs32\lang1033\b {\rtlch \ltrch\loch\f5\fs32\lang1033\i0\b Contents} |
||||||
\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 2 File Organization}{\lang1024\langfe1024\noproof\webhidden\insrsid16142753 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid16142753 PAGEREF _Toc120779116 \\h |
\par \pard\plain \ltrpar\s21\cf1\tldot\tqr\tx9638{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033{\field{\*\fldinst HYPERLINK \\l "_Toc120779115" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\loch{\rtlch \ltrch\loch\f2\fs24\lang1024\i0\b0\ul\ulc0\lang1024\cf4 1 About the AddIn Building Guide\tab }}} |
||||||
}{\lang1024\langfe1024\noproof\insrsid16142753 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320030003700370039003100310036000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid16142753 1}}}}}{ |
\par \pard\plain \ltrpar\s21\cf1\tldot\tqr\tx9638{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033{\field{\*\fldinst HYPERLINK \\l "_Toc120779116" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\loch{\rtlch \ltrch\loch\f2\fs24\lang1024\i0\b0\ul\ulc0\lang1024\cf4 2 File Organization\tab }}} |
||||||
\f0\cf0\lang1024\langfe1024\noproof\langnp1031\langfenp1031\insrsid16142753 |
\par \pard\plain \ltrpar\s22\cf1\tldot\tqr\tx9638\aspalpha\li283\ri0\lin283\rin0\fi0\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033{\field{\*\fldinst HYPERLINK \\l "_Toc120779117" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\loch{\rtlch \ltrch\loch\f2\fs24\lang1024\i0\b0\*\cs30\cf0\rtlch\ltrch\dbch\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031\v0\charscalex100\accnone\horzvert0\b0\ul\ulc0\shad0\i0\lang1024\fs24\f2\strike0\outl0\cf4\caps0\scaps0 3 Setting up the project\tab }}} |
||||||
\par }\pard\plain \s28\ql \li283\ri0\nowidctlpar\tqr\tldot\tx9638\aspalpha\faauto\rin0\lin283\itap0 \f1\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\field\fldedit{\*\fldinst { |
\par \pard\plain \ltrpar\s22\cf1\tldot\tqr\tx9638\aspalpha\li283\ri0\lin283\rin0\fi0\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033{\field{\*\fldinst HYPERLINK \\l "_Toc120779118" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\loch{\rtlch \ltrch\loch\f2\fs24\lang1024\i0\b0\*\cs30\cf0\rtlch\ltrch\dbch\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031\v0\charscalex100\accnone\horzvert0\b0\ul\ulc0\shad0\i0\lang1024\fs24\f2\strike0\outl0\cf4\caps0\scaps0 3.1 Project properties\tab }}} |
||||||
\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 }{\lang1024\langfe1024\noproof\insrsid16142753 HYPERLINK \\l "_Toc120779117"}{\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 }{ |
\par \pard\plain \ltrpar\s22\cf1\tldot\tqr\tx9638\aspalpha\li283\ri0\lin283\rin0\fi0\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033{\field{\*\fldinst HYPERLINK \\l "_Toc120779119" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\loch{\rtlch \ltrch\loch\f2\fs24\lang1024\i0\b0\*\cs30\cf0\rtlch\ltrch\dbch\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031\v0\charscalex100\accnone\horzvert0\b0\ul\ulc0\shad0\i0\lang1024\fs24\f2\strike0\outl0\cf4\caps0\scaps0 3.2 The .addin file\tab }}} |
||||||
\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid16142753 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320030003700370039003100310037000000}}}{\fldrslt { |
\par \pard\plain \ltrpar\s21\cf1\tldot\tqr\tx9638\aspalpha\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033{\field{\*\fldinst HYPERLINK \\l "_Toc120779120" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\loch{\rtlch \ltrch\loch\f2\fs24\lang1024\i0\b0\*\cs30\cf0\rtlch\ltrch\dbch\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031\v0\charscalex100\accnone\horzvert0\b0\ul\ulc0\shad0\i0\lang1024\fs24\f2\strike0\outl0\cf4\caps0\scaps0 4 Using Resources\tab }}} |
||||||
\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 3 Setting up the project}{\lang1024\langfe1024\noproof\webhidden\insrsid16142753 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid16142753 PAGEREF |
\par \pard\plain \ltrpar\s22\cf1\tldot\tqr\tx9638\aspalpha\li283\ri0\lin283\rin0\fi0\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033{\field{\*\fldinst HYPERLINK \\l "_Toc120779121" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\loch{\rtlch \ltrch\loch\f2\fs24\lang1024\i0\b0\*\cs30\cf0\rtlch\ltrch\dbch\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031\v0\charscalex100\accnone\horzvert0\b0\ul\ulc0\shad0\i0\lang1024\fs24\f2\strike0\outl0\cf4\caps0\scaps0 4.1 XmlForms and other files\tab }}} |
||||||
_Toc120779117 \\h }{\lang1024\langfe1024\noproof\insrsid16142753 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320030003700370039003100310037000000}}}{\fldrslt { |
\par \pard\plain \ltrpar\s22\cf1\tldot\tqr\tx9638\aspalpha\li283\ri0\lin283\rin0\fi0\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033{\field{\*\fldinst HYPERLINK \\l "_Toc120779122" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\loch{\rtlch \ltrch\loch\f2\fs24\lang1024\i0\b0\*\cs30\cf0\rtlch\ltrch\dbch\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031\v0\charscalex100\accnone\horzvert0\b0\ul\ulc0\shad0\i0\lang1024\fs24\f2\strike0\outl0\cf4\caps0\scaps0 4.2 Bitmaps\tab }}} |
||||||
\lang1024\langfe1024\noproof\webhidden\insrsid16142753 2}}}}}{\f0\cf0\lang1024\langfe1024\noproof\langnp1031\langfenp1031\insrsid16142753 |
\par \pard\plain \ltrpar\s22\cf1\tldot\tqr\tx9638\aspalpha\li283\ri0\lin283\rin0\fi0\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033{\field{\*\fldinst HYPERLINK \\l "_Toc120779123" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\loch{\rtlch \ltrch\loch\f2\fs24\lang1024\i0\b0\*\cs30\cf0\rtlch\ltrch\dbch\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031\v0\charscalex100\accnone\horzvert0\b0\ul\ulc0\shad0\i0\lang1024\fs24\f2\strike0\outl0\cf4\caps0\scaps0 4.3 Strings (localization)\tab }}} |
||||||
\par }{\field\fldedit{\*\fldinst {\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 }{\lang1024\langfe1024\noproof\insrsid16142753 HYPERLINK \\l "_Toc120779118"}{\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 }{ |
\par \sect\sbknone\cols1{\*\swcolmnblnc}\ltrsect |
||||||
\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid16142753 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320030003700370039003100310038000000}}}{\fldrslt { |
\pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs22\lang1031\ltrch\dbch\langfe255\hich\fs22\lang1033\loch\fs22\lang1033 |
||||||
\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 3.1 Project properties}{\lang1024\langfe1024\noproof\webhidden\insrsid16142753 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid16142753 PAGEREF _Toc120779118 |
\par \pard\plain \ltrpar\s7\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\rtlch\af4\afs32\lang1031\ab\ltrch\dbch\af4\langfe255\hich\f4\fs32\lang1033\b\loch\f4\fs32\lang1033\b {\rtlch \ltrch\loch\f4\fs32\lang1033\i0\b {\*\bkmkstart _Toc120779115}1 About the AddIn Building Guide{\*\bkmkend _Toc120779115}} |
||||||
\\h }{\lang1024\langfe1024\noproof\insrsid16142753 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320030003700370039003100310038000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid16142753 2}}}}}{ |
\par \pard\plain \ltrpar\s3\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 This document may be read as a guide to writing {\f10 \u9839\'3f}Develop which comply with the building scheme and it gives an introduction about how {\f10 \u9839\'3f}Develop is build. It is not a documentation about how SharpDevelop can be extended.} |
||||||
\f0\cf0\lang1024\langfe1024\noproof\langnp1031\langfenp1031\insrsid16142753 |
\par \pard\plain \ltrpar\s7\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\rtlch\af4\afs32\lang1031\ab\ltrch\dbch\af4\langfe255\hich\f4\fs32\lang1033\b\loch\f4\fs32\lang1033\b {\rtlch \ltrch\loch\f4\fs32\lang1033\i0\b {\*\bkmkstart _Toc120779116}2 File Organization{\*\bkmkend _Toc120779116}} |
||||||
\par }{\field\fldedit{\*\fldinst {\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 }{\lang1024\langfe1024\noproof\insrsid16142753 HYPERLINK \\l "_Toc120779119"}{\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 }{ |
\par \pard\plain \ltrpar\s1\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Each AddIn should have an own directory somewhere inside the src\\ folder and it should provide a project file that is used to build/clean the project.} |
||||||
\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid16142753 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320030003700370039003100310039000000}}}{\fldrslt { |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 |
||||||
\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 3.2 The .addin file}{\lang1024\langfe1024\noproof\webhidden\insrsid16142753 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid16142753 PAGEREF _Toc120779119 \\h |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Your AddIn has an own directory and the root folder contains a solution file. Inside the root folder, there can be two subdirectories: Project and Test. 'Project' is the Addin itself, 'Test' is a set of unit tests for the AddIn (unit test source files and |
||||||
}{\lang1024\langfe1024\noproof\insrsid16142753 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320030003700370039003100310039000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid16142753 2}}}}}{ |
project file).} |
||||||
\f0\cf0\lang1024\langfe1024\noproof\langnp1031\langfenp1031\insrsid16142753 |
\par \pard\plain \ltrpar\s1\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The 'Project' directory contains the following subdirectories and files:} |
||||||
\par }\pard\plain \s27\ql \li0\ri0\nowidctlpar\tqr\tldot\tx9638\aspalpha\faauto\rin0\lin0\itap0 \f1\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\field\fldedit{\*\fldinst {\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 }{ |
\par \trowd\trql\trleft0\trhdr\trkeep\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrt\brdrs\brdrw1\brdrcf1\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2056\clbrdrt\brdrs\brdrw1\brdrcf1\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx5208\clbrdrt\brdrs\brdrw1\brdrcf1\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9606 |
||||||
\lang1024\langfe1024\noproof\insrsid16142753 HYPERLINK \\l "_Toc120779120"}{\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 }{\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid16142753 {\*\datafield |
\pard\intbl\pard\plain \intbl\ltrpar\s15\cf1\qc{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ai\ab\ltrch\dbch\langfe255\hich\fs24\lang1033\i\b\loch\fs24\lang1033\i\b {\rtlch \ltrch\loch\f1\fs24\lang1033\i\b Name} |
||||||
08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320030003700370039003100320030000000}}}{\fldrslt {\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 4 Using Resources}{ |
\cell\pard\plain \intbl\ltrpar\s15\cf1\qc{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ai\ab\ltrch\dbch\langfe255\hich\fs24\lang1033\i\b\loch\fs24\lang1033\i\b {\rtlch \ltrch\loch\f1\fs24\lang1033\i\b Contents} |
||||||
\lang1024\langfe1024\noproof\webhidden\insrsid16142753 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid16142753 PAGEREF _Toc120779120 \\h }{\lang1024\langfe1024\noproof\insrsid16142753 {\*\datafield |
\cell\pard\plain \intbl\ltrpar\s15\cf1\qc{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ai\ab\ltrch\dbch\langfe255\hich\fs24\lang1033\i\b\loch\fs24\lang1033\i\b {\rtlch \ltrch\loch\f1\fs24\lang1033\i\b Description} |
||||||
08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320030003700370039003100320030000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid16142753 3}}}}}{ |
\cell\row\pard \trowd\trql\trleft0\trkeep\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2056\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx5208\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9606 |
||||||
\f0\cf0\lang1024\langfe1024\noproof\langnp1031\langfenp1031\insrsid16142753 |
\pard\intbl\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Pro{\lang1031 jectName.csproj}} |
||||||
\par }\pard\plain \s28\ql \li283\ri0\nowidctlpar\tqr\tldot\tx9638\aspalpha\faauto\rin0\lin283\itap0 \f1\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\field\fldedit{\*\fldinst { |
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1031\loch\fs24\lang1031 {\rtlch \ltrch\loch\f1\fs24\lang1031\i0\b0 MSBuild file} |
||||||
\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 }{\lang1024\langfe1024\noproof\insrsid16142753 HYPERLINK \\l "_Toc120779121"}{\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 }{ |
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Project file for the addin} |
||||||
\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid16142753 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320030003700370039003100320031000000}}}{\fldrslt { |
\cell\row\pard \trowd\trql\trleft0\trkeep\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2056\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx5208\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9606 |
||||||
\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 4.1 XmlForms and other files}{\lang1024\langfe1024\noproof\webhidden\insrsid16142753 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid16142753 PAGEREF |
\pard\intbl\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Pro{\lang1031 jectName.addin}} |
||||||
_Toc120779121 \\h }{\lang1024\langfe1024\noproof\insrsid16142753 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320030003700370039003100320031000000}}}{\fldrslt { |
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 AddIn definition file} |
||||||
\lang1024\langfe1024\noproof\webhidden\insrsid16142753 3}}}}}{\f0\cf0\lang1024\langfe1024\noproof\langnp1031\langfenp1031\insrsid16142753 |
\cell\pard\plain \intbl\ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Contains the xml code for the XML tree.\line Should use 'CopyToOutputDirectory'.} |
||||||
\par }{\field\fldedit{\*\fldinst {\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 }{\lang1024\langfe1024\noproof\insrsid16142753 HYPERLINK \\l "_Toc120779122"}{\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 }{ |
\cell\row\pard \trowd\trql\trleft0\trkeep\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2056\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx5208\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9606 |
||||||
\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid16142753 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320030003700370039003100320032000000}}}{\fldrslt { |
\pard\intbl\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Src\\} |
||||||
\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 4.2 Bitmaps}{\lang1024\langfe1024\noproof\webhidden\insrsid16142753 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid16142753 PAGEREF _Toc120779122 \\h }{ |
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Source code files} |
||||||
\lang1024\langfe1024\noproof\insrsid16142753 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320030003700370039003100320032000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid16142753 3}}}}}{ |
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Here is the source code for your add-in} |
||||||
\f0\cf0\lang1024\langfe1024\noproof\langnp1031\langfenp1031\insrsid16142753 |
\cell\row\pard \trowd\trql\trleft0\trkeep\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2056\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx5208\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9606 |
||||||
\par }{\field\fldedit{\*\fldinst {\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 }{\lang1024\langfe1024\noproof\insrsid16142753 HYPERLINK \\l "_Toc120779123"}{\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 }{ |
\pard\intbl\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Resources\\} |
||||||
\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid16142753 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320030003700370039003100320033000000}}}{\fldrslt { |
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Any type of file } |
||||||
\cs56\ul\cf2\lang1024\langfe1024\noproof\insrsid16142753\charrsid284618 4.3 Strings (localization)}{\lang1024\langfe1024\noproof\webhidden\insrsid16142753 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid16142753 PAGEREF |
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Here are all resources which are compiled into the add-in assembly} |
||||||
_Toc120779123 \\h }{\lang1024\langfe1024\noproof\insrsid16142753 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320030003700370039003100320033000000}}}{\fldrslt { |
\cell\row\pard \trowd\trql\trleft0\trkeep\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2056\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx5208\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9606 |
||||||
\lang1024\langfe1024\noproof\webhidden\insrsid16142753 4}}}}}{\f0\cf0\lang1024\langfe1024\noproof\langnp1031\langfenp1031\insrsid16142753 |
\pard\intbl\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Doc\\} |
||||||
\par }\pard\plain \s27\ql \li0\ri0\nowidctlpar\tqr\tldot\tx9638\aspalpha\faauto\rin0\lin0\itap0 \f1\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 }}\pard\plain \s27\ql \li0\ri0\nowidctlpar\tqr\tldot\tx9638\aspalpha\faauto\rin0\lin0\itap0 |
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Documentation (not in *.doc format; use .txt or .html if you need formatting)} |
||||||
\f1\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 \sect }\sectd \sbknone\linex0\footery1440\sectdefaultcl\sftnbj {\footer \pard\plain \s19\ql \li0\ri0\nowidctlpar\tqc\tx4819\tqr\tx9638\aspalpha\faauto\rin0\lin0\itap0 |
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Here may lie documentation to the add-in} |
||||||
\f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 \tab \'a9 Mike Kr\'fcger 2004, Daniel Grunwald 2005\tab }{\field{\*\fldinst {\insrsid16077661 \\page}}{\fldrslt {\lang1024\langfe1024\noproof\insrsid16142753 4}}}{ |
\cell\row\pard \trowd\trql\trleft0\trkeep\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2056\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx5208\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9606 |
||||||
\insrsid16077661 |
\pard\intbl\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 RequiredLibraries\\} |
||||||
\par }}\pard\plain \ql \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\fs22\insrsid16077661 |
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 *.dll files} |
||||||
\par }\pard\plain \s1\ql \li0\ri0\sb240\sa120\keepn\nowidctlpar\aspalpha\faauto\outlinelevel0\rin0\lin0\itap0 \b\f38\fs32\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 {\*\bkmkstart _Toc120779115}1 About the AddIn Building Guide |
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Here are libraries that the add-in uses in binary form} |
||||||
{\*\bkmkend _Toc120779115} |
\cell\row\pard \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 |
||||||
\par }\pard\plain \s15\qj \li0\ri0\sa120\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 This document may be read as a guide to writing }{\f42\insrsid16077661 \u9839\'3f}{ |
\par \pard\plain \ltrpar\s9\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs28\lang1031\ltrch\dbch\af4\langfe255\hich\f4\fs28\lang1033\loch\f4\fs28\lang1033 {\rtlch \ltrch\loch\f4\fs28\lang1033\i0\b0 {\*\bkmkstart _Toc120779117}3 Setting up the project{\*\bkmkend _Toc120779117}} |
||||||
\insrsid16077661 Develop which comply with the building scheme and it gives an introduction about how }{\f42\insrsid16077661 \u9839\'3f}{\insrsid16077661 Develop is build. It is not a doc}{\insrsid16077661\charrsid16077661 |
\par \pard\plain \ltrpar\s3\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 You can create a test addin project by using the \'84SharpDevelop AddIn\'93 template. Note that it won't compile out of the box, you are only given a directory structure with some file to get you started a little faster.} |
||||||
umentation about how SharpDevelop can be extended.}{\insrsid16077661 |
\par \pard\plain \ltrpar\s3\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The first thing you need to do it set the project properties.} |
||||||
\par }\pard\plain \s1\ql \li0\ri0\sb240\sa120\keepn\nowidctlpar\aspalpha\faauto\outlinelevel0\rin0\lin0\itap0 \b\f38\fs32\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 {\*\bkmkstart _Toc120779116}2 File Organization |
\par \pard\plain \ltrpar\s9\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs28\lang1031\ltrch\dbch\af4\langfe255\hich\f4\fs28\lang1033\loch\f4\fs28\lang1033 {\rtlch \ltrch\loch\f4\fs28\lang1033\i0\b0 {\*\bkmkstart _Toc120779118}3.1 Project properties{\*\bkmkend _Toc120779118}} |
||||||
{\*\bkmkend _Toc120779116} |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Set the project output path to some subfolder inside SharpDevelop/AddIns/AddIns. If you're AddIn won't be distributed with SharpDevelop, put it in its own subfolder inside SharpDevelop/AddIns/3rdparty.} |
||||||
\par }\pard\plain \qj \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 Each AddIn should have an own directory somewhere inside the src\\ |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 What the template didn't do for you, either, is setting up the references to SharpDevelop. You will need a reference to ICSharpCode.Core.dll and ICSharpCode.SharpDevelop.dll. Set 'copy reference to output path' to {\b false} on these two references.} |
||||||
folder and it should provide a project file that is used to build/clean the project. |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 |
||||||
\par }\pard \ql \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 {\insrsid16077661 |
\par \pard\plain \ltrpar\s9\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs28\lang1031\ltrch\dbch\af4\langfe255\hich\f4\fs28\lang1033\loch\f4\fs28\lang1033 {\rtlch \ltrch\loch\f4\fs28\lang1033\i0\b0 {\*\bkmkstart _Toc120779119}3.2 The .addin file{\*\bkmkend _Toc120779119}} |
||||||
\par Your AddIn has an own directory and the root folder contains a solution file. Inside the root folder, there can be two subdirectories: Pro}{\insrsid16077661\charrsid16077661 |
\par \pard\plain \ltrpar\s1\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The .addin file is the most important file of your addin. You can specify there what parts of SharpDevelop your addin is extending. Your actual addin library (.dll) will only be loaded when it is first needed.} |
||||||
ject and Test. 'Project' is the Addin itself, 'Test' is a set of unit tests for the AddIn (unit test source files and project file).}{\insrsid16077661 |
\par \pard\plain \ltrpar\s1\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 When you create a new AddIn using the template, the following file has already been generated for you:} |
||||||
\par }\pard \qj \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 {\insrsid16077661\charrsid16077661 The 'Project' directory contains the following subdirectories and files: |
\par \pard\plain \ltrpar\s1\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\f7\fs20\lang0\i0\b0\*\cs54\cf1\rtlch\ltrch\dbch\hich\f7\fs24\lang0\loch\f7\fs24\lang0\fs20{\cf5 <AddIn }}{\rtlch \ltrch\loch\f7\fs20\lang0\i0\b0\*\cs54\cf1\rtlch\ltrch\dbch\hich\f7\fs24\lang0\loch\f7\fs24\lang0\fs20{\cf6 name }{\cf4 = "MyAddInName"}} |
||||||
\par }\trowd \irow0\irowband0\ts11\trleft0\trkeep\trhdr\trftsWidth1\trpaddl55\trpaddt55\trpaddb55\trpaddr55\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw5\brdrcf1 \clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\cf4 }{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7{\cf6 author }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7{\cf4 = "username"}} |
||||||
\brdrnone \cltxlrtb\clftsWidth3\clwWidth2056\clshdrawnil \cellx2056\clvertalt\clbrdrt\brdrs\brdrw5\brdrcf1 \clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrnone \cltxlrtb\clftsWidth3\clwWidth3152\clshdrawnil \cellx5208\clvertalt |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\cf4 }{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7{\cf6 copyright }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7{\cf4 = "GNU General Public License"}} |
||||||
\clbrdrt\brdrs\brdrw5\brdrcf1 \clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrs\brdrw5\brdrcf1 \cltxlrtb\clftsWidth3\clwWidth4398\clshdrawnil \cellx9606\pard\plain |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\cf4 }{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7{\cf6 url }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7{\cf4 = ""}} |
||||||
\s21\qc \li0\ri0\sa120\nowidctlpar\intbl\aspalpha\faauto\rin0\lin0 \b\i\f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 Name\cell Contents\cell Description\cell }\pard\plain |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\cf4 }{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7{\cf6 description }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7{\cf4 = "TODO: Put description here"}{\cf5 >}} |
||||||
\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 \trowd \irow0\irowband0 |
\par \pard\plain \ltrpar\s1\cf5{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033 {\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0 \tab } |
||||||
\ts11\trleft0\trkeep\trhdr\trftsWidth1\trpaddl55\trpaddt55\trpaddb55\trpaddr55\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw5\brdrcf1 \clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrnone |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs20\lang1031\ltrch\dbch\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033 {\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0 \tab {<Runtime>}} |
||||||
\cltxlrtb\clftsWidth3\clwWidth2056\clshdrawnil \cellx2056\clvertalt\clbrdrt\brdrs\brdrw5\brdrcf1 \clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrnone \cltxlrtb\clftsWidth3\clwWidth3152\clshdrawnil \cellx5208\clvertalt\clbrdrt |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf5 \tab \tab <Import }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf6 assembly }{\cf4 = "MyAddInName.dll"}{\cf5 />}} |
||||||
\brdrs\brdrw5\brdrcf1 \clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrs\brdrw5\brdrcf1 \cltxlrtb\clftsWidth3\clwWidth4398\clshdrawnil \cellx9606\row }\trowd \irow1\irowband1 |
\par \pard\plain \ltrpar\s1\cf5{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033 {\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0 \tab </Runtime>} |
||||||
\ts11\trleft0\trkeep\trftsWidth1\trpaddl55\trpaddt55\trpaddb55\trpaddr55\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3 \clvertalt\clbrdrt\brdrnone \clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrnone |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs20\lang1031\ltrch\dbch\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033 {\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0 \tab } |
||||||
\cltxlrtb\clftsWidth3\clwWidth2056\clshdrawnil \cellx2056\clvertalt\clbrdrt\brdrnone \clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrnone \cltxlrtb\clftsWidth3\clwWidth3152\clshdrawnil \cellx5208\clvertalt\clbrdrt\brdrnone |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf5 \tab <Path }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf6 name }{\cf4 = "/SharpDevelop/Workbench/Pads"}{\cf5 >}} |
||||||
\clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrs\brdrw5\brdrcf1 \cltxlrtb\clftsWidth3\clwWidth4398\clshdrawnil \cellx9606\pard\plain \s20\ql \li0\ri0\sa120\nowidctlpar\intbl\aspalpha\faauto\rin0\lin0 |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf5 \tab \tab <Pad }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf6 id }{\cf4 = "MyAddInNamePad"}} |
||||||
\f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 Pro}{\lang1031\langfe255\langnp1031\insrsid16077661 jectName.csproj}{\insrsid16077661 \cell }{\lang1031\langfe255\langnp1031\insrsid16077661 MSBuild file\cell }{ |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf4 \tab \tab }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf6 category }{\cf4 = "Main"}} |
||||||
\insrsid16077661 Pro}{\insrsid16077661\charrsid16077661 ject file for the addin}{\insrsid16077661 \cell }\pard\plain \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 { |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf4 \tab \tab }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf6 title }{\cf4 = "MyAddInNamePad"}} |
||||||
\insrsid16077661 \trowd \irow1\irowband1\ts11\trleft0\trkeep\trftsWidth1\trpaddl55\trpaddt55\trpaddb55\trpaddr55\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3 \clvertalt\clbrdrt\brdrnone \clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf4 \tab \tab }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf6 icon }{\cf4 = "PadIcons.NUnitTest"}} |
||||||
\brdrnone \cltxlrtb\clftsWidth3\clwWidth2056\clshdrawnil \cellx2056\clvertalt\clbrdrt\brdrnone \clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrnone \cltxlrtb\clftsWidth3\clwWidth3152\clshdrawnil \cellx5208\clvertalt\clbrdrt |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf4 \tab \tab }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf6 shortcut }{\cf4 = "Control|Alt|T"}} |
||||||
\brdrnone \clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrs\brdrw5\brdrcf1 \cltxlrtb\clftsWidth3\clwWidth4398\clshdrawnil \cellx9606\row }\pard\plain \s20\ql \li0\ri0\sa120\nowidctlpar\intbl\aspalpha\faauto\rin0\lin0 |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf4 \tab \tab }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf6 class }{\cf4 = "MyAddInName.TestPad"}{\cf5 />}} |
||||||
\f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 Pro}{\lang1031\langfe255\langnp1031\insrsid16077661 jectName.addin}{\insrsid16077661 \cell AddIn definition file\cell Contains the xml code for the XML tree.\line |
\par \pard\plain \ltrpar\s1\cf5{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033 {\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0 \tab </Path>} |
||||||
Should use 'CopyToOutputDirectory'.\cell }\pard\plain \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 \trowd \irow2\irowband2 |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs20\lang1031\ltrch\dbch\af0\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033 {\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0 </AddIn>} |
||||||
\ts11\trleft0\trkeep\trftsWidth1\trpaddl55\trpaddt55\trpaddb55\trpaddr55\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3 \clvertalt\clbrdrt\brdrnone \clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrnone |
\par \pard\plain \ltrpar\s1\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 |
||||||
\cltxlrtb\clftsWidth3\clwWidth2056\clshdrawnil \cellx2056\clvertalt\clbrdrt\brdrnone \clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrnone \cltxlrtb\clftsWidth3\clwWidth3152\clshdrawnil \cellx5208\clvertalt\clbrdrt\brdrnone |
\par \pard\plain \ltrpar\s3\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 This demonstrates how an .addin file works: the <Runtime> section describes what assemblies are used by the AddIn. Then any number of extension paths is following. This way, you can insert elements into the AddInTree. {\fs20\f7\cf4 MyAddInName.TestPad }is a class defined |
||||||
\clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrs\brdrw5\brdrcf1 \cltxlrtb\clftsWidth3\clwWidth4398\clshdrawnil \cellx9606\row }\pard\plain \s20\ql \li0\ri0\sa120\nowidctlpar\intbl\aspalpha\faauto\rin0\lin0 |
in MyAddInName.dll. That assembly is only loaded, when the instance of the class is created. This is not when SharpDevelop is started, but when the pad {\b content} is shown first. So a pad that is in the background since the start of SharpDevelop won't cause |
||||||
\f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 Src\\\cell Source code files\cell Here is the source code for your add-in\cell }\pard\plain \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 |
the assembly to be loaded.} |
||||||
\f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 \trowd \irow3\irowband3\ts11\trleft0\trkeep\trftsWidth1\trpaddl55\trpaddt55\trpaddb55\trpaddr55\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3 \clvertalt\clbrdrt\brdrnone \clbrdrl |
\par \pard\plain \ltrpar\s3\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 For more information about the possible extensions paths and how the AddinTree works in detail, read the document \'84AddInTree\'93 in this folder.} |
||||||
\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrnone \cltxlrtb\clftsWidth3\clwWidth2056\clshdrawnil \cellx2056\clvertalt\clbrdrt\brdrnone \clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrnone |
\par \pard\plain \ltrpar\s3\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The addin file is not compiled into the assembly but copied to the output directory (BuildAction=None, CopyToOuputDirectory=Always; the template should already have set these properties for you).} |
||||||
\cltxlrtb\clftsWidth3\clwWidth3152\clshdrawnil \cellx5208\clvertalt\clbrdrt\brdrnone \clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrs\brdrw5\brdrcf1 \cltxlrtb\clftsWidth3\clwWidth4398\clshdrawnil \cellx9606\row }\pard\plain |
\par \pard\plain \ltrpar\s7\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\rtlch\af4\afs32\lang1031\ab\ltrch\dbch\af4\langfe255\hich\f4\fs32\lang1033\b\loch\f4\fs32\lang1033\b {\rtlch \ltrch\loch\f4\fs32\lang1033\i0\b {\*\bkmkstart _Toc120779120}4 Using Resources{\*\bkmkend _Toc120779120}} |
||||||
\s20\ql \li0\ri0\sa120\nowidctlpar\intbl\aspalpha\faauto\rin0\lin0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 Resources\\\cell Any type of file \cell Here are all resources which are compiled into the add-in assembly |
\par \pard\plain \ltrpar\s9\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs28\lang1031\ltrch\dbch\af4\langfe255\hich\f4\fs28\lang1033\loch\f4\fs28\lang1033 {\rtlch \ltrch\loch\f4\fs28\lang1033\i0\b0 {\*\bkmkstart _Toc120779121}4.1 XmlForms and other files{\*\bkmkend _Toc120779121}} |
||||||
\cell }\pard\plain \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 \trowd \irow4\irowband4 |
\par \pard\plain \ltrpar\s3\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The template demonstrates the use of resource files by using a XmlForms to display the pad content. Your AddIn does not need to use XmlForms, the template just shows the use of resources (and XmlForms).} |
||||||
\ts11\trleft0\trkeep\trftsWidth1\trpaddl55\trpaddt55\trpaddb55\trpaddr55\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3 \clvertalt\clbrdrt\brdrnone \clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrnone |
\par \pard\plain \ltrpar\s3\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 You can put any files into the Resources directory (see table in chapter 2.1). Set the build type to 'EmbeddedResource' and file will be compiled into the assembly. You can then access the file by using {\fs20\f7 Assembly{\cf7 .}{\b\cf8 GetExecutingAssembly}{\cf7 ().}{\b\cf8 GetManifestResourceSt |
||||||
\cltxlrtb\clftsWidth3\clwWidth2056\clshdrawnil \cellx2056\clvertalt\clbrdrt\brdrnone \clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrnone \cltxlrtb\clftsWidth3\clwWidth3152\clshdrawnil \cellx5208\clvertalt\clbrdrt\brdrnone |
ream}{\cf7 (}{\cf9 "MyAddInName.Resources.MyUserControl.xfrm"}{\cf7 )}}{\cf0 .}} |
||||||
\clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrs\brdrw5\brdrcf1 \cltxlrtb\clftsWidth3\clwWidth4398\clshdrawnil \cellx9606\row }\pard\plain \s20\ql \li0\ri0\sa120\nowidctlpar\intbl\aspalpha\faauto\rin0\lin0 |
\par \pard\plain \ltrpar\s3\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\cf0 Unlike SharpDevelop 1.x, the compiler will prepend the resource files name with the root namespace in the project settings and the folder it is stored within the project. Therefore, the file name MyUserControl.xfrm gets expanded to }}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\fs20\f7{\cf6 MyAddInName}}{\fs20\f7{\cf9 .Resources.}{\cf2 My |
||||||
\f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 Doc\\\cell Documentation (not in *.doc format; use .txt or .html if you need formatting)\cell Here may lie documentation to the add-in\cell }\pard\plain |
UserControl.xfrm}}{\cf0 .}} |
||||||
\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 \trowd \irow5\irowband5 |
\par \pard\plain \ltrpar\s3\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 GetManifestResourceStream returns a stream, so don't forget to close it when you are finished.} |
||||||
\ts11\trleft0\trkeep\trftsWidth1\trpaddl55\trpaddt55\trpaddb55\trpaddr55\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3 \clvertalt\clbrdrt\brdrnone \clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrnone |
\par \pard\plain \ltrpar\s9\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs28\lang1031\ltrch\dbch\af4\langfe255\hich\f4\fs28\lang1033\loch\f4\fs28\lang1033 {\rtlch \ltrch\loch\f4\fs28\lang1033\i0\b0 {\*\bkmkstart _Toc120779122}4.2 Bitmaps{\*\bkmkend _Toc120779122}} |
||||||
\cltxlrtb\clftsWidth3\clwWidth2056\clshdrawnil \cellx2056\clvertalt\clbrdrt\brdrnone \clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrnone \cltxlrtb\clftsWidth3\clwWidth3152\clshdrawnil \cellx5208\clvertalt\clbrdrt\brdrnone |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 There are two types of bitmaps:} |
||||||
\clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrs\brdrw5\brdrcf1 \cltxlrtb\clftsWidth3\clwWidth4398\clshdrawnil \cellx9606\row }\pard\plain \s20\ql \li0\ri0\sa120\nowidctlpar\intbl\aspalpha\faauto\rin0\lin0 |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b\b 1. Bitmaps you need in your addin} |
||||||
\f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 RequiredLibraries\\\cell *.dll files\cell Here are libraries that the add-in uses in binary form\cell }\pard\plain |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Just put the bitmaps in the Resources directory and set the action to 'EmbedAsResource'. You can then use {\fs20\f7 Assembly.GetExecutingAssembly().GetManifestResourceStream("RootNamespace.Resources.MyImage.png")}} |
||||||
\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 \trowd \irow6\irowband6\lastrow |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 to get a stream to the resource file. You can create a bitmap from that stream, and then dispose the stream.} |
||||||
\ts11\trleft0\trkeep\trftsWidth1\trpaddl55\trpaddt55\trpaddb55\trpaddr55\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3 \clvertalt\clbrdrt\brdrnone \clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrnone |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 |
||||||
\cltxlrtb\clftsWidth3\clwWidth2056\clshdrawnil \cellx2056\clvertalt\clbrdrt\brdrnone \clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrnone \cltxlrtb\clftsWidth3\clwWidth3152\clshdrawnil \cellx5208\clvertalt\clbrdrt\brdrnone |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Q: Can I use a resource file (*.resources/*.resx), wouldn't this make things easier?} |
||||||
\clbrdrl\brdrs\brdrw5\brdrcf1 \clbrdrb\brdrs\brdrw5\brdrcf1 \clbrdrr\brdrs\brdrw5\brdrcf1 \cltxlrtb\clftsWidth3\clwWidth4398\clshdrawnil \cellx9606\row }\pard \ql \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 {\insrsid16077661 |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 A: Yes and No. It would be harder to alter the bitmap. I know that most bitmaps won't be altered during their life. The main reason for doing this is that #Develop may be ported to a newer .NET Version and the resource files will be broken onto the next .N |
||||||
\par }\pard\plain \s2\ql \li0\ri0\nowidctlpar\aspalpha\faauto\outlinelevel1\rin0\lin0\itap0 \f38\fs28\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 {\*\bkmkstart _Toc120779117}3 Setting up the pro}{\insrsid16077661\charrsid16077661 ject |
ET version. } |
||||||
}{\insrsid16077661 {\*\bkmkend _Toc120779117} |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 This will make it more difficult to bring #Develop to the new framework. I recommend all people not storing anything other than strings into resource files. Binary data is a 100% no go.} |
||||||
\par }\pard\plain \s15\ql \li0\ri0\sa120\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 You}{\insrsid16077661\charrsid16077661 can create a test addin project by using the \'84 |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 |
||||||
SharpDevelop AddIn\'93 template. Note that it won't compile out of the box, you are only given a directory structure with some file to get you started a little faster.}{\insrsid16077661 |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ab\ltrch\dbch\langfe255\hich\fs24\lang1033\b\loch\fs24\lang1033\b {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b 2. Bitmaps for the ResourceService} |
||||||
\par }{\insrsid16077661\charrsid16077661 The first thing you need to do it set the project properties. |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Bitmaps must be registered before they can be used in the ResourceService. The ResourceService is used for the icons of the pads and menu items.} |
||||||
\par }\pard\plain \s2\ql \li0\ri0\nowidctlpar\aspalpha\faauto\outlinelevel1\rin0\lin0\itap0 \f38\fs28\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661\charrsid16077661 {\*\bkmkstart _Toc120779118}3.1 Project properties |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Currently, there is no easy way to make the ResourceService aware of icons supplied with your Addin. The easiest way to add new bitmaps is to go into the SharpDevelopResources/BitmapResources directory and put your bitmaps in a subdirectory.} |
||||||
{\*\bkmkend _Toc120779118} |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Then you can edit the {\b text file} SharpDevelopResources/BitmapResources/BitmapResources.res and include a line for your bitmap (do this near the lines of the other bitmaps of the same subdirectory). Call BitmapResources/build.bat and the resources will be co |
||||||
\par }\pard\plain \ql \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661\charrsid16077661 Set the project o}{\insrsid16077661 utput path}{\insrsid16077661\charrsid16077661 |
mpiled and inserted into the StartUp project (SharpDevelop.exe). Compile SharpDevelop using SharpDevelop/src/build.bat to finally use the new resource file.} |
||||||
to some subfolder inside SharpDevelop/AddIns/AddIns. If you're AddIn won't be distributed with SharpDevelop, put it in its own subfolder inside SharpDevelop/AddIns/3rdparty.}{\insrsid16077661 |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 There is also another possible way when you want to distribute your resources separately: Make a separate directory like SharpDevelopResources/BitmapResources for your project and use a similar build file to build the bitmaps in to a BitmapResources.resou |
||||||
\par }{\insrsid16077661\charrsid16077661 What the template didn't do for you, either, is setting up the references to SharpDevelop. You will need a reference to ICSharpCode.Core.dll and ICSharpCode.SharpDevelop.dll. Set 'copy reference to output path' to }{ |
rces binary file. Do not edit the BitmapResources.resources file directly, always use the build script (see question in the previous section)! Then add the BitmapResources.resources file to your addin project and set \'93Copy to output directory\'94 to \'93Always\'94. |
||||||
\b\insrsid16077661\charrsid16077661 false}{\insrsid16077661\charrsid16077661 on these two references. |
To register the file in the ResourceService, add this line to the *.addin file:} |
||||||
\par }{\insrsid16077661 |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 |
||||||
\par }\pard\plain \s2\ql \li0\ri0\nowidctlpar\aspalpha\faauto\outlinelevel1\rin0\lin0\itap0 \f38\fs28\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 {\*\bkmkstart _Toc120779119}3.2 The .addin file{\*\bkmkend _Toc120779119} |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7{\cf5 <BitmapResources }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7{\cf6 file}{\cf4 ="Resources\\MyAddinBitmapResources.resources" }{\cf5 />}} |
||||||
\par }\pard\plain \qj \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 The .addin file is the most important file of you}{\insrsid16077661\charrsid16077661 |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 |
||||||
r addin. You can specify there what parts of SharpDevelop your addin is extending. Your actual addin library (.dll) will only be loaded when it is first needed.}{\insrsid16077661 |
\par \pard\plain \ltrpar\s9\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs28\lang1031\ltrch\dbch\af4\langfe255\hich\f4\fs28\lang1033\loch\f4\fs28\lang1033 {\rtlch \ltrch\loch\f4\fs28\lang1033\i0\b0 {\*\bkmkstart _Toc120779123}4.3 Strings (localization){\*\bkmkend _Toc120779123}} |
||||||
\par }{\insrsid16077661\charrsid16077661 When you create a new AddIn using the template, the following file has already been generated for you: |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 For localizable strings, you can use SharpDevelop's resource service.} |
||||||
\par }{\cs55\f2\fs20\cf18\insrsid16077661\charrsid16077661 <AddIn }{\cs55\f2\fs20\cf6\insrsid16077661\charrsid16077661 name }{\cs55\f2\fs20\cf2\insrsid16077661\charrsid16077661 = "MyAddInName"}{\insrsid16077661 |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 To request a localized string, use StringParser.Parse(\'93$\{res:FullResourceName\}\'94).} |
||||||
\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\cf2\insrsid16077661 }{\fs20\cf6\loch\af2\insrsid16077661 \hich\af37\dbch\af0\loch\f2 author }{\fs20\cf2\loch\af2\insrsid16077661 \hich\af37\dbch\af0\loch\f2 = "username"}{ |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The string resource names should be in the format \'93YourAddInName.ResourceName\'94.} |
||||||
\insrsid16077661 |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 In all strings in the XML addin definition file; in XmlForms and for the MessageService, resource access in \'93$\{...\}\'94 are automatically resolved, you do not need to call StringParser.Parse there.} |
||||||
\par }\pard \ql \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 {\cf2\insrsid16077661 }{\fs20\cf6\loch\af2\insrsid16077661 \hich\af37\dbch\af0\loch\f2 copyright }{\fs20\cf2\loch\af2\insrsid16077661 \hich\af37\dbch\af0\loch\f2 |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ab\ltrch\dbch\langfe255\hich\fs24\lang1033\b\loch\fs24\lang1033\b {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b How to supply your strings:} |
||||||
= "GNU General Public License"}{\insrsid16077661 |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Add a .resources file to the \'93Resources\'94 directory of your addin (SharpDevelop has a template in the \'93Misc\'94 section). You should name it \'93StringResources.resources\'94.} |
||||||
\par }{\cf2\insrsid16077661 }{\fs20\cf6\loch\af2\insrsid16077661 \hich\af37\dbch\af0\loch\f2 url }{\fs20\cf2\loch\af2\insrsid16077661 \hich\af37\dbch\af0\loch\f2 = ""}{\insrsid16077661 |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 In this file, you enter the \'93fall back\'94 values when a resource entry is not found in a language-specific file. Normally, the US-English strings should be placed in that file.} |
||||||
\par }{\cf2\insrsid16077661 }{\fs20\cf6\loch\af2\insrsid16077661 \hich\af37\dbch\af0\loch\f2 description }{\fs20\cf2\loch\af2\insrsid16077661 \hich\af37\dbch\af0\loch\f2 = "TODO: Put description here"}{\fs20\cf18\loch\af2\insrsid16077661 |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Put the translated strings in files like \'93StringResources.de.resources\'94 in the resource directory (\'93de\'94 is the language code). The translated strings will be automatically compiled into satellite assemblies.} |
||||||
\hich\af37\dbch\af0\loch\f2 >}{\insrsid16077661 |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ab\ltrch\dbch\langfe255\hich\fs24\lang1033\b\loch\fs24\lang1033\b {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b How to make SharpDevelop aware of your strings:} |
||||||
\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f2\fs20\cf18\insrsid16077661 \tab |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Run the following command when your strings are needed the first time:} |
||||||
\par }\pard \ql \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 {\fs20\loch\af2\insrsid16077661 \tab }{\fs20\loch\af2\insrsid16077661 \hich\af37\dbch\af0\loch\f2 <Runtime>}{\insrsid16077661 |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7 ResourceService{\cf7 .}RegisterStrings({\cf4 "MyAddinName.Resources.StringResources"}{\cf7 ,\line }{\b\cf8 GetType}{\cf7 ().}Assembly)} |
||||||
\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f2\fs20\cf18\insrsid16077661 \tab \tab <Import }{\f2\fs20\cf6\insrsid16077661 assembly }{\f2\fs20\cf2\insrsid16077661 = "MyAddInName.dll"}{\f2\fs20\cf18\insrsid16077661 />}{\insrsid16077661 |
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 This will make SharpDevelop load the strings and merge them into the ResourceService. The correct satellite assembly will automatically be (re)loaded whenever the user changes the UI language.} |
||||||
\par }{\f2\fs20\cf18\insrsid16077661 \tab </Runtime> |
\par } |
||||||
\par }\pard \ql \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 {\fs20\loch\af2\insrsid16077661 \tab }{\insrsid16077661 |
|
||||||
\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f2\fs20\cf18\insrsid16077661 \tab <Path }{\f2\fs20\cf6\insrsid16077661 name }{\f2\fs20\cf2\insrsid16077661 = "/SharpDevelop/Workbench/Pads"}{\f2\fs20\cf18\insrsid16077661 >}{\insrsid16077661 |
|
||||||
\par }\pard \ql \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 {\f2\fs20\cf18\insrsid16077661 \tab \tab <Pad }{\f2\fs20\cf6\insrsid16077661 id }{\f2\fs20\cf2\insrsid16077661 = "MyAddInNamePad"}{\insrsid16077661 |
|
||||||
\par }{\f2\fs20\cf2\insrsid16077661 \tab \tab }{\f2\fs20\cf6\insrsid16077661 category }{\f2\fs20\cf2\insrsid16077661 = "Main"}{\insrsid16077661 |
|
||||||
\par }{\f2\fs20\cf2\insrsid16077661 \tab \tab }{\f2\fs20\cf6\insrsid16077661 title }{\f2\fs20\cf2\insrsid16077661 = "MyAddInNamePad"}{\insrsid16077661 |
|
||||||
\par }{\f2\fs20\cf2\insrsid16077661 \tab \tab }{\f2\fs20\cf6\insrsid16077661 icon }{\f2\fs20\cf2\insrsid16077661 = "PadIcons.NUnitTest"}{\insrsid16077661 |
|
||||||
\par }{\f2\fs20\cf2\insrsid16077661 \tab \tab }{\f2\fs20\cf6\insrsid16077661 shortcut }{\f2\fs20\cf2\insrsid16077661 = "Control|Alt|T"}{\insrsid16077661 |
|
||||||
\par }{\f2\fs20\cf2\insrsid16077661 \tab \tab }{\f2\fs20\cf6\insrsid16077661 class }{\f2\fs20\cf2\insrsid16077661 = "MyAddInName.TestPad"}{\f2\fs20\cf18\insrsid16077661 />}{\insrsid16077661 |
|
||||||
\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f2\fs20\cf18\insrsid16077661 \tab </Path> |
|
||||||
\par }\pard \ql \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 {\fs20\loch\af2\insrsid16077661 \hich\af37\dbch\af0\loch\f2 </AddIn>}{\insrsid16077661 |
|
||||||
\par }\pard \qj \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 {\insrsid16077661 |
|
||||||
\par }\pard\plain \s15\qj \li0\ri0\sa120\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 This demonstrates how an .addin file works: the <Runtime> section des}{ |
|
||||||
\insrsid16077661\charrsid16077661 cribes what assemblies are used by the AddIn. Then any number of extension paths is following. This way, you can insert elements into the AddInTree. }{\f2\fs20\cf2\insrsid16077661\charrsid16077661 MyAddInName.TestPad }{ |
|
||||||
\insrsid16077661\charrsid16077661 is a class defined in MyAddInName.dll. That assembly is only loaded, when the instance of the class is created. This is not when SharpDevelop is started, but when the pad }{\b\insrsid16077661\charrsid16077661 content}{ |
|
||||||
\insrsid16077661\charrsid16077661 is shown first. So a pad that is in the background since the start of SharpDevelop won't cause the assembly to be loaded.}{\insrsid16077661 |
|
||||||
\par }{\insrsid16077661\charrsid16077661 For more information about the possible extensions paths and how the AddinTree works in detail, read the document \'84AddInTree\'93 in this folder. |
|
||||||
\par }\pard \s15\ql \li0\ri0\sa120\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 {\insrsid16077661\charrsid16077661 |
|
||||||
The addin file is not compiled into the assembly but copied to the output directory (BuildAction=None, CopyToOuputDirectory=Always; the template should already have set these properties for you).}{\insrsid16077661 |
|
||||||
\par }\pard\plain \s1\ql \li0\ri0\sb240\sa120\keepn\nowidctlpar\aspalpha\faauto\outlinelevel0\rin0\lin0\itap0 \b\f38\fs32\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 {\*\bkmkstart _Toc120779120}4 Using Resources |
|
||||||
{\*\bkmkend _Toc120779120} |
|
||||||
\par }\pard\plain \s2\ql \li0\ri0\nowidctlpar\aspalpha\faauto\outlinelevel1\rin0\lin0\itap0 \f38\fs28\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 {\*\bkmkstart _Toc120779121}4.1 XmlForms and other files{\*\bkmkend _Toc120779121} |
|
||||||
|
|
||||||
\par }\pard\plain \s15\qj \li0\ri0\sa120\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661\charrsid16077661 |
|
||||||
The template demonstrates the use of resource files by using a XmlForms to display the pad content. Your AddIn does not need to use XmlForms, the template just shows the use of resources (and XmlForms). |
|
||||||
\par You can put any files into the Resources directory (see table in chapter 2.1). Set the build type to 'EmbeddedResource' and file will be compiled into the assembly. You can then access the file by using }{\f2\fs20\insrsid16077661 Assembly}{ |
|
||||||
\f2\fs20\cf19\insrsid16077661 .}{\b\f2\fs20\cf20\insrsid16077661 GetExecutingAssembly}{\f2\fs20\cf19\insrsid16077661 ().}{\b\f2\fs20\cf20\insrsid16077661 GetManifestResourceStream}{\f2\fs20\cf19\insrsid16077661 (}{\f2\fs20\cf5\insrsid16077661 |
|
||||||
"MyAddInName.Resources.MyUserControl.xfrm"}{\f2\fs20\cf19\insrsid16077661 )}{\cf0\insrsid16077661\charrsid16077661 .}{\insrsid16077661 |
|
||||||
\par }{\cf0\insrsid16077661\charrsid16077661 Unlike SharpDevelop 1.x, the compiler will prepend the resource files name with the root namespace in the project settings and the folder it is stored within the |
|
||||||
project. Therefore, the file name MyUserControl.xfrm gets expanded to }{\f2\fs20\cf6\insrsid16077661\charrsid16077661 MyAddInName}{\f2\fs20\cf5\insrsid16077661\charrsid16077661 .Resources.}{\f2\fs20\cf9\insrsid16077661\charrsid16077661 MyUserControl.xfrm} |
|
||||||
{\cf0\insrsid16077661\charrsid16077661 . |
|
||||||
\par }\pard \s15\ql \li0\ri0\sa120\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 {\insrsid16077661\charrsid16077661 GetManifestResourceStream returns a stream, so don't forget to close it when you are finished.}{\insrsid16077661 |
|
||||||
\par }\pard\plain \s2\ql \li0\ri0\nowidctlpar\aspalpha\faauto\outlinelevel1\rin0\lin0\itap0 \f38\fs28\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 {\*\bkmkstart _Toc120779122}4.2 Bitmaps{\*\bkmkend _Toc120779122} |
|
||||||
\par }\pard\plain \ql \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 There are two types of bitmaps: |
|
||||||
\par }{\b\insrsid16077661 1. Bitmaps you need in your}{\b\insrsid16077661\charrsid16077661 addin}{\b\insrsid16077661 |
|
||||||
\par }{\insrsid16077661\charrsid16077661 Just put the bitmaps in the Resources directory and set the action to 'EmbedAsResource'. You can then use }{\f2\fs20\insrsid16077661\charrsid16077661 |
|
||||||
Assembly.GetExecutingAssembly().GetManifestResourceStream("RootNamespace.Resources.MyImage.png")}{\insrsid16077661\charrsid16077661 |
|
||||||
\par to get a stream to the resource file. You can create a bitmap from that stream, and then dispose the stream.}{\insrsid16077661 |
|
||||||
\par |
|
||||||
\par Q: Can I use a resource file (*.resources/*.resx), wouldn't this make things easier? |
|
||||||
\par A: Yes and No. It would be harder to alter the bitmap. I know that most bitmaps |
|
||||||
won't be altered during their life. The main reason for doing this is that #Develop may be ported to a newer .NET Version and the resource files will be broken onto the next .NET version. |
|
||||||
\par }{\insrsid16077661\charrsid16077661 This will make it more difficult to bring #Develop to the new framework. I recommend all people not storing anything other than strings into resource files. Binary data is a 100% no go. |
|
||||||
\par }{\insrsid16077661 |
|
||||||
\par }{\b\insrsid16077661\charrsid16077661 2. Bitmaps for the ResourceService |
|
||||||
\par }{\insrsid16077661\charrsid16077661 Bitmaps must be registered before they can be used in the ResourceService. The ResourceService is used for the icons of the pads and menu items. |
|
||||||
\par Currently, there is no easy way to make the ResourceService aware of icons supplied with your Addin. The easiest way to add new bitmaps is to go into the SharpDevelopResources/BitmapResources directory and put your bitmaps in a subdirectory.}{ |
|
||||||
\insrsid16077661 |
|
||||||
\par }{\insrsid16077661\charrsid16077661 Then you can edit the }{\b\insrsid16077661\charrsid16077661 text file}{\insrsid16077661\charrsid16077661 |
|
||||||
SharpDevelopResources/BitmapResources/BitmapResources.res and include a line for your bitmap (do this near the lines of the other bitmaps of the same subdirectory). Call BitmapResources/build.ba |
|
||||||
t and the resources will be compiled and inserted into the StartUp project (SharpDevelop.exe). Compile SharpDevelop using SharpDevelop/src/build.bat to finally use the new resource file.}{\insrsid16077661 |
|
||||||
\par }{\insrsid16077661\charrsid16077661 There is also another possible way when you want to distribute your r |
|
||||||
esources separately: Make a separate directory like SharpDevelopResources/BitmapResources for your project and use a similar build file to build the bitmaps in to a BitmapResources.resources binary file. Do not edit the BitmapResources.resources file dir |
|
||||||
ectly, always use the build script (see question in the previous section)! Then add the BitmapResources.resources file as embedded resource into your addin assembly. To register the file in the ResourceService}{\insrsid16077661 |
|
||||||
, create a AutoStart command that calls |
|
||||||
\par }{\f2\fs20\insrsid16077661 ResourceService}{\f2\fs20\cf19\insrsid16077661 .}{\f2\fs20\insrsid16077661 RegisterImages(}{\f2\fs20\cf2\insrsid16077661 "MyAddinName.Resources.BitmapResources"}{\f2\fs20\cf19\insrsid16077661 ,\line |
|
||||||
}{\b\f2\fs20\cf20\insrsid16077661 GetType}{\f2\fs20\cf19\insrsid16077661 ().}{\f2\fs20\insrsid16077661 Assembly)}{\insrsid16077661 |
|
||||||
\par In the future, we might implement a way where your *.addin file allows you to specify a resource directory for use with the ResourceService without requiring SharpDevelop to load your addin ass}{\insrsid16077661\charrsid16077661 embly on startup.}{ |
|
||||||
\insrsid16077661 |
|
||||||
\par }{\insrsid16077661\charrsid16077661 |
|
||||||
\par }\pard\plain \s2\ql \li0\ri0\nowidctlpar\aspalpha\faauto\outlinelevel1\rin0\lin0\itap0 \f38\fs28\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 {\*\bkmkstart _Toc120779123}4.3 Strings (localization){\*\bkmkend _Toc120779123} |
|
||||||
\par }\pard\plain \ql \li0\ri0\nowidctlpar\aspalpha\faauto\rin0\lin0\itap0 \f37\fs24\cf1\lang1033\langfe255\cgrid\langnp1033\langfenp255 {\insrsid16077661 For localizable strings, you can use SharpDevelop's resource service. |
|
||||||
\par To request a localized string, use StringParser.Parse(\'93$\{res:FullResourceName\}\'94). |
|
||||||
\par The string resource names should be in the format \'93YourAddInName.ResourceName\'94. |
|
||||||
\par In all strings in the XML addin definition file; in XmlForms and for the MessageService, resource access in \'93$\{...\}\'94 are automatically resolved, you do not need to call StringParser.Parse there. |
|
||||||
\par }{\b\insrsid16077661 How to supply your strings: |
|
||||||
\par }{\insrsid16077661 Add a .resources file to the \'93Resources\'94 directory of your addin (SharpDevelop has a template in the \'93Misc\'94 section). You should name it \'93StringResources.resources\'94. |
|
||||||
\par In this file, you enter the \'93fall back\'94 values when a resource entry is not found in a language-specific file. Normally, the US-English strings should be placed in that file. |
|
||||||
\par Put the translated strings in files like \'93StringResources.de.resources\'94 in the resource directory (\'93de\'94 is the language code). The translated strings will be automatically compiled into satellite assemblies. |
|
||||||
\par }{\b\insrsid16077661 How to make SharpDevelop aware of your strings: |
|
||||||
\par }{\insrsid16077661 Run the following command when your strings are needed the first time: |
|
||||||
\par }{\f2\fs20\insrsid16077661 ResourceService}{\f2\fs20\cf19\insrsid16077661 .}{\f2\fs20\insrsid16077661 RegisterStrings(}{\f2\fs20\cf2\insrsid16077661 "MyAddinName.Resources.StringResources"}{\f2\fs20\cf19\insrsid16077661 ,\line |
|
||||||
}{\b\f2\fs20\cf20\insrsid16077661 GetType}{\f2\fs20\cf19\insrsid16077661 ().}{\f2\fs20\insrsid16077661 Assembly)}{\insrsid16077661 |
|
||||||
\par This will make SharpDevelop load the strings and merge them into the ResourceService. The correct satellite assembly will automatically be (re)loaded whenever the user changes the UI language. |
|
||||||
\par }} |
|
Loading…
Reference in new issue