}
}
-void eListbox::moveSelection(int dir)
+void eListbox::moveSelection(long dir)
{
/* refuse to do anything without a valid list. */
if (!m_content)
m_content->paint(painter, *style, ePoint(0, y), m_selected == m_content->cursorGet() && m_content->size() && m_selection_enabled);
/* (we could clip with entry_clip_rect, but
- this shouldn't change the behaviour of any
+ this shouldn't change the behavior of any
well behaving content, so it would just
degrade performance without any gain.) */
case evtAction:
if (isVisible())
{
- moveSelection((int)data2);
+ moveSelection((long)data2);
return 1;
}
return 0;
if (index == m_selected && m_content)
m_selected = m_content->cursorGet();
- moveSelection(justCheck);
+ if (m_content && m_content->cursorGet() >= m_content->size())
+ moveSelection(moveUp);
+ else
+ moveSelection(justCheck);
if ((m_top <= index) && (index < (m_top + m_items_per_page)))
{
m_style.m_background_color_set = 1;
}
+void eListbox::setBackgroundColorSelected(gRGB &col)
+{
+ m_style.m_background_color_selected = col;
+ m_style.m_background_color_selected_set = 1;
+}
+
void eListbox::setForegroundColor(gRGB &col)
{
m_style.m_foreground_color = col;
m_style.m_foreground_color_set = 1;
}
+void eListbox::setForegroundColorSelected(gRGB &col)
+{
+ m_style.m_foreground_color_selected = col;
+ m_style.m_foreground_color_selected_set = 1;
+}
+
void eListbox::setBackgroundPicture(ePtr<gPixmap> &pm)
{
m_style.m_background = pm;