QtAbstractWebPopup.cpp [plain text]
#include "config.h"
#include "QtAbstractWebPopup.h"
#include "PopupMenuClient.h"
namespace WebCore {
QtAbstractWebPopup::QtAbstractWebPopup()
: m_popupClient(0)
, m_pageClient(0)
, m_currentIndex(-1)
{
}
QtAbstractWebPopup::~QtAbstractWebPopup()
{
}
void QtAbstractWebPopup::popupDidHide()
{
Q_ASSERT(m_popupClient);
m_popupClient->popupDidHide();
}
void QtAbstractWebPopup::valueChanged(int index)
{
Q_ASSERT(m_popupClient);
m_popupClient->valueChanged(index);
}
void QtAbstractWebPopup::selectItem(int index, bool allowMultiplySelections, bool shift)
{
#if ENABLE(NO_LISTBOX_RENDERING)
ListPopupMenuClient* client = static_cast<ListPopupMenuClient*>(m_popupClient);
if (client) {
client->listBoxSelectItem(index, allowMultiplySelections, shift);
return;
}
#endif
valueChanged(index);
}
bool QtAbstractWebPopup::multiple()
{
#if ENABLE(NO_LISTBOX_RENDERING)
ListPopupMenuClient* client = static_cast<ListPopupMenuClient*>(m_popupClient);
return client && client->multiple();
#else
return false;
#endif
}
QtAbstractWebPopup::ItemType QtAbstractWebPopup::itemType(int idx) const
{
if (m_popupClient->itemIsSeparator(idx))
return Separator;
if (m_popupClient->itemIsLabel(idx))
return Group;
return Option;
}
}