Updating a combo box from an OnClicked callback


To update the contents of a combo box from a button OnClicked callback, you use the PPGItem.UIItems property.

Here’s a simple example that shows how:

import win32com.client
from win32com.client import constants

null = None
false = 0
true = 1

def XSILoadPlugin( in_reg ):
    in_reg.Author = "blairs"
    in_reg.Name = "ComboTestPlugin"
    in_reg.Major = 1
    in_reg.Minor = 0

    in_reg.RegisterProperty("ComboTest")

    return true

def XSIUnloadPlugin( in_reg ):
    strPluginName = in_reg.Name
    return true

def ComboTest_Define( in_ctxt ):
    oCustomProperty = in_ctxt.Source
    oCustomProperty.AddParameter2("List",constants.siInt4,0,0,100,0,100,constants.siClassifUnknown,constants.siPersistable + constants.siKeyable)
    return true

def ComboTest_DefineLayout( in_ctxt ):
    oLayout = in_ctxt.Source
    oLayout.Clear()
    oLayout.AddEnumControl("List", ("chocolate", 0, "vanilla", 1, "strawberry", 2), "Flavor", constants.siControlCombo )
    oLayout.AddButton("Update")
   
    return true

def ComboTest_Update_OnClicked( ):
    Application.LogMessage("ComboTest_Test_OnClicked called")
    x = ("Coffee Heath Bar Crunch", 0, "Cherry Garcia", 1, "Dulce Delux", 2 )
    PPG.PPGLayout.Item("List").UIItems = x
    Application.LogMessage( PPG.PPGLayout.Item("List").UIItems )
    PPG.Refresh()

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s