Image

def init(factory):
    # simple types
    factory.register(BoolPlugin(),                  ColumnType.Bool)
    factory.register(NumericPlugin(QLineEdit),      ColumnType.Double)
    factory.register(NumericPlugin(QLineEdit),      ColumnType.Decimal)
    factory.register(NumericPlugin(QLineEdit),      ColumnType.Integer)
    factory.register(NumericPlugin(QLineEdit),      ColumnType.BigInt)
    
    # Enum
    factory.register(EnumPlugin(),                  ColumnType.Enum)
    
    # string types
    factory.register(StringPlugin(XLineEdit),       ColumnType.String)
    factory.register(StringPlugin(XLineEdit),       ColumnType.Text)
    factory.register(StringPlugin(XLineEdit),       ColumnType.Xml)
    factory.register(StringPlugin(XLineEdit),       ColumnType.Html)
    factory.register(StringPlugin(XLineEdit),       ColumnType.Color)
    factory.register(PasswordPlugin(),              ColumnType.Password)
    
    # date/time types
    dtimeplug = DateTimePlugin(XDateTimeEdit)
    factory.register(DateTimePlugin(XDateEdit),     ColumnType.Date)
    factory.register(dtimeplug, ColumnType.Datetime)
    factory.register(dtimeplug, ColumnType.DatetimeWithTimezone)
    factory.register(DateTimePlugin(XTimeEdit),     ColumnType.Time)
    
    # data types
    'Image'        # stores images in the database as binary
    'ByteArray'    # stores additional binary information
    'Dict'         # stores python dictionary types
    
    # relation types
    factory.register(ForeignKeyPlugin(), ColumnType.ForeignKey)