OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (C) 2013 Google Inc. All rights reserved. | 2 # Copyright (C) 2013 Google Inc. All rights reserved. |
3 # | 3 # |
4 # Redistribution and use in source and binary forms, with or without | 4 # Redistribution and use in source and binary forms, with or without |
5 # modification, are permitted provided that the following conditions are | 5 # modification, are permitted provided that the following conditions are |
6 # met: | 6 # met: |
7 # | 7 # |
8 # * Redistributions of source code must retain the above copyright | 8 # * Redistributions of source code must retain the above copyright |
9 # notice, this list of conditions and the following disclaimer. | 9 # notice, this list of conditions and the following disclaimer. |
10 # * Redistributions in binary form must reproduce the above | 10 # * Redistributions in binary form must reproduce the above |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 property[key] = value | 52 property[key] = value |
53 | 53 |
54 for property in self._properties.values(): | 54 for property in self._properties.values(): |
55 upper_camel = property['upper_camel_name'] | 55 upper_camel = property['upper_camel_name'] |
56 set_if_none(property, 'name_for_methods', upper_camel.replace('Webki
t', '')) | 56 set_if_none(property, 'name_for_methods', upper_camel.replace('Webki
t', '')) |
57 name = property['name_for_methods'] | 57 name = property['name_for_methods'] |
58 simple_type_name = str(property['type_name']).split('::')[-1] | 58 simple_type_name = str(property['type_name']).split('::')[-1] |
59 set_if_none(property, 'type_name', 'E' + name) | 59 set_if_none(property, 'type_name', 'E' + name) |
60 set_if_none(property, 'getter', lower_first(name) if simple_type_nam
e != name else 'get' + name) | 60 set_if_none(property, 'getter', lower_first(name) if simple_type_nam
e != name else 'get' + name) |
61 set_if_none(property, 'setter', 'set' + name) | 61 set_if_none(property, 'setter', 'set' + name) |
| 62 set_if_none(property, 'inherited', False) |
62 set_if_none(property, 'initial', 'initial' + name) | 63 set_if_none(property, 'initial', 'initial' + name) |
63 if property['custom_all']: | 64 if property['custom_all']: |
64 property['custom_initial'] = True | 65 property['custom_initial'] = True |
65 property['custom_inherit'] = True | 66 property['custom_inherit'] = True |
66 property['custom_value'] = True | 67 property['custom_value'] = True |
| 68 if property['inherited']: |
| 69 property['is_inherited_setter'] = 'set' + name + 'IsInherited' |
67 property['should_declare_functions'] = not property['use_handlers_fo
r'] and not property['longhands'] \ | 70 property['should_declare_functions'] = not property['use_handlers_fo
r'] and not property['longhands'] \ |
68 and not property['direction_aware'] and not property['builder_sk
ip'] \ | 71 and not property['direction_aware'] and not property['builder_sk
ip'] \ |
69 and not property['descriptor_only'] | 72 and not property['descriptor_only'] |
70 | 73 |
71 @template_expander.use_jinja('StyleBuilderFunctions.h.tmpl', | 74 @template_expander.use_jinja('StyleBuilderFunctions.h.tmpl', |
72 filters=filters) | 75 filters=filters) |
73 def generate_style_builder_functions_h(self): | 76 def generate_style_builder_functions_h(self): |
74 return { | 77 return { |
75 'properties': self._properties, | 78 'properties': self._properties, |
76 } | 79 } |
77 | 80 |
78 @template_expander.use_jinja('StyleBuilderFunctions.cpp.tmpl', | 81 @template_expander.use_jinja('StyleBuilderFunctions.cpp.tmpl', |
79 filters=filters) | 82 filters=filters) |
80 def generate_style_builder_functions_cpp(self): | 83 def generate_style_builder_functions_cpp(self): |
81 return { | 84 return { |
82 'properties': self._properties, | 85 'properties': self._properties, |
83 } | 86 } |
84 | 87 |
85 @template_expander.use_jinja('StyleBuilder.cpp.tmpl', filters=filters) | 88 @template_expander.use_jinja('StyleBuilder.cpp.tmpl', filters=filters) |
86 def generate_style_builder(self): | 89 def generate_style_builder(self): |
87 return { | 90 return { |
88 'properties': self._properties, | 91 'properties': self._properties, |
89 } | 92 } |
90 | 93 |
91 | 94 |
92 if __name__ == '__main__': | 95 if __name__ == '__main__': |
93 in_generator.Maker(StyleBuilderWriter).main(sys.argv) | 96 in_generator.Maker(StyleBuilderWriter).main(sys.argv) |
OLD | NEW |