| 506 | } |
| 507 | |
| 508 | private static class ClassTreeViewModel implements TreeViewModel<PCClass>, DataView<PCClass> |
| 509 | { |
| 510 | |
| 511 | private static final List<DefaultDataViewColumn> COLUMNS = |
| 512 | Arrays.asList(new DefaultDataViewColumn("in_clInfoHD", String.class), //$NON-NLS-1$ |
| 513 | new DefaultDataViewColumn("in_clInfoType", String.class, true), //$NON-NLS-1$ |
| 514 | new DefaultDataViewColumn("in_descrip", String.class, false), //$NON-NLS-1$ |
| 515 | new DefaultDataViewColumn("in_baseStat", String.class), //$NON-NLS-1$ |
| 516 | new DefaultDataViewColumn("in_spellType", String.class), //$NON-NLS-1$ |
| 517 | new DefaultDataViewColumn("in_source", String.class)); //$NON-NLS-1$ |
| 518 | private static final ListFacade<? extends TreeView<PCClass>> TREE_VIEWS = |
| 519 | new DefaultListFacade<>(Arrays.asList(ClassTreeView.values())); |
| 520 | private final CharacterFacade character; |
| 521 | |
| 522 | public ClassTreeViewModel(CharacterFacade character) |
| 523 | { |
| 524 | this.character = character; |
| 525 | } |
| 526 | |
| 527 | @Override |
| 528 | public String getPrefsKey() |
| 529 | { |
| 530 | return "ClassTree"; //$NON-NLS-1$ |
| 531 | } |
| 532 | |
| 533 | @Override |
| 534 | public ListFacade<? extends TreeView<PCClass>> getTreeViews() |
| 535 | { |
| 536 | return TREE_VIEWS; |
| 537 | } |
| 538 | |
| 539 | @Override |
| 540 | public int getDefaultTreeViewIndex() |
| 541 | { |
| 542 | return 0; |
| 543 | } |
| 544 | |
| 545 | @Override |
| 546 | public DataView<PCClass> getDataView() |
| 547 | { |
| 548 | return this; |
| 549 | } |
| 550 | |
| 551 | @Override |
| 552 | public ListFacade<PCClass> getDataModel() |
| 553 | { |
| 554 | return character.getDataSet().getClasses(); |
| 555 | } |
| 556 | |
| 557 | @Override |
| 558 | public Object getData(PCClass obj, int column) |
| 559 | { |
| 560 | return switch (column) |
| 561 | { |
| 562 | case 0 -> obj.getHD(); |
| 563 | case 1 -> getTypes(obj); |
| 564 | case 2 -> character.getInfoFactory().getDescription(obj); |
| 565 | case 3 -> "None".equals(obj.getBaseStat()) ? "" : obj.getBaseStat(); //$NON-NLS-1$ |