def __draw_input_fields(self, arg, element, type):        
     for i in xrange(len(arg)):
         if type == "in":                            
             label = "label_in%d" % i
         else:
             label = "label_out%d" % i
             
         if arg[i] == 'i':
             element.append(pg.wxIntProperty('Integer', label))
             self.cmds_pg.Append(element[i])
         elif arg[i] == 'f':
             element.append(pg.wxFloatProperty('Float', label))
             self.cmds_pg.Append(element[i])
         elif arg[i] == 's':
             if type == "in":
                 element.append(pg.wxStringCallBackProperty('String', 
                                 label, '' ))
                 self.cmds_pg.Append(element[i])
                 dlg = browser.create_dialog(self, True)
                 element[i].SetCallBackDialog(dlg)
             else:                    
                 element.append(pg.wxStringProperty('String', label, ''))
                 self.cmds_pg.Append(element[i])
         elif arg[i] == 'b':
             element.append(pg.wxEnumProperty('Boolean', 
                                label,['True','False'],[1,0],2,0 ))
             self.cmds_pg.Append(element[i])
         elif arg[i] == 'o':
             if type == "in":
                 element.append(pg.wxStringCallBackProperty( 'Object', 
                                     label, '' ))
                 self.cmds_pg.Append(element[i])
                 dlg = browser.create_dialog(self, True)        
                 element[i].SetCallBackDialog(dlg)  
             else:
                 element.append(pg.wxStringProperty('Object', label, ''))
                 self.cmds_pg.Append(element[i])
         elif arg[i] == 'l':
             if type == "in":
                 element.append(pg.wxStringProperty('List', label, ''))
                 self.cmds_pg.Append(element[i])
             else:
                 element.append(pg.wxArrayStringProperty('List', label, ''))
                 self.cmds_pg.Append(element[i])
             
         else:
             element.append(pg.wxStringProperty('String', label,
                                                    'Unknow type!!!'))
             self.cmds_pg.Append(element[i])
def draw_input_fields(inspector_win, arg, element, type):        
    for i in xrange(len(arg)):
        if type == "in":                            
            label = "label_in%d" % i
        else:
            label = "label_out%d" % i
            
        if arg[i] == 'i':
            element.append(pg.wxIntProperty('Integer', label))
            inspector_win.cmds_pg.Append(element[i])
        elif arg[i] == 'f':
            element.append(pg.wxFloatProperty('Float', label))
            inspector_win.cmds_pg.Append(element[i])
        elif arg[i] == 's':
            if type == "in":
                element.append(pg.wxStringCallBackProperty('String', 
                                label, '' ))
                inspector_win.cmds_pg.Append(element[i])
                dlg = browser.create_dialog(inspector_win, True)
                element[i].SetCallBackDialog(dlg)                                               
            else:                    
                element.append(pg.wxStringProperty('String', label, ''))
                inspector_win.cmds_pg.Append(element[i])
        elif arg[i] == 'b':
            element.append(pg.wxEnumProperty('Boolean', 
                               label,['True','False'],[1,0],2 ))
            inspector_win.cmds_pg.Append(element[i])
        elif arg[i] == 'o':
            if type == "in":
                element.append(pg.wxStringCallBackProperty( 'Object', 
                                    label, '' ))
                inspector_win.cmds_pg.Append(element[i])
                dlg = browser.create_dialog(inspector_win, True)        
                element[i].SetCallBackDialog(dlg)  
            else:
                element.append(pg.wxStringProperty('Object', label, ''))
                inspector_win.cmds_pg.Append(element[i])
        elif arg[i] == 'l':
            if type == "in":
                element.append(pg.wxStringProperty('List', label, ''))
                inspector_win.cmds_pg.Append(element[i])
            else:
                element.append(pg.wxArrayStringProperty('List', label, ''))
                inspector_win.cmds_pg.Append(element[i])
            
        else:
            element.append(pg.wxStringProperty('String', label,
                                                   'Unknow type!!!'))
            inspector_win.cmds_pg.Append(element[i])
