Verified Owner
Top Inners Fields Constructors Methods
org.jabref.gui.groups

public Class GroupTreeView

extends BorderPane
Class Inheritance
Imports
java.io.File, java.lang.reflect.InvocationTargetException, .Method, java.nio.file.Path, java.text.DecimalFormat, java.time.Duration, java.util.ArrayList, .LinkedList, .List, .Optional, java.util.stream.Collectors, javafx.application.Platform, javafx.beans.binding.Bindings, javafx.beans.property.ObjectProperty, javafx.beans.value.ObservableBooleanValue, javafx.css.PseudoClass, javafx.geometry.Orientation, javafx.scene.Node, javafx.scene.control.Button, .ContextMenu, .Control, .Menu, .MenuItem, .ScrollBar, .SelectionMode, .SeparatorMenuItem, .TextField, .Tooltip, .TreeItem, .TreeTableCell, .TreeTableColumn, .TreeTableRow, .TreeTableView, javafx.scene.input.ClipboardContent, .DragEvent, .Dragboard, .MouseButton, .MouseEvent, .TransferMode, javafx.scene.layout.BorderPane, .HBox, .Priority, .StackPane, javafx.scene.text.Text, org.jabref.gui.DialogService, .DragAndDropDataFormats, .StateManager, org.jabref.gui.actions.ActionFactory, .SimpleCommand, .StandardActions, org.jabref.gui.externalfiles.ImportHandler, org.jabref.gui.icon.IconTheme, org.jabref.gui.keyboard.KeyBinding, .KeyBindingRepository, org.jabref.gui.preferences.GuiPreferences, org.jabref.gui.search.SearchTextField, org.jabref.gui.util.BindingsHelper, .ControlHelper, .CustomLocalDragboard, .RecursiveTreeItem, .ViewModelTreeTableCellFactory, .ViewModelTreeTableRowFactory, org.jabref.logic.ai.AiService, org.jabref.logic.l10n.Localization, org.jabref.logic.util.TaskExecutor, org.jabref.model.database.BibDatabaseContext, org.jabref.model.entry.BibEntry, .BibEntryTypesManager, org.jabref.model.util.FileUpdateMonitor, com.tobiasdiez.easybind.EasyBind, org.controlsfx.control.textfield.CustomTextField, .TextFields, org.reactfx.util.FxTimer, .Timer, org.slf4j.Logger, .LoggerFactory

Nested and Inner Type Summary

Modifier and TypeClass and Description
private class
private static class

Field Summary

Modifier and TypeField and Description
private static final double
private TreeTableColumn<GroupNodeViewModel, GroupNodeViewModel>
private final AiService
private double
private final DialogService
private GroupTreeView.DragExpansionHandler
private final BibEntryTypesManager
private static final double
private TreeTableColumn<GroupNodeViewModel, GroupNodeViewModel>
private final FileUpdateMonitor
private TreeTableView<GroupNodeViewModel>
private final KeyBindingRepository
private CustomLocalDragboard
private static final Logger
private double
private TreeTableColumn<GroupNodeViewModel, GroupNodeViewModel>
private static final double
private TreeTableColumn<GroupNodeViewModel, GroupNodeViewModel>
private final GuiPreferences
private static final PseudoClass
private static final PseudoClass
private static final PseudoClass
private static final PseudoClass
private double
private static final double
private Timer
private double
private CustomTextField
private final StateManager
private final TaskExecutor
private double
private GroupTreeViewModel

Constructor Summary

AccessConstructor and Description
public
GroupTreeView(StateManager stateManager, BibEntryTypesManager entryTypesManager, GuiPreferences preferences, DialogService dialogService, AiService aiService, FileUpdateMonitor fileUpdateMonitor, TaskExecutor taskExecutor)

Note

This panel is deliberately not created in fxml, since parsing equivalent fxml takes about 500 msecs

Method Summary

