summaryrefslogtreecommitdiff
path: root/src/Fl_Widget.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/Fl_Widget.cxx')
-rw-r--r--src/Fl_Widget.cxx26
1 files changed, 24 insertions, 2 deletions
diff --git a/src/Fl_Widget.cxx b/src/Fl_Widget.cxx
index 528ac5b81..ecf9fce33 100644
--- a/src/Fl_Widget.cxx
+++ b/src/Fl_Widget.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Widget.cxx,v 1.5.2.4.2.24 2004/08/25 00:20:25 matthiaswm Exp $"
+// "$Id: Fl_Widget.cxx,v 1.5.2.4.2.25 2004/11/23 19:47:52 easysw Exp $"
//
// Base widget class for the Fast Light Tool Kit (FLTK).
//
@@ -129,6 +129,7 @@ extern void fl_throw_focus(Fl_Widget*); // in Fl_x.cxx
// However, it is only legal to destroy a "root" such as an Fl_Window,
// and automatic destructors may be called.
Fl_Widget::~Fl_Widget() {
+ if (flags() & COPIED_LABEL) free(label_.value);
parent_ = 0; // Don't throw focus to a parent widget.
fl_throw_focus(this);
}
@@ -244,6 +245,27 @@ int Fl_Widget::contains(const Fl_Widget *o) const {
return 0;
}
+
+void
+Fl_Widget::label(const char *a) {
+ if (flags() & COPIED_LABEL) {
+ free(label_.value);
+ clear_flag(COPIED_LABEL);
+ }
+ label_.value=a;
+ redraw_label();
+}
+
+
+void
+Fl_Widget::copy_label(const char *a) {
+ if (flags() & COPIED_LABEL) free(label_.value);
+ set_flag(COPIED_LABEL);
+ label_.value=strdup(a);
+ redraw_label();
+}
+
+
//
-// End of "$Id: Fl_Widget.cxx,v 1.5.2.4.2.24 2004/08/25 00:20:25 matthiaswm Exp $".
+// End of "$Id: Fl_Widget.cxx,v 1.5.2.4.2.25 2004/11/23 19:47:52 easysw Exp $".
//