#include "../include/InputDialog.hpp" #include #include namespace dchat { InputDialog::InputDialog(const char *title, const std::vector &texts, const char *acceptText, const char *cancelText) { set_title(title); Gtk::Box *box = get_content_area(); //box->set_halign(Gtk::ALIGN_CENTER); //box->set_valign(Gtk::ALIGN_CENTER); Gtk::Grid *grid = Gtk::manage(new Gtk::Grid()); grid->set_halign(Gtk::ALIGN_CENTER); grid->set_valign(Gtk::ALIGN_CENTER); box->pack_start(*grid, true, true); int i = 0; for(const char *text : texts) { Gtk::Label *label = Gtk::manage(new Gtk::Label(text)); label->set_valign(Gtk::ALIGN_END); label->set_halign(Gtk::ALIGN_CENTER); grid->attach(*label, 0, i, 1, 1); Gtk::Entry *entry = Gtk::manage(new Gtk::Entry()); entry->set_valign(Gtk::ALIGN_CENTER); entry->set_halign(Gtk::ALIGN_CENTER); entry->set_hexpand(true); grid->attach(*entry, 0, i + 1, 2, 1); entries.push_back(entry); i += 2; } add_button(acceptText, Gtk::RESPONSE_ACCEPT); add_button(cancelText, Gtk::RESPONSE_CANCEL); show_all(); set_size_request(300, 150); } }