Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
2
 
3
class CSSSubProperty extends CSSPropertyHandler {
4
  var $_owner;
5
 
6
  function CSSSubProperty(&$owner) {
7
    $this->_owner =& $owner;
8
  }
9
 
10
  function &get(&$state) {
11
    $owner =& $this->owner();
12
    $value =& $owner->get($state);
13
    $subvalue =& $this->get_value($value);
14
    return $subvalue;
15
  }
16
 
17
  function is_subproperty() {
18
    return true;
19
  }
20
 
21
  function &owner() {
22
    return $this->_owner;
23
  }
24
 
25
  function default_value() {
26
  }
27
 
28
  function inherit($old_state, &$new_state) {
29
  }
30
 
31
  function inherit_text($old_state, &$new_state) {
32
  }
33
 
34
  function replace_array($value, &$state_array) {
35
    $owner =& $this->owner();
36
 
37
    $owner_value = $state_array[$owner->get_property_code()];
38
 
39
    if (is_object($owner_value)) {
40
      $owner_value = $owner_value->copy();
41
    };
42
 
43
    if (is_object($value)) {
44
      $this->set_value($owner_value, $value->copy());
45
    } else {
46
      $this->set_value($owner_value, $value);
47
    };
48
 
49
    $state_array[$owner->get_property_code()] = $owner_value;
50
  }
51
 
52
  function replace($value, &$state) {
53
    $owner =& $this->owner();
54
    $owner_value = $owner->get($state->getState());
55
 
56
    if (is_object($owner_value)) {
57
      $owner_value =& $owner_value->copy();
58
    };
59
 
60
    if (is_object($value)) {
61
      $value_copy =& $value->copy();
62
      $this->set_value($owner_value, $value_copy);
63
    } else {
64
      $this->set_value($owner_value, $value);
65
    };
66
 
67
    $owner->replaceDefault($owner_value, $state);
68
    $state->set_propertyDefaultFlag($this->get_property_code(), false);
69
  }
70
 
71
  function set_value(&$owner_value, &$value) {
72
    error_no_method('set_value', get_class($this));
73
  }
74
 
75
  function &get_value(&$owner_value) {
76
    error_no_method('get_value', get_class($this));
77
  }
78
}
79
 
80
?>