Update leenkx/blender/lnx/logicnode/custom/LN_create_style.py
This commit is contained in:
		| @ -1,451 +1,451 @@ | ||||
| import array | ||||
| from lnx.logicnode.lnx_nodes import * | ||||
|  | ||||
|  | ||||
| class CreateStyleNode(LnxLogicTreeNode): | ||||
|     """Create Style""" | ||||
|     bl_idname = 'LNCreateStyleNode' | ||||
|     bl_label = 'Create Style' | ||||
|     bl_description = 'Create Style' | ||||
|     lnx_category = 'HTML' | ||||
|     lnx_version = 1 | ||||
|     min_inputs = 1 | ||||
|  | ||||
|    | ||||
|  | ||||
|  | ||||
|     @staticmethod | ||||
|     def get_enum_id_value(obj, prop_name, value): | ||||
|         return obj.bl_rna.properties[prop_name].enum_items[value].identifier | ||||
|  | ||||
|     @staticmethod | ||||
|     def get_count_in(type_name): | ||||
|         return { | ||||
|             'align-content': 0, | ||||
|             'align-items': 1, | ||||
|             'align-self': 2, | ||||
|             'animation-delay': 3, | ||||
|             'animation-direction': 4, | ||||
|             'animation-duration': 5, | ||||
|             'animation-fill-mode': 6, | ||||
|             'animation-iteration-count': 7, | ||||
|             'animation-name': 8, | ||||
|             'animation-play-state': 9, | ||||
|             'animation-timing-function': 10, | ||||
|             'backface-visibility': 11, | ||||
|             'background': 12, | ||||
|             'background-attachment': 13, | ||||
|             'background-clip': 14, | ||||
|             'background-color': 15, | ||||
|             'background-image': 16, | ||||
|             'background-origin': 17, | ||||
|             'background-position': 18, | ||||
|             'background-repeat': 19, | ||||
|             'background-size': 20, | ||||
|             'border': 21, | ||||
|             'border-bottom': 22, | ||||
|             'border-bottom-color': 23, | ||||
|             'border-bottom-left-radius': 24, | ||||
|             'border-bottom-right-radius': 25, | ||||
|             'border-bottom-style': 26, | ||||
|             'border-bottom-width': 27, | ||||
|             'border-collapse': 28, | ||||
|             'border-color': 29, | ||||
|             'border-image': 30, | ||||
|             'border-image-outset': 31, | ||||
|             'border-image-repeat': 32, | ||||
|             'border-image-slice': 33, | ||||
|             'border-image-source': 34, | ||||
|             'border-image-width': 35, | ||||
|             'border-left': 36, | ||||
|             'border-left-color': 37, | ||||
|             'border-left-style': 38, | ||||
|             'border-left-width': 39, | ||||
|             'border-radius': 40, | ||||
|             'border-right': 41, | ||||
|             'border-right-color': 42, | ||||
|             'border-right-style': 43, | ||||
|             'border-right-width': 44, | ||||
|             'border-spacing': 45, | ||||
|             'border-style': 46, | ||||
|             'border-top': 47, | ||||
|             'border-top-color': 48, | ||||
|             'border-top-left-radius': 49, | ||||
|             'border-top-right-radius': 50, | ||||
|             'border-top-style': 51, | ||||
|             'border-top-width': 52, | ||||
|             'border-width': 53, | ||||
|             'bottom': 54, | ||||
|             'box-shadow': 55, | ||||
|             'box-sizing': 56, | ||||
|             'caption-side': 57, | ||||
|             'clear': 58, | ||||
|             'clip': 59, | ||||
|             'color': 60, | ||||
|             'column-count': 61, | ||||
|             'column-fill': 62, | ||||
|             'column-gap': 63, | ||||
|             'column-rule': 64, | ||||
|             'column-rule-color': 65, | ||||
|             'column-rule-style': 66, | ||||
|             'column-rule-width': 67, | ||||
|             'column-span': 68, | ||||
|             'column-width': 69, | ||||
|             'columns': 70, | ||||
|             'content': 71, | ||||
|             'counter-increment': 72, | ||||
|             'counter-reset': 73, | ||||
|             'cursor': 74, | ||||
|             'direction': 75, | ||||
|             'display': 76, | ||||
|             'empty-cells': 77, | ||||
|             'flex': 78, | ||||
|             'flex-basis': 79, | ||||
|             'flex-direction': 80, | ||||
|             'flex-flow': 81, | ||||
|             'flex-grow': 82, | ||||
|             'flex-shrink': 83, | ||||
|             'flex-wrap': 84, | ||||
|             'float': 85, | ||||
|             'font': 86, | ||||
|             'font-family': 87, | ||||
|             'font-size': 88, | ||||
|             'font-size-adjust': 89, | ||||
|             'font-stretch': 90, | ||||
|             'font-style': 91, | ||||
|             'font-variant': 92, | ||||
|             'font-weight': 93, | ||||
|             'height': 94, | ||||
|             'justify-content': 95, | ||||
|             'left': 96, | ||||
|             'letter-spacing': 97, | ||||
|             'line-height': 98, | ||||
|             'list-style': 99, | ||||
|             'list-style-image': 100, | ||||
|             'list-style-position': 101, | ||||
|             'list-style-type': 102, | ||||
|             'margin': 103, | ||||
|             'margin-bottom': 104, | ||||
|             'margin-left': 105, | ||||
|             'margin-right': 106, | ||||
|             'margin-top': 107, | ||||
|             'max-height': 108, | ||||
|             'max-width': 109, | ||||
|             'min-height': 110, | ||||
|             'min-width': 111, | ||||
|             'opacity': 112, | ||||
|             'order': 113, | ||||
|             'outline': 114, | ||||
|             'outline-color': 115, | ||||
|             'outline-offset': 116, | ||||
|             'outline-style': 117, | ||||
|             'outline-width': 118, | ||||
|             'overflow': 119, | ||||
|             'overflow-x': 120, | ||||
|             'overflow-y': 121, | ||||
|             'padding': 122, | ||||
|             'padding-bottom': 123, | ||||
|             'padding-left': 124, | ||||
|             'padding-right': 125, | ||||
|             'padding-top': 126, | ||||
|             'page-break-after': 127, | ||||
|             'page-break-before': 128, | ||||
|             'page-break-inside': 129, | ||||
|             'perspective': 130, | ||||
|             'perspective-origin': 131, | ||||
|             'position': 132, | ||||
|             'quotes': 133, | ||||
|             'resize': 134, | ||||
|             'right': 135, | ||||
|             'tab-size': 136, | ||||
|             'table-layout': 137, | ||||
|             'text-align': 138, | ||||
|             'text-align-last': 139, | ||||
|             'text-decoration': 140, | ||||
|             'text-decoration-color': 141, | ||||
|             'text-decoration-line': 142, | ||||
|             'text-decoration-style': 143, | ||||
|             'text-indent': 144, | ||||
|             'text-justify': 145, | ||||
|             'text-overflow': 146, | ||||
|             'text-shadow': 147, | ||||
|             'text-transform': 148, | ||||
|             'top': 149, | ||||
|             'transform': 150, | ||||
|             'transform-origin': 151, | ||||
|             'transform-style': 152, | ||||
|             'transition': 153, | ||||
|             'transition-delay': 154, | ||||
|             'transition-duration': 155, | ||||
|             'transition-property': 156, | ||||
|             'transition-timing-function': 157, | ||||
|             'vertical-align': 158, | ||||
|             'visibility': 159, | ||||
|             'white-space': 160, | ||||
|             'width': 161, | ||||
|             'word-break': 162, | ||||
|             'word-spacing': 163, | ||||
|             'word-wrap': 164, | ||||
|             'z-index': 165 | ||||
|         }.get(type_name, 60) | ||||
|  | ||||
|     def get_enum(self): | ||||
|         ind = 0 | ||||
|         properties = '' | ||||
|         for i in self.inputs: | ||||
|             if ind != 0: | ||||
|                 properties += self.inputs[ind].name + ':' | ||||
|             ind += 1 | ||||
|          | ||||
|         self['property1'] = properties   | ||||
|          | ||||
|         return self.get('property0', 60) | ||||
|  | ||||
|     def set_enum(self, value): | ||||
|         select_current = self.get_enum_id_value(self, 'property0', value) | ||||
|         select_prev = self.property0 | ||||
|  | ||||
|         if select_prev != select_current: | ||||
|             self.add_input('LnxStringSocket', select_current) | ||||
|     | ||||
|         self['property0'] = value | ||||
|  | ||||
|         ind = 0 | ||||
|         properties = '' | ||||
|         for i in self.inputs: | ||||
|             if ind != 0: | ||||
|                 properties += self.inputs[ind].name + ':' | ||||
|             ind += 1 | ||||
|          | ||||
|         self['property1'] = properties   | ||||
|  | ||||
|  | ||||
|     property0: HaxeEnumProperty( | ||||
|         'property0', | ||||
|         items = [('align-content', 'align-content', 'Align Content'), | ||||
|                 ('align-items', 'align-items', 'Align Items'), | ||||
|                 ('align-self', 'align-self', 'Align Self'), | ||||
|                 ('animation-delay', 'animation-delay', 'Animation Delay'), | ||||
|                 ('animation-direction', 'animation-direction', 'Animation Direction'), | ||||
|                 ('animation-duration', 'animation-duration', 'Animation Duration'), | ||||
|                 ('animation-fill-mode', 'animation-fill-mode', 'Animation Fill Mode'), | ||||
|                 ('animation-iteration-count', 'animation-iteration-count', 'Animation Iteration Count'), | ||||
|                 ('animation-name', 'animation-name', 'Animation Name'), | ||||
|                 ('animation-play-state', 'animation-play-state', 'Animation Play State'), | ||||
|                 ('animation-timing-function', 'animation-timing-function', 'Animation Timing Function'), | ||||
|                 ('backface-visibility', 'backface-visibility', 'Backface Visibility'), | ||||
|                 ('background', 'background', 'Background'), | ||||
|                 ('background-attachment', 'background-attachment', 'Background Attachment'), | ||||
|                 ('background-clip', 'background-clip', 'Background Clip'), | ||||
|                 ('background-color', 'background-color', 'Background Color'), | ||||
|                 ('background-image', 'background-image', 'Background Image'), | ||||
|                 ('background-origin', 'background-origin', 'Background Origin'), | ||||
|                 ('background-position', 'background-position', 'Background Position'), | ||||
|                 ('background-repeat', 'background-repeat', 'Background Repeat'), | ||||
|                 ('background-size', 'background-size', 'Background Size'), | ||||
|                 ('border', 'border', 'Border'), | ||||
|                 ('border-bottom', 'border-bottom', 'Border Bottom'), | ||||
|                 ('border-bottom-color', 'border-bottom-color', 'Border Bottom Color'), | ||||
|                 ('border-bottom-left-radius', 'border-bottom-left-radius', 'Border Bottom Left Radius'), | ||||
|                 ('border-bottom-right-radius', 'border-bottom-right-radius', 'Border Bottom Right Radius'), | ||||
|                 ('border-bottom-style', 'border-bottom-style', 'Border Bottom Style'), | ||||
|                 ('border-bottom-width', 'border-bottom-width', 'Border Bottom Width'), | ||||
|                 ('border-collapse', 'border-collapse', 'Border Collapse'), | ||||
|                 ('border-color', 'border-color', 'Border Color'), | ||||
|                 ('border-image', 'border-image', 'Border Image'), | ||||
|                 ('border-image-outset', 'border-image-outset', 'Border Image Outset'), | ||||
|                 ('border-image-repeat', 'border-image-repeat', 'Border Image Repeat'), | ||||
|                 ('border-image-slice', 'border-image-slice', 'Border Image Slice'), | ||||
|                 ('border-image-source', 'border-image-source', 'Border Image Source'), | ||||
|                 ('border-image-width', 'border-image-width', 'Border Image Width'), | ||||
|                 ('border-left', 'border-left', 'Border Left'), | ||||
|                 ('border-left-color', 'border-left-color', 'Border Left Color'), | ||||
|                 ('border-left-style', 'border-left-style', 'Border Left Style'), | ||||
|                 ('border-left-width', 'border-left-width', 'Border Left Width'), | ||||
|                 ('border-radius', 'border-radius', 'Border Radius'), | ||||
|                 ('border-right', 'border-right', 'Border Right'), | ||||
|                 ('border-right-color', 'border-right-color', 'Border Right Color'), | ||||
|                 ('border-right-style', 'border-right-style', 'Border Right Style'), | ||||
|                 ('border-right-width', 'border-right-width', 'Border Right Width'), | ||||
|                 ('border-spacing', 'border-spacing', 'Border Spacing'), | ||||
|                 ('border-style', 'border-style', 'Border Style'), | ||||
|                 ('border-top', 'border-top', 'Border Top'), | ||||
|                 ('border-top-color', 'border-top-color', 'Border Top Color'), | ||||
|                 ('border-top-left-radius', 'border-top-left-radius', 'Border Top Left Radius'), | ||||
|                 ('border-top-right-radius', 'border-top-right-radius', 'Border Top Right Radius'), | ||||
|                 ('border-top-style', 'border-top-style', 'Border Top Style'), | ||||
|                 ('border-top-width', 'border-top-width', 'Border Top Width'), | ||||
|                 ('border-width', 'border-width', 'Border Width'), | ||||
|                 ('bottom', 'bottom', 'Bottom'), | ||||
|                 ('box-shadow', 'box-shadow', 'Box Shadow'), | ||||
|                 ('box-sizing', 'box-sizing', 'Box Sizing'), | ||||
|                 ('caption-side', 'caption-side', 'Caption Side'), | ||||
|                 ('clear', 'clear', 'Clear'), | ||||
|                 ('clip', 'clip', 'Clip'), | ||||
|                 ('color', 'color', 'Color'), | ||||
|                 ('column-count', 'column-count', 'Column Count'), | ||||
|                 ('column-fill', 'column-fill', 'Column Fill'), | ||||
|                 ('column-gap', 'column-gap', 'Column Gap'), | ||||
|                 ('column-rule', 'column-rule', 'Column Rule'), | ||||
|                 ('column-rule-color', 'column-rule-color', 'Column Rule Color'), | ||||
|                 ('column-rule-style', 'column-rule-style', 'Column Rule Style'), | ||||
|                 ('column-rule-width', 'column-rule-width', 'Column Rule Width'), | ||||
|                 ('column-span', 'column-span', 'Column Span'), | ||||
|                 ('column-width', 'column-width', 'Column Width'), | ||||
|                 ('columns', 'columns', 'Columns'), | ||||
|                 ('content', 'content', 'Content'), | ||||
|                 ('counter-increment', 'counter-increment', 'Counter Increment'), | ||||
|                 ('counter-reset', 'counter-reset', 'Counter Reset'), | ||||
|                 ('cursor', 'cursor', 'Cursor'), | ||||
|                 ('direction', 'direction', 'Direction'), | ||||
|                 ('display', 'display', 'Display'), | ||||
|                 ('empty-cells', 'empty-cells', 'Empty Cells'), | ||||
|                 ('flex', 'flex', 'Flex'), | ||||
|                 ('flex-basis', 'flex-basis', 'Flex Basis'), | ||||
|                 ('flex-direction', 'flex-direction', 'Flex Direction'), | ||||
|                 ('flex-flow', 'flex-flow', 'Flex Flow'), | ||||
|                 ('flex-grow', 'flex-grow', 'Flex Grow'), | ||||
|                 ('flex-shrink', 'flex-shrink', 'Flex Shrink'), | ||||
|                 ('flex-wrap', 'flex-wrap', 'Flex Wrap'), | ||||
|                 ('float', 'float', 'Float'), | ||||
|                 ('font', 'font', 'Font'), | ||||
|                 ('font-family', 'font-family', 'Font Family'), | ||||
|                 ('font-size', 'font-size', 'Font Size'), | ||||
|                 ('font-size-adjust', 'font-size-adjust', 'Font Size Adjust'), | ||||
|                 ('font-stretch', 'font-stretch', 'Font Stretch'), | ||||
|                 ('font-style', 'font-style', 'Font Style'), | ||||
|                 ('font-variant', 'font-variant', 'Font Variant'), | ||||
|                 ('font-weight', 'font-weight', 'Font Weight'), | ||||
|                 ('height', 'height', 'Height'), | ||||
|                 ('justify-content', 'justify-content', 'Justify Content'), | ||||
|                 ('left', 'left', 'Left'), | ||||
|                 ('letter-spacing', 'letter-spacing', 'Letter Spacing'), | ||||
|                 ('line-height', 'line-height', 'Line Height'), | ||||
|                 ('list-style', 'list-style', 'List Style'), | ||||
|                 ('list-style-image', 'list-style-image', 'List Style Image'), | ||||
|                 ('list-style-position', 'list-style-position', 'List Style Position'), | ||||
|                 ('list-style-type', 'list-style-type', 'List Style Type'), | ||||
|                 ('margin', 'margin', 'Margin'), | ||||
|                 ('margin-bottom', 'margin-bottom', 'Margin Bottom'), | ||||
|                 ('margin-left', 'margin-left', 'Margin Left'), | ||||
|                 ('margin-right', 'margin-right', 'Margin Right'), | ||||
|                 ('margin-top', 'margin-top', 'Margin Top'), | ||||
|                 ('max-height', 'max-height', 'Max Height'), | ||||
|                 ('max-width', 'max-width', 'Max Width'), | ||||
|                 ('min-height', 'min-height', 'Min Height'), | ||||
|                 ('min-width', 'min-width', 'Min Width'), | ||||
|                 ('opacity', 'opacity', 'Opacity'), | ||||
|                 ('order', 'order', 'Order'), | ||||
|                 ('outline', 'outline', 'Outline'), | ||||
|                 ('outline-color', 'outline-color', 'Outline Color'), | ||||
|                 ('outline-offset', 'outline-offset', 'Outline Offset'), | ||||
|                 ('outline-style', 'outline-style', 'Outline Style'), | ||||
|                 ('outline-width', 'outline-width', 'Outline Sidth'), | ||||
|                 ('overflow', 'overflow', 'Overflow'), | ||||
|                 ('overflow-x', 'overflow-x', 'Overflow X'), | ||||
|                 ('overflow-y', 'overflow-y', 'Overflow Y'), | ||||
|                 ('padding', 'padding', 'Padding'), | ||||
|                 ('padding-bottom', 'padding-bottom', 'Padding Bottom'), | ||||
|                 ('padding-left', 'padding-left', 'Padding Left'), | ||||
|                 ('padding-right', 'padding-right', 'Padding Right'), | ||||
|                 ('padding-top', 'padding-top', 'Padding Top'), | ||||
|                 ('page-break-after', 'page-break-after', 'Page Break After'), | ||||
|                 ('page-break-before', 'page-break-before', 'Page Break Before'), | ||||
|                 ('page-break-inside', 'page-break-inside', 'Page Break Inside'), | ||||
|                 ('perspective', 'perspective', 'Perspective'), | ||||
|                 ('perspective-origin', 'perspective-origin', 'Perspective Origin'), | ||||
|                 ('position', 'position', 'Position'), | ||||
|                 ('quotes', 'quotes', 'Quotes'), | ||||
|                 ('resize', 'resize', 'Resize'), | ||||
|                 ('right', 'right', 'Right'), | ||||
|                 ('tab-size', 'tab-size', 'Tab Size'), | ||||
|                 ('table-layout', 'table-layout', 'Table Layout'), | ||||
|                 ('text-align', 'text-align', 'Text Align'), | ||||
|                 ('text-align-last', 'text-align-last', 'Text Align Last'), | ||||
|                 ('text-decoration', 'text-decoration', 'Text Decoration'), | ||||
|                 ('text-decoration-color', 'text-decoration-color', 'Text Decoration Color'), | ||||
|                 ('text-decoration-line', 'text-decoration-line', 'Text Decoration Line'), | ||||
|                 ('text-decoration-style', 'text-decoration-style', 'Text Decoration Style'), | ||||
|                 ('text-indent', 'text-indent', 'Text Indent'), | ||||
|                 ('text-justify', 'text-justify', 'Text Justify'), | ||||
|                 ('text-overflow', 'text-overflow', 'Text Overflow'), | ||||
|                 ('text-shadow', 'text-shadow', 'Text Shadow'), | ||||
|                 ('text-transform', 'text-transform', 'Text Transform'), | ||||
|                 ('top', 'top', 'Top'),        | ||||
|                 ('transform', 'transform', 'Transform'), | ||||
|                 ('transform-origin', 'transform-origin', 'Transform Origin'), | ||||
|                 ('transform-style', 'transform-style', 'Transform Style'), | ||||
|                 ('transition', 'transition', 'Transition'), | ||||
|                 ('transition-delay', 'transition-delay', 'Transition Delay'), | ||||
|                 ('transition-duration', 'transition-duration', 'Transition Duration'), | ||||
|                 ('transition-property', 'transition-property', 'Transition Property'), | ||||
|                 ('transition-timing-function', 'transition-timing-function', 'Transition Timing Function'), | ||||
|                 ('vertical-align', 'vertical-align', 'Vertical Align'), | ||||
|                 ('visibility', 'visibility', 'Visibility'), | ||||
|                 ('white-space', 'white-space', 'White Space'), | ||||
|                 ('width', 'width', 'Width'), | ||||
|                 ('word-break', 'word-break', 'Word Break'), | ||||
|                 ('word-spacing', 'word-spacing', 'Word Spacing'), | ||||
|                 ('word-wrap', 'word-wrap', 'Word Wrap'), | ||||
|                 ('z-index', 'z-index', 'Z Index')], | ||||
|         name='',  | ||||
|         default='color', | ||||
|         #update=set_properties, | ||||
|         set=set_enum,  | ||||
|         get=get_enum) | ||||
|  | ||||
|     property1: HaxeStringProperty( | ||||
|         'property1',  | ||||
|         name='', | ||||
|         default='') | ||||
|  | ||||
|     property2: HaxeBoolProperty( | ||||
|         'property2',  | ||||
|         name='Append CSS', | ||||
|         default=False) | ||||
|  | ||||
|  | ||||
|  | ||||
|     def __init__(self): | ||||
|         super(CreateStyleNode, self).__init__() | ||||
|         array_nodes[str(id(self))] = self | ||||
|  | ||||
|     def lnx_init(self, context): | ||||
|         self.add_input('LnxStringSocket', 'Class Name') | ||||
|  | ||||
|         self.add_output('LnxStringSocket', 'Class') | ||||
|         self.add_output('LnxStringSocket', 'Inline Style') | ||||
|         self.add_output('LnxStringSocket', 'CSS') | ||||
|         ind = 0 | ||||
|         properties = '' | ||||
|  | ||||
|         for i in self.inputs: | ||||
|             if ind != 0: | ||||
|                 properties += self.inputs[ind].name + ':' | ||||
|             ind += 1 | ||||
|         self['property1'] = properties   | ||||
|  | ||||
|  | ||||
|  | ||||
|     def draw_buttons(self, context, layout): | ||||
|         layout.prop(self, 'property0') | ||||
|  | ||||
|         row = layout.row(align=True) | ||||
|         column = row.column(align=True) | ||||
|         op = column.operator('lnx.node_remove_input', text='Remove', icon='X', emboss=True) | ||||
|         op.node_index = str(id(self)) | ||||
|         if len(self.inputs) == self.min_inputs: | ||||
|             column.enabled = False | ||||
|         layout.prop(self, 'property2') | ||||
|  | ||||
|     def get_replacement_node(self, node_tree: bpy.types.NodeTree): | ||||
|         if self.lnx_version not in (0, 1): | ||||
|             raise LookupError() | ||||
|  | ||||
|         return NodeReplacement.Identity(self) | ||||
|  | ||||
|  | ||||
|  | ||||
| def register(): | ||||
|     add_category('HTML', icon='SEQ_STRIP_META') | ||||
|     CreateStyleNode.on_register() | ||||
| import array | ||||
| from lnx.logicnode.lnx_nodes import * | ||||
|  | ||||
|  | ||||
| class CreateStyleNode(LnxLogicTreeNode): | ||||
|     """Create Style""" | ||||
|     bl_idname = 'LNCreateStyleNode' | ||||
|     bl_label = 'Create Style' | ||||
|     bl_description = 'Create Style' | ||||
|     lnx_category = 'HTML' | ||||
|     lnx_version = 1 | ||||
|     min_inputs = 1 | ||||
|  | ||||
|    | ||||
|  | ||||
|  | ||||
|     @staticmethod | ||||
|     def get_enum_id_value(obj, prop_name, value): | ||||
|         return obj.bl_rna.properties[prop_name].enum_items[value].identifier | ||||
|  | ||||
|     @staticmethod | ||||
|     def get_count_in(type_name): | ||||
|         return { | ||||
|             'align-content': 0, | ||||
|             'align-items': 1, | ||||
|             'align-self': 2, | ||||
|             'animation-delay': 3, | ||||
|             'animation-direction': 4, | ||||
|             'animation-duration': 5, | ||||
|             'animation-fill-mode': 6, | ||||
|             'animation-iteration-count': 7, | ||||
|             'animation-name': 8, | ||||
|             'animation-play-state': 9, | ||||
|             'animation-timing-function': 10, | ||||
|             'backface-visibility': 11, | ||||
|             'background': 12, | ||||
|             'background-attachment': 13, | ||||
|             'background-clip': 14, | ||||
|             'background-color': 15, | ||||
|             'background-image': 16, | ||||
|             'background-origin': 17, | ||||
|             'background-position': 18, | ||||
|             'background-repeat': 19, | ||||
|             'background-size': 20, | ||||
|             'border': 21, | ||||
|             'border-bottom': 22, | ||||
|             'border-bottom-color': 23, | ||||
|             'border-bottom-left-radius': 24, | ||||
|             'border-bottom-right-radius': 25, | ||||
|             'border-bottom-style': 26, | ||||
|             'border-bottom-width': 27, | ||||
|             'border-collapse': 28, | ||||
|             'border-color': 29, | ||||
|             'border-image': 30, | ||||
|             'border-image-outset': 31, | ||||
|             'border-image-repeat': 32, | ||||
|             'border-image-slice': 33, | ||||
|             'border-image-source': 34, | ||||
|             'border-image-width': 35, | ||||
|             'border-left': 36, | ||||
|             'border-left-color': 37, | ||||
|             'border-left-style': 38, | ||||
|             'border-left-width': 39, | ||||
|             'border-radius': 40, | ||||
|             'border-right': 41, | ||||
|             'border-right-color': 42, | ||||
|             'border-right-style': 43, | ||||
|             'border-right-width': 44, | ||||
|             'border-spacing': 45, | ||||
|             'border-style': 46, | ||||
|             'border-top': 47, | ||||
|             'border-top-color': 48, | ||||
|             'border-top-left-radius': 49, | ||||
|             'border-top-right-radius': 50, | ||||
|             'border-top-style': 51, | ||||
|             'border-top-width': 52, | ||||
|             'border-width': 53, | ||||
|             'bottom': 54, | ||||
|             'box-shadow': 55, | ||||
|             'box-sizing': 56, | ||||
|             'caption-side': 57, | ||||
|             'clear': 58, | ||||
|             'clip': 59, | ||||
|             'color': 60, | ||||
|             'column-count': 61, | ||||
|             'column-fill': 62, | ||||
|             'column-gap': 63, | ||||
|             'column-rule': 64, | ||||
|             'column-rule-color': 65, | ||||
|             'column-rule-style': 66, | ||||
|             'column-rule-width': 67, | ||||
|             'column-span': 68, | ||||
|             'column-width': 69, | ||||
|             'columns': 70, | ||||
|             'content': 71, | ||||
|             'counter-increment': 72, | ||||
|             'counter-reset': 73, | ||||
|             'cursor': 74, | ||||
|             'direction': 75, | ||||
|             'display': 76, | ||||
|             'empty-cells': 77, | ||||
|             'flex': 78, | ||||
|             'flex-basis': 79, | ||||
|             'flex-direction': 80, | ||||
|             'flex-flow': 81, | ||||
|             'flex-grow': 82, | ||||
|             'flex-shrink': 83, | ||||
|             'flex-wrap': 84, | ||||
|             'float': 85, | ||||
|             'font': 86, | ||||
|             'font-family': 87, | ||||
|             'font-size': 88, | ||||
|             'font-size-adjust': 89, | ||||
|             'font-stretch': 90, | ||||
|             'font-style': 91, | ||||
|             'font-variant': 92, | ||||
|             'font-weight': 93, | ||||
|             'height': 94, | ||||
|             'justify-content': 95, | ||||
|             'left': 96, | ||||
|             'letter-spacing': 97, | ||||
|             'line-height': 98, | ||||
|             'list-style': 99, | ||||
|             'list-style-image': 100, | ||||
|             'list-style-position': 101, | ||||
|             'list-style-type': 102, | ||||
|             'margin': 103, | ||||
|             'margin-bottom': 104, | ||||
|             'margin-left': 105, | ||||
|             'margin-right': 106, | ||||
|             'margin-top': 107, | ||||
|             'max-height': 108, | ||||
|             'max-width': 109, | ||||
|             'min-height': 110, | ||||
|             'min-width': 111, | ||||
|             'opacity': 112, | ||||
|             'order': 113, | ||||
|             'outline': 114, | ||||
|             'outline-color': 115, | ||||
|             'outline-offset': 116, | ||||
|             'outline-style': 117, | ||||
|             'outline-width': 118, | ||||
|             'overflow': 119, | ||||
|             'overflow-x': 120, | ||||
|             'overflow-y': 121, | ||||
|             'padding': 122, | ||||
|             'padding-bottom': 123, | ||||
|             'padding-left': 124, | ||||
|             'padding-right': 125, | ||||
|             'padding-top': 126, | ||||
|             'page-break-after': 127, | ||||
|             'page-break-before': 128, | ||||
|             'page-break-inside': 129, | ||||
|             'perspective': 130, | ||||
|             'perspective-origin': 131, | ||||
|             'position': 132, | ||||
|             'quotes': 133, | ||||
|             'resize': 134, | ||||
|             'right': 135, | ||||
|             'tab-size': 136, | ||||
|             'table-layout': 137, | ||||
|             'text-align': 138, | ||||
|             'text-align-last': 139, | ||||
|             'text-decoration': 140, | ||||
|             'text-decoration-color': 141, | ||||
|             'text-decoration-line': 142, | ||||
|             'text-decoration-style': 143, | ||||
|             'text-indent': 144, | ||||
|             'text-justify': 145, | ||||
|             'text-overflow': 146, | ||||
|             'text-shadow': 147, | ||||
|             'text-transform': 148, | ||||
|             'top': 149, | ||||
|             'transform': 150, | ||||
|             'transform-origin': 151, | ||||
|             'transform-style': 152, | ||||
|             'transition': 153, | ||||
|             'transition-delay': 154, | ||||
|             'transition-duration': 155, | ||||
|             'transition-property': 156, | ||||
|             'transition-timing-function': 157, | ||||
|             'vertical-align': 158, | ||||
|             'visibility': 159, | ||||
|             'white-space': 160, | ||||
|             'width': 161, | ||||
|             'word-break': 162, | ||||
|             'word-spacing': 163, | ||||
|             'word-wrap': 164, | ||||
|             'z-index': 165 | ||||
|         }.get(type_name, 60) | ||||
|  | ||||
|     def get_enum(self): | ||||
|         ind = 0 | ||||
|         properties = '' | ||||
|         for i in self.inputs: | ||||
|             if ind != 0: | ||||
|                 properties += self.inputs[ind].name + ':' | ||||
|             ind += 1 | ||||
|          | ||||
|         self['property1'] = properties   | ||||
|          | ||||
|         return self.get('property0', 60) | ||||
|  | ||||
|     def set_enum(self, value): | ||||
|         select_current = self.get_enum_id_value(self, 'property0', value) | ||||
|         select_prev = self.property0 | ||||
|  | ||||
|         if select_prev != select_current: | ||||
|             self.add_input('LnxStringSocket', select_current) | ||||
|     | ||||
|         self['property0'] = value | ||||
|  | ||||
|         ind = 0 | ||||
|         properties = '' | ||||
|         for i in self.inputs: | ||||
|             if ind != 0: | ||||
|                 properties += self.inputs[ind].name + ':' | ||||
|             ind += 1 | ||||
|          | ||||
|         self['property1'] = properties   | ||||
|  | ||||
|  | ||||
|     property0: HaxeEnumProperty( | ||||
|         'property0', | ||||
|         items = [('align-content', 'align-content', 'Align Content'), | ||||
|                 ('align-items', 'align-items', 'Align Items'), | ||||
|                 ('align-self', 'align-self', 'Align Self'), | ||||
|                 ('animation-delay', 'animation-delay', 'Animation Delay'), | ||||
|                 ('animation-direction', 'animation-direction', 'Animation Direction'), | ||||
|                 ('animation-duration', 'animation-duration', 'Animation Duration'), | ||||
|                 ('animation-fill-mode', 'animation-fill-mode', 'Animation Fill Mode'), | ||||
|                 ('animation-iteration-count', 'animation-iteration-count', 'Animation Iteration Count'), | ||||
|                 ('animation-name', 'animation-name', 'Animation Name'), | ||||
|                 ('animation-play-state', 'animation-play-state', 'Animation Play State'), | ||||
|                 ('animation-timing-function', 'animation-timing-function', 'Animation Timing Function'), | ||||
|                 ('backface-visibility', 'backface-visibility', 'Backface Visibility'), | ||||
|                 ('background', 'background', 'Background'), | ||||
|                 ('background-attachment', 'background-attachment', 'Background Attachment'), | ||||
|                 ('background-clip', 'background-clip', 'Background Clip'), | ||||
|                 ('background-color', 'background-color', 'Background Color'), | ||||
|                 ('background-image', 'background-image', 'Background Image'), | ||||
|                 ('background-origin', 'background-origin', 'Background Origin'), | ||||
|                 ('background-position', 'background-position', 'Background Position'), | ||||
|                 ('background-repeat', 'background-repeat', 'Background Repeat'), | ||||
|                 ('background-size', 'background-size', 'Background Size'), | ||||
|                 ('border', 'border', 'Border'), | ||||
|                 ('border-bottom', 'border-bottom', 'Border Bottom'), | ||||
|                 ('border-bottom-color', 'border-bottom-color', 'Border Bottom Color'), | ||||
|                 ('border-bottom-left-radius', 'border-bottom-left-radius', 'Border Bottom Left Radius'), | ||||
|                 ('border-bottom-right-radius', 'border-bottom-right-radius', 'Border Bottom Right Radius'), | ||||
|                 ('border-bottom-style', 'border-bottom-style', 'Border Bottom Style'), | ||||
|                 ('border-bottom-width', 'border-bottom-width', 'Border Bottom Width'), | ||||
|                 ('border-collapse', 'border-collapse', 'Border Collapse'), | ||||
|                 ('border-color', 'border-color', 'Border Color'), | ||||
|                 ('border-image', 'border-image', 'Border Image'), | ||||
|                 ('border-image-outset', 'border-image-outset', 'Border Image Outset'), | ||||
|                 ('border-image-repeat', 'border-image-repeat', 'Border Image Repeat'), | ||||
|                 ('border-image-slice', 'border-image-slice', 'Border Image Slice'), | ||||
|                 ('border-image-source', 'border-image-source', 'Border Image Source'), | ||||
|                 ('border-image-width', 'border-image-width', 'Border Image Width'), | ||||
|                 ('border-left', 'border-left', 'Border Left'), | ||||
|                 ('border-left-color', 'border-left-color', 'Border Left Color'), | ||||
|                 ('border-left-style', 'border-left-style', 'Border Left Style'), | ||||
|                 ('border-left-width', 'border-left-width', 'Border Left Width'), | ||||
|                 ('border-radius', 'border-radius', 'Border Radius'), | ||||
|                 ('border-right', 'border-right', 'Border Right'), | ||||
|                 ('border-right-color', 'border-right-color', 'Border Right Color'), | ||||
|                 ('border-right-style', 'border-right-style', 'Border Right Style'), | ||||
|                 ('border-right-width', 'border-right-width', 'Border Right Width'), | ||||
|                 ('border-spacing', 'border-spacing', 'Border Spacing'), | ||||
|                 ('border-style', 'border-style', 'Border Style'), | ||||
|                 ('border-top', 'border-top', 'Border Top'), | ||||
|                 ('border-top-color', 'border-top-color', 'Border Top Color'), | ||||
|                 ('border-top-left-radius', 'border-top-left-radius', 'Border Top Left Radius'), | ||||
|                 ('border-top-right-radius', 'border-top-right-radius', 'Border Top Right Radius'), | ||||
|                 ('border-top-style', 'border-top-style', 'Border Top Style'), | ||||
|                 ('border-top-width', 'border-top-width', 'Border Top Width'), | ||||
|                 ('border-width', 'border-width', 'Border Width'), | ||||
|                 ('bottom', 'bottom', 'Bottom'), | ||||
|                 ('box-shadow', 'box-shadow', 'Box Shadow'), | ||||
|                 ('box-sizing', 'box-sizing', 'Box Sizing'), | ||||
|                 ('caption-side', 'caption-side', 'Caption Side'), | ||||
|                 ('clear', 'clear', 'Clear'), | ||||
|                 ('clip', 'clip', 'Clip'), | ||||
|                 ('color', 'color', 'Color'), | ||||
|                 ('column-count', 'column-count', 'Column Count'), | ||||
|                 ('column-fill', 'column-fill', 'Column Fill'), | ||||
|                 ('column-gap', 'column-gap', 'Column Gap'), | ||||
|                 ('column-rule', 'column-rule', 'Column Rule'), | ||||
|                 ('column-rule-color', 'column-rule-color', 'Column Rule Color'), | ||||
|                 ('column-rule-style', 'column-rule-style', 'Column Rule Style'), | ||||
|                 ('column-rule-width', 'column-rule-width', 'Column Rule Width'), | ||||
|                 ('column-span', 'column-span', 'Column Span'), | ||||
|                 ('column-width', 'column-width', 'Column Width'), | ||||
|                 ('columns', 'columns', 'Columns'), | ||||
|                 ('content', 'content', 'Content'), | ||||
|                 ('counter-increment', 'counter-increment', 'Counter Increment'), | ||||
|                 ('counter-reset', 'counter-reset', 'Counter Reset'), | ||||
|                 ('cursor', 'cursor', 'Cursor'), | ||||
|                 ('direction', 'direction', 'Direction'), | ||||
|                 ('display', 'display', 'Display'), | ||||
|                 ('empty-cells', 'empty-cells', 'Empty Cells'), | ||||
|                 ('flex', 'flex', 'Flex'), | ||||
|                 ('flex-basis', 'flex-basis', 'Flex Basis'), | ||||
|                 ('flex-direction', 'flex-direction', 'Flex Direction'), | ||||
|                 ('flex-flow', 'flex-flow', 'Flex Flow'), | ||||
|                 ('flex-grow', 'flex-grow', 'Flex Grow'), | ||||
|                 ('flex-shrink', 'flex-shrink', 'Flex Shrink'), | ||||
|                 ('flex-wrap', 'flex-wrap', 'Flex Wrap'), | ||||
|                 ('float', 'float', 'Float'), | ||||
|                 ('font', 'font', 'Font'), | ||||
|                 ('font-family', 'font-family', 'Font Family'), | ||||
|                 ('font-size', 'font-size', 'Font Size'), | ||||
|                 ('font-size-adjust', 'font-size-adjust', 'Font Size Adjust'), | ||||
|                 ('font-stretch', 'font-stretch', 'Font Stretch'), | ||||
|                 ('font-style', 'font-style', 'Font Style'), | ||||
|                 ('font-variant', 'font-variant', 'Font Variant'), | ||||
|                 ('font-weight', 'font-weight', 'Font Weight'), | ||||
|                 ('height', 'height', 'Height'), | ||||
|                 ('justify-content', 'justify-content', 'Justify Content'), | ||||
|                 ('left', 'left', 'Left'), | ||||
|                 ('letter-spacing', 'letter-spacing', 'Letter Spacing'), | ||||
|                 ('line-height', 'line-height', 'Line Height'), | ||||
|                 ('list-style', 'list-style', 'List Style'), | ||||
|                 ('list-style-image', 'list-style-image', 'List Style Image'), | ||||
|                 ('list-style-position', 'list-style-position', 'List Style Position'), | ||||
|                 ('list-style-type', 'list-style-type', 'List Style Type'), | ||||
|                 ('margin', 'margin', 'Margin'), | ||||
|                 ('margin-bottom', 'margin-bottom', 'Margin Bottom'), | ||||
|                 ('margin-left', 'margin-left', 'Margin Left'), | ||||
|                 ('margin-right', 'margin-right', 'Margin Right'), | ||||
|                 ('margin-top', 'margin-top', 'Margin Top'), | ||||
|                 ('max-height', 'max-height', 'Max Height'), | ||||
|                 ('max-width', 'max-width', 'Max Width'), | ||||
|                 ('min-height', 'min-height', 'Min Height'), | ||||
|                 ('min-width', 'min-width', 'Min Width'), | ||||
|                 ('opacity', 'opacity', 'Opacity'), | ||||
|                 ('order', 'order', 'Order'), | ||||
|                 ('outline', 'outline', 'Outline'), | ||||
|                 ('outline-color', 'outline-color', 'Outline Color'), | ||||
|                 ('outline-offset', 'outline-offset', 'Outline Offset'), | ||||
|                 ('outline-style', 'outline-style', 'Outline Style'), | ||||
|                 ('outline-width', 'outline-width', 'Outline Sidth'), | ||||
|                 ('overflow', 'overflow', 'Overflow'), | ||||
|                 ('overflow-x', 'overflow-x', 'Overflow X'), | ||||
|                 ('overflow-y', 'overflow-y', 'Overflow Y'), | ||||
|                 ('padding', 'padding', 'Padding'), | ||||
|                 ('padding-bottom', 'padding-bottom', 'Padding Bottom'), | ||||
|                 ('padding-left', 'padding-left', 'Padding Left'), | ||||
|                 ('padding-right', 'padding-right', 'Padding Right'), | ||||
|                 ('padding-top', 'padding-top', 'Padding Top'), | ||||
|                 ('page-break-after', 'page-break-after', 'Page Break After'), | ||||
|                 ('page-break-before', 'page-break-before', 'Page Break Before'), | ||||
|                 ('page-break-inside', 'page-break-inside', 'Page Break Inside'), | ||||
|                 ('perspective', 'perspective', 'Perspective'), | ||||
|                 ('perspective-origin', 'perspective-origin', 'Perspective Origin'), | ||||
|                 ('position', 'position', 'Position'), | ||||
|                 ('quotes', 'quotes', 'Quotes'), | ||||
|                 ('resize', 'resize', 'Resize'), | ||||
|                 ('right', 'right', 'Right'), | ||||
|                 ('tab-size', 'tab-size', 'Tab Size'), | ||||
|                 ('table-layout', 'table-layout', 'Table Layout'), | ||||
|                 ('text-align', 'text-align', 'Text Align'), | ||||
|                 ('text-align-last', 'text-align-last', 'Text Align Last'), | ||||
|                 ('text-decoration', 'text-decoration', 'Text Decoration'), | ||||
|                 ('text-decoration-color', 'text-decoration-color', 'Text Decoration Color'), | ||||
|                 ('text-decoration-line', 'text-decoration-line', 'Text Decoration Line'), | ||||
|                 ('text-decoration-style', 'text-decoration-style', 'Text Decoration Style'), | ||||
|                 ('text-indent', 'text-indent', 'Text Indent'), | ||||
|                 ('text-justify', 'text-justify', 'Text Justify'), | ||||
|                 ('text-overflow', 'text-overflow', 'Text Overflow'), | ||||
|                 ('text-shadow', 'text-shadow', 'Text Shadow'), | ||||
|                 ('text-transform', 'text-transform', 'Text Transform'), | ||||
|                 ('top', 'top', 'Top'),        | ||||
|                 ('transform', 'transform', 'Transform'), | ||||
|                 ('transform-origin', 'transform-origin', 'Transform Origin'), | ||||
|                 ('transform-style', 'transform-style', 'Transform Style'), | ||||
|                 ('transition', 'transition', 'Transition'), | ||||
|                 ('transition-delay', 'transition-delay', 'Transition Delay'), | ||||
|                 ('transition-duration', 'transition-duration', 'Transition Duration'), | ||||
|                 ('transition-property', 'transition-property', 'Transition Property'), | ||||
|                 ('transition-timing-function', 'transition-timing-function', 'Transition Timing Function'), | ||||
|                 ('vertical-align', 'vertical-align', 'Vertical Align'), | ||||
|                 ('visibility', 'visibility', 'Visibility'), | ||||
|                 ('white-space', 'white-space', 'White Space'), | ||||
|                 ('width', 'width', 'Width'), | ||||
|                 ('word-break', 'word-break', 'Word Break'), | ||||
|                 ('word-spacing', 'word-spacing', 'Word Spacing'), | ||||
|                 ('word-wrap', 'word-wrap', 'Word Wrap'), | ||||
|                 ('z-index', 'z-index', 'Z Index')], | ||||
|         name='',  | ||||
|         default='color', | ||||
|         #update=set_properties, | ||||
|         set=set_enum,  | ||||
|         get=get_enum) | ||||
|  | ||||
|     property1: HaxeStringProperty( | ||||
|         'property1',  | ||||
|         name='', | ||||
|         default='') | ||||
|  | ||||
|     property2: HaxeBoolProperty( | ||||
|         'property2',  | ||||
|         name='Append CSS', | ||||
|         default=False) | ||||
|  | ||||
|  | ||||
|  | ||||
|     def __init__(self, *args, **kwargs): | ||||
|         super(CreateStyleNode, self).__init__(*args, **kwargs) | ||||
|         array_nodes[str(id(self))] = self | ||||
|  | ||||
|     def lnx_init(self, context): | ||||
|         self.add_input('LnxStringSocket', 'Class Name') | ||||
|  | ||||
|         self.add_output('LnxStringSocket', 'Class') | ||||
|         self.add_output('LnxStringSocket', 'Inline Style') | ||||
|         self.add_output('LnxStringSocket', 'CSS') | ||||
|         ind = 0 | ||||
|         properties = '' | ||||
|  | ||||
|         for i in self.inputs: | ||||
|             if ind != 0: | ||||
|                 properties += self.inputs[ind].name + ':' | ||||
|             ind += 1 | ||||
|         self['property1'] = properties   | ||||
|  | ||||
|  | ||||
|  | ||||
|     def draw_buttons(self, context, layout): | ||||
|         layout.prop(self, 'property0') | ||||
|  | ||||
|         row = layout.row(align=True) | ||||
|         column = row.column(align=True) | ||||
|         op = column.operator('lnx.node_remove_input', text='Remove', icon='X', emboss=True) | ||||
|         op.node_index = str(id(self)) | ||||
|         if len(self.inputs) == self.min_inputs: | ||||
|             column.enabled = False | ||||
|         layout.prop(self, 'property2') | ||||
|  | ||||
|     def get_replacement_node(self, node_tree: bpy.types.NodeTree): | ||||
|         if self.lnx_version not in (0, 1): | ||||
|             raise LookupError() | ||||
|  | ||||
|         return NodeReplacement.Identity(self) | ||||
|  | ||||
|  | ||||
|  | ||||
| def register(): | ||||
|     add_category('HTML', icon='SEQ_STRIP_META') | ||||
|     CreateStyleNode.on_register() | ||||
|  | ||||
		Reference in New Issue
	
	Block a user