forked from LeenkxTeam/LNXSDK
Merge pull request 'More 4.4 updates' (#17) from Onek8/LNXSDK:main into main
Reviewed-on: LeenkxTeam/LNXSDK#17
This commit is contained in:
commit
6ec480930a
@ -90,7 +90,8 @@ class BlendSpaceNode(LnxLogicTreeNode):
|
||||
draw_handler_dict = {}
|
||||
modal_handler_dict = {}
|
||||
|
||||
def __init__(self):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(BlendSpaceNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[str(id(self))] = self
|
||||
if self.advanced_draw_run:
|
||||
self.add_advanced_draw()
|
||||
|
@ -8,8 +8,8 @@ class OneShotActionMultiNode(LnxLogicTreeNode):
|
||||
lnx_version = 1
|
||||
min_inputs = 10
|
||||
|
||||
def __init__(self):
|
||||
super(OneShotActionMultiNode, self).__init__()
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(OneShotActionMultiNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[self.get_id_str()] = self
|
||||
|
||||
property0: HaxeStringProperty('property0', name = 'Action ID', default = '')
|
||||
|
@ -7,8 +7,8 @@ class SwitchActionMultiNode(LnxLogicTreeNode):
|
||||
lnx_version = 1
|
||||
min_inputs = 8
|
||||
|
||||
def __init__(self):
|
||||
super(SwitchActionMultiNode, self).__init__()
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(SwitchActionMultiNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[self.get_id_str()] = self
|
||||
|
||||
def lnx_init(self, context):
|
||||
|
@ -9,7 +9,8 @@ class ArrayNode(LnxLogicVariableNodeMixin, LnxLogicTreeNode):
|
||||
lnx_section = 'variable'
|
||||
min_inputs = 0
|
||||
|
||||
def __init__(self):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(ArrayNode, self).__init__(*args, **kwargs)
|
||||
self.register_id()
|
||||
|
||||
def lnx_init(self, context):
|
||||
|
@ -12,8 +12,8 @@ class ArrayAddNode(LnxLogicTreeNode):
|
||||
lnx_version = 5
|
||||
min_inputs = 6
|
||||
|
||||
def __init__(self):
|
||||
super(ArrayAddNode, self).__init__()
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(ArrayAddNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[self.get_id_str()] = self
|
||||
|
||||
def lnx_init(self, context):
|
||||
|
@ -9,8 +9,8 @@ class BooleanArrayNode(LnxLogicVariableNodeMixin, LnxLogicTreeNode):
|
||||
lnx_section = 'variable'
|
||||
min_inputs = 0
|
||||
|
||||
def __init__(self):
|
||||
super(BooleanArrayNode, self).__init__()
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(BooleanArrayNode, self).__init__(*args, **kwargs)
|
||||
self.register_id()
|
||||
|
||||
def lnx_init(self, context):
|
||||
|
@ -9,8 +9,8 @@ class ColorArrayNode(LnxLogicVariableNodeMixin, LnxLogicTreeNode):
|
||||
lnx_section = 'variable'
|
||||
min_inputs = 0
|
||||
|
||||
def __init__(self):
|
||||
super(ColorArrayNode, self).__init__()
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(ColorArrayNode, self).__init__(*args, **kwargs)
|
||||
self.register_id()
|
||||
|
||||
def lnx_init(self, context):
|
||||
|
@ -9,8 +9,8 @@ class FloatArrayNode(LnxLogicVariableNodeMixin, LnxLogicTreeNode):
|
||||
lnx_section = 'variable'
|
||||
min_inputs = 0
|
||||
|
||||
def __init__(self):
|
||||
super(FloatArrayNode, self).__init__()
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(FloatArrayNode, self).__init__(*args, **kwargs)
|
||||
self.register_id()
|
||||
|
||||
def lnx_init(self, context):
|
||||
|
@ -9,8 +9,8 @@ class IntegerArrayNode(LnxLogicVariableNodeMixin, LnxLogicTreeNode):
|
||||
lnx_section = 'variable'
|
||||
min_inputs = 0
|
||||
|
||||
def __init__(self):
|
||||
super(IntegerArrayNode, self).__init__()
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(IntegerArrayNode, self).__init__(*args, **kwargs)
|
||||
self.register_id()
|
||||
|
||||
def lnx_init(self, context):
|
||||
|
@ -9,8 +9,8 @@ class ObjectArrayNode(LnxLogicVariableNodeMixin, LnxLogicTreeNode):
|
||||
lnx_section = 'variable'
|
||||
min_inputs = 0
|
||||
|
||||
def __init__(self):
|
||||
super(ObjectArrayNode, self).__init__()
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(ObjectArrayNode, self).__init__(*args, **kwargs)
|
||||
self.register_id()
|
||||
|
||||
def lnx_init(self, context):
|
||||
|
@ -9,8 +9,8 @@ class StringArrayNode(LnxLogicVariableNodeMixin, LnxLogicTreeNode):
|
||||
lnx_section = 'variable'
|
||||
min_inputs = 0
|
||||
|
||||
def __init__(self):
|
||||
super(StringArrayNode, self).__init__()
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(StringArrayNode, self).__init__(*args, **kwargs)
|
||||
self.register_id()
|
||||
|
||||
def lnx_init(self, context):
|
||||
|
@ -9,8 +9,9 @@ class VectorArrayNode(LnxLogicVariableNodeMixin, LnxLogicTreeNode):
|
||||
lnx_section = 'variable'
|
||||
min_inputs = 0
|
||||
|
||||
def __init__(self):
|
||||
super(VectorArrayNode, self).__init__()
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(VectorArrayNode, self).__init__(*args, **kwargs)
|
||||
|
||||
self.register_id()
|
||||
|
||||
def lnx_init(self, context):
|
||||
|
@ -9,7 +9,8 @@ class AddTorrentNode(LnxLogicTreeNode):
|
||||
lnx_category = 'Leenkx'
|
||||
lnx_version = 1
|
||||
|
||||
def __init__(self):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(AddTorrentNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[str(id(self))] = self
|
||||
|
||||
|
||||
|
@ -1,54 +1,54 @@
|
||||
from lnx.logicnode.lnx_nodes import *
|
||||
|
||||
|
||||
class CallWASMNode(LnxLogicTreeNode):
|
||||
"""Call WASM"""
|
||||
bl_idname = 'LNCallWASMNode'
|
||||
bl_label = 'Call WASM'
|
||||
bl_description = 'Call WASM'
|
||||
lnx_category = 'HTML'
|
||||
lnx_version = 1
|
||||
min_inputs = 3
|
||||
|
||||
property1: HaxeBoolProperty(
|
||||
'property1',
|
||||
name="Secure",
|
||||
description="Assignment",
|
||||
default=False,
|
||||
)
|
||||
|
||||
def __init__(self):
|
||||
super(CallWASMNode, self).__init__()
|
||||
array_nodes[str(id(self))] = self
|
||||
|
||||
def lnx_init(self, context):
|
||||
self.add_input('LnxNodeSocketAction', 'In')
|
||||
self.add_input('LnxDynamicSocket', 'WASM')
|
||||
self.add_input('LnxStringSocket', 'Call')
|
||||
|
||||
self.add_output('LnxNodeSocketAction', 'Out')
|
||||
self.add_output('LnxDynamicSocket', 'Result')
|
||||
|
||||
def draw_buttons(self, context, layout):
|
||||
#layout.prop(self, 'property1')
|
||||
row = layout.row(align=True)
|
||||
op = row.operator('lnx.node_add_input', text='Add Arg', icon='PLUS', emboss=True)
|
||||
op.node_index = str(id(self))
|
||||
op.socket_type = 'LnxDynamicSocket'
|
||||
op.name_format = "Arg {0}"
|
||||
op.index_name_offset = -2
|
||||
column = row.column(align=True)
|
||||
op = column.operator('lnx.node_remove_input', text='', icon='X', emboss=True)
|
||||
op.node_index = str(id(self))
|
||||
if len(self.inputs) == self.min_inputs:
|
||||
column.enabled = False
|
||||
|
||||
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')
|
||||
from lnx.logicnode.lnx_nodes import *
|
||||
|
||||
|
||||
class CallWASMNode(LnxLogicTreeNode):
|
||||
"""Call WASM"""
|
||||
bl_idname = 'LNCallWASMNode'
|
||||
bl_label = 'Call WASM'
|
||||
bl_description = 'Call WASM'
|
||||
lnx_category = 'HTML'
|
||||
lnx_version = 1
|
||||
min_inputs = 3
|
||||
|
||||
property1: HaxeBoolProperty(
|
||||
'property1',
|
||||
name="Secure",
|
||||
description="Assignment",
|
||||
default=False,
|
||||
)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(CallWASMNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[str(id(self))] = self
|
||||
|
||||
def lnx_init(self, context):
|
||||
self.add_input('LnxNodeSocketAction', 'In')
|
||||
self.add_input('LnxDynamicSocket', 'WASM')
|
||||
self.add_input('LnxStringSocket', 'Call')
|
||||
|
||||
self.add_output('LnxNodeSocketAction', 'Out')
|
||||
self.add_output('LnxDynamicSocket', 'Result')
|
||||
|
||||
def draw_buttons(self, context, layout):
|
||||
#layout.prop(self, 'property1')
|
||||
row = layout.row(align=True)
|
||||
op = row.operator('lnx.node_add_input', text='Add Arg', icon='PLUS', emboss=True)
|
||||
op.node_index = str(id(self))
|
||||
op.socket_type = 'LnxDynamicSocket'
|
||||
op.name_format = "Arg {0}"
|
||||
op.index_name_offset = -2
|
||||
column = row.column(align=True)
|
||||
op = column.operator('lnx.node_remove_input', text='', icon='X', emboss=True)
|
||||
op.node_index = str(id(self))
|
||||
if len(self.inputs) == self.min_inputs:
|
||||
column.enabled = False
|
||||
|
||||
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')
|
||||
CallWASMNode.on_register()
|
@ -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()
|
||||
|
@ -9,7 +9,8 @@ class CreateTorrentNode(LnxLogicTreeNode):
|
||||
lnx_category = 'Leenkx'
|
||||
lnx_version = 1
|
||||
|
||||
def __init__(self):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(CreateTorrentNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[str(id(self))] = self
|
||||
|
||||
|
||||
|
@ -1,110 +1,111 @@
|
||||
from lnx.logicnode.lnx_nodes import *
|
||||
|
||||
|
||||
class LeenkxEventNode(LnxLogicTreeNode):
|
||||
"""Leenkx Event"""
|
||||
bl_idname = 'LNLeenkxEventNode'
|
||||
bl_label = 'Leenkx Event'
|
||||
bl_description = 'Trigger an event from the network passing both data and ID'
|
||||
lnx_category = 'Leenkx'
|
||||
lnx_version = 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 {
|
||||
'client': 0,
|
||||
'host': 1,
|
||||
'securehost': 2
|
||||
}.get(type_name, 0)
|
||||
|
||||
def get_enum(self):
|
||||
return self.get('property0', 0)
|
||||
|
||||
def set_enum(self, value):
|
||||
# Checking the selection of each type
|
||||
select_current = self.get_enum_id_value(self, 'property0', value)
|
||||
select_prev = self.property0
|
||||
|
||||
#Check if type changed
|
||||
if select_prev != select_current:
|
||||
|
||||
for i in self.inputs:
|
||||
self.inputs.remove(i)
|
||||
|
||||
# Arguements for type Client
|
||||
if (self.get_count_in(select_current) == 0):
|
||||
self.add_input('LnxStringSocket', 'Url', default_value="8001")
|
||||
|
||||
|
||||
# Arguements for type Host
|
||||
if (self.get_count_in(select_current) == 1):
|
||||
self.add_input('LnxStringSocket', 'Domain', default_value="127.0.0.1")
|
||||
self.add_input('LnxIntSocket', 'Port', default_value=8001)
|
||||
|
||||
|
||||
# Arguements for type Secure Host
|
||||
if (self.get_count_in(select_current) == 2):
|
||||
self.add_input('LnxStringSocket', 'Domain', default_value="127.0.0.1")
|
||||
self.add_input('LnxIntSocket', 'Port', default_value=8001)
|
||||
|
||||
|
||||
self['property0'] = value
|
||||
|
||||
|
||||
property0: HaxeEnumProperty(
|
||||
'property0',
|
||||
items = [('client', 'Client', 'Network client Event listener'),
|
||||
('host', 'Host', 'Network host Event listener'),
|
||||
('securehost', 'Secure Host', 'Network secure host Event listener')],
|
||||
name='',
|
||||
default='client',
|
||||
set=set_enum,
|
||||
get=get_enum)
|
||||
|
||||
|
||||
property1: HaxeEnumProperty(
|
||||
'property1',
|
||||
items = [('onopen', 'OnOpen', 'Listens to onOpen event'),
|
||||
('onmessage', 'OnMessage', 'Listens to onMessage event'),
|
||||
('onerror', 'OnError', 'Listens to onError event'),
|
||||
('onclose', 'OnClose', 'Listens to onClose event'),
|
||||
('onseen', 'OnSeen', 'Listens to onClose event'),
|
||||
('onserver', 'OnServer', 'Listens to onClose event'),
|
||||
('onconnections', 'OnConnections', 'Listens to onClose event'),
|
||||
('onping', 'OnPing', 'Listens to onClose event'),
|
||||
('onleft', 'OnLeft', 'Listens to onClose event'),
|
||||
('ontimeout', 'OnTimeout', 'Listens to onClose event'),
|
||||
('onrpc', 'OnRpc', 'Listens to onClose event'),
|
||||
('onrpcresponse', 'OnRpcResponse', 'Listens to onClose event'),
|
||||
('onwireleft', 'OnWireLeft', 'Listens to onClose event'),
|
||||
('onwireseen', 'OnWireSeen', 'Listens to onClose event'),
|
||||
('ontorrent', 'OnTorrent', 'Listens to onClose event'),
|
||||
('ontracker', 'OnTracker', 'Listens to onClose event'),
|
||||
('onannounce', 'OnAnnounce', 'Listens to onClose event')],
|
||||
name='',
|
||||
default='onopen')
|
||||
|
||||
def __init__(self):
|
||||
array_nodes[str(id(self))] = self
|
||||
|
||||
|
||||
def lnx_init(self, context):
|
||||
#self.add_input('LnxNodeSocketAction', 'In')
|
||||
self.add_input('LnxStringSocket', 'Url', default_value="ws://127.0.0.1:8001")
|
||||
|
||||
self.add_output('LnxNodeSocketAction', 'Out')
|
||||
self.add_output('LnxDynamicSocket', 'ID')
|
||||
self.add_output('LnxDynamicSocket', 'Data')
|
||||
|
||||
|
||||
def draw_buttons(self, context, layout):
|
||||
layout.prop(self, 'property0')
|
||||
layout.prop(self, 'property1')
|
||||
|
||||
def register():
|
||||
add_category('Leenkx', icon='ORIENTATION_CURSOR')
|
||||
from lnx.logicnode.lnx_nodes import *
|
||||
|
||||
|
||||
class LeenkxEventNode(LnxLogicTreeNode):
|
||||
"""Leenkx Event"""
|
||||
bl_idname = 'LNLeenkxEventNode'
|
||||
bl_label = 'Leenkx Event'
|
||||
bl_description = 'Trigger an event from the network passing both data and ID'
|
||||
lnx_category = 'Leenkx'
|
||||
lnx_version = 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 {
|
||||
'client': 0,
|
||||
'host': 1,
|
||||
'securehost': 2
|
||||
}.get(type_name, 0)
|
||||
|
||||
def get_enum(self):
|
||||
return self.get('property0', 0)
|
||||
|
||||
def set_enum(self, value):
|
||||
# Checking the selection of each type
|
||||
select_current = self.get_enum_id_value(self, 'property0', value)
|
||||
select_prev = self.property0
|
||||
|
||||
#Check if type changed
|
||||
if select_prev != select_current:
|
||||
|
||||
for i in self.inputs:
|
||||
self.inputs.remove(i)
|
||||
|
||||
# Arguements for type Client
|
||||
if (self.get_count_in(select_current) == 0):
|
||||
self.add_input('LnxStringSocket', 'Url', default_value="8001")
|
||||
|
||||
|
||||
# Arguements for type Host
|
||||
if (self.get_count_in(select_current) == 1):
|
||||
self.add_input('LnxStringSocket', 'Domain', default_value="127.0.0.1")
|
||||
self.add_input('LnxIntSocket', 'Port', default_value=8001)
|
||||
|
||||
|
||||
# Arguements for type Secure Host
|
||||
if (self.get_count_in(select_current) == 2):
|
||||
self.add_input('LnxStringSocket', 'Domain', default_value="127.0.0.1")
|
||||
self.add_input('LnxIntSocket', 'Port', default_value=8001)
|
||||
|
||||
|
||||
self['property0'] = value
|
||||
|
||||
|
||||
property0: HaxeEnumProperty(
|
||||
'property0',
|
||||
items = [('client', 'Client', 'Network client Event listener'),
|
||||
('host', 'Host', 'Network host Event listener'),
|
||||
('securehost', 'Secure Host', 'Network secure host Event listener')],
|
||||
name='',
|
||||
default='client',
|
||||
set=set_enum,
|
||||
get=get_enum)
|
||||
|
||||
|
||||
property1: HaxeEnumProperty(
|
||||
'property1',
|
||||
items = [('onopen', 'OnOpen', 'Listens to onOpen event'),
|
||||
('onmessage', 'OnMessage', 'Listens to onMessage event'),
|
||||
('onerror', 'OnError', 'Listens to onError event'),
|
||||
('onclose', 'OnClose', 'Listens to onClose event'),
|
||||
('onseen', 'OnSeen', 'Listens to onClose event'),
|
||||
('onserver', 'OnServer', 'Listens to onClose event'),
|
||||
('onconnections', 'OnConnections', 'Listens to onClose event'),
|
||||
('onping', 'OnPing', 'Listens to onClose event'),
|
||||
('onleft', 'OnLeft', 'Listens to onClose event'),
|
||||
('ontimeout', 'OnTimeout', 'Listens to onClose event'),
|
||||
('onrpc', 'OnRpc', 'Listens to onClose event'),
|
||||
('onrpcresponse', 'OnRpcResponse', 'Listens to onClose event'),
|
||||
('onwireleft', 'OnWireLeft', 'Listens to onClose event'),
|
||||
('onwireseen', 'OnWireSeen', 'Listens to onClose event'),
|
||||
('ontorrent', 'OnTorrent', 'Listens to onClose event'),
|
||||
('ontracker', 'OnTracker', 'Listens to onClose event'),
|
||||
('onannounce', 'OnAnnounce', 'Listens to onClose event')],
|
||||
name='',
|
||||
default='onopen')
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(LeenkxEventNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[str(id(self))] = self
|
||||
|
||||
|
||||
def lnx_init(self, context):
|
||||
#self.add_input('LnxNodeSocketAction', 'In')
|
||||
self.add_input('LnxStringSocket', 'Url', default_value="ws://127.0.0.1:8001")
|
||||
|
||||
self.add_output('LnxNodeSocketAction', 'Out')
|
||||
self.add_output('LnxDynamicSocket', 'ID')
|
||||
self.add_output('LnxDynamicSocket', 'Data')
|
||||
|
||||
|
||||
def draw_buttons(self, context, layout):
|
||||
layout.prop(self, 'property0')
|
||||
layout.prop(self, 'property1')
|
||||
|
||||
def register():
|
||||
add_category('Leenkx', icon='ORIENTATION_CURSOR')
|
||||
LeenkxEventNode.on_register()
|
@ -1,116 +1,117 @@
|
||||
from lnx.logicnode.lnx_nodes import *
|
||||
|
||||
|
||||
class LeenkxSendMessageNode(LnxLogicTreeNode):
|
||||
"""Leenkx Send Message"""
|
||||
bl_idname = 'LNLeenkxSendMessageNode'
|
||||
bl_label = 'Leenkx Send Message'
|
||||
bl_description = 'Send messages to the Leenkx network'
|
||||
lnx_category = 'Leenkx'
|
||||
lnx_version = 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 {
|
||||
'client': 0,
|
||||
'host': 1,
|
||||
'securehost': 2
|
||||
}.get(type_name, 0)
|
||||
|
||||
def get_enum(self):
|
||||
return self.get('property0', 0)
|
||||
|
||||
def set_enum(self, value):
|
||||
# Checking the selection of each type
|
||||
select_current = self.get_enum_id_value(self, 'property0', value)
|
||||
select_prev = self.property0
|
||||
|
||||
#Check if type changed
|
||||
if select_prev != select_current:
|
||||
|
||||
for i in self.inputs:
|
||||
self.inputs.remove(i)
|
||||
|
||||
# Arguements for type Client
|
||||
if (self.get_count_in(select_current) == 0):
|
||||
self.add_input('LnxNodeSocketAction', 'In')
|
||||
self.add_input('LnxDynamicSocket', 'Connection')
|
||||
self.add_input('LnxStringSocket', 'API')
|
||||
self.add_input('LnxDynamicSocket', 'Data')
|
||||
self.add_input('LnxStringSocket', 'ID')
|
||||
self.add_input('LnxBoolSocket', 'Send All')
|
||||
|
||||
# Arguements for type Host
|
||||
if (self.get_count_in(select_current) == 1):
|
||||
self.add_input('LnxNodeSocketAction', 'In')
|
||||
self.add_input('LnxDynamicSocket', 'Connection')
|
||||
self.add_input('LnxStringSocket', 'API')
|
||||
self.add_input('LnxDynamicSocket', 'Data')
|
||||
self.add_input('LnxStringSocket', 'ID')
|
||||
self.add_input('LnxBoolSocket', 'Send All')
|
||||
|
||||
|
||||
# Arguements for type Secure Host
|
||||
if (self.get_count_in(select_current) == 2):
|
||||
self.add_input('LnxNodeSocketAction', 'In')
|
||||
self.add_input('LnxDynamicSocket', 'Connection')
|
||||
self.add_input('LnxStringSocket', 'API')
|
||||
self.add_input('LnxDynamicSocket', 'Data')
|
||||
self.add_input('LnxStringSocket', 'ID')
|
||||
self.add_input('LnxBoolSocket', 'Send All')
|
||||
|
||||
|
||||
self['property0'] = value
|
||||
|
||||
|
||||
property0: HaxeEnumProperty(
|
||||
'property0',
|
||||
items = [('client', 'Client', 'Network client Event listener'),
|
||||
('host', 'Host', 'Network host Event listener'),
|
||||
('securehost', 'Secure Host', 'Network secure host Event listener')],
|
||||
name='',
|
||||
default='client',
|
||||
set=set_enum,
|
||||
get=get_enum)
|
||||
|
||||
|
||||
property1: HaxeEnumProperty(
|
||||
'property1',
|
||||
items = [('string', 'String', 'Send a string over the network to one or all of the clients'),
|
||||
('vector', 'Vector', 'Send a vector over the network to one or all of the clients'),
|
||||
('float', 'Float', 'Send a float over the network to one or all of the clients'),
|
||||
('integer', 'Integer', 'Send an integer over the network to one or all of the clients'),
|
||||
('boolean', 'Boolean', 'Send a boolean over the network to one or all of the clients'),
|
||||
('transform', 'Transform', 'Send a transform over the network to one or all of the clients'),
|
||||
('rotation', 'Rotation', 'Send a rotation over the network to one or all of the clients')],
|
||||
name='',
|
||||
default='string')
|
||||
|
||||
|
||||
def __init__(self):
|
||||
array_nodes[str(id(self))] = self
|
||||
|
||||
|
||||
def lnx_init(self, context):
|
||||
self.add_input('LnxNodeSocketAction', 'In')
|
||||
self.add_input('LnxDynamicSocket', 'Connection')
|
||||
self.add_input('LnxStringSocket', 'API')
|
||||
self.add_input('LnxDynamicSocket', 'Data')
|
||||
self.add_input('LnxStringSocket', 'ID')
|
||||
self.add_input('LnxBoolSocket', 'Send All')
|
||||
|
||||
self.add_output('LnxNodeSocketAction', 'Out')
|
||||
|
||||
|
||||
|
||||
def draw_buttons(self, context, layout):
|
||||
layout.prop(self, 'property0')
|
||||
layout.prop(self, 'property1')
|
||||
|
||||
def register():
|
||||
add_category('Leenkx', icon='ORIENTATION_CURSOR')
|
||||
from lnx.logicnode.lnx_nodes import *
|
||||
|
||||
|
||||
class LeenkxSendMessageNode(LnxLogicTreeNode):
|
||||
"""Leenkx Send Message"""
|
||||
bl_idname = 'LNLeenkxSendMessageNode'
|
||||
bl_label = 'Leenkx Send Message'
|
||||
bl_description = 'Send messages to the Leenkx network'
|
||||
lnx_category = 'Leenkx'
|
||||
lnx_version = 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 {
|
||||
'client': 0,
|
||||
'host': 1,
|
||||
'securehost': 2
|
||||
}.get(type_name, 0)
|
||||
|
||||
def get_enum(self):
|
||||
return self.get('property0', 0)
|
||||
|
||||
def set_enum(self, value):
|
||||
# Checking the selection of each type
|
||||
select_current = self.get_enum_id_value(self, 'property0', value)
|
||||
select_prev = self.property0
|
||||
|
||||
#Check if type changed
|
||||
if select_prev != select_current:
|
||||
|
||||
for i in self.inputs:
|
||||
self.inputs.remove(i)
|
||||
|
||||
# Arguements for type Client
|
||||
if (self.get_count_in(select_current) == 0):
|
||||
self.add_input('LnxNodeSocketAction', 'In')
|
||||
self.add_input('LnxDynamicSocket', 'Connection')
|
||||
self.add_input('LnxStringSocket', 'API')
|
||||
self.add_input('LnxDynamicSocket', 'Data')
|
||||
self.add_input('LnxStringSocket', 'ID')
|
||||
self.add_input('LnxBoolSocket', 'Send All')
|
||||
|
||||
# Arguements for type Host
|
||||
if (self.get_count_in(select_current) == 1):
|
||||
self.add_input('LnxNodeSocketAction', 'In')
|
||||
self.add_input('LnxDynamicSocket', 'Connection')
|
||||
self.add_input('LnxStringSocket', 'API')
|
||||
self.add_input('LnxDynamicSocket', 'Data')
|
||||
self.add_input('LnxStringSocket', 'ID')
|
||||
self.add_input('LnxBoolSocket', 'Send All')
|
||||
|
||||
|
||||
# Arguements for type Secure Host
|
||||
if (self.get_count_in(select_current) == 2):
|
||||
self.add_input('LnxNodeSocketAction', 'In')
|
||||
self.add_input('LnxDynamicSocket', 'Connection')
|
||||
self.add_input('LnxStringSocket', 'API')
|
||||
self.add_input('LnxDynamicSocket', 'Data')
|
||||
self.add_input('LnxStringSocket', 'ID')
|
||||
self.add_input('LnxBoolSocket', 'Send All')
|
||||
|
||||
|
||||
self['property0'] = value
|
||||
|
||||
|
||||
property0: HaxeEnumProperty(
|
||||
'property0',
|
||||
items = [('client', 'Client', 'Network client Event listener'),
|
||||
('host', 'Host', 'Network host Event listener'),
|
||||
('securehost', 'Secure Host', 'Network secure host Event listener')],
|
||||
name='',
|
||||
default='client',
|
||||
set=set_enum,
|
||||
get=get_enum)
|
||||
|
||||
|
||||
property1: HaxeEnumProperty(
|
||||
'property1',
|
||||
items = [('string', 'String', 'Send a string over the network to one or all of the clients'),
|
||||
('vector', 'Vector', 'Send a vector over the network to one or all of the clients'),
|
||||
('float', 'Float', 'Send a float over the network to one or all of the clients'),
|
||||
('integer', 'Integer', 'Send an integer over the network to one or all of the clients'),
|
||||
('boolean', 'Boolean', 'Send a boolean over the network to one or all of the clients'),
|
||||
('transform', 'Transform', 'Send a transform over the network to one or all of the clients'),
|
||||
('rotation', 'Rotation', 'Send a rotation over the network to one or all of the clients')],
|
||||
name='',
|
||||
default='string')
|
||||
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(LeenkxSendMessageNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[str(id(self))] = self
|
||||
|
||||
|
||||
def lnx_init(self, context):
|
||||
self.add_input('LnxNodeSocketAction', 'In')
|
||||
self.add_input('LnxDynamicSocket', 'Connection')
|
||||
self.add_input('LnxStringSocket', 'API')
|
||||
self.add_input('LnxDynamicSocket', 'Data')
|
||||
self.add_input('LnxStringSocket', 'ID')
|
||||
self.add_input('LnxBoolSocket', 'Send All')
|
||||
|
||||
self.add_output('LnxNodeSocketAction', 'Out')
|
||||
|
||||
|
||||
|
||||
def draw_buttons(self, context, layout):
|
||||
layout.prop(self, 'property0')
|
||||
layout.prop(self, 'property1')
|
||||
|
||||
def register():
|
||||
add_category('Leenkx', icon='ORIENTATION_CURSOR')
|
||||
LeenkxSendMessageNode.on_register()
|
@ -9,7 +9,8 @@ class SeedTorrentNode(LnxLogicTreeNode):
|
||||
lnx_category = 'Leenkx'
|
||||
lnx_version = 1
|
||||
|
||||
def __init__(self):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(SeedTorrentNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[str(id(self))] = self
|
||||
|
||||
|
||||
|
@ -57,7 +57,8 @@ class SetElementDataNode(LnxLogicTreeNode):
|
||||
get=get_enum)
|
||||
|
||||
|
||||
def __init__(self):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(SetElementDataNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[str(id(self))] = self
|
||||
|
||||
|
||||
|
@ -9,7 +9,8 @@ class TouchPadNode(LnxLogicTreeNode):
|
||||
lnx_category = 'Leenkx'
|
||||
lnx_version = 1
|
||||
|
||||
def __init__(self):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(TouchPadNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[str(id(self))] = self
|
||||
|
||||
|
||||
|
@ -21,8 +21,8 @@ class DrawCameraNode(LnxLogicTreeNode):
|
||||
|
||||
num_choices: IntProperty(default=0, min=0)
|
||||
|
||||
def __init__(self):
|
||||
super(DrawCameraNode, self).__init__()
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(DrawCameraNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[str(id(self))] = self
|
||||
|
||||
def lnx_init(self, context):
|
||||
|
@ -26,8 +26,8 @@ class DrawPolygonNode(LnxLogicTreeNode):
|
||||
|
||||
num_choices: IntProperty(default=1, min=0)
|
||||
|
||||
def __init__(self):
|
||||
super(DrawPolygonNode, self).__init__()
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(DrawPolygonNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[str(id(self))] = self
|
||||
|
||||
def lnx_init(self, context):
|
||||
|
@ -55,8 +55,8 @@ class OnSwipeNode(LnxLogicTreeNode):
|
||||
min_outputs = 4
|
||||
max_outputs = 12
|
||||
|
||||
def __init__(self):
|
||||
super(OnSwipeNode, self).__init__()
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(OnSwipeNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[str(id(self))] = self
|
||||
|
||||
def lnx_init(self, context):
|
||||
|
@ -7,8 +7,8 @@ class AlternateNode(LnxLogicTreeNode):
|
||||
lnx_section = 'flow'
|
||||
lnx_version = 2
|
||||
|
||||
def __init__(self):
|
||||
super(AlternateNode, self).__init__()
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(AlternateNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[str(id(self))] = self
|
||||
|
||||
def lnx_init(self, context):
|
||||
|
@ -10,8 +10,8 @@ class CallFunctionNode(LnxLogicTreeNode):
|
||||
lnx_version = 2
|
||||
min_inputs = 3
|
||||
|
||||
def __init__(self):
|
||||
super(CallFunctionNode, self).__init__()
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(CallFunctionNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[str(id(self))] = self
|
||||
|
||||
def lnx_init(self, context):
|
||||
|
@ -21,8 +21,8 @@ class CaseIndexNode(LnxLogicTreeNode):
|
||||
|
||||
num_choices: IntProperty(default=0, min=0)
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(CaseIndexNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[str(id(self))] = self
|
||||
|
||||
def lnx_init(self, context):
|
||||
|
@ -11,8 +11,8 @@ class FunctionNode(LnxLogicTreeNode):
|
||||
lnx_version = 2
|
||||
min_outputs = 1
|
||||
|
||||
def __init__(self):
|
||||
super(FunctionNode, self).__init__()
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(FunctionNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[str(id(self))] = self
|
||||
|
||||
def lnx_init(self, context):
|
||||
|
@ -38,8 +38,8 @@ class GateNode(LnxLogicTreeNode):
|
||||
update=remove_extra_inputs)
|
||||
property1: HaxeFloatProperty('property1', name='Tolerance', description='Precision for float compare', default=0.0001)
|
||||
|
||||
def __init__(self):
|
||||
super(GateNode, self).__init__()
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(GateNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[str(id(self))] = self
|
||||
|
||||
def lnx_init(self, context):
|
||||
|
@ -41,8 +41,8 @@ class MergeNode(LnxLogicTreeNode):
|
||||
update=update_exec_mode,
|
||||
)
|
||||
|
||||
def __init__(self):
|
||||
super(MergeNode, self).__init__()
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(MergeNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[str(id(self))] = self
|
||||
|
||||
def lnx_init(self, context):
|
||||
|
@ -8,8 +8,8 @@ class SequenceNode(LnxLogicTreeNode):
|
||||
lnx_version = 2
|
||||
min_outputs = 0
|
||||
|
||||
def __init__(self):
|
||||
super(SequenceNode, self).__init__()
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(SequenceNode, self).__init__(*args, **kwargs)
|
||||
array_nodes[self.get_id_str()] = self
|
||||
|
||||
def lnx_init(self, context):
|
||||
|
Loading…
x
Reference in New Issue
Block a user