Package boofcv.gui
Class SelectAlgorithmAndInputPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- boofcv.gui.SelectAlgorithmAndInputPanel
-
- All Implemented Interfaces:
VisualizeApp,java.awt.event.ActionListener,java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible
- Direct Known Subclasses:
SelectInputPanel
public abstract class SelectAlgorithmAndInputPanel extends javax.swing.JPanel implements java.awt.event.ActionListener, VisualizeApp
Provides pull a menubar for selecting the input source and which algorithm to use- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringbaseDirectoryprotected java.awt.image.BufferedImageinputImageprotected java.util.List<boofcv.io.PathLabel>inputRefsprotected boofcv.io.MediaManagermediaprotected javax.swing.JCheckBoxoriginalCheck-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description SelectAlgorithmAndInputPanel(int numAlgFamilies)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidactionPerformed(java.awt.event.ActionEvent e)voidaddAlgorithm(int indexFamily, java.lang.String name, java.lang.Object cookie)voidaddToToolbar(javax.swing.JComponent comp)Adds a new component into the toolbar.abstract voidchangeInput(java.lang.String name, int index)A request to change the input image has been made.voiddoRefreshAll()Grabs the currently selected algorithm, passes information to GUI for updating, toggles GUI being active/not.protected <T> TgetAlgorithmCookie(int indexFamily)Returns the cookie associated with the specified algorithm family.voidloadInputData(java.lang.String fileName)Loads a standardized file for input referencesabstract voidrefreshAll(java.lang.Object[] cookies)Provides the current state of all selected algorithms.voidremoveFromToolbar(javax.swing.JComponent comp)abstract voidsetActiveAlgorithm(int indexFamily, java.lang.String name, java.lang.Object cookie)A request has been made to change the processing algorithm.voidsetBaseDirectory(java.lang.String baseDirectory)Sets the directory that relative references are relative toovoidsetInputImage(java.awt.image.BufferedImage image)Specifies an image which contains the original input image.voidsetInputList(java.util.List<boofcv.io.PathLabel> inputRefs)Specifies a list of images to use as input and loads themvoidsetMainGUI(java.awt.Component gui)Used to add the main GUI to this panel.voidsetMediaManager(boofcv.io.MediaManager manager)-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface boofcv.gui.VisualizeApp
getHasProcessedImage, loadConfigurationFile
-
-
-
-
Method Detail
-
loadInputData
public void loadInputData(java.lang.String fileName)
Loads a standardized file for input references- Specified by:
loadInputDatain interfaceVisualizeApp- Parameters:
fileName- path to config file
-
setBaseDirectory
public void setBaseDirectory(java.lang.String baseDirectory)
Sets the directory that relative references are relative too
-
addToToolbar
public void addToToolbar(javax.swing.JComponent comp)
Adds a new component into the toolbar.- Parameters:
comp- The component being added
-
removeFromToolbar
public void removeFromToolbar(javax.swing.JComponent comp)
-
setMainGUI
public void setMainGUI(java.awt.Component gui)
Used to add the main GUI to this panel. Must use this function. Algorithm change events will not be posted until this function has been set.- Parameters:
gui- The main GUI being displayed.
-
setInputImage
public void setInputImage(java.awt.image.BufferedImage image)
Specifies an image which contains the original input image. After this has been called the view input image widget is activated and when selected this image will be displayed instead of the main GUI. This functionality is optional.- Parameters:
image- Original input image.
-
setInputList
public void setInputList(java.util.List<boofcv.io.PathLabel> inputRefs)
Specifies a list of images to use as input and loads them- Parameters:
inputRefs- Name of input and where to get it
-
addAlgorithm
public void addAlgorithm(int indexFamily, java.lang.String name, java.lang.Object cookie)
-
doRefreshAll
public void doRefreshAll()
Grabs the currently selected algorithm, passes information to GUI for updating, toggles GUI being active/not. refreshAll() is called in a new thread.
-
getAlgorithmCookie
protected <T> T getAlgorithmCookie(int indexFamily)
Returns the cookie associated with the specified algorithm family.
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent e)
- Specified by:
actionPerformedin interfacejava.awt.event.ActionListener
-
setMediaManager
public void setMediaManager(boofcv.io.MediaManager manager)
- Specified by:
setMediaManagerin interfaceVisualizeApp
-
refreshAll
public abstract void refreshAll(java.lang.Object[] cookies)
Provides the current state of all selected algorithms.- Parameters:
cookies- state of each selected algorithm.
-
setActiveAlgorithm
public abstract void setActiveAlgorithm(int indexFamily, java.lang.String name, java.lang.Object cookie)A request has been made to change the processing algorithm. NOT called from a GUI thread.- Parameters:
indexFamily-name- Display name of the algorithm.cookie- Reference to user defined data.
-
changeInput
public abstract void changeInput(java.lang.String name, int index)A request to change the input image has been made. The input image's label and its index in the manager are returned.- Parameters:
name- Display name of the image.index- Which image in the list.
-
-