Class ::xo::Page (public)

 ::xotcl::Class ::xo::Page[i]

Defined in

Testcases:
No testcase defined.
Source code:
namespace eval ::xo {}
::nsf::object::alloc ::xotcl::Class ::xo::Page {set :__default_metaclass ::xotcl::Class
   set :__default_superclass ::xotcl::Object}
::xo::Page proc set_property {name element value} {
    set ::xo_property_${name}($element$value
  }
::xo::Page proc get_property name {
    if {[array exists ::xo_property_${name}]} {
      return [array get ::xo_property_${name}]
    }
    return [list]
  }
::xo::Page proc header_stuff {} {

    foreach style [:sort_keys_by_value [array get ::_xo_need_style]] {
      template::head::add_style -style $style
    }
    set count 10
    foreach file [:sort_keys_by_value [array get ::_xo_need_css]] {
      template::head::add_css -href $file -media all -order [incr count]
    }
    if {[info exists ::_xo_js_order]} {
      set statements ""
      set order 10
      foreach file $::_xo_js_order {
        if {[string match "*;*" $file]} {
          # it is not a file, but some JavaScript statements
          #append statements [string map {< "&lt;" > "&gt;"} $file] \n
          append statements $file \n
        } else {
          template::head::add_script -src $file -type text/javascript -order [incr order]
        }
      }
      if {$statements ne ""} {
        template::head::add_script -script $statements -type text/javascript -order [incr order]
      }
    }
    return ""
  }
::xo::Page proc sort_keys_by_value {{-comparison integer} {-direction increasing} pairs} {
    set result [list]
    set a [list]
    foreach {key value} $pairs {
      lappend a [list $key $value]
    }
    foreach pair [lsort -index 1 -$comparison -$direction $a] {
      lappend result [lindex $pair 0]
    }
    return $result
  }
::xo::Page proc requireCSS {{-order 1} name} {
    set ::_xo_need_css($name) [expr {[array size ::_xo_need_css] + 1000 * $order}]
  }
::xo::Page proc requireStyle {{-order 1} s} {
    set ::_xo_need_style($s) [expr {[array size ::_xo_need_style] + 1000 * $order}]
  }
::xo::Page proc requireJS name {
    if {![info exists ::_xo_need_js($name)]} {lappend ::_xo_js_order $name}
    set ::_xo_need_js($name)  1
  }
::xo::Page proc requireLink {-rel -type -title -href} {
    template::head::add_link -rel $rel -href $href -type $type -title $title
  }
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: