oracle.forms.fd
Class LAF_XP_TextArea
java.lang.Object
java.awt.Component
java.awt.Container
oracle.ewt.lwAWT.LWComponent
oracle.ewt.EwtComponent
oracle.ewt.scrolling.scrollBox.ScrollBox
oracle.forms.ui.VTextArea
oracle.forms.fd.LAF_XP_TextArea
- All Implemented Interfaces:
- java.awt.event.ActionListener, java.awt.event.AdjustmentListener, java.awt.event.FocusListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.HyperlinkListener, oracle.ewt.dnd.Autoscroll, oracle.ewt.help.HelpCapable, oracle.ewt.lwAWT.DoubleBufferer, oracle.ewt.lwAWT.ImmediatePainter, oracle.ewt.lwAWT.KeyProcessor, oracle.ewt.lwAWT.VirtualComponent, oracle.ewt.scrolling.MouseWheelScrolling, oracle.ewt.scrolling.Scrollable, oracle.forms.ui.IView
public class LAF_XP_TextArea
- extends oracle.forms.ui.VTextArea
- implements java.awt.event.FocusListener, javax.swing.event.HyperlinkListener, java.awt.event.ActionListener
A XP like multi-line Text Item
uses the Dispatching Bean from Tom Cleymans
to send back messages to Form
(see DrawLAF.java and DispatchingPJC.java)
- Version:
- 2.1 (902,904,1012)
- Author:
- Francois Degrelle
creation june 2007
- See Also:
- Serialized Form
Nested classes/interfaces inherited from class java.awt.Container |
java.awt.Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
Fields inherited from class oracle.ewt.scrolling.scrollBox.ScrollBox |
DISPLAY_ALWAYS, DISPLAY_AS_NEEDED, DISPLAY_NEVER |
Fields inherited from class oracle.ewt.lwAWT.LWComponent |
DEFAULT_BORDERPAINTER, DEFAULT_COLOR, DEFAULT_FONT, DEFAULT_PAINTER, MNEMONIC_CHAR_NONE, MNEMONIC_INDEX_NONE |
Fields inherited from class java.awt.Component |
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Fields inherited from interface oracle.forms.ui.IView |
DEFAULT_COLOR |
Fields inherited from interface oracle.ewt.scrolling.MouseWheelScrolling |
WHEEL_BLOCK_SCROLL, WHEEL_UNIT_SCROLL |
Fields inherited from interface oracle.ewt.scrolling.Scrollable |
SCROLL_LINEDOWN, SCROLL_LINEUP, SCROLL_PAGEDOWN, SCROLL_PAGEUP, SCROLL_POSITION |
Fields inherited from interface java.awt.image.ImageObserver |
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Method Summary |
void |
actionPerformed(java.awt.event.ActionEvent event)
|
boolean |
bRegexMatch(java.lang.String p_pattern,
java.lang.String p_string)
|
(package private) void |
createKeyListener()
|
(package private) void |
extendBigPanel(int x,
int y,
int w,
int h)
|
(package private) void |
extendPanel(int x,
int y,
int w,
int h)
|
void |
focusGained(java.awt.event.FocusEvent e)
|
void |
focusLost(java.awt.event.FocusEvent e)
|
(package private) DrawLAF |
getLAFBean()
|
java.lang.Object |
getProperty(oracle.forms.properties.ID pId)
|
void |
hyperlinkUpdate(javax.swing.event.HyperlinkEvent event)
|
void |
init(oracle.forms.handler.IHandler handler)
|
void |
log(java.lang.String msg)
Utility function to print out a debug message to the Java Console |
void |
paint(java.awt.Graphics g)
|
private boolean |
readFile()
read a text from a file * |
java.lang.String |
readFromFile()
|
private void |
repaintParent()
|
void |
search()
|
(package private) void |
setEditAttributes(java.lang.String sType,
boolean b)
|
void |
setFileName(java.lang.String p_filename)
|
(package private) void |
setLAFBean(DrawLAF DF)
|
boolean |
setProperty(oracle.forms.properties.ID property,
java.lang.Object value)
|
void |
writeAppendToFile(java.lang.String p_text)
|
private void |
writeFile(int iAction,
boolean bAppend)
Write a text to a file * |
void |
writeToFile(java.lang.String p_text)
|
Methods inherited from class oracle.forms.ui.VTextArea |
add, addAnyEventListener, addFocusListener, addKeyListener, addListener, addMouseListener, addMouseMotionListener, addSelectionListener, addTextListener, destroy, getBackground, getDefaultName, getFill, getForeground, getHandler, remove, removeAll, removeAnyEventListener, removeFocusListener, removeKeyListener, removeListener, removeMouseListener, removeMouseMotionListener, removeSelectionListener, removeTextListener, repaint, requestFocus, setBackground, setEnabled, setFill, setFont, setForeground, setName, setTextWrapper |
Methods inherited from class oracle.ewt.scrolling.scrollBox.ScrollBox |
addHAdjustmentListener, addImpl, addVAdjustmentListener, adjustmentValueChanged, createAccessibleContext, doLayout, getActualReadingDirection, getContent, getContentSize, getHDisplayPolicy, getHLineIncrement, getHPageIncrement, getMouseWheelScrollingComponent, getPaintData, getScrollPosition, getUIClassID, getVDisplayPolicy, getViewPortSize, getVLineIncrement, getVPageIncrement, handleWheelScrolling, isChildClipped, isWheelScrollingEnabled, paintCanvasInterior, remove, removeHAdjustmentListener, removeVAdjustmentListener, setContent, setHDisplayPolicy, setHLineIncrement, setHPageIncrement, setScrollPosition, setScrollPosition, setVDisplayPolicy, setVLineIncrement, setVPageIncrement, setWheelScrollingEnabled, validateTree |
Methods inherited from class oracle.ewt.EwtComponent |
attachHAdjustable, attachVAdjustable, autoscroll, clipCanvasToParents, convertCanvasToOuter, convertOuterToCanvas, detachAdjustable, getAutoscrollInsets, getBorder, getBorderPainter, getCanvasBounds, getCanvasFill, getCanvasGraphics, getCanvasHeight, getCanvasOrigin, getCanvasOriginX, getCanvasOriginY, getCanvasSize, getCanvasWidth, getDocumentSize, getHAdjustable, getHMaximum, getHOffsetOfValue, getHValueOfOffset, getProxyConfigurer, getScrollInsets, getVAdjustable, getVMaximum, getVOffsetOfValue, getVValueOfOffset, handleHScroll, handleVScroll, invalidateCanvas, isHScrollable, isInteriorTransparent, isVScrollable, layout, layoutCanvas, makeCanvasGraphics, paintImmediateCanvas, paintImmediateCanvas, paintInterior, printPage, repaintCanvas, repaintCanvas, reshape, setBorder, setBorderPainter, setCanvasFill, setCanvasOrigin, setCanvasSize, setHScrollInsets, setVScrollInsets, storeCanvasOrigin, validate |
Methods inherited from class oracle.ewt.lwAWT.LWComponent |
accessAccessibleContext, addNotify, addPostKeyListener, addPreKeyListener, clipToParents, contains, convertInnerToOuterSize, convertInteriorToOuter, convertOuterToInterior, disable, enable, eventMatchesMnemonic, eventMatchesMnemonic, freezeRepaints, getAccessibleContext, getActualAlignment, getAlignment, getBaseClassName, getBorderContext, getBorderInsets, getClientProperty, getColorScheme, getDefaultHelpProvider, getDoubleBuffer, getEWTDropTarget, getFocusedComponent, getFont, getGraphics, getHelpBook, getHelpProvider, getHelpTopic, getInnerBounds, getInnerHeight, getInnerOrigin, getInnerSize, getInnerWidth, getInsets, getInteriorAlignmentX, getInteriorAlignmentY, getInvalidateFlags, getLookAndFeel, getMnemonicChar, getMnemonicIndex, getMnemonicString, getName, getPageBounds, getPaintContext, getPaintState, getPrintPaintContext, getReadingDirection, getRepaintFlags, getToolTipValue, getUI, getUIDefaults, hasFocus, hasGlobalFocus, hasMnemonicModifier, hasWindowFocus, hide, imageUpdate, insets, interiorContains, invalidate, invalidateAndRepaintIfNecessary, isActive, isBorderTransparent, isClippedBySibling, isDoubleBufferingEnabled, isFocusTraversable, isLocaleDefaulted, isPaintPropagationRequired, isReadingDirectionDefaulted, isTransparent, paintAll, paintImmediate, paintImmediate, paintImmediateInterior, paintImmediateInterior, paintImmediateUnclipped, paintOverChildren, paramString, pointInInterior, pointIsInChild, postProcessKey, print, printAll, processEvent, processEventImpl, processFocusEvent, processMouseEvent, putClientProperty, redispatchEvent, removeClientProperty, removeNotify, removePostKeyListener, removePreKeyListener, repaint, repaintInterior, repaintInterior, setAlignment, setColorScheme, setDefaultHelpProvider, setDoubleBufferingEnabled, setEWTDropTarget, setHelpBook, setHelpProvider, setHelpTopic, setLocale, setLookAndFeel, setMnemonicChar, setMnemonicIndex, setReadingDirection, setToolTipValue, setToolTipValue, setUI, setVisible, shiftFrozenDamage, showHelp, unfreezeRepaints, update, updateAlignment, updateLocale, updateReadingDirection, updateUI, updateUI, updateUI |
Methods inherited from class java.awt.Container |
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, remove, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle |
Methods inherited from class java.awt.Component |
action, add, addComponentListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFontMetrics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocation, setLocation, setMaximumSize, setMinimumSize, setPreferredSize, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface oracle.forms.ui.IView |
contains |
Methods inherited from interface oracle.ewt.lwAWT.VirtualComponent |
getBounds, getSize |
setProp
public static final oracle.forms.properties.ID setProp
setRegexKeep
public static final oracle.forms.properties.ID setRegexKeep
setRegexModel
public static final oracle.forms.properties.ID setRegexModel
setRegexMessage
public static final oracle.forms.properties.ID setRegexMessage
getRegexString
public static final oracle.forms.properties.ID getRegexString
getRegexResult
public static final oracle.forms.properties.ID getRegexResult
getRegexGroup
public static final oracle.forms.properties.ID getRegexGroup
getRegexPos
public static final oracle.forms.properties.ID getRegexPos
pRegexMsg
public static final oracle.forms.properties.ID pRegexMsg
pSetEvent
public static final oracle.forms.properties.ID pSetEvent
pItemName
public static final oracle.forms.properties.ID pItemName
pSendMsg
public static final oracle.forms.properties.ID pSendMsg
pSendMsgBlocking
public static final oracle.forms.properties.ID pSendMsgBlocking
pMessage
public static final oracle.forms.properties.ID pMessage
pCursorMsg
public static final oracle.forms.properties.ID pCursorMsg
pCursorPos
public static final oracle.forms.properties.ID pCursorPos
pKeyMsg
public static final oracle.forms.properties.ID pKeyMsg
pKeyCode
public static final oracle.forms.properties.ID pKeyCode
pKeyChar
public static final oracle.forms.properties.ID pKeyChar
pKeyModifier
public static final oracle.forms.properties.ID pKeyModifier
pBigUpdated
public static final oracle.forms.properties.ID pBigUpdated
pBigTrgName
public static final oracle.forms.properties.ID pBigTrgName
pSetMouseEvents
public static final oracle.forms.properties.ID pSetMouseEvents
pEventMouseEvent
public static final oracle.forms.properties.ID pEventMouseEvent
pEventMouseMsg
public static final oracle.forms.properties.ID pEventMouseMsg
pSetMaxChar
public static final oracle.forms.properties.ID pSetMaxChar
pSetCurPos
public static final oracle.forms.properties.ID pSetCurPos
pGetCurPos
public static final oracle.forms.properties.ID pGetCurPos
pInsertText
public static final oracle.forms.properties.ID pInsertText
pInsertTextAtPos
public static final oracle.forms.properties.ID pInsertTextAtPos
pSetSelIndex
public static final oracle.forms.properties.ID pSetSelIndex
pGetSelIndex
public static final oracle.forms.properties.ID pGetSelIndex
pGetSelValue
public static final oracle.forms.properties.ID pGetSelValue
setHScrollBar
public static final oracle.forms.properties.ID setHScrollBar
setVScrollBar
public static final oracle.forms.properties.ID setVScrollBar
setWrapStyle
public static final oracle.forms.properties.ID setWrapStyle
setFocusBG
public static final oracle.forms.properties.ID setFocusBG
pSetLog
public static final oracle.forms.properties.ID pSetLog
pSetBigText
public static final oracle.forms.properties.ID pSetBigText
pBigAddText
public static final oracle.forms.properties.ID pBigAddText
pBigShow
public static final oracle.forms.properties.ID pBigShow
pBigClear
public static final oracle.forms.properties.ID pBigClear
pBigGetText
public static final oracle.forms.properties.ID pBigGetText
pBigIsUpdated
public static final oracle.forms.properties.ID pBigIsUpdated
pBigUpdatable
public static final oracle.forms.properties.ID pBigUpdatable
pBigGetLength
public static final oracle.forms.properties.ID pBigGetLength
pBigGetHash
public static final oracle.forms.properties.ID pBigGetHash
pBigLostFocus
public static final oracle.forms.properties.ID pBigLostFocus
pBigTextOpaque
public static final oracle.forms.properties.ID pBigTextOpaque
pBigSearch
public static final oracle.forms.properties.ID pBigSearch
pBigSearchColor
public static final oracle.forms.properties.ID pBigSearchColor
pSetFile
public static final oracle.forms.properties.ID pSetFile
pBigReadFile
public static final oracle.forms.properties.ID pBigReadFile
pBigWriteFile
public static final oracle.forms.properties.ID pBigWriteFile
pBigAppendFile
public static final oracle.forms.properties.ID pBigAppendFile
pBigValidateTrg
public static final oracle.forms.properties.ID pBigValidateTrg
pBigSetBorder
public static final oracle.forms.properties.ID pBigSetBorder
pSetHTMLContent
public static final oracle.forms.properties.ID pSetHTMLContent
pSetHTMLGrants
public static final oracle.forms.properties.ID pSetHTMLGrants
pSetHTMLEdAttrs
public static final oracle.forms.properties.ID pSetHTMLEdAttrs
pGetHTMLContent
public static final oracle.forms.properties.ID pGetHTMLContent
pSetHTMLBorder
public static final oracle.forms.properties.ID pSetHTMLBorder
setCurrent
public static final oracle.forms.properties.ID setCurrent
setGradient
public static final oracle.forms.properties.ID setGradient
setGradientSelColors
public static final oracle.forms.properties.ID setGradientSelColors
setBorder
public static final oracle.forms.properties.ID setBorder
htmlPane
private javax.swing.JEditorPane htmlPane
scrollPane
private javax.swing.JScrollPane scrollPane
initialURL
private java.lang.String initialURL
m_kit
private javax.swing.text.html.HTMLEditorKit m_kit
bHTMLEdit
private boolean bHTMLEdit
bHTMLExtend
private boolean bHTMLExtend
bHTMLCanExtend
private boolean bHTMLCanExtend
rHTMLFrame
private java.awt.Rectangle rHTMLFrame
dBean
private DrawLAF dBean
pattern
private java.util.regex.Pattern pattern
matcher
private java.util.regex.Matcher matcher
sRegexGroup
private java.lang.String sRegexGroup
sRegexModel
private java.lang.String sRegexModel
sRegexMsg
private java.lang.String sRegexMsg
bLog
private boolean bLog
bIsRegex
private boolean bIsRegex
bRegexOk
private boolean bRegexOk
bSendEvents
private boolean bSendEvents
bFocus
private boolean bFocus
bRollover
private boolean bRollover
bFocusBG
private boolean bFocusBG
bHTML
private boolean bHTML
bExtended
private boolean bExtended
iStart
private int iStart
iEnd
private int iEnd
iCaretPos
private int iCaretPos
cdefFG
private java.awt.Color cdefFG
cdefBG
private java.awt.Color cdefBG
sItemName
private java.lang.String sItemName
iKey
private int iKey
iCode
private int iCode
iModifier
private int iModifier
iBorder
private int iBorder
sModifier
private java.lang.String sModifier
cChar
private char cChar
cFocus
private java.awt.Color cFocus
cSelect
private java.awt.Color cSelect
cBorder
private java.awt.Color cBorder
cBak
private java.awt.Color cBak
list_msg
private java.util.List list_msg
ta
protected oracle.ewt.lwAWT.lwText.LWCommonText ta
VTA
private oracle.forms.ui.VTextArea VTA
bMouseEnter
private boolean bMouseEnter
bMouseClick
private boolean bMouseClick
bMouseExit
private boolean bMouseExit
kl
private java.awt.event.KeyListener kl
bBigExtend
private boolean bBigExtend
bBigCanExtend
private boolean bBigCanExtend
bBigText
private boolean bBigText
bBigUpdated
private boolean bBigUpdated
iStartT
private int iStartT
iChunk
private int iChunk
jtpHash
private int jtpHash
iSearchStart
private int iSearchStart
sb
private java.lang.StringBuffer sb
jtp
protected javax.swing.JTextPane jtp
ps
private javax.swing.JScrollPane ps
sFileName
private java.lang.String sFileName
sCurValue
private java.lang.String sCurValue
sValidateTrg
private java.lang.String sValidateTrg
sBigSearch
private java.lang.String sBigSearch
hilit_color
private java.awt.Color hilit_color
hilit
private javax.swing.text.Highlighter hilit
painter
private javax.swing.text.Highlighter.HighlightPainter painter
CANCEL_ACTION
private static java.lang.String CANCEL_ACTION
NEXT_ACTION
private static java.lang.String NEXT_ACTION
m_handler
private oracle.forms.handler.IHandler m_handler
formsMain
private oracle.forms.engine.Main formsMain
ik
private ImageKit ik
jt
private javax.swing.JTextArea jt
undo
final javax.swing.undo.UndoManager undo
mouseListener
java.awt.event.MouseListener mouseListener
LAF_XP_TextArea
public LAF_XP_TextArea()
init
public void init(oracle.forms.handler.IHandler handler)
- Specified by:
init
in interface oracle.forms.ui.IView
- Overrides:
init
in class oracle.forms.ui.VTextArea
setLAFBean
void setLAFBean(DrawLAF DF)
getLAFBean
DrawLAF getLAFBean()
paint
public void paint(java.awt.Graphics g)
- Specified by:
paint
in interface oracle.forms.ui.IView
- Overrides:
paint
in class oracle.ewt.EwtComponent
setProperty
public boolean setProperty(oracle.forms.properties.ID property,
java.lang.Object value)
- Specified by:
setProperty
in interface oracle.forms.ui.IView
- Overrides:
setProperty
in class oracle.forms.ui.VTextArea
getProperty
public java.lang.Object getProperty(oracle.forms.properties.ID pId)
- Specified by:
getProperty
in interface oracle.forms.ui.IView
- Overrides:
getProperty
in class oracle.forms.ui.VTextArea
bRegexMatch
public boolean bRegexMatch(java.lang.String p_pattern,
java.lang.String p_string)
repaintParent
private void repaintParent()
focusGained
public void focusGained(java.awt.event.FocusEvent e)
- Specified by:
focusGained
in interface java.awt.event.FocusListener
focusLost
public void focusLost(java.awt.event.FocusEvent e)
- Specified by:
focusLost
in interface java.awt.event.FocusListener
log
public void log(java.lang.String msg)
- Utility function to print out a debug message to the Java Console
- Parameters:
msg
- string to display, this will be prefixed with the classname of the PJC
createKeyListener
void createKeyListener()
setFileName
public void setFileName(java.lang.String p_filename)
writeToFile
public void writeToFile(java.lang.String p_text)
writeAppendToFile
public void writeAppendToFile(java.lang.String p_text)
readFromFile
public java.lang.String readFromFile()
writeFile
private void writeFile(int iAction,
boolean bAppend)
- Write a text to a file *
readFile
private boolean readFile()
- read a text from a file *
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent event)
- Specified by:
actionPerformed
in interface java.awt.event.ActionListener
hyperlinkUpdate
public void hyperlinkUpdate(javax.swing.event.HyperlinkEvent event)
- Specified by:
hyperlinkUpdate
in interface javax.swing.event.HyperlinkListener
setEditAttributes
void setEditAttributes(java.lang.String sType,
boolean b)
extendPanel
void extendPanel(int x,
int y,
int w,
int h)
extendBigPanel
void extendBigPanel(int x,
int y,
int w,
int h)
search
public void search()