You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rivet-dev@tcl.apache.org by da...@apache.org on 2002/07/15 06:06:26 UTC
cvs commit: tcl-rivet/rivet/packages/form form.tcl
damonc 2002/07/14 21:06:26
Modified: rivet/packages/dio dio.tcl diodisplay.tcl
rivet/packages/form form.tcl
Log:
Ending a form no longer destroys its object.
Added some stuff to diodisplay.
Revision Changes Path
1.5 +33 -23 tcl-rivet/rivet/packages/dio/dio.tcl
Index: dio.tcl
===================================================================
RCS file: /home/cvs/tcl-rivet/rivet/packages/dio/dio.tcl,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- dio.tcl 18 Apr 2002 01:12:56 -0000 1.4
+++ dio.tcl 15 Jul 2002 04:06:26 -0000 1.5
@@ -37,37 +37,42 @@
protected method build_select_query {args} {
set bool AND
set first 1
- set waiting 0
- set req "select * from $table"
- if {[lempty $args]} { return $req }
- append req " WHERE"
- foreach elem $args {
- switch -nocase -- $elem {
+ set req ""
+ set myTable $table
+ for {set i 0} {$i < [llength $args]} {incr i} {
+ set elem [lindex $args $i]
+
+ switch -- [::string tolower $elem] {
"-and" { set bool AND }
"-or" { set bool OR }
+ "-table" { set myTable [lindex $args [incr i]] }
+
default {
- if {$waiting} {
+ if {[::string index $elem 0] == "-"} {
+ set field [::string range $elem 1 end]
+ set elem [lindex $args [incr i]]
+
if {$first} {
+ append req " WHERE"
set first 0
} else {
append req " $bool"
}
- append req " $switch='[quote $elem]'"
- set waiting 0
- continue
- }
- if {[cindex $elem 0] == "-"} {
- set switch [crange $elem 1 end]
- set waiting 1
+ regsub -all {\*} $elem {%} elem
+ if {[::string first {%} $elem] != -1} {
+ append req " $field LIKE '[quote $elem]'"
+ } else {
+ append req " $field='[quote $elem]'"
+ }
+
continue
}
-
append req " $elem"
}
}
}
- return $req
+ return "select * from $myTable $req"
}
protected method build_insert_query {arrayName fields {myTable ""}} {
@@ -168,11 +173,6 @@
::itcl::delete object $this
}
- method search {args} {
- set req [eval build_select_query $args]
- return [exec $req]
- }
-
###
## Execute a request and only return a string of the row.
###
@@ -189,7 +189,7 @@
method list {req} {
set res [exec $req]
set list ""
- while {[$res next -list line]} {
+ $res forall -list line {
lappend list [lindex $line 0]
}
$res destroy
@@ -306,6 +306,16 @@
return $keys
}
+ method search {args} {
+ set req [eval build_select_query $args]
+ return [exec $req]
+ }
+
+ method count {args} {
+ table_check $args
+ return [string "select count(*) from $myTable"]
+ }
+
##
## These are methods which should be defined by each individual database
## class.
@@ -680,7 +690,7 @@
}
if {[catch {mysqlcol $conn -current name} fields]} { set fields "" }
set obj [result Mysql -resultid $conn \
- -numrows $error -fields [::list $fields]]
+ -numrows [::list $error] -fields [::list $fields]]
return $obj
}
1.3 +344 -156 tcl-rivet/rivet/packages/dio/diodisplay.tcl
Index: diodisplay.tcl
===================================================================
RCS file: /home/cvs/tcl-rivet/rivet/packages/dio/diodisplay.tcl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- diodisplay.tcl 18 Apr 2002 00:56:57 -0000 1.2
+++ diodisplay.tcl 15 Jul 2002 04:06:26 -0000 1.3
@@ -1,6 +1,6 @@
package require Itcl
package require DIO
-catch { package require form }
+package require form
package provide DIODisplay 1.0
@@ -20,6 +20,13 @@
}
set document [env DOCUMENT_NAME]
+
+ if {[info exists response(numResults)] \
+ && ![lempty $response(numResults)]} {
+ set pagesize $response(numResults)
+ }
+
+ read_css_file
}
destructor {
@@ -30,7 +37,7 @@
::itcl::delete object $this
}
- method configure_variable {varName string} {
+ method configvar {varName string} {
if {[lempty $string]} { return [set $varName] }
configure -$varName $string
}
@@ -46,38 +53,92 @@
foreach field $allfields { catch { $field destroy } }
## Destroy the DIO object.
- $DIO destroy
+ catch { $DIO destroy }
## Destroy the form object.
- $form destroy
+ catch { $form destroy }
}
method handle_error {error} {
- global errorCode
- global errorInfo
-
+ puts "<B>An error has occurred processing your request</B>"
puts "<PRE>"
- puts "ERROR: $errorInfo"
+ puts "$error"
puts "</PRE>"
}
+ method read_css_file {} {
+ if {[lempty $css]} { return }
+ if {[catch {open [virtual_filename $css]} fp]} { return }
+ set contents [read $fp]
+ close $fp
+ array set tmpArray $contents
+ foreach class [array names tmpArray] {
+ set cssArray([string toupper $class]) $tmpArray($class)
+ }
+ }
+
+ ## Figure out which CSS class we want to use. If class exists, we use
+ ## that. If not, we use default.
+ method get_css_class {tag default class} {
+ if {[info exists cssArray([string toupper $tag.$class])]} {
+ return $class
+ }
+ if {[info exists cssArray([string toupper .$class])]} { return $class }
+ return $default
+ }
+
+ method parse_css_class {class arrayName} {
+ if {![info exists cssArray($class)]} { return }
+ upvar 1 $arrayName array
+ foreach line [split $cssArray($class) \;] {
+ set line [string trim $line]
+ lassign [split $line :] property value
+ set property [string trim [string tolower $property]]
+ set value [string trim $value]
+ set array($property) $value
+ }
+ }
+
+ method button_image_src {class} {
+ set class [string toupper input.$class]
+ parse_css_class $class array
+ if {![info exists array(image-src)]} { return }
+ return $array(image-src)
+ }
+
method show {} {
set mode Main
if {[info exists response(mode)]} { set mode $response(mode) }
+
+ if {![lempty $css]} {
+ puts "<LINK REL=\"stylesheet\" TYPE=\"text/css\" HREF=\"$css\">"
+ }
+
+ puts {<TABLE WIDTH="100%" CLASS="DIO">}
+ puts "<TR>"
+ puts {<TD VALIGN="center" CLASS="DIO">}
+
+ if {$mode != "Main" && $persistentmain} { Main }
+
if {![is_function $mode]} {
puts "In-valid function"
abort_page
return
}
- catch $mode error
- if {$cleanup} { destroy }
+ if {[catch "$this $mode" error]} {
+ handle_error $error
+ }
+
+ puts "</TD>"
+ puts "</TR>"
+ puts "</TABLE>"
- if {![lempty $error]} { $errorhandler $error }
+ if {$cleanup} { destroy }
}
method showview {} {
- puts "<TABLE>"
+ puts {<TABLE CLASS="DIOView">}
foreach field $fields {
$field showview
}
@@ -87,10 +148,14 @@
method showform {} {
get_field_values array
+ set save [button_image_src DIOFormSaveButton]
+ set cancel [button_image_src DIOFormCancelButton]
+
$form start
+ $form hidden mode -value Save
$form hidden DIODfromMode -value $response(mode)
$form hidden DIODkey -value [$DIO makekey array]
- puts "<TABLE>"
+ puts {<TABLE CLASS="DIOForm">}
foreach field $fields {
$field showform
}
@@ -99,78 +164,91 @@
puts "<TABLE>"
puts "<TR>"
puts "<TD>"
- $form submit mode -value "Save"
+ if {![lempty $save]} {
+ $form image save -src $save -class DIOFormSaveButton
+ } else {
+ $form submit save.x -value "Save" -class DIOFormSaveButton
+ }
puts "</TD>"
puts "<TD>"
- $form submit mode -value "Cancel"
+ if {![lempty $cancel]} {
+ $form image cancel -src $cancel -class DIOFormSaveButton
+ } else {
+ $form submit cancel.x -value "Cancel" -class DIOFormCancelButton
+ }
puts "</TD>"
puts "</TR>"
puts "</TABLE>"
- }
-
- method showrow {arrayName} {
- upvar 1 $arrayName a
-
- set fieldList $fields
- if {![lempty $rowfields]} { set fieldList $rowfields }
-
- puts "<TR>"
- foreach field $fieldList {
- if {![info exists a($field)]} {
- puts "<TD></TD>"
- } else {
- puts "<TD>$a($field)</TD>"
- }
- }
-
- if {![lempty $rowfunctions]} {
- puts "<TD NOWRAP>"
- set f [::form #auto]
- $f start
- $f hidden query -value [$DIO makekey a]
- $f select mode -values $rowfunctions
- $f submit submit -value "Go"
- $f end
- puts "</TD>"
- }
- puts "</TR>"
+ $form end
}
- method page_buttons {} {
+ method page_buttons {side} {
if {$pagesize <= 0} { return }
- if {![info exists response(page)]} { set response(page) 0 }
+ if {![info exists response(page)]} { set response(page) 1 }
- puts "<TABLE WIDTH=\"$rowwidth\">"
+ set pref DIO$side
+ set count [$DIOResult numrows]
+
+ set class [get_css_class TABLE DIONavButtons ${pref}NavButtons]
+ puts "<TABLE WIDTH=\"100%\" CLASS=\"$class\">"
puts "<TR>"
- if {$response(page) != 0} {
- puts "<TD ALIGN=LEFT>"
+ set class [get_css_class TD DIOBackButton ${pref}BackButton]
+ if {$response(page) != 1} {
+ set back [button_image_src $class]
+
+ puts "<TD ALIGN=LEFT CLASS=\"$class\">"
set f [::form #auto -defaults response]
$f start
$f hidden mode
$f hidden query
+ $f hidden searchBy
$f hidden sortBy
+ $f hidden numResults
$f hidden page -value [expr $response(page) - 1]
- $f submit submit -value "Back"
+ set class [get_css_class INPUT DIOBackButton ${pref}BackButton]
+ if {![lempty $back]} {
+ $f image back -src $back -class $class
+ } else {
+ $f submit back -value "Back" -class $class
+ }
$f end
+ $f destroy
puts "</TD>"
} else {
- puts "<TD></TD>"
+ puts "<TD CLASS=\"$class\"> </TD>"
}
- if {[$DIOResult numrows] >= $pagesize} {
- puts "<TD ALIGN=RIGHT>"
+
+ ## As long as count == pagesize, we fetched exactly the limit of
+ ## records. This may sometimes lead to a next button when there
+ ## are actually no more records if the number of records is a clean
+ ## divisible of pagesize.
+
+ set class [get_css_class TD DIONextButton ${pref}NextButton]
+ if {$count == $pagesize} {
+ set next [button_image_src $class]
+
+ puts "<TD ALIGN=RIGHT CLASS=\"$class\">"
set f [::form #auto -defaults response]
$f start
$f hidden mode
$f hidden query
+ $f hidden searchBy
$f hidden sortBy
+ $f hidden numResults
$f hidden page -value [expr $response(page) + 1]
- $f submit submit -value "Next"
+ set class [get_css_class INPUT DIONextButton ${pref}NextButton]
+ if {![lempty $next]} {
+ $f image next -src $next -class $class
+ } else {
+ $f submit next -value "Next" -class $class
+ }
$f end
+ $f destroy
puts "</TD>"
} else {
- puts "<TD></TD>"
+ puts "<TD CLASS=\"$class\"> </TD>"
}
puts "</TR>"
puts "</TABLE>"
@@ -181,11 +259,13 @@
set fieldList $fields
if {![lempty $rowfields]} { set fieldList $rowfields }
+ set rowcount 0
+
puts <P>
- if {$topnav} { page_buttons }
+ if {$topnav} { page_buttons Top }
- puts "<TABLE BORDER WIDTH=\"$rowwidth\">"
+ puts {<TABLE BORDER WIDTH="100%" CLASS="DIORowHeader">}
puts "<TR>"
foreach field $fieldList {
set text [$field text]
@@ -197,20 +277,59 @@
} else {
set html {<A HREF="}
append html "$document?mode=$response(mode)"
- append html "&query=$response(query)"
+ foreach var {query searchBy numResults} {
+ if {[info exists response($var)]} {
+ append html "&$var=$response($var)"
+ }
+ }
append html "&sortBy=$field\">$text</A>"
}
- puts "<TD><B>$html</TD>"
+ set class [get_css_class TH DIORowHeader DIORowHeader-$field]
+ puts "<TH CLASS=\"$class\">$html</TH>"
+ }
+
+ puts {<TH CLASS="DIORowHeaderFunctions">Functions</TH>}
+ puts "</TR>"
+ }
+
+ method showrow {arrayName} {
+ upvar 1 $arrayName a
+
+ incr rowcount
+ set alt ""
+ if {$alternaterows && ![expr $rowcount % 2]} { set alt Alt }
+
+ set fieldList $fields
+ if {![lempty $rowfields]} { set fieldList $rowfields }
+
+ puts "<TR>"
+ foreach field $fieldList {
+ set class [get_css_class TD DIORowField$alt DIORowField$alt-$field]
+ if {![info exists a($field)]} {
+ puts "<TD CLASS=\"$class\"></TD>"
+ } else {
+ puts "<TD CLASS=\"$class\">$a($field)</TD>"
+ }
+ }
+
+ if {![lempty $rowfunctions]} {
+ puts "<TD NOWRAP CLASS=\"DIORowFunctions$alt\">"
+ set f [::form #auto]
+ $f start
+ $f hidden query -value [$DIO makekey a]
+ $f select mode -values $rowfunctions -class DIORowFunctionSelect$alt
+ $f submit submit -value "Go" -class DIORowFunctionButton$alt
+ $f end
+ puts "</TD>"
}
- puts "<TD><CENTER><B>Functions</TD>"
puts "</TR>"
}
method rowfooter {} {
puts "</TABLE>"
- if {$bottomnav} { page_buttons }
+ if {$bottomnav} { page_buttons Bottom }
}
## Define a new function.
@@ -232,22 +351,31 @@
}
- eval $class $name -name $name -form $form $args
+ eval $class $name -name $name -display $this -form $form $args
set FieldTextMap([$name text]) $name
}
method fetch {key arrayName} {
upvar 1 $arrayName $arrayName
- return [$DIO fetch $key $arrayName]
+ set result [$DIO fetch $key $arrayName]
+ set error [$DIO errorinfo]
+ if {![lempty $error]} { return -code error $error }
+ return $result
}
method store {arrayName} {
upvar 1 $arrayName $arrayName
- return [$DIO store $arrayName]
+ set result [$DIO store $arrayName]
+ set error [$DIO errorinfo]
+ if {![lempty $error]} { return -code error $error }
+ return $result
}
method delete {key} {
- return [$DIO delete $key]
+ set result [$DIO delete $key]
+ set error [$DIO errorinfo]
+ if {![lempty $error]} { return -code error $error }
+ return $result
}
method pretty_fields {list} {
@@ -273,8 +401,8 @@
}
}
- method DisplayRequest {req} {
- set DIOResult [$DIO exec $req]
+ method DisplayRequest {query} {
+ set DIOResult [eval $DIO search $query]
if {[$DIOResult numrows] <= 0} {
puts "Could not find any matching records."
@@ -297,12 +425,12 @@
method Main {} {
$form start
- puts "<TABLE>"
+ puts {<TABLE CLASS="DIOMain">}
puts "<TR>"
- puts "<TD>Functions:</TD>"
- puts "<TD>"
- $form select mode -values $functions
+ puts {<TD CLASS="DIOMainFunctionsHeader">Functions:</TD>}
+ puts {<TD CLASS="DIOMainFunctions">}
+ $form select mode -values $functions -class DIOMainFunctionsSelect
puts "</TD>"
puts "</TR>"
@@ -310,32 +438,48 @@
if {![lempty $searchfields]} { set useFields $searchfields }
puts "<TR>"
- puts "<TD>Search By:</TD>"
- puts "<TD>"
- $form select searchBy -values [pretty_fields $useFields]
+ puts {<TD CLASS="DIOMainSearchByHeader">Search By:</TD>}
+ puts {<TD CLASS="DIOMainSearchBy">}
+ $form select searchBy -values [pretty_fields $useFields] \
+ -class DIOMainSearchBy
puts "</TD>"
puts "</TR>"
puts "<TR>"
- puts "<TD>Query:</TD>"
- puts "<TD>"
- $form text query
+ puts {<TD CLASS="DIOMainQueryHeader">Query:</TD>}
+ puts {<TD CLASS="DIOMainQuery">}
+ $form text query -value "" -class DIOMainQuery
puts "</TD>"
puts "</TR>"
+ if {![lempty $numresults]} {
+ puts "<TR>"
+ puts {<TD CLASS="DIOMainNumResultsHeader">Results Per Page:</TD>}
+ puts {<TD CLASS="DIOMainNumResults">}
+ $form select numResults -values $numresults -class DIOMainNumResults
+ puts "</TD>"
+ puts "</TR>"
+ }
+
puts "<TR>"
- puts "<TD COLSPAN=2>"
- $form submit submit
+ puts {<TD COLSPAN=2 CLASS="DIOMainSubmitButton">}
+ $form submit submit -value "Submit Request" -class DIOMainSubmitButton
puts "</TD>"
puts "</TR>"
puts "</TABLE>"
+
+ $form end
}
method sql_order_by_syntax {} {
if {[info exists response(sortBy)] && ![lempty $response(sortBy)]} {
return " ORDER BY $response(sortBy)"
}
+
+ if {![lempty $defaultsortfield]} {
+ return " ORDER BY $defaultsortfield"
+ }
}
method sql_limit_syntax {} {
@@ -343,7 +487,7 @@
set offset ""
if {[info exists response(page)]} {
- set offset [expr $response(page) * $pagesize]
+ set offset [expr ($response(page) - 1) * $pagesize]
}
return [$DIO sql_limit_syntax $pagesize $offset]
}
@@ -351,28 +495,20 @@
method Search {} {
set searchField $FieldTextMap($response(searchBy))
- set table [$DIO table]
-
- set req "SELECT * FROM $table
- WHERE $searchField LIKE '[$DIO quote $response(query)]'"
- append req [sql_order_by_syntax]
+ set query "-$searchField $response(query)"
- append req [sql_limit_syntax]
+ append query [sql_order_by_syntax]
+ append query [sql_limit_syntax]
- DisplayRequest $req
+ DisplayRequest $query
}
method List {} {
- set table [$DIO table]
-
- set req "SELECT * FROM $table"
-
- append req [sql_order_by_syntax]
+ set query [sql_order_by_syntax]
+ append query [sql_limit_syntax]
- append req [sql_limit_syntax]
-
- DisplayRequest $req
+ DisplayRequest $query
}
method Add {} {
@@ -399,6 +535,11 @@
## we get the right value.
##
method Save {} {
+ if {[info exists response(cancel.x)]} {
+ Cancel
+ return
+ }
+
## We need to see if the key exists. If they are adding a new
## entry, we just want to see if the key exists. If they are
## editing an entry, we need to see if they changed the keyfield
@@ -446,27 +587,25 @@
}
puts "<CENTER>"
- puts "<TABLE>"
+ puts {<TABLE CLASS="DIODeleteConfirm">}
puts "<TR>"
- puts "<TD COLSPAN=2>"
+ puts {<TD COLSPAN=2 CLASS="DIODeleteConfirm">}
puts "Are you sure you want to delete this record from the database?"
puts "</TD>"
puts "</TR>"
puts "<TR>"
- puts "<TD>"
- puts "<CENTER>"
+ puts {<TD ALIGN="center" CLASS="DIODeleteConfirmYesButton">}
set f [::form #auto]
$f start
$f hidden mode -value DoDelete
$f hidden query -value $response(query)
- $f submit submit -value Yes
+ $f submit submit -value Yes -class DIODeleteConfirmYesButton
$f end
puts "</TD>"
- puts "<TD>"
- puts "<CENTER>"
+ puts {<TD ALIGN="center" CLASS="DIODeleteConfirmNoButton">}
set f [::form #auto]
$f start
- $f submit submit -value No
+ $f submit submit -value No -class "DIODeleteConfirmNoButton"
$f end
puts "</TD>"
puts "</TR>"
@@ -492,7 +631,7 @@
showview
}
- proc Cancel {} {
+ method Cancel {} {
headers redirect $document
}
@@ -530,33 +669,32 @@
set rowfields $list
}
- method DIO {{string ""}} { configure_variable DIO $string }
- method DIOResult {{string ""}} { configure_variable DIOResult $string }
- method errorhandler {{string ""}} {configure_variable errorhandler $string }
-
- method title {{string ""}} { configure_variable title $string }
- method functions {{string ""}} { configure_variable functions $string }
- method pagesize {{string ""}} { configure_variable pagesize $string }
- method form {{string ""}} { configure_variable form $string }
- method cleanup {{string ""}} { configure_variable cleanup $string }
- method confirmdelete {{string ""}} {
- configure_variable confirmdelete $string
- }
-
- method allowsort {{string ""}} { configure_variable allowsort $string }
- method sortfields {{string ""}} { configure_variable sortfields $string }
- method background {{string ""}} { configure_variable background $string }
- method border {{string ""}} { configure_variable border $string }
- method bordercolor {{string ""}} { configure_variable bordercolor $string }
- method topnav {{string ""}} { configure_variable topnav $string }
- method bottomnav {{string ""}} { configure_variable bottomnav $string }
+ method DIO {{string ""}} { configvar DIO $string }
+ method DIOResult {{string ""}} { configvar DIOResult $string }
- method rowfunctions {{string ""}} {configure_variable rowfunctions $string}
- method rowwidth {{string ""}} {configure_variable rowwidth $string}
+ method title {{string ""}} { configvar title $string }
+ method functions {{string ""}} { configvar functions $string }
+ method pagesize {{string ""}} { configvar pagesize $string }
+ method form {{string ""}} { configvar form $string }
+ method cleanup {{string ""}} { configvar cleanup $string }
+ method confirmdelete {{string ""}} { configvar confirmdelete $string }
+
+ method css {{string ""}} { configvar css $string }
+ method persistentmain {{string ""}} { configvar persistentmain $string }
+ method alternaterows {{string ""}} { configvar alternaterows $string }
+ method allowsort {{string ""}} { configvar allowsort $string }
+ method sortfields {{string ""}} { configvar sortfields $string }
+ method topnav {{string ""}} { configvar topnav $string }
+ method bottomnav {{string ""}} { configvar bottomnav $string }
+ method numresults {{string ""}} { configvar numresults $string }
+ method defaultsortfield {{string ""}} { configvar defaultsortfield $string }
+
+ method rowfunctions {{string ""}} { configvar rowfunctions $string }
+
+ ## OPTIONS ##
public variable DIO ""
public variable DIOResult ""
- public variable errorhandler "handle_error"
public variable title ""
public variable fields ""
@@ -567,23 +705,31 @@
public variable cleanup 1
public variable confirmdelete 1
- public variable allowsort 1
- public variable sortfields ""
- public variable background "white"
- public variable border 0
- public variable bordercolor "black"
- public variable topnav 1
- public variable bottomnav 1
+ public variable css "diodisplay.css" {
+ if {![lempty $css]} {
+ catch {unset cssArray}
+ read_css_file
+ }
+ }
+
+ public variable persistentmain 1
+ public variable alternaterows 1
+ public variable allowsort 1
+ public variable sortfields ""
+ public variable topnav 1
+ public variable bottomnav 1
+ public variable numresults ""
+ public variable defaultsortfield ""
public variable rowfields ""
public variable rowfunctions "Details Edit Delete"
- public variable rowwidth "100%"
- private variable response
- private variable document ""
- private variable allfields ""
- private variable FieldTextMap
- private variable allfunctions {
+ public variable response
+ public variable cssArray
+ public variable document ""
+ public variable allfields ""
+ public variable FieldTextMap
+ public variable allfunctions {
Search
List
Add
@@ -596,6 +742,8 @@
Cancel
}
+ private variable rowcount
+
} ; ## ::itcl::class DIODisplay
catch { ::itcl::delete class ::DIODisplayField }
@@ -626,6 +774,24 @@
::itcl::delete object $this
}
+ method get_css_class {tag default class} {
+ return [$display get_css_class $tag $default $class]
+ }
+
+ method get_css_tag {} {
+ switch -- $type {
+ "select" {
+ set tag select
+ }
+ "textarea" {
+ set tag textarea
+ }
+ default {
+ set tag input
+ }
+ }
+ }
+
method pretty {string} {
set words ""
foreach w $string {
@@ -635,39 +801,52 @@
return [join $words " "]
}
- method configure_variable {varName string} {
+ method configvar {varName string} {
if {[lempty $string]} { return [set $varName] }
configure -$varName $string
}
method showview {} {
puts "<TR>"
- puts "<TD><B>$text</B>:</TD>"
- puts "<TD>$value</TD>"
+
+ set class [get_css_class TD DIOViewHeader DIOViewHeader-$name]
+ puts "<TD CLASS=\"$class\">$text:</TD>"
+
+ set class [get_css_class TD DIOViewField DIOViewField-$name]
+ puts "<TD CLASS=\"$class\">$value</TD>"
+
puts "</TR>"
}
method showform {} {
puts "<TR>"
- puts "<TD ALIGN=RIGHT><B>$text</B>:</TD>"
- puts "<TD>"
+
+ set class [get_css_class TD DIOFormHeader DIOFormHeader-$name]
+ puts "<TD CLASS=\"$class\">$text:</TD>"
+
+ set class [get_css_class TD DIOFormField DIOFormField-$name]
+ puts "<TD CLASS=\"$class\">"
if {$readonly} {
puts "$value"
} else {
- eval $form $type $name -value [list $value] $formargs
+ set tag [get_css_tag]
+ set class [get_css_class $tag DIOFormField DIOFormField-$name]
+ eval $form $type $name -value [list $value] $formargs -class $class
}
puts "</TD>"
puts "</TR>"
}
- method form {{string ""}} { configure_variable form $string }
- method formargs {{string ""}} { configure_variable formargs $string }
- method name {{string ""}} { configure_variable name $string }
- method text {{string ""}} { configure_variable text $string }
- method type {{string ""}} { configure_variable type $string }
- method value {{string ""}} { configure_variable value $string }
- method readonly {{string ""}} { configure_variable readonly $string }
+ method display {{string ""}} { configvar display $string }
+ method form {{string ""}} { configvar form $string }
+ method formargs {{string ""}} { configvar formargs $string }
+ method name {{string ""}} { configvar name $string }
+ method text {{string ""}} { configvar text $string }
+ method type {{string ""}} { configvar type $string }
+ method value {{string ""}} { configvar value $string }
+ method readonly {{string ""}} { configvar readonly $string }
+ public variable display ""
public variable form ""
public variable formargs ""
public variable name ""
@@ -693,8 +872,12 @@
method showform {} {
puts "<TR>"
- puts "<TD ALIGN=RIGHT><B>$text</B>:</TD>"
- puts "<TD>"
+
+ set class [get_css_class TD DIOFormHeader DIOFormHeader-$name]
+ puts "<TD CLASS=\"$class\">$text:</TD>"
+
+ set class [get_css_class TD DIOFormField DIOFormField-$name]
+ puts "<TD CLASS=\"$class\">"
if {$readonly} {
if {[boolean_value]} {
puts $true
@@ -716,14 +899,19 @@
method showview {} {
puts "<TR>"
- puts "<TD><B>$text</B>:</TD>"
- puts "<TD>"
+
+ set class [get_css_class TD DIOViewHeader DIOViewHeader-$name]
+ puts "<TD CLASS=\"$class\">$text:</TD>"
+
+ set class [get_css_class TD DIOViewField DIOViewField-$name]
+ puts "<TD CLASS=\"$class\">"
if {[boolean_value]} {
puts $true
} else {
puts $false
}
puts "</TD>"
+
puts "</TR>"
}
1.3 +0 -1 tcl-rivet/rivet/packages/form/form.tcl
Index: form.tcl
===================================================================
RCS file: /home/cvs/tcl-rivet/rivet/packages/form/form.tcl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- form.tcl 18 Apr 2002 00:25:24 -0000 1.2
+++ form.tcl 15 Jul 2002 04:06:26 -0000 1.3
@@ -84,7 +84,6 @@
method end {} {
puts "</FORM>"
- destroy
}
method field {type name args} {
---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org