If you set a flag with "=", you will reset all other flags that where set before. This is normally not what you want, but it is when you are defining the panel. When defining a panel, there are no other flags set yet (you can be sure of that), so you can use "=".

Normally when you define a new variable it will have random content if you don't initialize it. If that where the case for the "flags" parameter, setting the flag with "|=" would be harmful because you MUST overwrite the content of flags. But I don't think flags contains random content becuase if you omit the flags parameter, all flags will be 0. So if I'm right, you can set it with both = and |=. Nevertheless, = is still clearer because |= indicates that other flags might have been set before (which is never the case in a panel definition.)