Panel Param List GUI

Is it possible to achieve a GUI for adding/removing/creating parameterized objects that are associated on a list field of another parameterized object?

Here is the example that I’m working with:

class Revenue(pm.Parameterized):
    name = pm.String()
    value = pm.Number()
    
class Expense(pm.Parameterized):
    name = pm.String()
    value = pm.Number()
    
class FinancialStatements(pm.Parameterized):
    name_of_business = pm.String()
    title_of_statement = pm.String()
    
class IncomeStatement(FinancialStatements):
    """The Statement of Operations"""
    title_of_statement = pm.String("Income Statement")
    accounting_period  = pm.CalendarDateRange()
    revenues = pm.List(item_type=Revenue)
    expenses = pm.List(item_type=Expense)

The problem with is how the list renders in the GUI, it would be great to get a PLUS button that enables one to create new Revenue or Expense items. Similar to the django admin panel for relational objects for anyone who is familiar with that concept.

image

I don’t think you can get this behavior out of the box. You will have to handle the creation/deletion of Parameterized objects.