Patch title: Release 95 bulk changes
Abstract:
File: /pliant/graphic/browser/server/api.pli
Key:
    Removed line
    Added line
   
module "/pliant/language/compiler.pli"
module "/pliant/language/parser.pli"
module "/pliant/util/pml/io.pli"
submodule "context.pli"
module "/pliant/language/data/id.pli"
module "/pliant/storage/database.pli"
submodule "/pliant/graphic/color/rgb888.pli"
module "/pliant/language/compiler.pli"
module "/pliant/language/parser.pli"
module "/pliant/util/pml/io.pli"
submodule "context.pli"
module "/pliant/language/data/id.pli"
module "/pliant/storage/database.pli"
submodule "/pliant/graphic/color/rgb888.pli"
module "/pliant/util/encoding/utf8.pli"
module "/pliant/language/type/text/str32.pli"


function encode c -> e
  arg Str c e
  if default_charset_is_utf8
    e := c
  else
    e := utf8_encode c



method c para_in
  arg_rw BrowserServerContext c
  if c:inside_para=0
    c:connection oraw open (cast "para" Ident) (cast "stick"
    c inside_para := 1
 
method c para_out
  arg_rw BrowserServerContext c
  if c:inside_para=1
    c:connection oraw close
    c inside_para := 0
 

method c text txt
  arg_rw BrowserServerContext c ; arg Str txt
  c para_in
method c para_in
  arg_rw BrowserServerContext c
  if c:inside_para=0
    c:connection oraw open (cast "para" Ident) (cast "stick"
    c inside_para := 1
 
method c para_out
  arg_rw BrowserServerContext c
  if c:inside_para=1
    c:connection oraw close
    c inside_para := 0
 

method c text txt
  arg_rw BrowserServerContext c ; arg Str txt
  c para_in
  c:connection otag "text" txt
  c:connection otag "text" encode:txt


method c title txt
  arg_rw BrowserServerContext c ; arg Str txt
  c para_out


method c title txt
  arg_rw BrowserServerContext c ; arg Str txt
  c para_out
  c:connection oraw open (cast "title" Ident) body open (cas
  c:connection oraw open (cast "title" Ident) body open (cast "text" Ident) encode:txt close close


method c input_data_tag label flags focus help run d
  arg_rw BrowserServerContext c ; arg Str label ; arg Int fl
  c para_in
  var Str var_id := generate_id
  c:connection otag "input" (string c:current_section)+" "+s
  if (d:interface get d addressof:(var Str value) Str)=failu
    value := ""
  if value<>""


method c input_data_tag label flags focus help run d
  arg_rw BrowserServerContext c ; arg Str label ; arg Int fl
  c para_in
  var Str var_id := generate_id
  c:connection otag "input" (string c:current_section)+" "+s
  if (d:interface get d addressof:(var Str value) Str)=failu
    value := ""
  if value<>""
    c:connection oattr "value" value
    c:connection oattr "value" encode:value
  if label<>""
  if label<>""
    c:connection oattr "text" label
    c:connection oattr "label" encode:label
  if (flags .and. 1)<>0
    c:connection oattr "over"
  if (flags .and. 2)<>0
    c:connection oattr "password"
  if (flags .and. 4)<>0
    c:connection oattr "multiline"
  c:env_sem request
  var Link:BrowserServerSection section :> (c:env first "sec
  if not exists:section or (entry_type addressof:section)<>B
    section :> new BrowserServerSection
    c:env insert "section "+c:current_section true addressof
  var Link:BrowserServerVariable va :> new BrowserServerVari
  va data_path := d path
  va run := run
  section:env insert var_id true addressof:va
  if help<>""
  if (flags .and. 1)<>0
    c:connection oattr "over"
  if (flags .and. 2)<>0
    c:connection oattr "password"
  if (flags .and. 4)<>0
    c:connection oattr "multiline"
  c:env_sem request
  var Link:BrowserServerSection section :> (c:env first "sec
  if not exists:section or (entry_type addressof:section)<>B
    section :> new BrowserServerSection
    c:env insert "section "+c:current_section true addressof
  var Link:BrowserServerVariable va :> new BrowserServerVari
  va data_path := d path
  va run := run
  section:env insert var_id true addressof:va
  if help<>""
    section:env insert var_id+" help" true addressof:(new St
    section:env insert var_id+" help" true addressof:(new Str encode:help)
  c:env_sem release
  
method c input_var_tag label flags focus help run v
  arg_rw BrowserServerContext c ; arg Str label ; arg Int fl
  c para_in
  var Str var_id := generate_id
  c:connection otag "input" (string c:current_section)+" "+s
  var Pointer:Function f :> (entry_type addressof:v) get_gen
  var Str value := to_string v "db" f
  if value<>""
  c:env_sem release
  
method c input_var_tag label flags focus help run v
  arg_rw BrowserServerContext c ; arg Str label ; arg Int fl
  c para_in
  var Str var_id := generate_id
  c:connection otag "input" (string c:current_section)+" "+s
  var Pointer:Function f :> (entry_type addressof:v) get_gen
  var Str value := to_string v "db" f
  if value<>""
    c:connection oattr "value" value
    c:connection oattr "value" encode:value
  if label<>""
  if label<>""
    c:connection oattr "label" label
    c:connection oattr "label" encode:label
  if (flags .and. 1)<>0
    c:connection oattr "over"
  if (flags .and. 2)<>0
    c:connection oattr "password"
  if (flags .and. 4)<>0
    c:connection oattr "multiline"
  if (flags .and. 1)<>0
    c:connection oattr "over"
  if (flags .and. 2)<>0
    c:connection oattr "password"
  if (flags .and. 4)<>0
    c:connection oattr "multiline"
  if focus
    c:connection oattr "focus"
  c:env_sem request
  var Link:BrowserServerSection section :> (c:env first "sec
  if not exists:section or (entry_type addressof:section)<>B
    section :> new BrowserServerSection
    c:env insert "section "+c:current_section true addressof
  var Link:BrowserServerVariable va :> new BrowserServerVari
  va variable := addressof v
  va run := run
  section:env insert var_id true addressof:va
  if help<>""
  c:env_sem request
  var Link:BrowserServerSection section :> (c:env first "sec
  if not exists:section or (entry_type addressof:section)<>B
    section :> new BrowserServerSection
    c:env insert "section "+c:current_section true addressof
  var Link:BrowserServerVariable va :> new BrowserServerVari
  va variable := addressof v
  va run := run
  section:env insert var_id true addressof:va
  if help<>""
    section:env insert var_id+" help" true addressof:(new St
    section:env insert var_id+" help" true addressof:(new Str encode:help)
  c:env_sem release


method c select_data_open label flags focus help run d
  arg_rw BrowserServerContext c ; arg Str label ; arg Int fl
  c para_in
  var Str var_id := generate_id
  c:connection oraw open (cast "select" Ident) (string c:cur
  if (d:interface get d addressof:(var Str value) Str)=failu
    value := ""
  if value<>""
    c:connection oraw (cast "value" Ident) value
  if label<>""
    c:connection oraw (cast "label" Ident) label
  if (flags .and. 1)<>0
    c:connection oraw (cast "over" Ident)
  c:env_sem release


method c select_data_open label flags focus help run d
  arg_rw BrowserServerContext c ; arg Str label ; arg Int fl
  c para_in
  var Str var_id := generate_id
  c:connection oraw open (cast "select" Ident) (string c:cur
  if (d:interface get d addressof:(var Str value) Str)=failu
    value := ""
  if value<>""
    c:connection oraw (cast "value" Ident) value
  if label<>""
    c:connection oraw (cast "label" Ident) label
  if (flags .and. 1)<>0
    c:connection oraw (cast "over" Ident)
  if focus
    c:connection oraw (cast "focus" Ident)
  c:connection oraw body
  c:env_sem request
  var Link:BrowserServerSection section :> (c:env first "sec
  if not exists:section or (entry_type addressof:section)<>B
    section :> new BrowserServerSection
    c:env insert "section "+c:current_section true addressof
  var Link:BrowserServerVariable va :> new BrowserServerVari
  va data_path := d path
  va run := run
  section:env insert var_id true addressof:va
  if help<>""
  c:connection oraw body
  c:env_sem request
  var Link:BrowserServerSection section :> (c:env first "sec
  if not exists:section or (entry_type addressof:section)<>B
    section :> new BrowserServerSection
    c:env insert "section "+c:current_section true addressof
  var Link:BrowserServerVariable va :> new BrowserServerVari
  va data_path := d path
  va run := run
  section:env insert var_id true addressof:va
  if help<>""
    section:env insert var_id+" help" true addressof:(new St
    section:env insert var_id+" help" true addressof:(new Str encode:help)
  c:env_sem release

method c select_var_open label flags focus help run v
  arg_rw BrowserServerContext c ; arg Str label ; arg Int fl
  c para_in
  var Str var_id := generate_id
  c:connection oraw open (cast "select" Ident) (string c:cur
  var Pointer:Function f :> (entry_type addressof:v) get_gen
  var Str value := to_string v "db" f
  if value<>""
    c:connection oraw (cast "value" Ident) value
  if label<>""
    c:connection oraw (cast "label" Ident) label
  if (flags .and. 1)<>0
    c:connection oraw (cast "over" Ident)
  c:connection oraw body
  c:env_sem request
  var Link:BrowserServerSection section :> (c:env first "sec
  if not exists:section or (entry_type addressof:section)<>B
    section :> new BrowserServerSection
    c:env insert "section "+c:current_section true addressof
  var Link:BrowserServerVariable va :> new BrowserServerVari
  va variable := addressof v
  va run := run
  section:env insert var_id true addressof:va
  if help<>""
  c:env_sem release

method c select_var_open label flags focus help run v
  arg_rw BrowserServerContext c ; arg Str label ; arg Int fl
  c para_in
  var Str var_id := generate_id
  c:connection oraw open (cast "select" Ident) (string c:cur
  var Pointer:Function f :> (entry_type addressof:v) get_gen
  var Str value := to_string v "db" f
  if value<>""
    c:connection oraw (cast "value" Ident) value
  if label<>""
    c:connection oraw (cast "label" Ident) label
  if (flags .and. 1)<>0
    c:connection oraw (cast "over" Ident)
  c:connection oraw body
  c:env_sem request
  var Link:BrowserServerSection section :> (c:env first "sec
  if not exists:section or (entry_type addressof:section)<>B
    section :> new BrowserServerSection
    c:env insert "section "+c:current_section true addressof
  var Link:BrowserServerVariable va :> new BrowserServerVari
  va variable := addressof v
  va run := run
  section:env insert var_id true addressof:va
  if help<>""
    section:env insert var_id+" help" true addressof:(new St
    section:env insert var_id+" help" true addressof:(new Str encode:help)
  c:env_sem release


method c option label value
  arg_rw BrowserServerContext c ; arg Str label value
  c:env_sem release


method c option label value
  arg_rw BrowserServerContext c ; arg Str label value
  c:connection otag "option" label value
  c:connection otag "option" encode:label value


method c button_tag label key da help flags active selected
  arg_rw BrowserServerContext c ; arg Str label ; arg Str ke
  c para_in
  var Str button_id := generate_id
  c:connection otag "button" (shunt active (string c:current
  if label<>""


method c button_tag label key da help flags active selected
  arg_rw BrowserServerContext c ; arg Str label ; arg Str ke
  c para_in
  var Str button_id := generate_id
  c:connection otag "button" (shunt active (string c:current
  if label<>""
    c:connection oattr "label" label
    c:connection oattr "label" encode:label
  if key<>""
    c:connection oattr "key" key
  if (flags .and. 1)<>0
    c:connection oattr "over"
  if (flags .and. 2)<>0
    c:connection oattr "stretch"
  if selected
    c:connection oattr "selected"
  if active
    c:env_sem request
    var Link:BrowserServerSection section :> (c:env first "s
    if not exists:section or (entry_type addressof:section)<
      section :> new BrowserServerSection
      c:env insert "section "+c:current_section true address
    var Link:DelayedAction lda :> new DelayedAction ; lda :=
    section:env insert button_id true addressof:lda
    if help<>""
  if key<>""
    c:connection oattr "key" key
  if (flags .and. 1)<>0
    c:connection oattr "over"
  if (flags .and. 2)<>0
    c:connection oattr "stretch"
  if selected
    c:connection oattr "selected"
  if active
    c:env_sem request
    var Link:BrowserServerSection section :> (c:env first "s
    if not exists:section or (entry_type addressof:section)<
      section :> new BrowserServerSection
      c:env insert "section "+c:current_section true address
    var Link:DelayedAction lda :> new DelayedAction ; lda :=
    section:env insert button_id true addressof:lda
    if help<>""
      section:env insert button_id+" help" true addressof:(n
      section:env insert button_id+" help" true addressof:(new Str encode:help)
    c:env_sem release


method c link_tag label da
  arg_rw BrowserServerContext c ; arg Str label ; arg Delaye
  var Str button_id := generate_id
  c para_in
    c:env_sem release


method c link_tag label da
  arg_rw BrowserServerContext c ; arg Str label ; arg Delaye
  var Str button_id := generate_id
  c para_in
  c:connection otag "link" label (string c:current_section)+
  c:connection otag "link" encode:label (string c:current_section)+" "+string:button_id
  c:env_sem request
  var Link:BrowserServerSection section :> (c:env first "sec
  if not exists:section or (entry_type addressof:section)<>B
    section :> new BrowserServerSection
    c:env insert "section "+c:current_section true addressof
  var Link:DelayedAction lda :> new DelayedAction ; lda := d
  section:env insert button_id true addressof:lda
  c:env_sem release


  c:env_sem request
  var Link:BrowserServerSection section :> (c:env first "sec
  if not exists:section or (entry_type addressof:section)<>B
    section :> new BrowserServerSection
    c:env insert "section "+c:current_section true addressof
  var Link:DelayedAction lda :> new DelayedAction ; lda := d
  section:env insert button_id true addressof:lda
  c:env_sem release