Modifier and TypeMethod and Description
private void
private ContextMenu
private void
private StackPane
private StackPane
private String
private Optional<TreeItem<GroupNodeViewModel>>
private Optional<TreeItem<GroupNodeViewModel>>
private Optional<ScrollBar>
private ObservableBooleanValue
groupsDisabledProperty()

Creates an observable boolean value that is true if no database is open

private void
private void
private void
private void
private void
private void
public void
requestFocusGroupTree()

Focus on GroupTree

private void
private void
selectNode(GroupNodeViewModel value, boolean expandParents)

private void
private void
private void
Inherited from javafx.scene.layout.BorderPane:
bottomPropertycenterPropertyclearConstraintscomputeMinHeightcomputeMinWidthcomputePrefHeightcomputePrefWidthgetAlignmentgetBottomgetCentergetContentBiasgetLeftgetMargingetRightgetToplayoutChildrenleftPropertyrightPropertysetAlignmentsetBottomsetCentersetLeftsetMarginsetRightsetToptopProperty

Field Detail

ADD_SUBGROUP_COL_WIDTHback to summary
private static final double ADD_SUBGROUP_COL_WIDTH
addSubgroupColumnback to summary
private TreeTableColumn<GroupNodeViewModel, GroupNodeViewModel> addSubgroupColumn
aiServiceback to summary
private final AiService aiService
baseFactorback to summary
private double baseFactor
dialogServiceback to summary
private final DialogService dialogService
dragExpansionHandlerback to summary
private GroupTreeView.DragExpansionHandler dragExpansionHandler
entryTypesManagerback to summary
private final BibEntryTypesManager entryTypesManager
EXPANSION_COL_WIDTHback to summary
private static final double EXPANSION_COL_WIDTH
expansionNodeColumnback to summary
private TreeTableColumn<GroupNodeViewModel, GroupNodeViewModel> expansionNodeColumn
fileUpdateMonitorback to summary
private final FileUpdateMonitor fileUpdateMonitor
groupTreeback to summary
private TreeTableView<GroupNodeViewModel> groupTree
keyBindingRepositoryback to summary
private final KeyBindingRepository keyBindingRepository
localDragboardback to summary
private CustomLocalDragboard localDragboard
LOGGERback to summary
private static final Logger LOGGER
lowerBorderback to summary
private double lowerBorder
mainColumnback to summary
private TreeTableColumn<GroupNodeViewModel, GroupNodeViewModel> mainColumn
NUMBER_COL_WIDTHback to summary
private static final double NUMBER_COL_WIDTH
numberColumnback to summary
private TreeTableColumn<GroupNodeViewModel, GroupNodeViewModel> numberColumn
preferencesback to summary
private final GuiPreferences preferences
PSEUDOCLASS_ALLSELECTEDback to summary
private static final PseudoClass PSEUDOCLASS_ALLSELECTED
PSEUDOCLASS_ANYSELECTEDback to summary
private static final PseudoClass PSEUDOCLASS_ANYSELECTED
PSEUDOCLASS_ROOTELEMENTback to summary
private static final PseudoClass PSEUDOCLASS_ROOTELEMENT
PSEUDOCLASS_SUBELEMENTback to summary
private static final PseudoClass PSEUDOCLASS_SUBELEMENT
scrollableAreaHeightback to summary
private double scrollableAreaHeight
SCROLLBAR_WIDTHback to summary
private static final double SCROLLBAR_WIDTH
scrollTimerback to summary
private Timer scrollTimer
scrollVelocityback to summary
private double scrollVelocity
searchFieldback to summary
private CustomTextField searchField
stateManagerback to summary
private final StateManager stateManager
taskExecutorback to summary
private final TaskExecutor taskExecutor
upperBorderback to summary
private double upperBorder
viewModelback to summary
private GroupTreeViewModel viewModel

Constructor Detail

GroupTreeViewback to summary
public GroupTreeView(StateManager stateManager, BibEntryTypesManager entryTypesManager, GuiPreferences preferences, DialogService dialogService, AiService aiService, FileUpdateMonitor fileUpdateMonitor, TaskExecutor taskExecutor)

