Пример #1
0
def ui_elements_inCircle(op: Boss_OT_base_ui):
    """duplicated selected objects in order in new collection"""

    C = bpy.context
    objs = C.selected_objects

    if len(objs) < 1:
        return {'no object selected, select something'}

    vff_pivotPos = UICreator.vectorFloatField(op, (0, 0, 100, 50),
                                              (0.0, 0.0, 0.0), resetPositions)

    ff_angle = UICreator.floatField(op, vff_pivotPos.rectData.getTop(5), 0.0,
                                    resetPositions)
    tf_axis = UICreator.textField(op, ff_angle.button.rectData.getTop(5), 'z',
                                  resetPositions)

    vff_rotation = UICreator.vectorFloatField(
        op, tf_axis.button.rectData.getTop(5), (0.0, 0.0, 0.0), resetPositions)
    vff_scale = UICreator.vectorFloatField(op, vff_rotation.rectData.getTop(5),
                                           (0.0, 0.0, 0.0), resetPositions)

    cb_inNewCollection = UICreator.checkBox(op, vff_scale.rectData.getTop(5),
                                            'new collection', True)

    cb_collectionUnderScene = UICreator.checkBox(
        op, cb_inNewCollection.button.rectData.getTop(5), 'under the scene',
        True)

    if_copies = UICreator.intField(op,
                                   cb_collectionUnderScene.button.getTop(5), 1)
Пример #2
0
def ui_elements_inCircle(op: Boss_OT_base_ui):
    """ duplicated selected objects in order in new collection """

    objs = bpy.context.selected_objects
    if len(objs) < 1:
        return {'no object selected, select something'}

    global vff_pivotPos
    global ff_angle
    global tf_axis
    global cb_inNewCollection
    global cb_collectionUnderScene
    global if_copies

    vff_pivotPos = UICreator.vectorFloatField(op, (0, 0, 100, 50),
                                              (0.0, 0.0, 0.0), placeObjects)

    ff_angle = UICreator.floatField(op, vff_pivotPos.rectData.getTop(5), 30.0,
                                    placeObjects)

    tf_axis = UICreator.textField(op, ff_angle.button.rectData.getTop(5), 'Z')

    cb_inNewCollection = UICreator.checkBox(op,
                                            tf_axis.button.rectData.getTop(5),
                                            'new collection', False,
                                            onNewCollectionChanged)

    cb_collectionUnderScene = UICreator.checkBox(
        op, cb_inNewCollection.button.rectData.getTop(5), 'under the scene',
        False, onUnderSceneCollectionPressed)

    if_copies = UICreator.intField(op,
                                   cb_collectionUnderScene.button.getTop(5), 3,
                                   onCopiesChanged)

    global copies
    global dict_createdObj
    global dict_collections

    copies = if_copies.value

    # create collections in the beginning

    dict_collections = {obj: getCollection(obj) for obj in objs}

    dict_createdObj.update({o: [] for o in objs})
    dict_objsToDelete.update({o: [] for o in objs})

    # Create new objects and link those to collection
    for (obj, coll), createdObjList in zip(dict_collections.items(),
                                           dict_createdObj.values()):
        for i in range(copies):
            ob = copyObj(obj, False, False, True)
            ob.name = obj.name + '_dupli_' + str(i)
            coll.objects.link(ob)
            createdObjList.append(ob)

    # place objects
    placeObjects()

    op.onCancel.append(cleanup)
Пример #3
0
def ui_elements(op):
    cc.deleteAllUi(op)  # to delete all existing ui
    mouse_x, mouse_y = cc.mouse_xy(op)
    btn_height, btn_width = 50, 200

    rd = RectData(mouse_x, mouse_y - 50, btn_width, btn_height)

    btn_title = cc.button(op, rd, text='Title Bar',
                                 ttt='This is a button, you can drag it'
                                 )

    space = 0#10

    rd = rd.getBottom(space)

    cc.button(
        op,rd,
        text='text',
        buttonData=onClick,
        parent = btn_title,
        canDrag = False,
        ttt='This is a button'
    )

    rd = rd.getBottom(space)
    cc.textField(
        op,rd,
        onTextChange=onTextField_TextChanged,
        onValueChange=onTextField_ValueChanged,
        onEnterPress=onTextField_EnterPressed,
        parent = btn_title,
        canDrag = False,
        ttt='This is a TextField'
    )

    rd = rd.getBottom(space)
    cc.intField(
        op,rd,
        value=1,
        onTextChange=onTextChange,
        onValueChange=onValueChange,
        onEnterPress=onEnterPress,
        parent = btn_title,
        canDrag = False,
        ttt='This is a IntField'

    )

    rd = rd.getBottom(space)
    cc.floatField(
        op,rd,
        value=0.0,
        onTextChange=onTextChange,
        onValueChange=onValueChange,
        onEnterPress=onEnterPress,
        parent = btn_title,
        canDrag = False,
        ttt='This is a FloatField'
    )

    rd = rd.getBottom(space)
    cc.checkBox(
        op,rd,
        text='text',
        value=True,
        onValueChange=onValueChange,
        parent = btn_title,
        canDrag = False,
        ttt='This is a Checkbox(boolean)'
    )
    rd = rd.getBottom(space)

    cc.vectorBooleanField(
        op,rd,
        value=(True, False, True),
        onValueChange=onValueChange,
        parent = btn_title,
        canDrag = False,
        ttt='This is VectorBooleanField'
    )

    rd = rd.getBottom(space)

    cc.vectorFloatField(
        op,rd,
        value=(0.0, 0.0, 0.0),
        onValueChange=onValueChange,
        onTextChange=onTextChange,
        onEnterPress=onEnterPress,
        parent = btn_title,
        canDrag = False,
        ttt='This is VectorFloatField'
    )

    rd = rd.getBottom(space)

    cc.vectorIntField(
        op, rd,
        value=(0, 0, 0),
        onValueChange=onValueChange,
        onTextChange=onTextChange,
        onEnterPress=onEnterPress,
        parent = btn_title,
        canDrag = False,
        ttt='This is VectorIntField'
    )
