LLFocusMgr Class Reference

#include <llfocusmgr.h>

Collaboration diagram for LLFocusMgr:

Collaboration graph
[legend]
List of all members.

Public Types

typedef void(*) FocusLostCallback (LLUICtrl *)

Public Member Functions

 LLFocusMgr ()
 ~LLFocusMgr ()
void setMouseCapture (LLMouseHandler *new_captor)
LLMouseHandlergetMouseCapture ()
void removeMouseCaptureWithoutCallback (LLMouseHandler *captor)
BOOL childHasMouseCapture (LLView *parent)
void setKeyboardFocus (LLUICtrl *new_focus, FocusLostCallback on_focus_lost, BOOL lock=FALSE)
LLUICtrlgetKeyboardFocus () const
BOOL childHasKeyboardFocus (const LLView *parent) const
void removeKeyboardFocusWithoutCallback (LLView *focus)
FocusLostCallback getFocusCallback ()
F32 getFocusTime () const
F32 getFocusFlashAmt ()
LLColor4 getFocusColor ()
void triggerFocusFlash ()
BOOL getAppHasFocus ()
void setAppHasFocus (BOOL focus)
LLUICtrlgetLastFocusForGroup (LLView *subtree_root)
void clearLastFocusForGroup (LLView *subtree_root)
void setDefaultKeyboardFocus (LLUICtrl *default_focus)
LLUICtrlgetDefaultKeyboardFocus () const
void setTopCtrl (LLUICtrl *new_top)
LLUICtrlgetTopCtrl () const
void removeTopCtrlWithoutCallback (LLUICtrl *top_view)
BOOL childIsTopCtrl (LLView *parent)
void releaseFocusIfNeeded (LLView *top_view)
void lockFocus ()
void unlockFocus ()
BOOL focusLocked ()

Protected Types

typedef std::map< LLViewHandle,
LLViewHandle
focus_history_map_t

Protected Attributes

LLUICtrlmLockedView
FocusLostCallback mKeyboardLockedFocusLostCallback
LLMouseHandlermMouseCaptor
LLUICtrlmKeyboardFocus
LLUICtrlmDefaultKeyboardFocus
FocusLostCallback mKeyboardFocusLostCallback
LLUICtrlmTopCtrl
LLFrameTimer mFocusTimer
F32 mFocusWeight
BOOL mAppHasFocus
focus_history_map_t mFocusHistory

Detailed Description

Definition at line 44 of file llfocusmgr.h.


Member Typedef Documentation

typedef std::map<LLViewHandle, LLViewHandle> LLFocusMgr::focus_history_map_t [protected]

Definition at line 111 of file llfocusmgr.h.

typedef void(*) LLFocusMgr::FocusLostCallback(LLUICtrl *)

Definition at line 47 of file llfocusmgr.h.


Constructor & Destructor Documentation

LLFocusMgr::LLFocusMgr (  ) 

Definition at line 42 of file llfocusmgr.cpp.

LLFocusMgr::~LLFocusMgr (  ) 

Definition at line 61 of file llfocusmgr.cpp.

References mFocusHistory.


Member Function Documentation

BOOL LLFocusMgr::childHasKeyboardFocus ( const LLView parent  )  const

Definition at line 168 of file llfocusmgr.cpp.

References FALSE, LLView::getParent(), mKeyboardFocus, and TRUE.

