From 2a3f8db0bc2bedb23439bbd2c47c636a6c25b345 Mon Sep 17 00:00:00 2001 From: Onek8 Date: Thu, 3 Apr 2025 09:36:23 +0000 Subject: [PATCH] Update leenkx/blender/lnx/logicnode/custom/LN_create_style.py --- .../lnx/logicnode/custom/LN_create_style.py | 902 +++++++++--------- 1 file changed, 451 insertions(+), 451 deletions(-) diff --git a/leenkx/blender/lnx/logicnode/custom/LN_create_style.py b/leenkx/blender/lnx/logicnode/custom/LN_create_style.py index 9220182..c2d3eb5 100644 --- a/leenkx/blender/lnx/logicnode/custom/LN_create_style.py +++ b/leenkx/blender/lnx/logicnode/custom/LN_create_style.py @@ -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()