Esempio n. 3
0
def __draw_input_fields(inspector, params, type):
    i = 0

    for param in params:
        if type == "in":
            label = "label_in%d" % i
        else:
            label = "label_out%d" % i

        param_type = inspector.xml.get_param_type(param)
        param_name = inspector.xml.get_param_name(param)

        # Get posible attributes

        editor = ""
        min_value = ""
        max_value = ""
        default_value = ""
        step = ""
        subtype = ""

        for attr in inspector.xml.get_param_attrs(param):
            attr_type = inspector.xml.get_attr_type(attr)

            if "editor" == attr_type:
                editor = inspector.xml.get_attr_value(attr)

            if "min" == attr_type:
                min_value = inspector.xml.get_attr_value(attr)

            if "max" == attr_type:
                max_value = inspector.xml.get_attr_value(attr)

            if "default" == attr_type:
                default_value = inspector.xml.get_attr_value(attr)

            if "step" == attr_type:
                step = inspector.xml.get_attr_value(attr)

            if "subtype" == attr_type:
                subtype = inspector.xml.get_attr_value(attr)

        if param_type == 'i':
            if "spin" == editor:
                element = pg.wxIntProperty(param_name, label)

            elif "color" == editor:
                element = pg.wxColourProperty(param_name, label, wx.RED)

            elif "slider" == editor:
                element = pg.wxIntProperty(param_name, label)

            elif "enum" == editor:
                test_labels = ["uno", "dos", "tres"]
                test_values = [1, 2, 3]
                element = pg.wxEnumProperty(param_name, label, test_labels,
                                            test_values)

            elif "flags" == editor:
                element = pg.wxIntProperty("flags", label)
            else:
                element = pg.wxIntProperty(param_name, label)

        elif param_type == 'f':
            element = pg.wxFloatProperty('Float', label)

        elif param_type == 's':
            if "" == editor:
                if type == "in":
                    element = check_string_subtypes(subtype, param_name, label)
                else:
                    element = pg.wxStringProperty(param_name, label, '')
            elif "font" == editor:
                element = pg.wxFontProperty(param_name, label, wx.NORMAL_FONT)

        elif param_type == 'b':
            element = pg.wxEnumProperty('Boolean', label, ['True', 'False'],
                                        [1, 0], 2)
        elif param_type == 'o':
            if type == "in":
                element = check_string_subtypes(subtype, param_name, label)
            else:
                element = pg.wxStringProperty(param_name, label, '')
        elif param_type == 'l':
            if type == "in":
                element = pg.wxStringProperty('List', label, '')
            else:
                element = pg.wxArrayStringProperty('List', label, '')

        else:
            element = pg.wxStringProperty('String', label, 'Unknow type!!!')

        inspector.cmds_pg.Append(element)

        if "spin" == editor or "slider" == editor:
            inspector.cmds_pg.MakeIntegerSpinControl(label)

        if "in" == type:
            inspector.in_elements.append(element)
        else:
            inspector.out_elements.append(element)

        i = i + 1
Esempio n. 4
0
def __draw_input_fields(inspector, params, type):        
    i = 0        

    for param in params:
        if type == "in":                            
            label = "label_in%d" % i
        else:
            label = "label_out%d" % i

        param_type = inspector.xml.get_param_type(param)
        param_name = inspector.xml.get_param_name(param)

        # Get posible attributes

        editor = ""
        min_value = ""
        max_value = ""
        default_value = ""
        step = ""
        subtype = ""

        for attr in inspector.xml.get_param_attrs(param):
            attr_type = inspector.xml.get_attr_type(attr)

            if "editor" == attr_type:
                editor = inspector.xml.get_attr_value(attr)

            if "min" == attr_type:
                min_value = inspector.xml.get_attr_value(attr)

            if "max" == attr_type:
                max_value = inspector.xml.get_attr_value(attr)

            if "default" == attr_type:
                default_value = inspector.xml.get_attr_value(attr)

            if "step" == attr_type:
                step = inspector.xml.get_attr_value(attr)

            if "subtype" == attr_type:
                subtype = inspector.xml.get_attr_value(attr)

        if param_type == 'i':
            if "spin" == editor:
                element = pg.wxIntProperty(param_name, label)                

            elif "color" == editor:
                element = pg.wxColourProperty(param_name, label, wx.RED)

            elif "slider" == editor:
                element = pg.wxIntProperty(param_name, label)

            elif "enum" == editor:
                test_labels = ["uno", "dos", "tres"]
                test_values = [1, 2, 3]
                element = pg.wxEnumProperty(
                                param_name, 
                                label, 
                                test_labels, 
                                test_values)

            elif "flags" == editor:
                element = pg.wxIntProperty("flags", label)
            else:
                element = pg.wxIntProperty(param_name, label)
        
        elif param_type == 'f':
            element = pg.wxFloatProperty('Float', label) 

        elif param_type == 's':
            if "" == editor:
                if type == "in":
                    element = check_string_subtypes(subtype, param_name, label)
                else:
                    element = pg.wxStringProperty(param_name, label, '')
            elif "font" == editor:
                element = pg.wxFontProperty(param_name, label, wx.NORMAL_FONT)

        elif param_type == 'b':
            element = pg.wxEnumProperty('Boolean', 
                               label,['True','False'],[1,0],2)
        elif param_type == 'o':
            if type == "in":
                element = check_string_subtypes(subtype, param_name, label)
            else:
                element = pg.wxStringProperty(param_name, label, '')
        elif param_type == 'l':
            if type == "in":
                element = pg.wxStringProperty('List', label, '')
            else:
                element = pg.wxArrayStringProperty('List', label, '')
            
        else:
            element = pg.wxStringProperty('String', label,
                                                   'Unknow type!!!')

        inspector.cmds_pg.Append(element)

        if "spin" == editor or "slider" == editor:
            inspector.cmds_pg.MakeIntegerSpinControl(label)

        if "in" == type:                
            inspector.in_elements.append(element)
        else:
            inspector.out_elements.append(element)

        i = i + 1