Referenced by LLFloaterView::bringToFront(), LLViewerWindow::childHasKeyboardFocus(), LLView::childHasKeyboardFocus(), commit_select_component(), LLFolderView::doIdle(), LLBottomPanel::draw(), LLFloaterTexturePicker::draw(), LLScrollableContainerView::draw(), LLRadioGroup::draw(), LLPanel::draw(), LLOverlayBar::draw(), LLModalDialog::draw(), LLFloaterColorPicker::draw(), LLFloater::draw(), LLNotifyBox::drawBackground(), LLView::focusNext(), LLView::focusPrev(), LLPanelVolume::getState(), LLPanelObject::getState(), handle_chat(), LLViewerWindow::handleKey(), LLPanel::handleKey(), LLTabContainerVertical::handleKeyHere(), LLTabContainer::handleKeyHere(), LLPanel::handleKeyHere(), LLFloaterIMPanel::handleKeyHere(), LLFolderView::handleKeyHere(), LLComboBox::handleKeyHere(), LLFloaterColorPicker::handleMouseDown(), LLFolderView::handleUnicodeCharHere(), LLComboBox::handleUnicodeCharHere(), LLUICtrl::hasFocus(), LLFloaterView::highlightFocusedFloater(), LLInventoryView::incrementalFind(), LLModalDialog::onAppFocusLost(), LLFloater::releaseFocus(), releaseFocusIfNeeded(), LLTabContainerCommon::removeTabPanel(), LLFolderView::scrollToShowItem(), LLUICtrl::setFocus(), LLPanel::setFocus(), LLFloater::setFocus(), LLChatBar::setKeyboardFocus(), LLFloaterColorPicker::setMouseDownInHueRegion(), LLFloaterColorPicker::setMouseDownInLumRegion(), LLFloaterColorPicker::setMouseDownInSwatch(), LLDebugVarMessageBox::show(), LLFloaterView::syncFloaterTabOrder(), LLPanelInventory::updateInventory(), and LLModalDialog::~LLModalDialog().

BOOL LLFocusMgr::childHasMouseCapture ( LLView parent  ) 

Definition at line 183 of file llfocusmgr.cpp.

References FALSE, LLMouseHandler::isView(), mMouseCaptor, and TRUE.

Referenced by LLFloaterTexturePicker::draw(), LLModalDialog::draw(), LLFloaterColorPicker::draw(), LLModalDialog::onAppFocusLost(), LLFloater::releaseFocus(), releaseFocusIfNeeded(), LLFolderView::scrollToShowItem(), and LLFloater::setVisible().

BOOL LLFocusMgr::childIsTopCtrl ( LLView parent  ) 

Definition at line 277 of file llfocusmgr.cpp.

References FALSE, mTopCtrl, and TRUE.

Referenced by LLFloater::releaseFocus(), releaseFocusIfNeeded(), and LLFloater::setVisible().

void LLFocusMgr::clearLastFocusForGroup ( LLView subtree_root  ) 

Definition at line 380 of file llfocusmgr.cpp.

References mFocusHistory, and LLView::mViewHandle.

Referenced by LLFloater::close().

BOOL LLFocusMgr::focusLocked (  )  [inline]

Definition at line 89 of file llfocusmgr.h.

References mLockedView, and NULL.

Referenced by main_loop(), and process_keystrokes_async().

BOOL LLFocusMgr::getAppHasFocus (  )  [inline]

Definition at line 68 of file llfocusmgr.h.

References mAppHasFocus.

Referenced by LLFloaterLagMeter::determineClient(), display(), LLButton::draw(), main_loop(), and update_statistics().

LLUICtrl* LLFocusMgr::getDefaultKeyboardFocus (  )  const [inline]

Definition at line 76 of file llfocusmgr.h.

References mDefaultKeyboardFocus.

FocusLostCallback LLFocusMgr::getFocusCallback (  )  [inline]

Definition at line 63 of file llfocusmgr.h.

References mKeyboardFocusLostCallback.

Referenced by handle_grab_texture(), open_offer(), and LLNewAgentInventoryResponder::uploadComplete().

LLColor4 LLFocusMgr::getFocusColor (  ) 

Definition at line 334 of file llfocusmgr.cpp.

References getFocusFlashAmt(), lerp(), mAppHasFocus, LLColor4::mV, LLUI::sColorsGroup, VALPHA, and LLColor4::white.

Referenced by LLSlider::draw(), LLScrollbar::draw(), LLButton::draw(), LLViewBorder::drawOnePixelLines(), and LLViewBorder::drawTwoPixelLines().