Пример #4
0
def ui_elements(op: Boss_OT_base_ui):
    UICreator.deleteAllUi(op)  # to delete all existing ui
    btn_width, btn_height = 150, 40
    space = 10
    rr = UICreator.rr(op)
    rd = RectData(
        op.uip.mouse_x,
        rr.height - 150,
        # op.uip.mouse_y - btn_height,
        btn_width,
        btn_height
    )

    UICreator.button(
        op=op,
        rectData=rd,
        text='btn_text',
        buttonData=None,
        ttt='button tooltip',
        tti=r'C:\Users\abc\Desktop\boss_location.png',
        canDrag=True,
        parent=None,
        rectIsLocal=False,
        param=None
    )

    rd = rd.getBottom(space)
    UICreator.textField(
        op,
        rectData=rd,
        onTextChange=onTextField_TextChanged,
        onValueChange=onTextField_ValueChanged,
        onEnterPress=onTextField_EnterPressed,
        ttt='This is tool_tip_text (ttt)',
        tti=r'C:\Users\abc\Desktop\boss_location.png',
        canDrag=True,
        parent=None,
        rectIsLocal=False
    )

    rd = rd.getBottom(space)
    UICreator.intField(
        op,
        rectData=rd,
        value=1,
        onTextChange=onTextChange,
        onValueChange=onValueChange,
        onEnterPress=onEnterPress,
        ttt='This is tool_tip_text (ttt)',
        tti=r'C:\Users\abc\Desktop\boss_location.png',
        canDrag=True,
        parent=None,
        rectIsLocal=False

    )

    rd = rd.getBottom(space)
    UICreator.floatField(
        op,
        rectData=rd,
        value=0.0,
        onTextChange=onTextChange,
        onValueChange=onValueChange,
        onEnterPress=onEnterPress,
        ttt= 'This is tool_tip_text (ttt)',
        tti = r'C:\Users\abc\Desktop\boss_location.png',
        canDrag = True,
        parent = None,
        rectIsLocal = False
    )

    rd = rd.getBottom(space)
    UICreator.checkBox(
        op=op,
        rectData=rd,
        text='checkBox',
        value=False,
        onValueChange=None,
        ttt='checkBox',
        tti=r'C:\Users\abc\Desktop\boss_location.png',
        canDrag=True,
        parent=None,
        rectIsLocal=False,
        param=None
    )
    rd = rd.getBottom(space)

    UICreator.vectorBooleanField(
        op,
        rectData=rd,
        value=(True, False, True),
        onValueChange=onValueChange,
        ttt='This is tool_tip_text (ttt)',
        tti=r'C:\Users\abc\Desktop\boss_location.png',
        canDrag=True,
        parent=None,
        rectIsLocal=False

    )

    rd = rd.getBottom(space)

    UICreator.vectorFloatField(
        op,
        rectData=rd,
        value=(0.0, 0.0, 0.0),
        onValueChange=onValueChange,
        onTextChange=onTextChange,
        onEnterPress=onEnterPress,
        ttt='This is tool_tip_text (ttt)',
        tti=r'C:\Users\abc\Desktop\boss_location.png',
        canDrag=True,
        parent=None,
        rectIsLocal=False
    )

    rd = rd.getBottom(space)

    UICreator.vectorIntField(
        op,
        rectData=rd,
        value=(0, 0, 0),
        onValueChange=onValueChange,
        onTextChange=onTextChange,
        onEnterPress=onEnterPress,
        ttt='This is tool_tip_text (ttt)',
        tti=r'C:\Users\abc\Desktop\boss_location.png',
        canDrag=True,
        parent=None,
        rectIsLocal=False
    )