| 324 | |
| 325 | |
| 326 | class FlagsSimple(enum.IntFlag, metaclass=fbe.DefaultEnumMeta): |
| 327 | FLAG_VALUE_0 = int(0x0) |
| 328 | FLAG_VALUE_1 = int(0x1) |
| 329 | FLAG_VALUE_2 = int(0x2) |
| 330 | FLAG_VALUE_3 = int(0x4) |
| 331 | FLAG_VALUE_4 = FLAG_VALUE_3 |
| 332 | FLAG_VALUE_5 = FLAG_VALUE_1 | FLAG_VALUE_3 |
| 333 | |
| 334 | __slots__ = () |
| 335 | |
| 336 | # Is flags set? |
| 337 | def has_flags(self, flags): |
| 338 | return ((self.value & flags.value) != 0) and ((self.value & flags.value) == flags.value) |
| 339 | |
| 340 | # Set flags |
| 341 | def set_flags(self, flags): |
| 342 | self.value |= flags.value |
| 343 | return self |
| 344 | |
| 345 | # Remove flags |
| 346 | def remove_flags(self, flags): |
| 347 | self.value &= ~flags.value |
| 348 | return self |
| 349 | |
| 350 | def __format__(self, format_spec): |
| 351 | return self.__str__() |
| 352 | |
| 353 | def __str__(self): |
| 354 | sb = list() |
| 355 | first = True |
| 356 | if (self.value & FlagsSimple.FLAG_VALUE_0.value) and ((self.value & FlagsSimple.FLAG_VALUE_0.value) == FlagsSimple.FLAG_VALUE_0.value): |
| 357 | if first: |
| 358 | # noinspection PyUnusedLocal |
| 359 | first = False |
| 360 | else: |
| 361 | sb.append("|") |
| 362 | sb.append("FLAG_VALUE_0") |
| 363 | if (self.value & FlagsSimple.FLAG_VALUE_1.value) and ((self.value & FlagsSimple.FLAG_VALUE_1.value) == FlagsSimple.FLAG_VALUE_1.value): |
| 364 | if first: |
| 365 | # noinspection PyUnusedLocal |
| 366 | first = False |
| 367 | else: |
| 368 | sb.append("|") |
| 369 | sb.append("FLAG_VALUE_1") |
| 370 | if (self.value & FlagsSimple.FLAG_VALUE_2.value) and ((self.value & FlagsSimple.FLAG_VALUE_2.value) == FlagsSimple.FLAG_VALUE_2.value): |
| 371 | if first: |
| 372 | # noinspection PyUnusedLocal |
| 373 | first = False |
| 374 | else: |
| 375 | sb.append("|") |
| 376 | sb.append("FLAG_VALUE_2") |
| 377 | if (self.value & FlagsSimple.FLAG_VALUE_3.value) and ((self.value & FlagsSimple.FLAG_VALUE_3.value) == FlagsSimple.FLAG_VALUE_3.value): |
| 378 | if first: |
| 379 | # noinspection PyUnusedLocal |
| 380 | first = False |
| 381 | else: |
| 382 | sb.append("|") |
| 383 | sb.append("FLAG_VALUE_3") |
no outgoing calls