===============================================================================
         SICStus-Prolog Tcl/Tk GUIʥ饤֥  ͽ
            Copyright (C) 1999  (̳ƻ ˡ)
                         ǽ:1999.1.31 
===============================================================================

[⥸塼̾]
   window

[]

  [ȥ⥸塼]
    tcltk

  [ѥ֥å]
     init_window/0,create/3,createSubWin/3,kill/1,flush/0,get_event/2,
     tk_set_var/3,tk_get_var/3,window_bell/1,iconify/1,deiconify/1,
     hide/1,get_parts/3,on_SubWin/3,clear_canvas/1,get_canvas_size/3,
     set_canvas_scroll_region/1,createBox/4,createOval/4,createText/4,
     createLine/4,createPoly/4,createArc/4,set_fig_attr/2,get_fig_attr/2,
     get_fig_info/2,get_owner_canvas/2,move/3,remove/1,scale/5,lower/1,
     raise/1,visible/1,invisible/1,dragable/2,click_notify/2,
     undragable/1,is_dragable/1,createGroup/1,regist/2,release/1,
     release/2,get_text/2,putl_text/2,put_text/2,clear_text/1,
     end_text/1,top_text/1,clear_entry/1,set_items/2,add_item/2,insert_item/3,
     get_items/2,get_item/3,get_item/2,clear_items/1,delete_item/2,
     get_items_size/2,set_parts_attr/2,get_parts_attr/3,monoff/0,monon/0.

  [黻]
    op(980,xfx,::=)
      ɥǥե°˻Ѥ롣
    op(900,xfy,->)
      °˻Ѥ롣
    op(300,xfx,:)
      Widget׻˻Ѥ롣

  [dynamic]
    ե졼̾ưѥ
      frame_count/1
    ɥIDơ֥
      window_id/2
    ʥѥơ֥
      win_path_table/4
    Х쥸
      canvas_register/2
    ȥ졼å
      window_trace/1
      ǥեȤoff
    ޷Ļ
      visible_info/3

[]

  桼Ҥƥץ졼Ȥ˽äơ롼ȤȤʤ륦ɥФʤ
  ֤°ꤹ뵡ǽ󶡤롣ޤΥɥϤ
  뵡ǽ󶡤롣ˡ޷֥ȤѤ赡ǽ󶡤롣

  [饹]
   롼ȥɥ
     Tk󥿥ץ꥿Υȥåץ٥ΥɥǤꡢ桼Υƥ
     졼Ȥ˽äʤ°ꤵ롣
     쥤ˡϡե졼Ѥե졼ǤϡĤˤʤ٤
     Ȥ롣쥤ȤϤΥե졼κƵŪ¤ǹ롣
   ֥ɥ
     󥿥ץ꥿Υ롼ȡɥλҥɥȤΩ
     ɥ٥Ȥϥ󥿥ץ꥿ܥƥǤϥ롼ȥɥ
     ѤƤˤǶ̤Ȥʤ롣
   ɥ
     
      롼ȥɥ䤤碌Ƽ°ѹԤȤΤߥݡ
      롼Ȥ˳դʤʤϥݡȤʤΤǡ⥸塼γ
        ʤ
   ޷
      Ȥꤢ롼ȥɥcanvasĤλꤹ롣

[Ѹ]

  롼ȥɥ(ñ˥ɥάȤ⤢)
    Tk󥿥ץ꥿Ǽ륦ɥǤꡢºݤˤϡTk󥿥ץ꥿
    ֥ȤΤΤǤ롣
  ֥ɥ
    롼ȥɥλҥɥΩɽ롣
    ٥Ȥϥ롼ȶ̤Ǥ롣toplevelޥɤƤ롣
  Widget(ñʡ뤤WidgetȤ)
    ɥ֤ʡʥפϡTk˽ऺ롣
  쥤()
    ɥʤ֤뤳ȡ
  ե졼(ե졼WidgetȤ)
    ֤ι¤ΤѤܤ˸ʤʤΤȡ
  ѥ(ХѥȤ)
    TkǤϳʤϥ롼ȤοƻҴطˤɤä"."ǷФ줿ʥꥹ
    ˤäƻꤵ롣Υꥹȡʥȥ󥰡ˤѥȸƤ֡

-------------------------------------------------------------------------------
                               ǡ
-------------------------------------------------------------------------------

