Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

i actually read sicp

Name: Anonymous 2012-11-28 5:08

really slow plot

Name: Anonymous 2012-11-29 13:23

>>19
But can you write a graphical file browser in J, together with all common widgets?

arrow D Fn S:{\normal} = o
  render:<=skin “arrow/$D-$S”>
  input:<[\mice_left y P] = S,<\normal=!S:\pressed = timer 1/4 <= S,<\pressed = Fn,c = √>> >
        ;[\mice_left n P] = S,<\pressed=Fn,c=!S:\normal>>
  _prn:<=“arrow\\$D S:\\$S”>

litem Text W:{140} S:{\normal} = T:ø = TW:1 = TH:ø = Bs:ø
 = R:o render:<OS:{ø}=Bs.{OS;S}> text:<=T>
       s_text:<ø = !S:\disabled = r “ ”
              ;Text:!T = !T:Text = textSize \small T | <[W H] = !TW:W = !TH:H>
                       = T,<!“ ”=!S:\normal> = !Bs: q normal picked disabled | sort
                       | m:N l N (skin “litem/$N” |h cut 0 0 W 18
                                 | <G = C:N,<\picked=\white;\disabled=\grey;_=\yellow>
                                      = blitText 4 G'h%2-TH%2+2 \small T Tint:C G>)>
       s_state:<NS=!S:NS>
       input:<[\mice_left y P] = !S:S,<\normal=\picked;\picked=\normal;X=X>>
       _prn:<=“litem $T W:$W $S:\\$S”>
 = R.s_text Text = R


list Xs L:{5} W:{300} F:{<V=>} = O:ø = N:0 = LV:ø = B: dup {L;1} “ ” | m:T litem T W:W | box\v
 = Is:B'items | m ?,1 = H:Is,0'render'h
 = R:o render:B.render value:<=Xs,N> data:<=Xs> off:<=O>
       s_off:<NO:!O = !O: sature1D 0 Xs,len-1 NO
                    = rng 0 L | e <K = I:O+K = Is,K.s_text Xs,I = {I≥≤N = Is,K.s_state \picked}>>
       s_data:<Ys = !Xs:Ys = !N:0 = !O:ø = s_off 0>
       input:<[\mice_left y P] = NN: sature1D 0 Xs,len-1 P,1%H+O
                               = {NN≤≥N = K:N-O = {K≥≥0 |a K≤≤L= Is,K.s_state \normal}
                                        = !N:NN = F Xs,N = Is,(N-O).s_state \picked}>
 = R.s_off 0 = {Xs = Is,0.s_state \picked} = F Xs,N = R

box D Xs S:{0} = Rs:Xs|m:X [[0 0 1 1] X] = o items:<=Rs>
 render:<= Hs: m ?'render Xs = !Rs:ø = W:0 = H:0
         = D,<\v = !W: maxBy ?'w Hs | ?'w = !H: Hs | m ?'h | infix S | sum
             ; _ = !H: maxBy ?'h Hs | ?'h = !W: Hs | m ?'w | infix S | sum>
         = u w:<=W> h:<=H>
             proxy:<X Y G = N:0 = m [? ??] Xs Hs
                          | e <[B H] = P:D,<\v=[0 N];_=[N 0]> = G.blit @(P+[X Y]) H
                                     = [@!Rs [[@P H'w H'h] B]] = !N+(S+D,<\v=H'h; _=H'w>)>>>
 _prn:<=“box\\$D S:$S”>

slider D Fn Size:{124} A:{1} V:{0} S:{\normal}
 = K: skin “slider/knob” = B: skin “slider/$D-normal”
 = !B: B.cut 0 0 @D,<\v=[B'w Size];_=[Size B'h]> = M:Size-D,<\v=K'h;_=K'w>
 = !V:(sature1D 0 100 V)*M/100 = R:o
   render:<=B'copy.blit @([1 1]+D,<\v=[0 V,int];_=[V,int 0]>)  K> value:<=V*100%M>
   s_value:<NV = !NV:sature1D 0 100 NV = {NV≤≥(c value) = !V:NV*M/100 = R:value,c = Fn R} = ø>
   input:<[\mice_move _ P] = S,<\pressed = sature1D 0 M D,<\v=P,1;_=P,0>
                                         | <NV:!V = !V:NV = Fn value,c>>
         ;[\mice_left y P] = S,<\normal=!S:\pressed>
         ;[\mice_left n P] = S,<\pressed=!S:\normal>>
   _prn:<=“slider\\$D Size:$Size”>
 = {A = box D ::l (arrow D,<\v=\up;_=\left> <=R.s_value R'value-A>)
                  R
                  (arrow D,<\v=\down;_=\right> <=R.s_value R'value+A>)
   ;√ = R}

fileList Root F = fl:<R = Es:R,ls = Fs: k file? Es | m ?,pne,<[P N E]=“$N.$E”>
                        = Ds: k dir? Es | m ?,pne,0,rhd | m “$?/”
                        = [@R,<!“/”=[“../”]> @Ds @Fs]>
                = Root,rhd,<!“/”=!Root:“$Root/”> = L:list L:9 F:<N=F “$Root$N”> Root,fl = LI:L.input
                = !L.input:<[\mice_left_double y P] = V:L'value,<“../”=Root,pne,<[P N E]=[P,rtl N E],unpne>
                                                                ;V=“$Root$V”>
                                                    = {V,dir? = !Root:V = L.s_data V,fl}
                           ;E = LI E>
                = box\h ::l L (slider\v <N = L.s_off N*L'data,len%100>)

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List