+void Dialog::check_stale()
+{
+ if(stale)
+ delete this;
+}
+
+
+Dialog::Loader::Loader(Dialog &d, WidgetMap &wm):
+ DerivedObjectLoader<Dialog, Panel::Loader>(d, wm)
+{
+ add("action_button", &Loader::action_button);
+}
+
+void Dialog::Loader::action_button(const string &n, int c)
+{
+ RefPtr<Button> btn = new Button();
+ load_sub(*btn);
+ obj.add_button(*btn.get(), c);
+ last_widget = wdg_map[n] = btn.release();
+}
+