F32 LLFocusMgr::getFocusFlashAmt (  ) 

Definition at line 329 of file llfocusmgr.cpp.

References clamp_rescale(), f, FOCUS_FADE_TIME, getFocusTime(), and mFocusWeight.

Referenced by LLSlider::draw(), LLButton::draw(), LLViewBorder::drawOnePixelLines(), and getFocusColor().

F32 LLFocusMgr::getFocusTime (  )  const [inline]

Definition at line 64 of file llfocusmgr.h.

References LLFrameTimer::getElapsedTimeF32(), and mFocusTimer.

Referenced by getFocusFlashAmt().

LLUICtrl* LLFocusMgr::getKeyboardFocus (  )  const [inline]

Definition at line 60 of file llfocusmgr.h.

References mKeyboardFocus.

Referenced by LLViewerWindow::changeDisplaySettings(), LLFloater::closeFocusedFloater(), LLView::draw(), LLTextEditor::draw(), LLScrollListCtrl::draw(), LLScrollbar::draw(), LLPanel::draw(), LLLineEditor::draw(), LLFolderViewItem::draw(), LLPanelEditWearable::draw(), LLFloater::draw(), LLTextEditor::drawBackground(), LLTextEditor::drawCursor(), LLViewerWindow::getKeyboardFocus(), handle_dump_focus(), handle_grab_texture(), LLViewerWindow::handleKey(), LLPanel::handleKey(), LLTextEditor::handleKeyHere(), LLPanel::handleKeyHere(), LLLineEditor::handleKeyHere(), LLLineEditor::handleMouseDown(), LLViewerWindow::handlePerFrameHover(), LLViewerWindow::handleUnicodeChar(), LLTextEditor::handleUnicodeCharHere(), LLLineEditor::handleUnicodeCharHere(), LLViewerWindow::hasKeyboardFocus(), LLFloaterPreference::onBtnApply(), LLFloaterPreference::onBtnCancel(), LLFloaterPreference::onBtnOK(), open_offer(), LLPanelPermissions::refresh(), LLVoiceHotkeySelectDialog::setFocus(), LLPanel::setFocus(), LLPanelLogin::show(), LLNewAgentInventoryResponder::uploadComplete(), and LLView::~LLView().

LLUICtrl * LLFocusMgr::getLastFocusForGroup ( LLView subtree_root  ) 

Definition at line 366 of file llfocusmgr.cpp.

References LLView::getViewByHandle(), mFocusHistory, LLView::mViewHandle, and NULL.

Referenced by LLFloater::setFocus().

LLMouseHandler* LLFocusMgr::getMouseCapture (  )  [inline]

Definition at line 54 of file llfocusmgr.h.

References mMouseCaptor.

Referenced by LLFolderView::doIdle(), LLScrollbar::draw(), LLViewerWindow::getMouseCaptor(), LLViewerWindow::handleDoubleClick(), LLButton::handleHover(), LLViewerWindow::handleMouseDown(), LLViewerWindow::handleMouseLeave(), LLViewerWindow::handleMouseMove(), LLViewerWindow::handleMouseUp(), LLViewerWindow::handlePerFrameHover(), LLViewerWindow::handleRightMouseDown(), LLViewerWindow::handleRightMouseUp(), LLViewerWindow::handleScrollWheel(), LLView::hasMouseCapture(), and LLTool::hasMouseCapture().

LLUICtrl* LLFocusMgr::getTopCtrl (  )  const [inline]

Definition at line 81 of file llfocusmgr.h.

References mTopCtrl.

Referenced by LLViewerWindow::draw(), LLModalDialog::draw(), LLViewerWindow::getTopCtrl(), LLViewerWindow::handleDoubleClick(), LLViewerWindow::handleKey(), LLViewerWindow::handleMouseDown(), LLViewerWindow::handleMouseUp(), LLViewerWindow::handlePerFrameHover(), LLViewerWindow::handleRightMouseDown(), LLViewerWindow::handleRightMouseUp(), LLViewerWindow::handleScrollWheel(), LLViewerWindow::handleUnicodeChar(), LLViewerWindow::hasTopCtrl(), LLComboBox::hideList(), LLView::setVisible(), and LLUICtrl::~LLUICtrl().

