--- /dev/null
+
+#include "key_dialog.h"
+
+
+KeyDialog::KeyDialog(const Glib::ustring& title, bool dato):
+ Gtk::Dialog(title + " Clave", true, true),
+ label_key("Clave"), label_val("Dato")
+{
+ hbox_key.add(label_key);
+ hbox_key.add(entry_key);
+ get_vbox()->add(hbox_key);
+ if (dato)
+ {
+ hbox_val.add(label_val);
+ hbox_val.add(entry_val);
+ get_vbox()->add(hbox_val);
+ }
+ add_button(Gtk::StockID("gtk-cancel"), Gtk::RESPONSE_CANCEL);
+ add_button(Gtk::StockID("gtk-ok"), Gtk::RESPONSE_OK);
+ show_all ();
+}
+
+Glib::ustring KeyDialog::key()
+{
+ return entry_key.get_text();
+}
+
+Glib::ustring KeyDialog::val()
+{
+ return entry_val.get_text();
+}
+
--- /dev/null
+
+#ifndef _KEY_DIALOG_
+#define _KEY_DIALOG_
+
+#include <gtkmm.h>
+#include "btree.h"
+
+class KeyDialog : public Gtk::Dialog {
+ public:
+ KeyDialog(const Glib::ustring& title, bool dato = false);
+ Glib::ustring key();
+ Glib::ustring val();
+ private:
+ Gtk::HBox hbox_key;
+ Gtk::Label label_key;
+ Gtk::Entry entry_key;
+ Gtk::HBox hbox_val;
+ Gtk::Label label_val;
+ Gtk::Entry entry_val;
+};
+
+#endif
+
it = lst.begin ();
uint i = 0;
while (it != lst.end ()) {
- ClaveFija c(*it, 0);
+ ClaveFija c(*it, i);
double l = Random::Double (0.0f, 1.0f);
std::cout << l << " >= " << paltas << std::endl;
d.run();
return;
}
- KeyDialog d("Agregar");
+ KeyDialog d("Agregar", true);
if (d.run () == Gtk::RESPONSE_OK)
{
Glib::ustring str_key = d.key();
+ Glib::ustring str_val = d.val();
if (tree->type() == BTree::KEY_FIXED)
{
- ClaveFija c(atoi(str_key.c_str()), 0);
+ ClaveFija c(atoi(str_key.c_str()), atoi(str_val.c_str()));
tree->AddKey(c);
}
else
{
- ClaveVariable c(str_key, 0);
+ ClaveVariable c(str_key, atoi(str_val.c_str()));
tree->AddKey(c);
}
delete tree->last_selected;