Exemplo n.º 1
0
bool EventListenerMap::add(const AtomicString& eventType, PassRefPtr<EventListener> listener, bool useCapture)
{
    ASSERT(!m_activeIteratorCount);

    if (m_singleEventListenerVector && m_singleEventListenerType != eventType) {
        // We already have a single (first) listener vector, and this event is not
        // of that type, so create the hash map and move the first listener vector there.
        ASSERT(!m_hashMap);
        m_hashMap = adoptPtr(new EventListenerHashMap);
        m_hashMap->add(m_singleEventListenerType, m_singleEventListenerVector.leakPtr());
        m_singleEventListenerType = nullAtom;
    }

    if (m_hashMap) {
        pair<EventListenerHashMap::iterator, bool> result = m_hashMap->add(eventType, 0);
        if (result.second)
            result.first->second = new EventListenerVector;

        return addListenerToVector(result.first->second, listener, useCapture);
    }

    if (!m_singleEventListenerVector) {
        m_singleEventListenerType = eventType;
        m_singleEventListenerVector = adoptPtr(new EventListenerVector);
    }

    ASSERT(m_singleEventListenerType == eventType);
    return addListenerToVector(m_singleEventListenerVector.get(), listener, useCapture);
}
Exemplo n.º 2
0
bool EventListenerMap::add(const AtomicString& eventType, PassRefPtr<EventListener> listener, bool useCapture)
{
    assertNoActiveIterators();

    for (unsigned i = 0; i < m_entries.size(); ++i) {
        if (m_entries[i].first == eventType)
            return addListenerToVector(m_entries[i].second.get(), listener, useCapture);
    }

    m_entries.append(std::make_pair(eventType, std::make_unique<EventListenerVector>()));
    return addListenerToVector(m_entries.last().second.get(), listener, useCapture);
}
Exemplo n.º 3
0
bool EventListenerMap::add(const AtomicString& eventType,
                           EventListener* listener,
                           const AddEventListenerOptionsResolved& options,
                           RegisteredEventListener* registeredListener) {
  checkNoActiveIterators();

  for (const auto& entry : m_entries) {
    if (entry.first == eventType)
      return addListenerToVector(entry.second.get(), listener, options,
                                 registeredListener);
  }

  m_entries.append(std::make_pair(eventType, new EventListenerVector));
  return addListenerToVector(m_entries.back().second.get(), listener, options,
                             registeredListener);
}
Exemplo n.º 4
0
	/**
	 * Add an options dialog event listener.
	 * @param listener The listener that will receive options dialog events.
	 */
	void OptionsBox::addOptionsBoxListener(OptionsBoxListener* listener)
	{
		addListenerToVector(mListeners, listener);
	}
Exemplo n.º 5
0
 /**
  * Add an navigation bar event listener.
  * @param listener The listener that will receive navigation bar events.
  */
 void NavigationBar::addNavigationBarListener(NavigationBarListener* listener)
 {
     addListenerToVector(mNavigationBarListeners, listener);
 }
Exemplo n.º 6
0
	/**
	 * Add a map pin event listener.
	 * @param listener The listener that will receive map pin events.
	 */
	void MapPin::addMapPinListener(MapPinListener* listener)
	{
		addListenerToVector(mMapPinListeners, listener);
	}
Exemplo n.º 7
0
    /**
     * Add a radio button event listener.
     * @param listener The listener that will receive radio button events.
     */
    void RadioButton::addRadioButtonListener(RadioButtonListener* listener)
    {
		addListenerToVector(mRadioButtonListeners, listener);
    }
Exemplo n.º 8
0
 /**
  * Add an stack screen event listener.
  * @param listener The listener that will receive stack screen events.
  */
 void StackScreen::addStackScreenListener(StackScreenListener* listener)
 {
     addListenerToVector(
         mStackScreenListeners,
         listener);
 }
Exemplo n.º 9
0
 /**
  * Add an time picker event listener.
  * @param listener The listener that will receive time picker events.
  */
 void TimePicker::addTimePickerListener(TimePickerListener* listener)
 {
     addListenerToVector(mTimePickerListeners, listener);
 }
Exemplo n.º 10
0
/**
 * Add a rating bar event listener.
 * @param listener The listener that will receive rating bar events.
 */
void RatingBar::addRatingBarListener(RatingBarListener* listener)
{
    addListenerToVector(mRatingBarListeners, listener);
}
Exemplo n.º 11
0
 /**
  * Add an date picker event listener.
  * @param listener The listener that will receive date picker events.
  */
 void DatePicker::addDatePickerListener(DatePickerListener* listener)
 {
     addListenerToVector(mDatePickerListeners, listener);
 }
Exemplo n.º 12
0
	void ListView::addListViewListener(ListViewListener* listener)
	{
		addListenerToVector(mListViewListeners, listener);
	}
Exemplo n.º 13
0
 /**
  * Add an slider event listener.
  * @param listener The listener that will receive slider events.
  */
 void Slider::addSliderListener(SliderListener* listener)
 {
     addListenerToVector(mSliderListeners, listener);
 }
Exemplo n.º 14
0
 /**
  * Add an tab screen event listener.
  * @param listener The listener that will receive tab screen events.
  */
 void TabScreen::addTabScreenListener(TabScreenListener* listener)
 {
     addListenerToVector(
         mTabScreenListeners,
         listener);
 }
Exemplo n.º 15
0
	/**
	 * Add an edit box event listener.
	 * @param listener The listener that will receive edit box events.
	 */
	void EditBox::addEditBoxListener(EditBoxListener* listener)
	{
		addListenerToVector(mEditBoxListeners, listener);
	}
Exemplo n.º 16
0
    /**
     * Add an web view event listener.
     * @param listener The listener that will receive web view events.
     */
    void WebView::addWebViewListener(WebViewListener* listener)
    {
		addListenerToVector(mWebViewListeners, listener);
    }
Exemplo n.º 17
0
/**
 * Add an video view event listener.
 * @param listener The listener that will receive video view events.
 */
void VideoView::addVideoViewListener(VideoViewListener* listener)
{
    addListenerToVector(mVideoViewListeners, listener);
}
Exemplo n.º 18
0
 /**
  * Add an button event listener.
  * @param listener The listener that will receive button events.
  */
 void ImageButton::addButtonListener(ButtonListener* listener)
 {
     addListenerToVector(mButtonListeners, listener);
 }
Exemplo n.º 19
0
 /**
  * Add an GL view event listener.
  * @param listener The listener that will receive GL view events.
  */
 void GLView::addGLViewListener(GLViewListener* listener)
 {
     addListenerToVector(mGLViewListeners, listener);
 }