/usr/share/mozart/doc/demo/node19.html is in mozart-doc 1.4.0-8ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2  | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Graphical interface for computing solutions: Compute.oz</TITLE><LINK href="ozdoc.css" rel="stylesheet" type="text/css"></HEAD><BODY><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node18.html#code.cutting.edit"><< Prev</A></TD><TD><A href="cutting.html">- Up -</A></TD><TD><A href="node20.html#code.cutting.configure">Next >></A></TD></TR></TABLE><DIV class="unnumbered" id="code.cutting.compute"><H3><A name="code.cutting.compute">Graphical interface for computing solutions: <CODE>Compute.oz</CODE></A></H3><P class="margin"><A href="Cutting/Compute.oz">Source File</A></P><P> </P><BLOCKQUOTE><PRE><SPAN class="keyword">functor</SPAN> <BR> <BR><SPAN class="keyword">import</SPAN> <BR>   Tk TkTools Search<BR> <BR>   Script(compile: Compile)<BR>   Configure(colors: Colors<BR>             delays: Delays<BR>             fonts:  Fonts)<BR>    <BR> <BR><SPAN class="keyword">export</SPAN> <BR>   page: ComputePage<BR>    <BR><SPAN class="keyword">define</SPAN> <BR>    <BR>   BgColor      = Colors<SPAN class="keyword">.</SPAN>bg<BR>    <BR>   BadColor     = Colors<SPAN class="keyword">.</SPAN>bad<BR>   OkayColor    = Colors<SPAN class="keyword">.</SPAN>okay<BR>   GoodColor    = Colors<SPAN class="keyword">.</SPAN>good<BR>   NeutralColor = Colors<SPAN class="keyword">.</SPAN>neutral<BR>    <BR>   GlassColor   = Colors<SPAN class="keyword">.</SPAN>glass<BR>   CutColor     = Colors<SPAN class="keyword">.</SPAN>cut<BR>   SketchColor  = Colors<SPAN class="keyword">.</SPAN>sketch<BR> <BR>   CanvasBd     = 10<BR>   PlateWidth   = 15<BR>   ButtonWidth  = 10<BR>   PlateBd      = 3<BR>   Pad          = 3<BR>   CanvasWidth  = 250<BR>   CanvasHeight = 200<BR> <BR>   AnimDelay = Delays<SPAN class="keyword">.</SPAN>wait<BR>   CutDelay  = Delays<SPAN class="keyword">.</SPAN>cut<BR>    <BR>   <SPAN class="keyword">class</SPAN> <SPAN class="type">PlateCanvas</SPAN> <BR>      <SPAN class="keyword">from</SPAN><SPAN class="type"> Tk.canvas</SPAN> <BR> <BR>      <SPAN class="keyword">attr</SPAN> <BR>         Sol:       <SPAN class="keyword">unit</SPAN> <BR>         BreakAnim: <SPAN class="keyword">unit</SPAN> <BR>          <BR>      <SPAN class="keyword">meth</SPAN> <SPAN class="functionname">init</SPAN>(parent:P)<BR>              Tk<SPAN class="keyword">.</SPAN>canvas<SPAN class="keyword">,</SPAN>tkInit(parent: P<BR>                         bg:     BgColor<BR>                         width:  CanvasWidth<BR>                         height: CanvasHeight)<BR>      <SPAN class="keyword">end</SPAN> <BR> <BR>      <SPAN class="keyword">meth</SPAN> <SPAN class="functionname">sketch</SPAN>(Spec)<BR>         X0 = 1 <SPAN class="keyword">+</SPAN> CanvasBd<BR>         X1 = X0 <SPAN class="keyword">+</SPAN> Spec<SPAN class="keyword">.</SPAN>x<SPAN class="keyword">*</SPAN>PlateWidth <SPAN class="keyword">+</SPAN> 1<BR>         Y0 = 1 <SPAN class="keyword">+</SPAN> CanvasBd<BR>         Y1 = Y0 <SPAN class="keyword">+</SPAN> Spec<SPAN class="keyword">.</SPAN>y<SPAN class="keyword">*</SPAN>PlateWidth <SPAN class="keyword">+</SPAN> 1<BR>      <SPAN class="keyword">in</SPAN> <BR>         Tk<SPAN class="keyword">.</SPAN>canvas<SPAN class="keyword">,</SPAN>tk(create rectangle X0 Y0 X1 Y1<BR>                      fill:    SketchColor<BR>                      outline: SketchColor<BR>                      width:   0)<BR>         Tk<SPAN class="keyword">.</SPAN>canvas<SPAN class="keyword">,</SPAN>tk(configure<BR>                      scrollregion:q(0 0<BR>                                     {Max Spec<SPAN class="keyword">.</SPAN>x <SPAN class="keyword">*</SPAN> PlateWidth <SPAN class="keyword">+</SPAN> 2 <SPAN class="keyword">*</SPAN> CanvasBd<BR>                                      CanvasWidth}<BR>                                     {Max Spec<SPAN class="keyword">.</SPAN>y <SPAN class="keyword">*</SPAN> PlateWidth <SPAN class="keyword">+</SPAN> 2 <SPAN class="keyword">*</SPAN> CanvasBd<BR>                                      CanvasHeight}))<BR>      <SPAN class="keyword">end</SPAN> <BR>       <BR>      <SPAN class="keyword">meth</SPAN> <SPAN class="functionname">display</SPAN>(S)<BR>         Sol <SPAN class="keyword"><-</SPAN> S<BR>         D = S<SPAN class="keyword">.</SPAN>d<BR>         X = S<SPAN class="keyword">.</SPAN>x<BR>         Y = S<SPAN class="keyword">.</SPAN>y<BR>      <SPAN class="keyword">in</SPAN> <BR>         {For 1 {Width X} 1<BR>          <SPAN class="keyword">proc</SPAN><SPAN class="variablename"> </SPAN>{<SPAN class="functionname">$</SPAN> I}<BR>             X0 = X<SPAN class="keyword">.</SPAN>I <SPAN class="keyword">*</SPAN> PlateWidth <SPAN class="keyword">+</SPAN> 1 <SPAN class="keyword">+</SPAN> PlateBd <SPAN class="keyword">+</SPAN> CanvasBd<BR>             X1 = X0 <SPAN class="keyword">+</SPAN> D<SPAN class="keyword">.</SPAN>I<SPAN class="keyword">*</SPAN>PlateWidth <SPAN class="keyword">-</SPAN> 1 <SPAN class="keyword">-</SPAN> PlateBd<BR>             Y0 = Y<SPAN class="keyword">.</SPAN>I <SPAN class="keyword">*</SPAN> PlateWidth <SPAN class="keyword">+</SPAN> 1 <SPAN class="keyword">+</SPAN> PlateBd <SPAN class="keyword">+</SPAN> CanvasBd<BR>             Y1 = Y0 <SPAN class="keyword">+</SPAN> D<SPAN class="keyword">.</SPAN>I<SPAN class="keyword">*</SPAN>PlateWidth <SPAN class="keyword">-</SPAN> 1 <SPAN class="keyword">-</SPAN> PlateBd<BR>          <SPAN class="keyword">in</SPAN> <BR>             {<SPAN class="keyword">self</SPAN> tk(create rectangle X0 Y0 X1 Y1<BR>                      fill:    GlassColor<BR>                      width:   1<BR>                      outline: black)}<BR>          <SPAN class="keyword">end</SPAN>}<BR>      <SPAN class="keyword">end</SPAN> <BR> <BR>      <SPAN class="keyword">meth</SPAN> <SPAN class="functionname">Animate</SPAN>(CutInfo x:X y:Y)<BR>         <SPAN class="keyword">if</SPAN> {IsFree <SPAN class="keyword">@</SPAN>BreakAnim} <SPAN class="keyword">then</SPAN> <BR>            X0<SPAN class="keyword">#</SPAN>X1=X Y0<SPAN class="keyword">#</SPAN>Y1=Y<BR>         <SPAN class="keyword">in</SPAN> <BR>            <SPAN class="keyword">case</SPAN> CutInfo<BR>            <SPAN class="keyword">of</SPAN> nil <SPAN class="keyword">then</SPAN> <SPAN class="keyword">skip</SPAN> <BR>            <SPAN class="keyword">[]</SPAN> info(cut:Cut dir:Dir L R) <SPAN class="keyword">then</SPAN> <BR>               <SPAN class="keyword">case</SPAN> Dir<BR>               <SPAN class="keyword">of</SPAN> y <SPAN class="keyword">then</SPAN> <BR>                  Tk<SPAN class="keyword">.</SPAN>canvas<SPAN class="keyword">,</SPAN>tk(create line<BR>                               Cut<SPAN class="keyword">*</SPAN>PlateWidth<SPAN class="keyword">+</SPAN>CanvasBd<SPAN class="keyword">+</SPAN>2<BR>                               Y0<SPAN class="keyword">*</SPAN>PlateWidth<SPAN class="keyword">+</SPAN>CanvasBd<SPAN class="keyword">+</SPAN>2<BR>                               Cut<SPAN class="keyword">*</SPAN>PlateWidth<SPAN class="keyword">+</SPAN>CanvasBd<SPAN class="keyword">+</SPAN>2<BR>                               Y1<SPAN class="keyword">*</SPAN>PlateWidth<SPAN class="keyword">+</SPAN>CanvasBd<SPAN class="keyword">+</SPAN>2<BR>                               tags:  animate<BR>                               width: 1<BR>                               fill:  CutColor)<BR>                  {WaitOr <SPAN class="keyword">@</SPAN>BreakAnim {Alarm CutDelay}}<BR>                  PlateCanvas<SPAN class="keyword">,</SPAN>Animate(L x:X0<SPAN class="keyword">#</SPAN>Cut y:Y0<SPAN class="keyword">#</SPAN>Y1)<BR>                  PlateCanvas<SPAN class="keyword">,</SPAN>Animate(R x:Cut<SPAN class="keyword">#</SPAN>X1 y:Y0<SPAN class="keyword">#</SPAN>Y1)<BR>               <SPAN class="keyword">[]</SPAN> x <SPAN class="keyword">then</SPAN> <BR>                  Tk<SPAN class="keyword">.</SPAN>canvas<SPAN class="keyword">,</SPAN>tk(create line<BR>                               X0<SPAN class="keyword">*</SPAN>PlateWidth<SPAN class="keyword">+</SPAN>CanvasBd<SPAN class="keyword">+</SPAN>2<BR>                               Cut<SPAN class="keyword">*</SPAN>PlateWidth<SPAN class="keyword">+</SPAN>CanvasBd<SPAN class="keyword">+</SPAN>2<BR>                               X1<SPAN class="keyword">*</SPAN>PlateWidth<SPAN class="keyword">+</SPAN>CanvasBd<SPAN class="keyword">+</SPAN>2<BR>                               Cut<SPAN class="keyword">*</SPAN>PlateWidth<SPAN class="keyword">+</SPAN>CanvasBd<SPAN class="keyword">+</SPAN>2<BR>                               tags:  animate<BR>                               width: 1<BR>                               fill:  CutColor)<BR>                  {WaitOr <SPAN class="keyword">@</SPAN>BreakAnim {Alarm CutDelay}}<BR>                  PlateCanvas<SPAN class="keyword">,</SPAN>Animate(L x:X0<SPAN class="keyword">#</SPAN>X1 y:Y0<SPAN class="keyword">#</SPAN>Cut)<BR>                  PlateCanvas<SPAN class="keyword">,</SPAN>Animate(R x:X0<SPAN class="keyword">#</SPAN>X1 y:Cut<SPAN class="keyword">#</SPAN>Y1)<BR>               <SPAN class="keyword">end</SPAN> <BR>            <SPAN class="keyword">end</SPAN> <BR>         <SPAN class="keyword">end</SPAN> <BR>      <SPAN class="keyword">end</SPAN> <BR>       <BR>      <SPAN class="keyword">meth</SPAN> <SPAN class="functionname">animate</SPAN> <BR>         S = <SPAN class="keyword">@</SPAN>Sol<BR>      <SPAN class="keyword">in</SPAN> <BR>         BreakAnim <SPAN class="keyword"><-</SPAN> _<BR>         PlateCanvas<SPAN class="keyword">,</SPAN>Animate(S<SPAN class="keyword">.</SPAN>cuts x:0<SPAN class="keyword">#</SPAN>S<SPAN class="keyword">.</SPAN>dx y:0<SPAN class="keyword">#</SPAN>S<SPAN class="keyword">.</SPAN>dy)<BR>         {WaitOr <SPAN class="keyword">@</SPAN>BreakAnim {Alarm AnimDelay}}<BR>         Tk<SPAN class="keyword">.</SPAN>canvas<SPAN class="keyword">,</SPAN>tk(delete animate)<BR>      <SPAN class="keyword">end</SPAN> <BR> <BR>      <SPAN class="keyword">meth</SPAN> <SPAN class="functionname">stopAnim</SPAN> <BR>         <SPAN class="keyword">@</SPAN>BreakAnim = <SPAN class="keyword">unit</SPAN> <BR>      <SPAN class="keyword">end</SPAN> <BR> <BR>      <SPAN class="keyword">meth</SPAN> <SPAN class="functionname">clear</SPAN> <BR>         Sol <SPAN class="keyword"><-</SPAN> <SPAN class="keyword">unit</SPAN> <BR>         Tk<SPAN class="keyword">.</SPAN>canvas<SPAN class="keyword">,</SPAN>tk(delete all)<BR>      <SPAN class="keyword">end</SPAN> <BR>   <SPAN class="keyword">end</SPAN> <BR> <BR> <BR>   <SPAN class="keyword">class</SPAN> <SPAN class="type">ComputePage</SPAN> <BR>      <SPAN class="keyword">from</SPAN><SPAN class="type"> TkTools.note</SPAN> <BR> <BR>      <SPAN class="keyword">feat</SPAN> <BR>         start stop animate plate edit status<BR>          <BR>      <SPAN class="keyword">attr</SPAN> <BR>         script:  <SPAN class="keyword">unit</SPAN> <BR>         stopper: <SPAN class="keyword">false</SPAN> <BR>          <BR>      <SPAN class="keyword">meth</SPAN> <SPAN class="functionname">init</SPAN>(parent:P edit:E)<BR>         TkTools<SPAN class="keyword">.</SPAN>note<SPAN class="keyword">,</SPAN>tkInit(parent:P text:<SPAN class="string">'Compute'</SPAN>)<BR>          <BR>         ButtonFrame = {New Tk<SPAN class="keyword">.</SPAN>frame tkInit(parent:<SPAN class="keyword">self</SPAN>)}<BR>          <BR>         Start = {New Tk<SPAN class="keyword">.</SPAN>button tkInit(parent: ButtonFrame<BR>                                       text:   <SPAN class="string">'Start'</SPAN> <BR>                                       width:  ButtonWidth<BR>                                       action: <SPAN class="keyword">self</SPAN> <SPAN class="keyword">#</SPAN> start<BR>                                       font:   Fonts<SPAN class="keyword">.</SPAN>normal)}<BR>         Stop  = {New Tk<SPAN class="keyword">.</SPAN>button tkInit(parent: ButtonFrame<BR>                                       text:   <SPAN class="string">'Stop'</SPAN> <BR>                                       width:  ButtonWidth<BR>                                       action: <SPAN class="keyword">self</SPAN> <SPAN class="keyword">#</SPAN> stop<BR>                                       state:  disabled<BR>                                       font:   Fonts<SPAN class="keyword">.</SPAN>normal)}<BR>         Anim  = {New Tk<SPAN class="keyword">.</SPAN>button tkInit(parent: ButtonFrame<BR>                                       text:   <SPAN class="string">'Animate'</SPAN> <BR>                                       width:  ButtonWidth<BR>                                       action: <SPAN class="keyword">self</SPAN> <SPAN class="keyword">#</SPAN> animate<BR>                                       state:  disabled<BR>                                       font:   Fonts<SPAN class="keyword">.</SPAN>normal)}<BR>          <BR>         GlassFrame = {New Tk<SPAN class="keyword">.</SPAN>frame tkInit(parent:<SPAN class="keyword">self</SPAN>)}<BR>          <BR>         PC = {New PlateCanvas init(parent: GlassFrame)}<BR>         H  = {New Tk<SPAN class="keyword">.</SPAN>scrollbar      tkInit(parent:GlassFrame orient:horizontal<BR>                                            width:13)}<BR>         V  = {New Tk<SPAN class="keyword">.</SPAN>scrollbar      tkInit(parent:GlassFrame orient:vertical<BR>                                            width:13)}<BR>         Status = {New Tk<SPAN class="keyword">.</SPAN>label tkInit(parent: ButtonFrame<BR>                                       font:   Fonts<SPAN class="keyword">.</SPAN>normal<BR>                                       text:   <SPAN class="string">''</SPAN> <BR>                                       width:  13<BR>                                       bg:     NeutralColor<BR>                                       relief: sunken<BR>                                       bd:     1)}<BR>          <BR>      <SPAN class="keyword">in</SPAN> <BR>         {Tk<SPAN class="keyword">.</SPAN>addXScrollbar PC H}<BR>         {Tk<SPAN class="keyword">.</SPAN>addYScrollbar PC V}<BR>         {Tk<SPAN class="keyword">.</SPAN>batch [grid(columnconfigure GlassFrame    0 weight:1)<BR>                    grid(rowconfigure    GlassFrame    0 weight:1)<BR>                    grid(PC row:0 column:0 sticky:nsew)<BR>                    grid(H row:1 column:0 sticky:we)<BR>                    grid(V row:0 column:1 sticky:ns)<BR>                    grid(columnconfigure <SPAN class="keyword">self</SPAN>    2 weight:1)<BR>                    grid(rowconfigure    <SPAN class="keyword">self</SPAN>    1 weight:1)<BR>                     <BR>                    grid(row:1 column:1 padx:Pad pady:Pad Start)<BR>                    grid(row:2 column:1 padx:Pad pady:Pad Stop)<BR>                    grid(row:3 column:1 padx:Pad pady:Pad<BR>                         {New Tk<SPAN class="keyword">.</SPAN>canvas tkInit(parent:ButtonFrame<BR>                                               width:0 height:20)})<BR>                    grid(row:4 column:1 padx:Pad pady:Pad Status)<BR>                    grid(row:5 column:1 padx:Pad pady:Pad<BR>                         {New Tk<SPAN class="keyword">.</SPAN>canvas tkInit(parent:ButtonFrame<BR>                                               width:0 height:20)})<BR>                    grid(row:6 column:1 padx:Pad pady:Pad Anim)<BR>                     <BR>                    grid(row:1 column:1 ButtonFrame sticky:nw)<BR>                    grid(row:1 column:2 GlassFrame sticky:ne)<BR>                   ]}<BR>         <SPAN class="keyword">self.</SPAN>start   = Start<BR>         <SPAN class="keyword">self.</SPAN>stop    = Stop<BR>         <SPAN class="keyword">self.</SPAN>animate = Anim<BR>         <SPAN class="keyword">self.</SPAN>plate   = PC<BR>         <SPAN class="keyword">self.</SPAN>edit    = E<BR>         <SPAN class="keyword">self.</SPAN>status  = Status<BR>      <SPAN class="keyword">end</SPAN> <BR> <BR>      <SPAN class="keyword">meth</SPAN> <SPAN class="functionname">start</SPAN> <BR>         Script<BR>         Stopper<BR>      <SPAN class="keyword">in</SPAN> <BR>         <SPAN class="keyword">lock</SPAN> <BR>            Script = <SPAN class="keyword">@</SPAN>script<BR>            stopper <SPAN class="keyword"><-</SPAN> Stopper<BR>            {<SPAN class="keyword">self.</SPAN>start  tk(configure state:disabled)}<BR>            {<SPAN class="keyword">self.</SPAN>stop   tk(configure state:normal)}<BR>            {<SPAN class="keyword">self.</SPAN>status tk(configure bg:NeutralColor text:<SPAN class="string">'Computing.'</SPAN>)}<BR>         <SPAN class="keyword">end</SPAN> <BR>         <SPAN class="keyword">case</SPAN> {Search<SPAN class="keyword">.</SPAN>one<SPAN class="keyword">.</SPAN>depth Script 1 ?Stopper}<BR>         <SPAN class="keyword">of</SPAN> nil <SPAN class="keyword">then</SPAN> <BR>            {<SPAN class="keyword">self.</SPAN>stop   tk(configure state:disabled)}<BR>            <SPAN class="keyword">if</SPAN> <SPAN class="keyword">@</SPAN>stopper<SPAN class="keyword">==true</SPAN> <SPAN class="keyword">then</SPAN> <BR>               {<SPAN class="keyword">self.</SPAN>status tk(configure bg:OkayColor text:<SPAN class="string">'Stopped.'</SPAN>)}<BR>               {<SPAN class="keyword">self.</SPAN>start  tk(configure state:normal)}<BR>            <SPAN class="keyword">else</SPAN> <BR>               {<SPAN class="keyword">self.</SPAN>status tk(configure bg:BadColor text:<SPAN class="string">'No solution.'</SPAN>)}<BR>            <SPAN class="keyword">end</SPAN> <BR>         <SPAN class="keyword">[]</SPAN> [Sol] <SPAN class="keyword">then</SPAN> <BR>            {<SPAN class="keyword">self.</SPAN>stop    tk(configure state:disabled)}<BR>            {<SPAN class="keyword">self.</SPAN>plate   display(Sol)}<BR>            {<SPAN class="keyword">self.</SPAN>status tk(configure bg:GoodColor text:<SPAN class="string">'Okay.'</SPAN>)}<BR>            {<SPAN class="keyword">self.</SPAN>animate tk(configure state:normal)}<BR>         <SPAN class="keyword">end</SPAN> <BR>      <SPAN class="keyword">end</SPAN> <BR> <BR>      <SPAN class="keyword">meth</SPAN> <SPAN class="functionname">stop</SPAN> <BR>         <SPAN class="keyword">lock</SPAN> <BR>            S=<SPAN class="keyword">@</SPAN>stopper<BR>         <SPAN class="keyword">in</SPAN> <BR>            <SPAN class="keyword">if</SPAN> {Procedure<SPAN class="keyword">.</SPAN>is S} <SPAN class="keyword">then</SPAN> <BR>               stopper <SPAN class="keyword"><-</SPAN> <SPAN class="keyword">true</SPAN> <BR>               {S}<BR>            <SPAN class="keyword">end</SPAN> <BR>         <SPAN class="keyword">end</SPAN> <BR>      <SPAN class="keyword">end</SPAN> <BR>       <BR>      <SPAN class="keyword">meth</SPAN> <SPAN class="functionname">animate</SPAN> <BR>         <SPAN class="keyword">lock</SPAN> <BR>            {<SPAN class="keyword">self.</SPAN>animate tk(configure state:disabled)}<BR>            {<SPAN class="keyword">self.</SPAN>plate animate}<BR>            {<SPAN class="keyword">self.</SPAN>animate tk(configure state:normal)}<BR>         <SPAN class="keyword">end</SPAN> <BR>      <SPAN class="keyword">end</SPAN> <BR> <BR>      <SPAN class="keyword">meth</SPAN> <SPAN class="functionname">toBottom</SPAN> <BR>         {<SPAN class="keyword">self.</SPAN>plate stopAnim}<BR>         ComputePage<SPAN class="keyword">,</SPAN>stop<BR>      <SPAN class="keyword">end</SPAN> <BR>       <BR>      <SPAN class="keyword">meth</SPAN> <SPAN class="functionname">toTop</SPAN> <BR>         <SPAN class="keyword">lock</SPAN> <BR>            Spec = {<SPAN class="keyword">self.</SPAN>edit getSpec($)}<BR>         <SPAN class="keyword">in</SPAN> <BR>            {<SPAN class="keyword">self.</SPAN>stop    tk(configure state:disabled)}<BR>            {<SPAN class="keyword">self.</SPAN>animate tk(configure state:disabled)}<BR>            {<SPAN class="keyword">self.</SPAN>plate   clear}<BR>            <SPAN class="keyword">if</SPAN> {Record<SPAN class="keyword">.</SPAN>foldL Spec<SPAN class="keyword">.</SPAN>squares Number<SPAN class="keyword">.</SPAN><SPAN class="string">'+'</SPAN> 0}<SPAN class="keyword">></SPAN>0 <SPAN class="keyword">then</SPAN> <BR>               script  <SPAN class="keyword"><-</SPAN> {Compile Spec}<BR>               stopper <SPAN class="keyword"><-</SPAN> <SPAN class="keyword">false</SPAN> <BR>               {<SPAN class="keyword">self.</SPAN>start   tk(configure state:normal)}<BR>               {<SPAN class="keyword">self.</SPAN>plate   sketch(Spec)}<BR>               {<SPAN class="keyword">self.</SPAN>status  tk(configure bg:NeutralColor text:<SPAN class="string">''</SPAN>)}<BR>            <SPAN class="keyword">else</SPAN> <BR>               {<SPAN class="keyword">self.</SPAN>start   tk(configure state:disabled)}<BR>               {<SPAN class="keyword">self.</SPAN>status  tk(configure bg:BadColor text:<SPAN class="string">'What?'</SPAN>)}<BR>            <SPAN class="keyword">end</SPAN> <BR>         <SPAN class="keyword">end</SPAN> <BR>      <SPAN class="keyword">end</SPAN> <BR> <BR>   <SPAN class="keyword">end</SPAN> <BR>    <BR><SPAN class="keyword">end</SPAN> <BR></PRE></BLOCKQUOTE><P></P></DIV><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node18.html#code.cutting.edit"><< Prev</A></TD><TD><A href="cutting.html">- Up -</A></TD><TD><A href="node20.html#code.cutting.configure">Next >></A></TD></TR></TABLE><HR><ADDRESS><SPAN class="version">Version 1.4.0 (20110908185330)</SPAN></ADDRESS></BODY></HTML>
 |