add option cursorHome to eListbox::entryReset
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>
Tue, 13 Dec 2005 15:27:32 +0000 (15:27 +0000)
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>
Tue, 13 Dec 2005 15:27:32 +0000 (15:27 +0000)
lib/gui/elistbox.cpp
lib/gui/elistbox.h
lib/gui/elistboxcontent.cpp

index ccd13ff..013a310 100644 (file)
@@ -333,14 +333,17 @@ void eListbox::entryChanged(int index)
        }
 }
 
        }
 }
 
-void eListbox::entryReset()
+void eListbox::entryReset(bool cursorHome)
 {
        m_content_changed=true;
        m_prev_scrollbar_page=-1;
 {
        m_content_changed=true;
        m_prev_scrollbar_page=-1;
-       if (m_content)
-               m_content->cursorHome();
-       m_top = 0;
-       m_selected = 0;
+       if ( cursorHome )
+       {
+               if (m_content)
+                       m_content->cursorHome();
+               m_top = 0;
+               m_selected = 0;
+       }
        moveSelection(justCheck);
        invalidate();
 }
        moveSelection(justCheck);
        invalidate();
 }
index 08f8003..0e185b4 100644 (file)
@@ -97,7 +97,7 @@ public:
                /* entryChanged: the entry with the given index was changed and should be redrawn. */
        void entryChanged(int index);
                /* the complete list changed. you should not attemp to keep the current index. */
                /* entryChanged: the entry with the given index was changed and should be redrawn. */
        void entryChanged(int index);
                /* the complete list changed. you should not attemp to keep the current index. */
-       void entryReset();
+       void entryReset(bool cursorHome=true);
 
 protected:
        int event(int event, void *data=0, void *data2=0);
 
 protected:
        int event(int event, void *data=0, void *data2=0);
index dea72a6..95d92e0 100644 (file)
@@ -246,7 +246,7 @@ void eListboxStringContent::setList(std::list<std::string> &list)
        m_list = list;
        m_size = list.size();
        cursorHome();
        m_list = list;
        m_size = list.size();
        cursorHome();
-       m_listbox->entryReset();
+       m_listbox->entryReset(false);
 }
 
 //////////////////////////////////////
 }
 
 //////////////////////////////////////
@@ -368,7 +368,7 @@ void eListboxPythonStringContent::setList(PyObject *list)
        }
 
        if (m_listbox)
        }
 
        if (m_listbox)
-               m_listbox->entryReset();
+               m_listbox->entryReset(false);
 }
 
 PyObject *eListboxPythonStringContent::getCurrentSelection()
 }
 
 PyObject *eListboxPythonStringContent::getCurrentSelection()