> 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.