From 05d399c049f3f8a84bbc2e81f1636c911cec7e26 Mon Sep 17 00:00:00 2001 From: pixel Date: Mon, 17 Mar 2003 07:44:36 +0000 Subject: Widgets --- lib/glwidgets.cc | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'lib/glwidgets.cc') diff --git a/lib/glwidgets.cc b/lib/glwidgets.cc index b381092..56b8e2f 100644 --- a/lib/glwidgets.cc +++ b/lib/glwidgets.cc @@ -3,8 +3,38 @@ #include "glfont.h" #include "glwidgets.h" +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifndef _ +#define _(x) x +#endif + mogltk::widget::widget() { } +mogltk::widget::widget(widget * _father, int _x, int _y, int _sx, int _sy) throw (GeneralException) : + x(_x), y(_y), sx(_sx), sy(_sy), father(_father) { + if (!father) + throw GeneralException(_("No father. Only root can be adam.")); + + next = father->child; + prev = 0; + father->child = this; + child = 0; + root = father->root; +} + mogltk::widget::~widget() { + while(child) + delete child; + + if (prev) + prev->next = next; + else if (father) + father->child = next; + + if (next) + next->prev = prev; } -- cgit v1.2.3