void LLFocusMgr::lockFocus (  ) 

Definition at line 317 of file llfocusmgr.cpp.

References mKeyboardFocus, mKeyboardFocusLostCallback, mKeyboardLockedFocusLostCallback, and mLockedView.

Referenced by setKeyboardFocus().

void LLFocusMgr::releaseFocusIfNeeded ( LLView top_view  ) 

Definition at line 66 of file llfocusmgr.cpp.

References childHasKeyboardFocus(), childHasMouseCapture(), childIsTopCtrl(), mKeyboardLockedFocusLostCallback, mLockedView, NULL, setKeyboardFocus(), setMouseCapture(), and setTopCtrl().

Referenced by LLViewerWindow::handlePerFrameHover(), LLModalDialog::setVisible(), LLModalDialog::stopModal(), LLFloaterAvatarPicker::~LLFloaterAvatarPicker(), LLFloaterNameDesc::~LLFloaterNameDesc(), LLFolderView::~LLFolderView(), LLFolderViewFolder::~LLFolderViewFolder(), LLLineEditor::~LLLineEditor(), LLPreview::~LLPreview(), LLProgressView::~LLProgressView(), LLTextEditor::~LLTextEditor(), LLUICtrl::~LLUICtrl(), and LLUploadDialog::~LLUploadDialog().

void LLFocusMgr::removeKeyboardFocusWithoutCallback ( LLView focus  ) 

Definition at line 200 of file llfocusmgr.cpp.

References mKeyboardFocus, mKeyboardFocusLostCallback, mKeyboardLockedFocusLostCallback, mLockedView, and NULL.

Referenced by LLVoiceHotkeySelectDialog::setFocus(), and LLView::~LLView().

void LLFocusMgr::removeMouseCaptureWithoutCallback ( LLMouseHandler captor  ) 

Definition at line 261 of file llfocusmgr.cpp.

References mMouseCaptor, and NULL.

Referenced by LLTool::~LLTool(), and LLView::~LLView().

void LLFocusMgr::removeTopCtrlWithoutCallback ( LLUICtrl top_view  ) 

Definition at line 306 of file llfocusmgr.cpp.

References mTopCtrl, and NULL.

Referenced by LLProgressView::draw(), and LLUICtrl::~LLUICtrl().

void LLFocusMgr::setAppHasFocus ( BOOL  focus  ) 

Definition at line 351 of file llfocusmgr.cpp.

References FALSE, LLUICtrl::hasFocus(), mAppHasFocus, mTopCtrl, LLUICtrl::setFocus(), and triggerFocusFlash().

Referenced by LLViewerWindow::handleFocus(), and LLViewerWindow::handleFocusLost().

void LLFocusMgr::setDefaultKeyboardFocus ( LLUICtrl default_focus  ) 

Definition at line 162 of file llfocusmgr.cpp.

References mDefaultKeyboardFocus.

Referenced by LLPanelLogin::close(), LLPanelLogin::LLPanelLogin(), and LLPanelLogin::show().

void LLFocusMgr::setKeyboardFocus ( LLUICtrl new_focus,
FocusLostCallback  on_focus_lost,
BOOL  lock = FALSE 
)

Definition at line 94 of file llfocusmgr.cpp.

References LLView::getName(), LLView::getParent(), LLView::hasAncestor(), LLView::isFocusRoot(), lockFocus(), mDefaultKeyboardFocus, mFocusHistory, mFocusTimer, mFocusWeight, mKeyboardFocus, mKeyboardFocusLostCallback, mLockedView, LLView::mViewHandle, NULL, LLFrameTimer::reset(), LLViewHandle::sDeadHandle, LLUICtrl::setFocus(), and TRUE.

