Author: matt
Date: 2007-11-19 07:46:03 -0800 (Mon, 19 Nov 2007)
New Revision: 5978
Log:
STR #1767: Adding "remove" function for the Fl_Check_Browser
Modified:
branches/branch-1.1/src/Fl_Check_Browser.cxx
Modified: branches/branch-1.1/src/Fl_Check_Browser.cxx
===================================================================
--- branches/branch-1.1/src/Fl_Check_Browser.cxx 2007-11-19 15:13:45 UTC
(rev 5977)
+++ branches/branch-1.1/src/Fl_Check_Browser.cxx 2007-11-19 15:46:03 UTC
(rev 5978)
@@ -193,6 +193,40 @@
return (nitems_);
}
+int Fl_Check_Browser::remove(int item) {
+ cb_item *p = find_item(item);
+ cb_item *prev;
+ cb_item *next;
+
+ // line at item exists
+ if(p) {
+ // tell the Browser_ what we will do
+ deleting(p);
+
+ // fix checked count
+ if(p->checked)
+ --nchecked_;
+
+ // remove the node
+ if (p->prev)
+ p->prev->next = p->next;
+ else
+ first = p->next;
+ if (p->next)
+ p->next->prev = p->prev;
+ else
+ last = p->prev;
+
+ free(p->text);
+ free(p);
+
+ --nitems_;
+ cached_item = -1;
+ }
+
+ return (nitems_);
+}
+
void Fl_Check_Browser::clear() {
cb_item *p = first;
cb_item *next;
_______________________________________________
fltk-commit mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-commit