ePtr<eActionMap> ptr;
eActionMap::getInstance(ptr);
+ m_itemheight = 20;
+
ptr->bindAction("ListboxActions", 0, 0, this);
}
if (!m_content)
return eWidget::event(event, data, data2);
assert(m_content);
- recalcSize(); // move to event
getStyle(style);
return 0;
}
+ case evtChangedSize:
+ recalcSize();
+ return eWidget::event(event, data, data2);
+
case evtAction:
- moveSelection((int)data2);
- return 1;
+ if (isVisible())
+ {
+ moveSelection((int)data2);
+ return 1;
+ }
+ return 0;
default:
return eWidget::event(event, data, data2);
}
void eListbox::recalcSize()
{
- m_itemheight = 20;
m_content->setSize(eSize(size().width(), m_itemheight));
m_items_per_page = size().height() / m_itemheight;
}
+void eListbox::setItemHeight(int h)
+{
+ if (h)
+ m_itemheight = h;
+ else
+ m_itemheight = 20;
+ recalcSize();
+}
+
void eListbox::entryAdded(int index)
{
/* manage our local pointers. when the entry was added before the current position, we have to advance. */
m_top = 0;
m_selected = 0;
invalidate();
- eDebug("inval!");
}