//------------------------------------------------------------------------------ DbMySQLTableEditorIndexPage::DbMySQLTableEditorIndexPage(DbMySQLTableEditor *owner, MySQLTableEditorBE *be, Glib::RefPtr<Gtk::Builder> xml) : _owner(owner), _be(be), _xml(xml), _editing_done_id(0), _editable_cell(0) { _xml->get_widget("indexes", _indexes_tv); _indexes_tv->set_enable_tree_lines(true); _indexes_tv->set_headers_visible(true); switch_be(be); _indexes_tv->signal_cursor_changed().connect( sigc::mem_fun(*this, &DbMySQLTableEditorIndexPage::index_cursor_changed)); std::vector<std::string> asc_desc_list; asc_desc_list.push_back("ASC"); asc_desc_list.push_back("DESC"); _sort_order_model = model_from_string_list(asc_desc_list); _xml->get_widget("index_storage_combo", _index_storage_combo); setup_combo_for_string_list(_index_storage_combo); fill_combo_from_string_list(_index_storage_combo, _be->get_index_storage_types()); _index_storage_combo_conn = _index_storage_combo->signal_changed().connect( sigc::mem_fun(this, &DbMySQLTableEditorIndexPage::update_index_storage_type_in_be)); _owner->bind_entry_and_be_setter("index_key_block_size", this, &DbMySQLTableEditorIndexPage::set_index_key_block_size); _owner->bind_entry_and_be_setter("index_parser", this, &DbMySQLTableEditorIndexPage::set_index_parser); Gtk::TextView *text(0); _xml->get_widget("index_comment", text); _owner->add_text_change_timer(text, sigc::mem_fun(this, &DbMySQLTableEditorIndexPage::set_index_comment)); this->update_gui_for_server(); _order_model = model_from_string_list(std::vector<std::string>()); }
//------------------------------------------------------------------------------ DbMySQLTableEditorTriggerPage::DbMySQLTableEditorTriggerPage(DbMySQLTableEditor* owner, MySQLTableEditorBE* be, Glib::RefPtr<Gtk::Builder> xml) : _be(be), _xml(xml) { switch_be(be); // Gtk::Paned *paned(0); //_xml->get("trigger_paned", &paned); }
//------------------------------------------------------------------------------ DbMySQLTableEditorFKPage::DbMySQLTableEditorFKPage(DbMySQLTableEditor *owner ,MySQLTableEditorBE *be ,Glib::RefPtr<Gtk::Builder> xml) : _owner(owner) , _be(be) , _xml(xml) , _edit_conn(0) , _ce(0) , _fk_page_content(0) , _fk_page_not_supported_label(0) { _xml->get_widget("fks", _fk_tv); _xml->get_widget("fk_columns", _fk_columns_tv); _fk_tv->set_enable_tree_lines(true); _fk_tv->set_headers_visible(true); _fk_tv->get_selection()->set_mode(Gtk::SELECTION_MULTIPLE); switch_be(_be); _fk_tv->signal_cursor_changed().connect(sigc::mem_fun(*this, &DbMySQLTableEditorFKPage::fk_cursor_changed)); _xml->get_widget("fk_update", _fk_update_combo); setup_combo_for_string_list(_fk_update_combo); fill_combo_from_string_list(_fk_update_combo, _be->get_fk_action_options()); _fk_update_combo->signal_changed().connect(sigc::bind(sigc::mem_fun(this, &DbMySQLTableEditorFKPage::combo_box_changed) ,::bec::FKConstraintListBE::OnUpdate ) ); _xml->get_widget("fk_delete", _fk_delete_combo); setup_combo_for_string_list(_fk_delete_combo); fill_combo_from_string_list(_fk_delete_combo, _be->get_fk_action_options()); _fk_delete_combo->signal_changed().connect(sigc::bind(sigc::mem_fun(this, &DbMySQLTableEditorFKPage::combo_box_changed) ,::bec::FKConstraintListBE::OnDelete ) ); Gtk::TextView *fk_comment(0); _xml->get_widget("fk_comment", fk_comment); _owner->add_text_change_timer(fk_comment, sigc::mem_fun(this, &DbMySQLTableEditorFKPage::set_comment)); _xml->get_widget("fk_model_only", _fk_model_only); _fk_model_only->signal_toggled().connect(sigc::mem_fun(this, &DbMySQLTableEditorFKPage::model_only_toggled)); _xml->get_widget("fk_page_content_box", _fk_page_content); _xml->get_widget("fk_page_not_supported_label", _fk_page_not_supported_label); _fk_page_not_supported_label->set_text("Note: foreign keys can only be defined for certain storage engines (like InnoDB)." " The server accepts foreign key definitions for other storage engines but silently ignores" " them. Switch your table engine (on the Table tab) to one that supports foreign" " keys to allow adjustments here." ); _fk_page_not_supported_label->set_line_wrap(true); _fk_page_not_supported_label->hide(); check_fk_support(); }