[ҡץǡ]

 Widgetѥơ֥
    widget̾ȥȥ롼ȥɥ顢WidgetХѥ򸡺뤿ˡ
    ƥѥκǾƻҥ󥯤ȤˤϿΡ
      win_path_table(Win,Name,Parent,Str)
      Win:    ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
      Parent: Widget̾ȥ
      Name:   Widget̾ȥ
      Str:    Хѥȥ

 ɥIDơ֥
    ɥ֥ȤȤΥפȤˤϿΡ
      window_id(Win,Type)
      Win:    ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
      Type:  ɥ饹ʥס̾ȥ

 ե졼̾
    ե졼ϥ桼˰ռWidgetؤिᡢưŪˤ̾
    ɬפꡢμư̾Ѥ뤿ֹΥ󥿤Ǥ롣
      frame_count(N)
      N:  0ꥸ

  Х쥸
    ɥ˳ƤƤ륭ХϿ롣
      canvs_regisger(Win,Canvas)
      Win:    ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
      Canvas: ХWidget̾ȥ
    ߤϻѤƤʤ

  ޷Ļ
    ޷ԲĻˤ
      visible_info(Obj,LC,Fill)
      Obj: ޷֥
      LC : ȥ
      Fill: ɤĤ֤nill(ɤĤ֤Ǥʤ) ȥ

  롼ֹ楫
    롼ֹ̤楫󥿡windowƥ˥ꥻåȡ
      group_count(N)
      N:   ʣꥸ

  롼ץ쥸
    ƥ롼פο޷֥ȤϿ
      group_register(G,List)
      G:    롼ץ֥
      List: [Obj1,Obj2,...] (ObjnϿ޷֥)

  հ롼ץ쥸
    ޷֥ȤȤΥ롼Ͽ
      group_index(Obj,List)
      Obj:   ޷֥
      List:  [G1,G2,...] (Gnϥ롼ץ֥)
    ®뤿ˤϡƥֹȥХɣʬơ
      1˥ƥֹѤΤΤʤ

  ȥѿ
    ȥʤѤˡѿѤΥ󥿡
      entry_var_count(N)
      N: (0ꥸ
    ٤ƤΥɥǶ̤Ѥ뤿ᡢwindowƥν˥ꥻå
    롣

  ȥʥƥѿ̾ơ֥
    ȥʤTclǻѤƤƥȳǼѿ̾Ǽ롣
      entry_var_name(Win,Name,VarName)
      Win:     ɥ֥
      Name:    ȥ̾
      VarName: ƥѿ̾
    ƥѿ̾ϡentry_varֹפȤǤ롣ֹϥȥ
    ѿ󥿤껲Ȥ롣

[åǡ]

 ɥ°ꥹ
    ̤

 Widgetꥹȡꥹȡ
    ʲBNFǥ󥿥å롣
      ꥹ ::= +[ ꥹ, ...  ] | 
                         -[ ꥹ, ...  ] |
                         s+[ 凉,  ] |
                         s-[ 凉,  ] |
                         
       ::= 
            ̾ȥ:ʥ(ץ̾ȥ->ץ, .....) |
            ̾ȥ:ʥ

 Widget°ꥹȡ°ꥹȡ뤤ñ°ꥹȡ
    ʲΥ󥿥åǤʤꥹȡ
      ץ̾ȥ -> ץ
    ץ̾
      code: ȥ
             -command("prolog_event ȥ")
      size: (X,Y)
             -width(X), -height(Y)
      pos:  (X,Y)
             -posx(X), -posy(Y)
      Tkץ: Tkץ
             -ץ̾(ץ)

 ץꥹ
    ʲΥ󥿥åǤʤꥹȡ
      -ץ̾(ץ)

  Widget֥
    ʲΥ󥿥åʤࡣ
      Win/Name
      Win:    ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
      Name:   Widget̾ȥ

  ɥ֥
     Tk󥿥ץ꥿̻ҤѤ롣

  ֥ɥ֥
     ɥ֥/֥ɥ̻ҥȥ

  ޷֥
     ɥ֥/Х̻ҥȥ-޷ƥֹ

  롼ץ֥
     '$group'/롼ֹ

-------------------------------------------------------------------------------
                              Ҹ
-------------------------------------------------------------------------------

[]

Ҹ̾(...,,...)     
  : <>
   :        :
   :        :
  [ǽ]
     <ǽ>
  []
     <༡¤٤롣
      ʬ֤֥롼ϰʥǥȤ롣
      ֥롼̾ (CALL ֥롼̾) ηǵҤƤ롣>
  []
     <>

դ + εϰɽ- Ͻϰ^ ϥ˥եѡ


[PUBLICҸ]-------------------------------------------------------------------

init_window

  [ǽ]
   ɥƥν
   ٤ƤTcl/Tkɥ졢ơ֥롦󥿤롣
  []
    window_id/2 
   󥿥ץ꥿
   ѥ̾ơ֥ꥻå(CALL reset_pathname)
   ե졼̾(fram_count/1)ꥻå
   ޷Ļ(visible_info/3)ꥻå
   롼״ꥻå(CALL init_group/0)
   ȥѿ̾ѤΥ󥿥ꥻå(reset_entry_var_count/0)
  []

create(+Type,+AttrL,-Win)

  Type:  ɥ饹ʥס̾ȥ
  AttrL: ɥ°ꥹ
  Win:   ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
  [ǽ]
   ɥ
  []
   󥿥ץ꥿ (CALL tk_new/2)
   window_idϿ
   쥤(CALL layout/1)
  []
   ߡ°ꥹ(AttrL)̵뤷Ƥ롣

createSubWin(+Win,+Name,-SubWin)

  Win:    ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
  Name:   ֥ɥ̻ҥȥ
  SubWin: ֥ɥ֥
  [ǽ]
   ֥ɥ
  []
   ȥåץ٥륦ɥκ
   쥤(CALL layout/2)
  []
   toplevelޥɤѡ

get_event(+Win,-Ev)

  Win: ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
  Ev:  ٥̾ȥ
  [ǽ]
   桼Υ٥Ԥȼ
  []
   ٥ȼ(CALL tk_next_event/2)
  []
   ǤΥ٥ȤȤȤϡŪˤprolog_eventȤTcl/Tk¦
   ƤӽФΤǤꡢܥƥǤϡܥ "code" °
   Ƥ줿ȥǤ롣

flush

  [ǽ]
   ίޤäƤƤΥ٥Ȥ¹Ԥ롣
  []
   ٥ȤʤʤޤǰĤĥ٥Ȥ¹(CALL tk_do_all_event,
      νҸϤǺҸǤ롣)
  []

tk_set_var(+Win,+Var,+Val)
  Win: ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
  Var: Tkѿ̾Υȥ
  Val: TkѿͤΥȥ
  [ǽ]
   롼ȥɥѿVarʥ桼Ǥդ˷Ƥƥ
   ѤΤȾͤʤ褦ˤˤФVal롣
  []
   Tk󥿥ץ꥿setޥ롣
  []
   "set"ޥѡ

tk_get_var(+Win,+Var,^Val)
  Win: ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
  Var: Tkѿ̾Υȥ
  Val: TkѿͤΥȥ
  [ǽ]
   롼ȥɥѿVarʥ桼Ǥդ˷Ƥƥ
   ѤΤȾͤʤ褦ˤˤ֤ͤ
  []
   Tk󥿥ץ꥿setޥ롣
  []
   "set"ޥѡͰꤷʤ

set_title(+Win,+Title)

  Win:   ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
         or ֥ɥ
  Title: ɥΥȥΥȥ
  [ǽ]
   ɥΥȥꤹ롣
  []
   titleޥɤμ¹ԡ
  []
   titlewmʥɥޥ͡ˤФ륳ޥɤǤ롣

kill(+Win)

  Win: ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
       or ֥ɥ
  [ǽ]
   ɥǤ롣
  []
   ɥФdestroyԤ
   롼ȥɥξΤ߰ʲ
     Win۲Υȥѿ̾ơ֥
     window_idκ
  []
   retractȤäƤ뤿Ǹ˥åȤäƤ롣

get_parts(+Win,+Name,-Obj)
get_parts(-Win,-Name,Obj)

  Win:  ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
  Name: ̾ȥ
  Obj:  ʥ֥ȡWin/Name
  [ǽ]
   ʥ֥ȼ̻Ҥ֤뤤ϡ̻ҹʥɥ̾
   ֤
  []
   ʣ롣
  []
   ֥ȼ̻ҤΥ󥿥å桼˰ռʤѤ롣

iconify(+Win)

  Win: ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
       or ֥ɥ֥
  [ǽ]
   ɥΥ
  []
   iconifyޥɤ
   ޥɼ¹ԡ
  []
   iconifywmʥɥޥ͡ˤФ륳ޥɤǤ롣
   ֥ɥξϡѥ̾Ƥ

deiconify(+Win)

  Win: ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
       or ֥ɥ֥
  [ǽ]
   ɥΥ֤뤤ԲĻ֤򸵤᤹
  []
   deiconifyޥɤ
   ޥɼ¹ԡ
  []
   deiconifywmʥɥޥ͡ˤФ륳ޥɤǤ롣
   ֥ɥξϡѥ̾Ƥ

hide(+Win)

  Win: ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
       or ֥ɥ֥
  [ǽ]
   ɥԲĻˤ롣
  []
   withdrawޥɤ
   ޥɼ¹ԡ
  []
   withdrawwmʥɥޥ͡ˤФ륳ޥɤǤ롣
   iconifyޥɤǸ롣
   ֥ɥξϡѥ̾Ƥ

window_bell(+Win)

  Win: ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
  [ǽ]
   ٥Ĥ餹
  []
   ӡץޥɤ¹ԡ
  []
   bellޥɻѡ

clear_canvas(+Can)

  Can   :Хʥ֥
  [ǽ]
   Х̤򥯥ꥢ롣
  []
   deleteޥɤμ¹ԡ
  []
   ХdeleteޥɤѤƤ롣ΤȤƤο޷
   ꤹ뤿ˡTküʥallȤŸ뤿findѤ
   ޷ΥꥹȤƤ롣

get_canvas_size(+Can,-W,-H)

  Can   :Хʥ֥
  W     :Хβ(ɥåȿ)
  H     :Хνĥ(ɥåȿ)
  [ǽ]
   Хζΰ襵롣
  []
   °䤤碌widthꤷƼ¹ԡ(CALL get_parts_attr/3)
   °䤤碌heightꤷƼ¹ԡ(CALL get_parts_attr/3)
  []
   get_parts_attrǤϡcgetޥɤѤƤ롣

set_canvas_scroll_region(+Can)

  Can   :Хʥ֥
  [ǽ]
   ХΥǽΰǿο޷ޤΰ˺ꤹ롣
  []
   ΰ뤿bboxޥɤμ¹ԡ
   ΰФconfigurescrollregionץǼ¹ԡ
  []
   ǽΰϰٷƤ޷Ȥ̵ط˸ꤵ
     ƤޤСĹγ礬¾ȤƤ뤿ᡢ
     ޷ѹäϡνҸ¹ԤƱȤ٤Ǥ롣
   ХbboxޥɤѡΤȤallѤƤο޷
     ꤷƤ롣
   configureޥɤѡ

createBox(+Can,+CL,+AttrL,-Obj)
createOval(+Can,+CL,+AttrL,-Obj)
createLine(+Can,+CL,+AttrL,-Obj)
createText(+Can,+CL,+AttrL,-Obj)
createPoly(+Can,+CL,+AttrL,-Obj)
createArc(+Can,+CL,+AttrL,-Obj)

  Can   :Хʥ֥
  CL    : ɸꥹȡͤΥꥹȡˢܤϳͽ񻲾ȡ
  AttrL : °ꥹ
  Obj   : ޷֥
  [ǽ]
   줾ο޷֥Ȥ褹롣
   Box϶OvalʱߡLineľTextϥƥȡPoly¿ѷArc
   ʱ߸̡
  []
   ޷̤ createFig/4 νʰʲ˼ˡ
     Х롣
     °ꥹȤ򥪥ץꥹȲ塢Tclơȥȷ˥ȥ󥰲
     ɸꥹȤ򥹥ȥ󥰲
     ޷˱̾Υȥ󥰤롣
     ХΥѥ̾ȥ󥰤롣
     Canvasο޷ƥޥɤޥɤ¹Ԥ롣
     줿ƥΥƥֹ椫顢޷֥Ȥμ̻Ҥ
  []
   ץǤϡʬꥹȤѤƤΤǡɸꥹȤѴΥꥹȤ
   ˡ°ꥹȤѴΥꥹȤƤ뤳Ȥա

get_owner_canvas(Obj,Can)

  Obj   :޷֥
  Can   :Хʥ֥
  [ǽ]
   ޷֥Ȥ°륭Х֥Ȥ֤
  []
   ޷֥ȼ̻(Win/Can+Item)ʬ򤷥Х֥Ȥ
   ̻ʬ(Win/Can)֤
  []
   ֥ȼ̻Ҥ򥫥ץ벽뤿Ƴ

move(+Obj,+X,+Y)

  Obj : ޷֥ or 롼ץ֥
  X   : Xɸ
  Y   : Yɸ
  [ǽ]
   ޷֥Ȥ(X,Y)ʬư롣
  []
   롼פξϰʲƥп޷ʬ֤
   ɸΥȥ󥰲
   ХΥѥ̾ȥ󥰤롣
   Canvasο޷ƥưޥɤޥɤ¹Ԥ롣
  []
   Tk move ޥɤѡ

remove(+Obj)

  Obj : ޷֥ or 롼ץ֥
  [ǽ]
   ޷֥Ȥ롣
  []
   롼פξϰʲƥп޷ʬ֤
   ХΥѥ̾ȥ󥰤롣
   Canvasο޷ƥޥɤޥɤ¹Ԥ롣
  []
   Tk delete ޥɤѡ
   ѤǤϥ롼פξ礽Ǥǡ롼ץ֥ȼ
   ϻĤ롣

scale(+Obj,+X,+Y,+SX,+SY)

  Obj : ޷֥ or 롼ץ֥
  X   : Xɸ
  Y   : Yɸ
  SX  : XΨ
  SY  : YΨ
  [ǽ]
   ޷֥Ȥ(X,Y)(SX,SY)ܤ롣
  []
   롼פξϰʲƥп޷ʬ֤
   ɸȳΨΥȥ󥰲
   ХΥѥ̾ȥ󥰤롣
   Canvasο޷ƥ硿̾ޥɤޥɤ¹Ԥ롣
  []
   Tk scale ޥɤѡ

lower(+Obj)

  Obj : ޷֥ or 롼ץ֥
  [ǽ]
   ޷֥Ȥ̤֤
  []
   롼פξϰʲƥп޷ʬ֤
   ХΥѥ̾ȥ󥰤롣
   Canvasο޷ƥ̲ޥɤޥɤ¹Ԥ롣
  []
   Tk lower ޥɤѡ

raise(+Obj)

  Obj : ޷֥ or 롼ץ֥
  [ǽ]
   ޷֥Ȥ̤֤
  []
   롼פξϰʲƥп޷ʬ֤
   ХΥѥ̾ȥ󥰤롣
   Canvasο޷ƥ̲ޥɤޥɤ¹Ԥ롣
  []
   Tk raise ޥɤѡ

set_fig_attr(+Obj,+AttrL)

  Obj   : ޷֥
  AttrL : °ꥹ
  [ǽ]
   ޷֥Ȥ°ꤹ롣
  []
   °ꥹȤTclơȥȤΥȥ󥰲
   ХΥѥ̾ȥ󥰤롣
   Canvasο޷ƥꥳޥɤޥɤ¹Ԥ롣
  []
   Tk itemconf ޥɤѡ

get_fig_attr(+Obj,^AttrL)

  Obj   : ޷֥
  AttrL : °ꥹ(ѿ°ʬ˻ꤷͤ)
  [ǽ]
   ޷֥Ȥ°ͤ롣
  []
   ХΥѥ̾ȥ󥰤롣
   °ꥹȤʬФAttLVȤ롣
   °ꥹȤʬȥ󥰤ˤ롣
   °ꥹȤγ°ˤĤưʲ¹ԡ
     °TclơȥȤΥȥ󥰲
     Canvasο޷ƥ°ޥɤޥɤ¹Ԥ롣
     򥹥ȥ󥰤ͤȤAttrLV֤
  []
   Tk itemcget ޥɤѡ

get_fig_info(+Obj,^QueryL)

  Obj    : ޷֥
  QueryL : 䤤碌̾ꥹ
            ʤȤС[bbox->X,coords->Y]Τ褦䤤碌ȡ
              X,YˤϲΥȥ󥰤֤
  [ǽ]
   ޷֥ȤγƼͤ롣
  []
   °ꥹȤTclơȥȤΥȥ󥰲
   ХΥѥ̾ȥ󥰤롣
   QueryLγƹܤФơ
     Canvasο޷ƥ䤤碌ޥɤޥɤ¹Ԥ롣
     ̤ܤβʬ˥˥ե롣
  []

invisible(+Obj)

  Obj    : ޷֥ or 롼ץ֥
  [ǽ]
   ޷ԲĻˤ롣
  []
   롼פξϰʲƥп޷ʬ֤
   ޷θߤɤĤ֤(ɤĤ֤Ƥ뤫)򵭲
     ޷ɤĤ֤֤(CALL get_fig_attr/2)
     ޷Ļvisible_infoassert롣
   ɤĤ֤ȥ󥰤ꡣ(CALL set_fig_attr/2)
  []
   ʤԲĻ֤λ˥桼fillԤȡ
   Ļ֤ˤʤäƤޤᡢΤ褦ʻ϶ػߤ롣
   itemconffilloutlineѡ
   ȥ󥰤ԲĻǤ롣

visible(+Obj)

  Obj    : ޷֥ or 롼ץ֥
  [ǽ]
   ޷Ļ֤᤹
  []
   롼פξϰʲƥп޷ʬ֤
   ޷θɤĤ֤(ɤĤ֤Ƥ뤫)
     ޷Ļvisible_inforetract롣
   ɤĤ֤ꡣ(CALL set_fig_attr/2)
  []
   itemconffilloutlineѡ

click_notify(+Obj,+Com)

  Obj    : ޷֥ or 롼ץ֥
  Com    : ٥̾ȥ
  [ǽ]
   ֥륯å֤٥̾ꤹ롣get_eventǼФ
   ޷˥֥륯åǧ򤵤뤿˰ƤӽФ
  []
   롼פξϰʲƥп޷ʬ֤
   ٥ȳեޥɤμ¹ԡ
  []
   bindޥɤѤƤ롣

dragable(+Obj,+Com)

  Obj    : ޷֥ or 롼ץ֥
  Com    : ٥̾ȥ(ѿΤޤޤǤ)
  [ǽ]
   ޷ΥɥåĤ롣
   ٥̾ȥबꤵƤȤϡɥå塢Υ٥Ȥ֤롣
  []
   롼פξϰʲƥп޷ʬ֤
   ޷֡ʶгѺɸ˼ޥɤ¹Ԥ롣
   ֥ȥ󥰤֥ꥹȤѴ
   ֥ꥹȤꡢȾʬ׻
   Ⱦʬͤ޷ưtclץȤ
   ٥ȳեޥɤǤΥץȳƤ롣
   ٥ȳեޥɤComΥ٥ȤƤ롣
  []
   ޷ּcoordsޥɤѤƤ롣
   ٥ȳƤbindޥɤѤƤ롣
   tcl¦ΰѿx1,y1,x2,y2ѤƤա

undragable(+Obj)

  Obj    : ޷֥ or 롼ץ֥
  [ǽ]
   ޷Υɥåػߤ롣
  []
   롼פǤĥФʤξϼ¹Ԥ򥹥åפ롣
   ޷䥰롼פ˳ƤƤ롢ޥܥ󲡲ȥ꡼Υ٥Ȥ
   bindƤӽФ
  []
   ٥ȳƤbindޥɤ{}ꤷѤƤ롣

is_dragable(+Obj)

  Obj    : ޷֥ or 롼ץ֥
  [ǽ]
   ޷ΥɥåǽꤵƤ뤫Ĵ٤롣ꤵƤ
  []
   롼פǤĥФʤϼԡ
   ޷䥰롼פ˳ƤƤ롢ޥܥ󲡲ȥ꡼Υ٥Ȥ
   Фbind¹ԡ
   ٥ȤΥȥ˥ޥΥȥ󥰤ޤޤƤ
  []
   ƥ٥礻bindޥɤѤƤ롣

createGroup(-G)

  G      : 롼ץ֥
  [ǽ]
   롼פ
  []
   롼ֹ̤(CALL get_group_count/1)
   ֥ȼ̻Һ
   쥸ȥƤ϶ꥹȡ
  []
   window_initgroup_initˤäơꥻåȤƤȡ

regist(+G,+L)

  G      : 롼ץ֥
  L      : ޷֥ȤΥꥹ or ޷֥
  [ǽ]
   ޷֥Ȥ򥰥롼פϿ롣
  []
   Lγƿ޷֥Ȥ򥰥롼פϿ(CALL regist1/2)
     ߤGΥ쥸κǸ˿޷֥Ȥä롣
     ޷֥Ȥεհ쥸Gä롣
     Хб륭Х˿޷ä롣
     GɥåǽξϥɥåϰϤ롣
  []
   ܥ르ꥺꡢGΥ쥸˰쵤LɲäΨɤ
   Ȥʤ롣

release(+G)

  G      : 롼ץ֥
  [ǽ]
   롼פϿ줿٤Ƥο޷֥Ȥ롣
  []
   롼ץ쥸Ͽ޷֥ȤΥꥹȤ롣
   ƿ޷֥Ȥλĵհ쥸G(CALL cancel_regist/2)
   롼ץ쥸Υꥻåȡ
  []

release(+G,+L)

  G      : 롼ץ֥
  L      : ޷֥ȤΥꥹ
  [ǽ]
   Lǻꤵ줿٤Ƥο޷֥Ȥ롣
  []
   롼ץ쥸Ͽ޷֥ȤΥꥹȤ롣
   ƿ޷֥Ȥλĵհ쥸G(CALL cancel_regist/2)
   롼ץ쥸Lʬ롣
  []
   ޷֥ȤLˣĤꤵƤʤ硢ꥹȤǤϤʤƤOK
   Ȥʤ褦˲ɤɤ

get_group_member(+G,-L)

  G      : 롼ץ֥
  L      : ޷֥ȤΥꥹ
  [ǽ]
   롼פΥФο޷֥ȤΥꥹȤ֤
  []
   롼ץФϿƤgroup_registerơ֥򻲾Ȥ롣
  []

get_text(+Obj,-St)

  Obj : ȥʥ֥ ʡWindow̻/̾ȥפν񼰡
  St  : ȥ
  [ǽ]
   ȥʤϤ줿ƥȤ롣
  []
   ȥѿ̾ơ֥ѿ̾
   󥿥ץ꥿λѿͤ롣(CALL tcl_eval)
  []
   餫Υ٥ȼ(get_event)ˡƤӽФȡ

putl_text(+Obj,+St)
put_text(+Obj,+St)

  Obj : ƥ֥̾ȡʡWindow̻/̾ȥפν񼰡
        ȥʤǤġ
  St  : ȥ
  [ǽ]
   ƥʤ˥ȥ󥰤Ϥ롣putl_textϺǸ˲ԤդƽϤ롣
  []
   ƥޥɤμ¹ԡ
  []
   ԤSICStus"\n"ȤȲԥɤƤޤᡢ"\\n"Ȥ
   insert ޥɤ end Ѥ

clear_text(+Obj)

  Obj: ƥ֥̾ȡʡWindow̻/̾ȥפν񼰡
  [ǽ]
   ƥʤΥƥȤ򥯥ꥢ롣
  []
   ƥȺޥɤμ¹ԡϤᤫ齪ޤǤꤹ롣
  []
   delete ޥɤȺ 0.0 end Ѥ

clear_entry(+Obj)

  Obj: ȥ֥̾ȡʡWindow̻/̾ȥפν񼰡
  [ǽ]
   ȥʤΥƥȤ򥯥ꥢ롣
  []
   ȥޥɤμ¹ԡϤᤫ齪ޤǤꤹ롣
  []
   delete ޥɤȺ 0 end Ѥ

end_text(+Obj)

  Obj: ƥ֥̾ȡʡWindow̻/̾ȥפν񼰡
  [ǽ]
   ƥʤΥƥȤ˰ư
  []
   ƥưμ¹ԡ
  []
   yview ޥɤȰ end Ѥ

top_text(+Obj)

  Obj: ƥ֥̾ȡʡWindow̻/̾ȥפν񼰡
  [ǽ]
   ƥʤΥƥȤƬ˰ư
  []
   ƥƬưμ¹ԡ
  []
   yview ޥɤȰ 0.0 Ѥ

set_items(+Obj,+L)

  Obj: ꥹȥܥå֥̾ȡʡWindow̻/̾ȥפν񼰡
  L  : ܥȥΥꥹ
  [ǽ]
   ꥹȥܥåʤ˹ܥȥ٤˥åȤ롣
  []
   ꥹȥܥåؤιꥳޥɤμ¹ԡ
  []
   insertޥɤ 0 ФƼ¹ԤƤ롣

add_item(+Obj,+Item)

  Obj  :ꥹȥܥå֥̾ȡʡWindow̻/̾ȥפν񼰡
  Item :ܥȥ
  [ǽ]
   ꥹȤκǸ˹ܤɲä롣
  []
   insertޥɤendꤷƼ¹ԡ
  []
   insertޥɤѡ

insert_item(+Obj,+N,+Item)

  Obj  :ꥹȥܥå֥̾ȡʡWindow̻/̾ȥפν񼰡
  N    :(0ꥸ)
  Item :ܥȥ
  [ǽ]
   ꥹȤ˹ܤ롣
  []
   insertޥɤ¹ԡ
  []
   insertޥɤѡ

get_items(+Obj,-L)

  Obj: ꥹȥܥå֥̾ȡʡWindow̻/̾ȥפν񼰡
  L  : 򤵤줿ܥȥΥꥹ
  [ǽ]
   򤵤줿ܤ򤹤٤֤
  []
   Լޥɤμ¹ԡ
   ֹꥹȤΥȥ󥰤ֹΥꥹȤѴ롣(CALL to_num_list/2)
   ֹΥꥹȤ˳ƹֹФget_item/3¹ԡ
  []
   ʣ֤ˤϡʤˡselectmode->multipleꤹ롣
   ʤget_item/3θƤӽФˤơֹΥꥹȤǤʤƤֹ楹ȥ󥰡
   ꥹȤǤưǽʤʤ顢to_tclˤơȥ󥰤ϥȥ󥰤Τޤ
   ƤӽФǤ롣
   curselectionޥɤѤ

get_item(+Obj,-X)

  Obj: ꥹȥܥå֥̾ȡʡWindow̻/̾ȥפν񼰡
  X  : 򤵤Ƥܤֹ档0ꥸ
  [ǽ]
   󥰥륻쥯Ⱦ֤Υꥹȥܥå򤵤Ƥܤ롣
  []
   curselectޥɤ¹ԡ
  []
   curselectޥѡ󥰥륻쥯ȡʥǥեȡˤǤʤ
   Ǥʤ
   ºݤιܤϡget_item/3Ȥ߹碌Ƽ뤳ȡ

get_item(+Obj,+Num,-Item)

  Obj : ꥹȥܥå֥̾ȡʡWindow̻/̾ȥפν񼰡
  Num : ֹ
  Item: ܥȥ
  [ǽ]
   ֹιܤ֤
  []
   Ԥιܼޥɤμ¹ԡ
   ܥȥ󥰤򥢥ȥѴ
  []
   Ūˡϸ߹ͤƤʤߤget_itemsǸƤФƤ롣
   getޥɤѤƤ롣

clear_items(+Obj)

  Obj: ꥹȥܥå֥̾ȡʡWindow̻/̾ȥפν񼰡
  [ǽ]
   ꥹȥܥåΥꥢ
  []
   deleteޥɤ¹ԡϰϤȤƤϤᤫ齪ޤǻꤹ롣
  []
   deleteޥɤ 0 end ϰϻѡ

delete_item(+Obj,+N)

  Obj: ꥹȥܥå֥̾ȡʡWindow̻/̾ȥפν񼰡
  N  : оݤιֹ(0ꥸ)
  [ǽ]
   ֹιܤ롣
  []
   deleteޥɤ¹ԡ
  []
   deleteޥɤѡ

get_items_size(+Obj,-N)

  Obj: ꥹȥܥå֥̾ȡʡWindow̻/̾ȥפν񼰡
  N  : ܿ
  [ǽ]
   ϿƤ֤ܿ
  []
   indexޥɤendꤷƼ¹ԤǸιܤιܤθֹ
   ʤΤޤ޹ܿˤʤ롣
  []
   indexޥѡendϺǸΥƥֹǤϤʤɲä
   硢֤ˤʤ뤫Ȥֹ򼨤

set_parts_attr(+Obj,+OL)

  Obj : Widget֥̾ȡʡWindow̻/̾ȥפν񼰡
  OL  : ץꥹ
  [ǽ]
   ʤ°ꤹ롣
  []
   °ꥳޥɤμ¹ԡ
  []
   configޥɤѡ

get_parts_attr(+Obj,+Opt,-ValSt)

  Obj  : Widget֥̾ȡʡWindow̻/̾ȥפν񼰡
  Opt  : ץ̾ȥ
  valSt: ץͥȥ
  [ǽ]
   ʤ°ͤ롣
  []
   °ͼޥɤμ¹ԡ
  []
   2ϥꥹȤǤʤȤա
   cgetޥɤѡ


[LOCALҸ]--------------------------------------------------------------------

[]

create_parts(+Type,+Win,+Parent,+Name,+OpL)

  Type:   Widget̾ȥ (ex. button, menu, canvas ..etc.)
  Win:    ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
  Parent: Widget̾ȥ
  Name:   Widget̾ȥ
  OpL:    ץꥹ
  [ǽ]
   Widgetʤ롣
  []
   ХξˤϥХ쥸Ͽ
   ʥפentryξˤϥץꥹȤ˥ƥѿղá
          (CALL add_text_var/4)
   ѥ̾ꡣ
   Widget
   ѥå롣
  []
   νҸμ¹ԤΤߤǤϡmapʤ
   (98.4.16,ver.0.160)ǤframeΤ(create_partsˤ)
   ƤӽФƤʤ
   νҸǤϥСбǤʤ

get_pathname(+Obj,-Str)

  Obj: Widget֥
  Str: Хѥȥ
  [ǽ]
   Υ֥ȤХѥΥȥ󥰤֤
   TkǤWidgetɬХѥǻꤹ뤳Ȥ׵ᤵ뤿ᡢɬפȤʤ롣
  []
   Υѥơ֥򸡺롣
  []
    Widget֥Ȥ Win/Widget̾ȥ Ǥ뤳Ȥա

set_pathname(+Win,+Parent,+Name)

  Win:    ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
  Parent: Widget̾ȥ
  Name:   Widget̾ȥ
  [ǽ]
   ʤХѥ̾ϿԤ
  []
   <(Win,Parent,Name)ϿƤ뤫?>
    YES:
      ˥󥰤Ф⤻˽λ
    NO :
      ƤΥѥ롣
      ƤΥѥ˼ʬ̾ä(".Name"ղ)ʬΥѥȤ롣
      ѥơ֥Ͽ롣
  []
    ˥󥰤ϤʤΤʤ

rest_pathneme

  [ǽ]
   ѥ̾ơ֥ν
  []
   ѥ̾ơ֥ΰ
  []
   Ū˺٤꤬ɬפΤʤ

pack_win(+Win,+Name)

  Win:    ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
  Name:   Widget̾ȥ
  [ǽ]
   ʤѥå롣
  []
   ѥ̾μ
   ѥåơȥȼ¹ԡ
  []
   쥯Ȥtcl_evalƤӽФᡢw_traceƤӽФƤ롣

new_frame_id(-New)

  New: ե졼̾ȥ
  [ǽ]
   ƥǼưŪ˳Ƥե졼̾κ
  []
   ߤΥե졼५ͤơ󥯥Ȥ롣
   "tkFrame"˥ͤΥȥ󥰤äơȥಽ̾Ȥ롣
  []
   "tkFrame"ͽȤʤ뤳Ȥͤɬפ롪



[]

to_tcl(+X,+Y,+OpL,-Win,-Str)

  X  : Widget֥ or ޥɥȥ
  Y  : Widget֥ or ޥɥȥ
  OpL: ץꥹ
  Win: ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
  Str: Tcl󥿥ץ꥿ѥơȥȥȥ
  [ǽ]
    ܥƥΥǡ顢Tcl/TkѤΥơȥȷѴ롣
  []
    Widget֥ȤΥѥ̾(CALL get_pathname/2)
      ΤȤɥ̾롣(CALL get_parts/3)
    ץꥹȤTclȥѴ(CALL get_options/2)
    ѥ̾ޥ̾ץγƥȥ󥰤ڤǷ礹롣
  []
    Widget֥Ȥ Win/Widget̾ȥ Ǥ뤳Ȥա
    XYɬWidgetȥȥޥɥȥȤˤʤ褦ˤ뤳ȡ
    ܽҸǤϥȥ󥰤ϤΤǡname/2ˤäƥȥಽƤ
      tcl_eval/3Ƥɬפ롣
    ߡXYWidget֥Ȼꤹ뤿ᡢΥ֥ȹɬ
      WinޤޤƤ뤿ᡢWinϾĹǤ롣
      äơ߻ѤƤʤ
    get_option/2ǤϡץΥȥ󥰤ΥꥹȤ֤뤳Ȥա
      äơTclơȥȲ뤿ᡢڤΥȥ󥰤Ѵ
      롣
    νҸset_pathnameˤѥ̾ϿȤա

get_options(+OpL,-TclSL)
  OpL  : ץꥹ
  TclSL: TclơȥȷΥץ󥹥ȥ󥰤Υꥹ
         (ex. ["-width 50", "-height 40", ...] )
  [ǽ]
   ץꥹȤTclơȥȷѴ롣
  []
   OpLƤΥץФơʲΤ褦TclѴܤ
     TclѴ(CALL to_tcl_option):
       <ȥξ>:ȥ󥰲
       <ȥ󥰤ξ>:֥륯Ȥ򥹥ȥ󥰤˲ä
       <޷֥Ȥξ>:ƥֹΥȥ󥰤Ѵ
       <-Atomξ>: "-Atom" ȥȥ󥰲롣
       <-Func(Val)ξ>: "-Func"   ValκTclѴ ֤
  []
   ĤΥȥ󥰤ȤƤ٤ƤΥץ礷ƤϤʤȤա
   ʤȥ󥰤ǤȤꥹȤˤʤäƤ롣

set_canvas(+Win,+Can)

  Win: ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
  Can: ХWidget̾ȥ
  [ǽ]
   ɥ˥ХϿ롣
  []
   <ɥ˥ХϿ¸ߤ뤫>
     YES:
      ˥󥰤ƥåפ롣
     NO :
      ХϿ롣
  []
   ߡƥɥˣĤХϿΤȤƤ롣

reset_canvas(+Win)

  [ǽ]
   ɥΥХϿä롣
  []
   Ͽơ֥롣
  []

w_trace(+CAtom)

   CAtom : ޥɥȥ
   [ǽ]
    tcl_evalǼ¹Ԥ륳ޥɻѥȥɸϤ롣


[쥤]

layout(+Win)

  Win: ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
  [ǽ]
   쥤ȥƥץ졼Ȥ˽äơɥʤ쥤Ȥ롣
  []
   ɥפ
   ɥפΥƥץ졼Ȥ
   ƥץ졼Ȥ˽ä֡(CALL exec_layout/2)
   ǥեȤ°ꡣ(CALL default_attr/1)
  []
   ɥ̾ˤäưդ˥ƥץ졼Ȥޤ褦˳ͤ
   뤳ȡʤȥХåȥåȯ롣

default_attr(+Win)

  Win: ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
  [ǽ]
   ʤΥǥե°˽äơʤ°ꤹ롣
  []
   ɥפμ
   פΤ٤Ƥʤ°롣
   ٤ƤʤФ°˽äơ
   ʲΤ褦°ꤹ롣
     set_default_attr/3ν:
       ʤ°ꥹȤ򥪥ץꥹȤѴ
         (CALL conv_tcl_commands/2)
       ץꥹȤtclơȥȲ
       °¹ԡ
  []
   ƥפʤ˽ʣä硢Ǿ
   롣

conv_tcl_commands(+AttrL,-OpL)

  AttrL : Widget°ꥹ
  OpL   : ץꥹ
  [ǽ]
   °ꥹȤ򥪥ץꥹȤѴ롣
  []
   ꥹγ°ˤĤơʲνԤ
     conv_one_opt/4ν:
        Widget°ꥹȤͤ˽äѴ
  []
   Widget°ꥹȤͤɲáѹȿǤ롣

exec_layout(+Win,+DefL)
  DefL  : Widgetꥹ
  OpL   : ץꥹ
  [ǽ]
   ꥹȤ˽äʤɥ֤롣
  []
   ꥹȤ˽äԤȥåץ٥ʡʥѥ̾䥪֥Ȥ
   ʤ̾ȥˤ롣
     (CALL exec_layout/4)
   ȥåץ٥ʤѥå롣
     (CALL pack_win/2)
  []
   ȥåץ٥ʤñȤWidgetframeWidgetǤ롣
   ʣΥȥåץ٥ʤȤɬframeѤ롣
   Τᡢpack_winϤȥåץ٥ʤɬĤȤʤ롣

exec_layout(+Win,+Parent,+DefL,-Name)

  Win:    ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
  Parent: Widget̾ȥ
  DefL:   Widgetꥹ or ñWidget
  Name:   Widget̾ȥ
  [ǽ]
   ꥹȤ˽ʤ롣ƤӽФǺȥå
   ٥̾ȥ֤
  []
   <DefLꥹȤꥹȤǽʬ>
    :
      ̾ʥ(Widget̾)ӥץꥹ
      ʬ롣(CALL conv_from_like_osl/4)
      ʥפcanvasξˤϥХ쥸Ͽ
      ʥפentryξˤϥץꥹȤ˥ƥѿղá
          (CALL add_text_var/4)
      ʤΥѥϿ롣 (CALL set_pathneme/3)
      TclơȥȲ
      ºݤʤ롣
    ꥹ:
      ġꤹ롣
      ե졼롣(CALL make_frame/3)
      ꥹγ ꥹ or  ФܽҸƵƤӽФ
      줿٤Ƥλʤѥå롣(CALL pack_children/3)
    ꥹȡ
      DefL饹롣
      DefL凉¦ʤȥСʤʬ롣
      ե졼롣(CALL make_frame/3)
      凉ʤˤĤơʲ¹ԡ
        ̾ʥ(Widget̾)ӥץꥹ
        ʬ롣(CALL conv_from_like_osl/4)
        ʥפcanvasξˤϥХ쥸Ͽ
        ʥפentryξˤϥץꥹȤ˥ƥѿղá
          (CALL add_text_var/4)
        ʤΥѥϿ롣 (CALL set_pathneme/3)
      ʤˤĤơʲ¹ԡ
        ̾ʥ(Widget̾)ӥץꥹ
        ʬ롣(CALL conv_from_like_osl/4)
        ʤΥѥϿ롣 (CALL set_pathneme/3)
      ξʤΥѥ롣(CALL get_pathneme/2)
      ξʤΤΥѤΥץꥹȤ
      ξʤTclơȥȲ
      ξʤºݤʤ롣
      ξʤѥå롣(CALL pack_children/3)
  []
   ܽҸγƸƤӽФǤϡɬĤʤ֤롣ʣξ
     ˤϼưŪ˥ե졼ơ֤Ȥա
   ξбƤʤޤȲˤղäǤʤ
   ȥʤΥƥѿϡTk󥿥ץ꥿ˡentry_varֹפ
     Ͽ롣

conv_from_like_osl(+Def,-Type,-Name,-Com)

  Def  : Widget
  Type : Widget̾ȥ
  Name : Widget̾ȥ
  Com  : ץꥹ
  [ǽ]
   Widget顢ʥס̾ӥץꥹȤʬ򤹤롣
  []
   Widget饿ס̾°ꥹȤʬ롣
   °ꥹȤ򥪥ץꥹȤѴ롣(CALL conv_tcl_commands/2)
  []
   °ʤϡCom[]֤롣

make_frame(+Win,+Parent,-Name)

  Win:    ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
  Parent: Widget̾ȥ
  Name:   ե졼Widget̾ȥ
  [ǽ]
   ParentƤȤե졼ɥ˥ѥå롣
  []
   ե졼̾μư(CALL new_frame_id/1)
   ե졼(CALL create_parts)
  []
   ץꥹȤʤǡȤꤢե졼Ƥ롣
   ե졼Υѥcreate_partsˤ˼¹Ԥ롣

pack_children(+Win,+CL,+For)

  Win : ɥ֥ȡTcl/Tk󥿥ץ꥿̻Ҥήѡ
  CL  : Widget̾ȥΥꥹ
  For : '+' or '-' or '+s' or '-s'
        (ѥåľ or ʿ or С or )
  [ǽ]
   ե졼˳դƤʤ˥ѥå󥰤롣
  []
    CLΤ٤ƤʤΥѥʥȥ󥰡ˤ롣(CALL conv_pahtname_all/3)
    ƥѥΥȥ󥰴֤˥ڡƷ礹롣(CALL make_tcl_list/2)
    For˽äơѥåץΥȥ󥰤롣
    ʤʤСΤȤϡfillץꤷƤ롣
    ѥåޥɤΥȥ󥰤ѥå¹Ԥ롣
  []
    ѥ̾˥ե졼बҤƤ뤿ᡢ˥ե졼बäƤʤ
    ա
    ľtcl_evalƤ֤ᡢw_traceѤƤ롣

init_group

  [ǽ]
   롼״ѤΥǡΥꥻåȡ
  []
   롼ץ쥸õ
   հ롼ץ쥸õ
   롼ץ󥿣ꡣ
  []

==============================================================================
                                                  (̳ƻ ˡ)
                                              E-mail:kaku@juris.hokudai.ac.jp
                                           Copyright (C) 1999 Tokuaysu KAKUTA
