def loadValues(self, values):
        """
        Loads the values from the inputed dictionary to the widget.
        
        :param      values | <dict>
        """
        table = self.tableType()
        if table:
            schema = table.schema()
        else:
            schema = None
        
        process = []
        for widget in self.findChildren(QWidget):
            prop = widget.property('columnName')
            if not prop:
                continue
            
            order = widget.property('columnOrder')
            if order:
                order = unwrapVariant(order)
            else:
                order = 10000000
            
            process.append((order, widget, prop))
        
        process.sort()
        for order, widget, prop in process:
            columnName = nativestring(unwrapVariant(prop, ''))
            
            if not columnName:
                continue
            
            if isinstance(widget, XEnumBox) and schema:
                column = schema.column(columnName)
                if column.enum() is not None:
                    widget.setEnum(column.enum())
            
            if columnName in values:
                projexui.setWidgetValue(widget, values.get(columnName))