> A common idiom is just to use symbols, either directly: > > window.setStack(:TOP) > > or via constants > > TOP = :TOP > BOTTOM = :BOTTOM > > This doesn't work if you want to do or-ing and such, but for the kinds > on enums you're describing it seems to be just fine. Ahhh, I didn't specify enough constraints on the problem ;) And those would be that the constants are in fact integer values; I need to be able to specify a specific starting value for the sequence; and I want the values to be generated sequentially so that I'm guaranteed that all the values are greater than the starting value. In other words, I need it to work exactly like C enums ;) In the big scheme of things this is not a big deal, I just wanted to see what my options are. In Python I do it using the range() function, like so: (ID_FIRST, ID_SECOND, ID_THIRD) = range(FXMainWindow.ID_LAST, FXMainWindow.ID_LAST + 3) > ps. Any idea on my swig problem with static structs? Not yet, I was planning to take a look tonight. Will let you know something in the morning.