Referenced by LLViewerWindow::changeDisplaySettings(), commit_select_component(), LLAgent::endAnimationUpdateUI(), LLPanelVolume::getState(), LLPanelObject::getState(), handle_grab_texture(), LLAttachObject::handleEvent(), LLPanel::handleKeyHere(), LLFloaterIMPanel::handleKeyHere(), LLViewerWindow::handleMouseDown(), LLTabContainerVertical::handleMouseDown(), LLTabContainer::handleMouseDown(), LLViewerWindow::handleRightMouseDown(), idle_startup(), LLModalDialog::onAppFocusLost(), LLPanelFace::onClickApply(), LLPanelLandMedia::onClickStartMedia(), LLPanelGroupVoting::impl::onClickSubmitProposal(), LLComboBox::onItemSelected(), open_offer(), LLObjectBridge::performAction(), LLFloater::releaseFocus(), releaseFocusIfNeeded(), LLUICtrl::setFocus(), LLPanel::setFocus(), LLViewerWindow::setKeyboardFocus(), and LLNewAgentInventoryResponder::uploadComplete().

void LLFocusMgr::setMouseCapture ( LLMouseHandler new_captor  ) 

Definition at line 221 of file llfocusmgr.cpp.

References LLMouseHandler::getName(), mMouseCaptor, and LLMouseHandler::onMouseCaptureLost().

Referenced by LLModalDialog::draw(), LLViewerWindow::handleFocusLost(), LLPieMenu::handleHover(), LLWorldMapView::handleMouseDown(), LLViewerTextEditor::handleMouseDown(), LLTextEditor::handleMouseDown(), LLTextBox::handleMouseDown(), LLTabContainerVertical::handleMouseDown(), LLTabContainer::handleMouseDown(), LLSlider::handleMouseDown(), LLScrollListCtrl::handleMouseDown(), LLScrollbar::handleMouseDown(), LLResizeHandle::handleMouseDown(), LLResizeBar::handleMouseDown(), LLPreview::handleMouseDown(), LLLineEditor::handleMouseDown(), LLDragHandle::handleMouseDown(), LLButton::handleMouseDown(), LLWorldMapView::handleMouseUp(), LLViewerTextEditor::handleMouseUp(), LLTextEditor::handleMouseUp(), LLTextBox::handleMouseUp(), LLTabContainerVertical::handleMouseUp(), LLTabContainer::handleMouseUp(), LLSlider::handleMouseUp(), LLScrollListCtrl::handleMouseUp(), LLScrollbar::handleMouseUp(), LLResizeHandle::handleMouseUp(), LLResizeBar::handleMouseUp(), LLPreview::handleMouseUp(), LLLineEditor::handleMouseUp(), LLDragHandle::handleMouseUp(), LLButton::handleMouseUp(), LLPieMenu::handleRightMouseDown(), LLPieMenu::handleRightMouseUp(), LLPieMenu::hide(), LLModalDialog::onAppFocusGained(), LLModalDialog::onAppFocusLost(), LLScrollListCtrl::onFocusLost(), LLFloater::releaseFocus(), releaseFocusIfNeeded(), LLViewerWindow::setMouseCapture(), LLModalDialog::setVisible(), LLFloater::setVisible(), LLPieMenu::show(), LLComboBox::showList(), LLModalDialog::startModal(), and LLButton::~LLButton().

void LLFocusMgr::setTopCtrl ( LLUICtrl new_top  ) 

Definition at line 294 of file llfocusmgr.cpp.

References LLView::getName(), and mTopCtrl.

Referenced by LLModalDialog::draw(), LLComboBox::hideList(), LLModalDialog::onAppFocusGained(), LLFloater::releaseFocus(), releaseFocusIfNeeded(), LLViewerWindow::setTopCtrl(), LLView::setVisible(), LLProgressView::setVisible(), LLModalDialog::setVisible(), LLFloater::setVisible(), LLComboBox::showList(), and LLModalDialog::startModal().

