docs: 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)