Note

This panel is deliberately not created in fxml, since parsing equivalent fxml takes about 500 msecs

Method Detail

addNewGroupback to summary
private void addNewGroup()
createContextMenuForGroupback to summary
private ContextMenu createContextMenuForGroup(GroupNodeViewModel group)
createNodesback to summary
private void createNodes()
createNumberCellback to summary
private StackPane createNumberCell(GroupNodeViewModel group)
getArrowCellback to summary
private StackPane getArrowCell(GroupNodeViewModel viewModel)
getFormattedNumberback to summary
private String getFormattedNumber(int hits)
getTreeItemByValueback to summary
private Optional<TreeItem<GroupNodeViewModel>> getTreeItemByValue(GroupNodeViewModel value)
getTreeItemByValueback to summary
private Optional<TreeItem<GroupNodeViewModel>> getTreeItemByValue(TreeItem<GroupNodeViewModel> root, GroupNodeViewModel value)
getVerticalScrollbarback to summary
private Optional<ScrollBar> getVerticalScrollbar()
groupsDisabledPropertyback to summary
private ObservableBooleanValue groupsDisabledProperty()

Creates an observable boolean value that is true if no database is open

handleOnDragDetectedback to summary
private void handleOnDragDetected(TreeTableRow<GroupNodeViewModel> row, GroupNodeViewModel groupViewModel, MouseEvent event)
handleOnDragDroppedback to summary
private void handleOnDragDropped(TreeTableRow<GroupNodeViewModel> row, GroupNodeViewModel originalItem, DragEvent event)
handleOnDragExitedback to summary
private void handleOnDragExited(TreeTableRow<GroupNodeViewModel> row, GroupNodeViewModel fieldViewModel, DragEvent dragEvent)
handleOnDragOverback to summary
private void handleOnDragOver(TreeTableRow<GroupNodeViewModel> row, GroupNodeViewModel originalItem, DragEvent event)
initializeback to summary
private void initialize()
initScrollingback to summary
private void initScrolling()
requestFocusGroupTreeback to summary
public void requestFocusGroupTree()

Focus on GroupTree

selectNodeback to summary
private void selectNode(GroupNodeViewModel value)
selectNodeback to summary
private void selectNode(GroupNodeViewModel value, boolean expandParents)
setupClearButtonFieldback to summary
private void setupClearButtonField(CustomTextField customTextField)
setupDragScrollingback to summary
private void setupDragScrolling()
updateSelectionback to summary
private void updateSelection(List<TreeItem<GroupNodeViewModel>> newSelectedGroups)
org.jabref.gui.groups back to summary

private Class GroupTreeView.ContextAction

extends SimpleCommand
Class Inheritance

Field Summary

Modifier and TypeField and Description
private final StandardActions
private final GroupNodeViewModel
Inherited from org.jabref.gui.actions.SimpleCommand:
statusMessage

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
Inherited from org.jabref.gui.actions.SimpleCommand:
getProgressprogressPropertysetExecutablestatusMessageProperty

Field Detail

commandback to summary
private final StandardActions command
groupback to summary
private final GroupNodeViewModel group

Constructor Detail

ContextActionback to summary
public ContextAction(StandardActions command, GroupNodeViewModel group)

Method Detail

executeback to summary
public void execute()
Annotations
@Override
org.jabref.gui.groups back to summary

private Class GroupTreeView.DragExpansionHandler

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
private static final long
private TreeItem<GroupNodeViewModel>
private long

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

DRAG_TIME_BEFORE_EXPANDING_MSback to summary
private static final long DRAG_TIME_BEFORE_EXPANDING_MS
draggedItemback to summary
private TreeItem<GroupNodeViewModel> draggedItem
dragStartedback to summary
private long dragStarted

Constructor Detail

DragExpansionHandlerback to summary
private DragExpansionHandler()

Method Detail

expandGroupback to summary
public void expandGroup(TreeItem<GroupNodeViewModel> treeItem)