]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/list.cpp
Refactor all slider logic into the Slider class
[libs/gltk.git] / source / list.cpp
index de7f857935d57050b3f859e6b70186b57361d0de..13a5619a2e4d96bcbb72d83d46b5874b9ae96309 100644 (file)
@@ -9,7 +9,6 @@
 #include "part.h"
 #include "style.h"
 #include "text.h"
-#include "vslider.h"
 
 using namespace std;
 
@@ -136,7 +135,7 @@ void List::set_data(ListData &d)
 void List::items_changed()
 {
        signal_autosize_changed.emit();
-       rebuild();
+       mark_rebuild();
 }
 
 List::Item *List::create_item(unsigned index)
@@ -404,7 +403,7 @@ void List::item_autosize_changed(Item *item)
 {
        item->autosize();
        signal_autosize_changed.emit();
-       rebuild();
+       mark_rebuild();
 }
 
 void List::reposition_items(bool record_rows)
@@ -527,7 +526,7 @@ void List::slider_value_changed(double value)
        if(max_scroll>0 && !ignore_slider_change)
        {
                first_row = max_scroll-static_cast<unsigned>(value);
-               rebuild();
+               mark_rebuild();
        }
 }
 
@@ -595,6 +594,11 @@ void List::DataObserver::refresh_item(unsigned i)
 }
 
 
+List::Item::Item()
+{
+       input_type = INPUT_NAVIGATION;
+}
+
 void List::Item::autosize_special(const Part &part, Geometry &ageom) const
 {
        if(part.get_name()=="children")