void LLFocusMgr::triggerFocusFlash (  ) 

Definition at line 345 of file llfocusmgr.cpp.

References mFocusTimer, mFocusWeight, and LLFrameTimer::reset().

Referenced by LLNotifyBox::close(), LLView::focusFirstItem(), LLUICtrl::focusFirstItem(), LLView::focusLastItem(), LLView::focusNext(), LLView::focusPrev(), LLPanelGroupRolesSubTab::handleCreateRole(), LLNotifyBox::moveToBack(), setAppHasFocus(), and LLFloaterWorldMap::show().

void LLFocusMgr::unlockFocus (  ) 

Definition at line 323 of file llfocusmgr.cpp.

References mKeyboardLockedFocusLostCallback, mLockedView, and NULL.

Referenced by LLModalDialog::stopModal(), and LLModalDialog::~LLModalDialog().


Member Data Documentation

BOOL LLFocusMgr::mAppHasFocus [protected]

Definition at line 109 of file llfocusmgr.h.

Referenced by getAppHasFocus(), getFocusColor(), and setAppHasFocus().

LLUICtrl* LLFocusMgr::mDefaultKeyboardFocus [protected]

Definition at line 100 of file llfocusmgr.h.

Referenced by getDefaultKeyboardFocus(), setDefaultKeyboardFocus(), and setKeyboardFocus().

focus_history_map_t LLFocusMgr::mFocusHistory [protected]

Definition at line 112 of file llfocusmgr.h.

Referenced by clearLastFocusForGroup(), getLastFocusForGroup(), setKeyboardFocus(), and ~LLFocusMgr().

LLFrameTimer LLFocusMgr::mFocusTimer [protected]

Definition at line 106 of file llfocusmgr.h.

Referenced by getFocusTime(), setKeyboardFocus(), and triggerFocusFlash().

F32 LLFocusMgr::mFocusWeight [protected]

Definition at line 107 of file llfocusmgr.h.

Referenced by getFocusFlashAmt(), setKeyboardFocus(), and triggerFocusFlash().

LLUICtrl* LLFocusMgr::mKeyboardFocus [protected]

Definition at line 99 of file llfocusmgr.h.

Referenced by childHasKeyboardFocus(), getKeyboardFocus(), lockFocus(), removeKeyboardFocusWithoutCallback(), and setKeyboardFocus().

FocusLostCallback LLFocusMgr::mKeyboardFocusLostCallback [protected]

Definition at line 101 of file llfocusmgr.h.

Referenced by getFocusCallback(), lockFocus(), removeKeyboardFocusWithoutCallback(), and setKeyboardFocus().

FocusLostCallback LLFocusMgr::mKeyboardLockedFocusLostCallback [protected]

Definition at line 93 of file llfocusmgr.h.

Referenced by lockFocus(), releaseFocusIfNeeded(), removeKeyboardFocusWithoutCallback(), and unlockFocus().

LLUICtrl* LLFocusMgr::mLockedView [protected]

Definition at line 92 of file llfocusmgr.h.

Referenced by focusLocked(), lockFocus(), releaseFocusIfNeeded(), removeKeyboardFocusWithoutCallback(), setKeyboardFocus(), and unlockFocus().

LLMouseHandler* LLFocusMgr::mMouseCaptor [protected]

Definition at line 96 of file llfocusmgr.h.

Referenced by childHasMouseCapture(), getMouseCapture(), removeMouseCaptureWithoutCallback(), and setMouseCapture().

LLUICtrl* LLFocusMgr::mTopCtrl [protected]

Definition at line 104 of file llfocusmgr.h.

Referenced by childIsTopCtrl(), getTopCtrl(), removeTopCtrlWithoutCallback(), setAppHasFocus(), and setTopCtrl().


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:11:22 2010 for Second Life Viewer by  doxygen 1.4.7