?? an oo interface to metakit from tcl.mht
字號:
From: =?gb2312?B?08kgV2luZG93cyBJbnRlcm5ldCBFeHBsb3JlciA3ILGjtOY=?=
Subject: An OO interface to Metakit from Tcl
Date: Thu, 28 Feb 2008 23:24:51 +0800
MIME-Version: 1.0
Content-Type: multipart/related;
type="text/html";
boundary="----=_NextPart_000_0027_01C87A61.1DF7E1E0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6000.16545
這是 MIME 格式的多方郵件。
------=_NextPart_000_0027_01C87A61.1DF7E1E0
Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.equi4.com/metakit/oomk.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML><HEAD><TITLE>An OO interface to Metakit from Tcl</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dgb2312">
<META content=3D"Jean-Claude Wippler" name=3DAuthor>
<META content=3D"MSHTML 6.00.6000.16609" name=3DGENERATOR><LINK =
media=3Dscreen=20
href=3D"http://www.equi4.com/site.css" type=3Dtext/css =
rel=3Dstylesheet><LINK=20
media=3Dprint href=3D"http://www.equi4.com/site-print.css" =
type=3Dtext/css=20
rel=3Dstylesheet></HEAD>
<BODY>
<DIV id=3Dsite><A href=3D"http://www.equi4.com/"><IMG id=3Dlogo=20
src=3D"http://www.equi4.com/Resources/equi4.gif"></A> </DIV>
<DIV id=3Dhead>
<H1>An OO interface to Metakit from Tcl </H1></DIV>
<DIV id=3Dnav>
<UL>
<LI><A href=3D"http://www.equi4.com/index.html">Home</A>=20
<LI><A href=3D"http://www.equi4.com/metakit/index.html">Metakit</A>=20
<UL>
<LI><A =
href=3D"http://www.equi4.com/metakit/docs.html">Documentation</A>=20
<LI><A =
href=3D"http://www.equi4.com/metakit/kitviewer.html">KitViewer</A>=20
<LI><A =
href=3D"http://www.equi4.com/metakit/overview.html">Download</A>=20
<LI><A href=3D"http://www.equi4.com/metakit/links.html">Support</A> =
</LI></UL>
<LI><A href=3D"http://www.equi4.com/tclkit/index.html">Tclkit</A>=20
<UL>
<LI><A =
href=3D"http://www.equi4.com/tclkit/docs.html">Documentation</A>=20
<LI><A href=3D"http://www.equi4.com/tclkit/tclkitlite.html">Tclkit =
Lite</A>=20
<LI><A =
href=3D"http://www.equi4.com/tclkit/download.html">Download</A>=20
<LI><A href=3D"http://www.equi4.com/tclkit/links.html">Support</A> =
</LI></UL>
<LI><A href=3D"http://www.equi4.com/starkit/index.html">Starkits</A>=20
<UL>
<LI><A href=3D"http://www.equi4.com/starkit/critcl.html">Critcl</A>=20
<LI><A class=3Dcurrent =
href=3D"http://www.equi4.com/metakit/oomk.html">OOMK</A>=20
<LI><A href=3D"http://www.equi4.com/starkit/sdx.html">SDX</A>=20
<LI><A href=3D"http://www.equi4.com/starkit/wikit.html">Wikit</A> =
</LI></UL>
<LI><A href=3D"http://www.equi4.com/catfish/index.html">Catfish</A>=20
<LI><A href=3D"http://www.equi4.com/about/older.html">Older</A>=20
<LI><A href=3D"http://www.equi4.com/moam/index.html">Musings</A>=20
<LI><A href=3D"http://www.equi4.com/about/contact.html">Contact</A>=20
</LI></UL></DIV>
<DIV id=3Dmain>
<P><STRONG>Oomk exposes more of the Metakit core to Tcl</STRONG> than =
the Mk4tcl=20
binding. It is a pure-Tcl wrapper around Mk4tcl and Mk4too. While Mk4too =
goes a=20
long way in bringing the more advanced features of Metakit to Tcl, it is =
a bit=20
rough and tricky to use from Tcl.</P>
<P><IMG style=3D"FLOAT: right; MARGIN: 0px" height=3D100=20
src=3D"http://www.equi4.com/Resources/item9b.gif" width=3D133 =
border=3D0> Oomk uses=20
Will Duquette's <A href=3D"http://www.wjduquette.com/snit/">Snit</A> =
("Snit is Not=20
IncrTcl") as OO framework. Snit has greatly simplified the wrapping =
process=20
through its delegation feature. And because the outer layer of Oomk is =
Tcl, it=20
is easy to extend and refine it without having to re-compile any code. =
Oomk has=20
even proven useful in working around bugs in Mk4too.</P>
<P>Oomk is available as a Starkit, i.e. ready to go - download it <A=20
href=3D"http://www.equi4.com/pub/sk/oomk.kit">here</A>.</P>
<P>The documentation is inside the starkit, just run it without =
arguments for=20
details.</P>
<P>There's a draft one-page <A=20
href=3D"http://www.equi4.com/metakit/oomksheet.png">cheat sheet</A> =
overview of=20
all functions.</P>
<P>The "<A href=3D"http://www.equi4.com/fff/index.html">Failure Feedback =
Forum</A>" on this website can be used to report bugs.</P><BR =
class=3Dflush>
<DIV id=3Dtoc></DIV></DIV>
<DIV id=3Dfoot>
<HR class=3Dnoscreen>
<SPAN id=3Dleftfoot>© 2008 <A=20
href=3D"http://www.equi4.com/about/contact.html">Jean-Claude Wippler</A> =
=A1=A4=20
powered by <A href=3D"http://mavrig.org/">Mavrig</A> =
=A1=A4 design=20
adapted from <A href=3D"http://luajit.org/">luajit.org</A> with =
permission=20
</SPAN></DIV></BODY></HTML>
------=_NextPart_000_0027_01C87A61.1DF7E1E0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.equi4.com/Resources/equi4.gif
R0lGODlhYQAjAPMAAP/////Ozv+cnP9jY/8xMf8AAM7OzpycnGNjYzExMQAAAP///wAAAAAAAAAA
AAAAACH5BAEAAAsALAAAAABhACMAAAT/EMhJq7046827/2AojpZinmhqSmqLsq4Lx6pU3Hiu3xTd
zr4TMKgYBm27JK53QjifzxdAhTAYDojatIlIoJzSFvgHUBYIhB3TZMCEmxZDCtjOCgHe1XaOJysH
SDlrCm0XbwoJEgYJCQiKh4QAdnp5RXtSlVJJBBNqEyh1NDNtcieJfXqgkph3ZJl3SQGdOoOhMTMS
r20HrSe2lL18r3o7gLJltJ++klBjqYhGjqWWqpOWlUbXfjmcAZzIgspsF9PU0Jcm0sGR1rnrd8OW
OrJogUvikQbN7VunKgcAptFZBe8dMC05BAAQQAAQgDThBlrTcsfOAS+/BvIq+EzYthvH/yoMiHjp
F5kTAPsUAgJEXTqW6A7ySRig5rEAI+8NNLSukJUJGzvqCegTEseZm+zxwLeygtGUih4JRdQ06FSZ
mpKC0xnTRzZGXhJYMYiI0UkisMwkGUQkm6iub9GmVZvM7S24d+Ve9bqV7lISgAMLHky4sOHDG34i
Xsz4U6MKYhtLBizHUNPJhTeeqrAIEVRFYZtmiTyB9GbSQPM4qoCA1+bSL0PIafPYKcDZFXhdlvMZ
j7rbloDmi0SBUUDIq2uDUFDlwsUJXTgH73H5OZZE0TkH1A25N4sDVniJ6IxawnPzrwNO/3R5Cp73
CbyHzXI5fpyyYMdLyJJ7c/YJlZXQXkp82IkH2WbEleZdgCRwd14PwO22HgvtdSGNcQful2Au3uFx
CoYg2FEeaJ7dd0EWveE2xYKqKdCbfRfkkR5mNNZo44045qjjjjpGAAA7
------=_NextPart_000_0027_01C87A61.1DF7E1E0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.equi4.com/Resources/item9b.gif
R0lGODlhhQBkAPcAAP//////9f/+7f/95P/31v/2y/7ouP337Pz39fz25fzpxvzgqff79/f35ffy
7vfu5ffbqPfSifXat/T+//T3/PPz8/PTlPPMh/L/7fLu9/Lq1/LNku7/8u7i2e7c3O7Spe3//+3y
9e3Ehur73Ory++rlt+rXtOrNq+jHlObl6OXy9+Xq8uXCeeW9guO6eeL8/+H1/uDc6uDNseCrXNzc
4NzIvdzIq9y3idy3cNq1ltqrZtmndNfq9tfl69b5/tPT09K9q9KfedKfZtKVRtKJT83it83g3M2l
ec2RLs2JTszMzMyRRMr0/8rs+8jgwsja6sjX3MjN0sixn8ilmMiHLsiCAMTz/sK6t8KfcMDAwL3q
5b3X5b3S3L3I3L3Cvb2lhr2RXLu7u7fN4Le6xbeYZreCLreCALd5Qbd0ALbm/LSopbSfhrLc87GC
XLFmALFcAKu916uxq6uRXKuJZqt5QatwLqtmLqpcAKjb96hmAKdPAKXI5aXI16WotKVmXJ+CmJ+C
T59meZ9cAJzU6prT85pKAJix3Jh5XJbL6pVmQZUuAJHN8pG3zZGlt5FwT5FcLpFBT5EAAImfyImR
vYmRZolcAIkuT4fM84ez1ocuAIcAAIbI7YK9zYKJcIJmXIJcLnnC6nmx3HmVnHkALnW65XQAAHEu
QXCr13CY0nCRq3CCmHBmn3BcQXBcAHBBAHAuAGap2mafyGaVtGZcXGZcQWYuAGYAAFyo2lyf11yf
yFyVt1yGqFxmpVxPQVxBkVwALlwAAE+l10+Jq095pU9BkU9BQU9BAE8ALkkuiUic0kiRzUhmlUgu
kUcAAEZ5nUQAREGRvUGCxkF5sUFmq0FPXEFBLkEAgkEAcEEAXC6W0i6RzS6Hyy55ty5mqy5PkS5P
QS5BXC5BLi4ukS4ucC4AcC4AXC4AQS4ALi4AAACDxwB5xQBxtQBmsQBmnwBcqABckQBIggBFlQBB
ewAulgAuiQAueQAuQQAAkQAAiAAAeAAAZgAAXAAASQAALgAAAP///yH5BAEAAP8ALAAAAACFAGQA
AAj/AAEIHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3MixI0ElYbKIHEmypMmTKFOqXMmSpRKP
CsPAnMlRJk2DL2/qrJhzp0CbPoM6BOqzp9CjCY3uJIq0KUGmOpU6dSr1JtSpSK/SrIpVKNeZWrv6
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
------=_NextPart_000_0027_01C87A61.1DF7E1E0
Content-Type: text/css;
charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.equi4.com/site.css
BODY {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8.5pt; BACKGROUND: =
#e8e8e8; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #000000; =
BORDER-TOP-STYLE: none; PADDING-TOP: 0px; FONT-FAMILY: Verdana, "Lucida =
Grande", Lucida, sans-serif; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
A:link {
BACKGROUND: none transparent scroll repeat 0% 0%; COLOR: #2142bf; =
TEXT-DECORATION: none
}
A:visited {
BACKGROUND: none transparent scroll repeat 0% 0%; COLOR: #2142bf; =
TEXT-DECORATION: none
}
A:hover {
BACKGROUND: none transparent scroll repeat 0% 0%; COLOR: red; =
TEXT-DECORATION: underline
}
A:active {
BACKGROUND: none transparent scroll repeat 0% 0%; COLOR: red; =
TEXT-DECORATION: underline
}
H1 {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; PADDING-BOTTOM: 0px; MARGIN: 0.5em 0px; =
PADDING-TOP: 0px; TEXT-ALIGN: left
}
H2 {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; PADDING-BOTTOM: 0px; MARGIN: 0.5em 0px; =
PADDING-TOP: 0px; TEXT-ALIGN: left
}
H3 {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; PADDING-BOTTOM: 0px; MARGIN: 0.5em 0px; =
PADDING-TOP: 0px; TEXT-ALIGN: left
}
H1 {
FONT-SIZE: 150%; LINE-HEIGHT: 2em
}
#head H1 {
MARGIN: 0px; LINE-HEIGHT: 3em; LETTER-SPACING: 1px
}
H2 {
FONT-SIZE: 125%
}
H3 {
FONT-SIZE: 115%; LETTER-SPACING: 1px
}
HR {
BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; MAX-WIDTH: 500px; MARGIN: 2em 0px 0px; COLOR: #c0c0c0; HEIGHT: 1px; =
BACKGROUND-COLOR: #c0c0c0; BORDER-RIGHT-WIDTH: 0px
}
P {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; MAX-WIDTH: 500px; =
PADDING-BOTTOM: 0px; MARGIN: 1em 0px; PADDING-TOP: 0px
}
UL {
PADDING-RIGHT: 0px; PADDING-LEFT: 2em; MAX-WIDTH: 500px; =
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -