-/* $Id$
-
-This file is part of libmspgltk
-Copyright © 2010 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
#include "button.h"
#include "dialog.h"
+using namespace std;
+
namespace Msp {
namespace GLtk {
delete this;
}
-void Dialog::key_release(unsigned key, unsigned mod)
+bool Dialog::key_release(unsigned key, unsigned mod)
{
- Panel::key_release(key, mod);
+ bool result = Panel::key_release(key, mod);
if(stale)
delete this;
+ return result;
}
void Dialog::response(int code)
stale = true;
}
+
+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();
+}
+
} // namespace GLtk
} // namespace Msp