def create_ui(self): self.set_padding(12) self.set_spacing(8) self.heading = make_panel_header("title_variables.png", self.server_profile.name, "Server Variables") self.add(self.heading, False, True) self.warning = not_running_warning_label() self.add(self.warning, False, True) self.tab = newTabView(False) self.add(self.tab, True, True) self.status = VariablesViewer( self.ctrl_be, wb_admin_variable_list.status_variable_list, "SHOW GLOBAL STATUS", 'status') self.status.set_padding(6) self.tab.add_page(self.status, "Status Variables") self.server = VariablesViewer( self.ctrl_be, wb_admin_variable_list.system_variable_list, "SHOW GLOBAL VARIABLES", 'system') self.server.set_padding(6) self.tab.add_page(self.server, "System Variables")
def __init__(self, editor, schema): mforms.Box.__init__(self, False) self.set_managed() self.set_release_on_add() self.editor = editor self._schema = schema self.table = mforms.newTable() self.table.set_row_count(7) self.table.set_column_count(2) self.table.set_row_spacing(8) self.table.set_column_spacing(8) def make_title(t): l = mforms.newLabel(t) l.set_style(mforms.BoldStyle) return l self.panel_header_box = mforms.newBox(True) self.panel_header_box.set_padding(10) self.panel_header_box.add(make_panel_header("db.Schema.32x32.png", self.editor.connection.name, "%s" % (schema)), False, True) self.add(self.panel_header_box, False, True) self.table.add(make_title("Schema Details"), 0, 2, 0, 1, mforms.HFillFlag) self.table.add(mforms.newLabel("Default collation:"), 0, 1, 3, 4, mforms.HFillFlag) self.col_default_collation_name = mforms.newLabel("") self.col_default_collation_name.set_style(mforms.BoldStyle) self.table.add(self.col_default_collation_name, 1, 2, 3, 4, mforms.HFillFlag|mforms.HExpandFlag) self.table.add(mforms.newLabel("Default characterset:"), 0, 1, 4, 5, mforms.HFillFlag) self.col_default_character_set_name = mforms.newLabel("") self.col_default_character_set_name.set_style(mforms.BoldStyle) self.table.add(self.col_default_character_set_name, 1, 2, 4, 5, mforms.HFillFlag|mforms.HExpandFlag) self.table.add(mforms.newLabel("Table count:"), 0, 1, 5, 6, mforms.HFillFlag) self.table_count = mforms.newLabel("") self.table_count.set_style(mforms.BoldStyle) self.table.add(self.table_count, 1, 2, 5, 6, mforms.HFillFlag|mforms.HExpandFlag) self.table.add(mforms.newLabel("Database size (rough estimate):"), 0, 1, 6, 7, mforms.HFillFlag) self.database_size = mforms.newLabel("") self.database_size.set_style(mforms.BoldStyle) self.table.add(self.database_size, 1, 2, 6, 7, mforms.HFillFlag|mforms.HExpandFlag) tbox = mforms.Box(False) tbox.set_spacing(15) tbox.set_padding(15) tbox.add(self.table, True, True) self.add(tbox, False, True)
def __init__(self, editor, schema): mforms.Box.__init__(self, False) self.set_managed() self.set_release_on_add() self.editor = editor self._schema = schema self.table = mforms.newTable() self.table.set_row_count(7) self.table.set_column_count(2) self.table.set_row_spacing(8) self.table.set_column_spacing(8) def make_title(t): l = mforms.newLabel(t) l.set_style(mforms.BoldStyle) return l self.panel_header_box = mforms.newBox(True) self.panel_header_box.set_padding(10) self.panel_header_box.add(make_panel_header("db.Schema.32x32.png", self.editor.connection.name, "%s" % (schema)), False, False) self.add(self.panel_header_box,False, False) self.table.add(make_title("Schema Details"), 0, 2, 0, 1, mforms.HFillFlag) self.table.add(mforms.newLabel("Default collation:"), 0, 1, 3, 4, mforms.HFillFlag) self.col_default_collation_name = mforms.newLabel("") self.col_default_collation_name.set_style(mforms.BoldStyle) self.table.add(self.col_default_collation_name, 1, 2, 3, 4, mforms.HFillFlag|mforms.HExpandFlag) self.table.add(mforms.newLabel("Default characterset:"), 0, 1, 4, 5, mforms.HFillFlag) self.col_default_character_set_name = mforms.newLabel("") self.col_default_character_set_name.set_style(mforms.BoldStyle) self.table.add(self.col_default_character_set_name, 1, 2, 4, 5, mforms.HFillFlag|mforms.HExpandFlag) self.table.add(mforms.newLabel("Table count:"), 0, 1, 5, 6, mforms.HFillFlag) self.table_count = mforms.newLabel("") self.table_count.set_style(mforms.BoldStyle) self.table.add(self.table_count, 1, 2, 5, 6, mforms.HFillFlag|mforms.HExpandFlag) self.table.add(mforms.newLabel("Database size (rough estimate):"), 0, 1, 6, 7, mforms.HFillFlag) self.database_size = mforms.newLabel("") self.database_size.set_style(mforms.BoldStyle) self.table.add(self.database_size, 1, 2, 6, 7, mforms.HFillFlag|mforms.HExpandFlag) tbox = mforms.Box(False) tbox.set_spacing(15) tbox.set_padding(15) tbox.add(self.table, True, True) self.add(tbox, False, False)
def create_ui(self): self.set_padding(12) self.set_spacing(8) self.heading = make_panel_header("title_variables.png", self.server_profile.name, "Server Variables") self.add(self.heading, False, True) self.warning = not_running_warning_label() self.add(self.warning, False, True) self.tab = newTabView(False) self.add(self.tab, True, True) self.status = VariablesViewer(self.ctrl_be, wb_admin_variable_list.status_variable_list, "SHOW GLOBAL STATUS", 'status') self.status.set_padding(6) self.tab.add_page(self.status, "Status Variables") self.server = VariablesViewer(self.ctrl_be, wb_admin_variable_list.system_variable_list, "SHOW GLOBAL VARIABLES", 'system') self.server.set_padding(6) self.tab.add_page(self.server, "System Variables")
def create_ui(self): dprint_ex(4, "Enter") self.suspend_layout() self.heading = make_panel_header("title_connections.png", self.instance_info.name, "Client Connections") self.add(self.heading, False, False) self.warning = not_running_warning_label() self.add(self.warning, False, True) self.connection_list = newTreeNodeView(mforms.TreeDefault|mforms.TreeFlatList|mforms.TreeAltRowColors) self.connection_list.add_column(mforms.LongIntegerColumnType, "Id", 50, False) self.connection_list.add_column(mforms.StringColumnType, "User", 80, False) self.connection_list.add_column(mforms.StringColumnType, "Host", 120, False) self.connection_list.add_column(mforms.StringColumnType, "DB", 100, False) self.connection_list.add_column(mforms.StringColumnType, "Command", 80, False) self.connection_list.add_column(mforms.LongIntegerColumnType, "Time", 60, False) self.connection_list.add_column(mforms.StringColumnType, "State", 80, False) self.info_column = self.connection_list.add_column(mforms.StringColumnType, "Info", 300, False) self.connection_list.end_columns() self.connection_list.set_allow_sorting(True) self.connection_list.add_changed_callback(weakcb(self, "connection_selected")) #self.set_padding(8) self.add(self.connection_list, True, True) self.button_box = box = newBox(True) box.set_spacing(12) refresh_button = newButton() refresh_button.set_text("Refresh") box.add_end(refresh_button, False, True) refresh_button.add_clicked_callback(weakcb(self, "refresh")) self.kill_button = newButton() self.kill_button.set_text("Kill Connection") box.add_end(self.kill_button, False, True) self.kill_button.add_clicked_callback(weakcb(self, "kill_connection")) self.killq_button = newButton() self.killq_button.set_text("Kill Query") box.add_end(self.killq_button, False, True) self.killq_button.add_clicked_callback(weakcb(self, "kill_query")) refresh_label = newLabel("Refresh Rate:") box.add(refresh_label, False, True) self._menu = mforms.newContextMenu() self._menu.add_item_with_title("Copy Info", self.copy_selected, "copy_selected") self._menu.add_item_with_title("Show in Editor", self.edit_selected, "edit_selected") self.connection_list.set_context_menu(self._menu) self.refresh_values = [0.5, 1, 2, 3, 4, 5, 10, 15, 30] self.refresh_values_size = len(self.refresh_values) self.refresh_selector = newSelector() self.refresh_selector.set_size(100,-1) for s in self.refresh_values: self.refresh_selector.add_item(str(s) + " seconds") self.refresh_selector.add_item("Don't Refresh") refresh_rate_index = grt.root.wb.options.options.get('Administrator:refresh_connections_rate_index', 9) self.refresh_selector.set_selected(refresh_rate_index) self.update_refresh_rate() self.refresh_selector.add_changed_callback(weakcb(self, "update_refresh_rate")) box.add(self.refresh_selector, False, True) self.hide_sleep_connections = newCheckBox() self.hide_sleep_connections.set_text('Hide sleeping connections') self.hide_sleep_connections.add_clicked_callback(self.refresh) box.add(self.hide_sleep_connections, False, True) self.add(box, False, True) self.resume_layout() self.connection_selected() dprint_ex(4, "Leave")
def create_ui(self): self.suspend_layout() if not self.server_profile.admin_enabled: self.add(no_remote_admin_warning_label(self.server_profile), False, True) self.resume_layout() return self.set_padding(12) self.set_spacing(8) # Left pane (start/stop). self.heading = make_panel_header("title_startup.png", self.server_profile.name, "Startup / Shutdown MySQL Server") self.add(self.heading, False, True) self.add(newLabel(" "), False, False) self.long_status_msg = newLabel("The database server is stopped") self.long_status_msg.set_style(mforms.SmallStyle) status_message_part = newLabel("The database server instance is ") self.short_status_msg = newLabel("...") self.short_status_msg.set_color("#DD0000") self.start_stop_btn = newButton() self.start_stop_btn.set_text("Start server") self.start_stop_btn.add_clicked_callback(self.start_stop_clicked) start_stop_hbox = newBox(True) start_stop_hbox.add(status_message_part, False, True) start_stop_hbox.add(self.short_status_msg, False, True) start_stop_hbox.add(newLabel(" "), False, False) start_stop_hbox.add(self.start_stop_btn, False, False) self.add(self.long_status_msg, False, True) self.add(start_stop_hbox, False, False) description = newLabel("If you stop the server, you and your applications will not be able to use the Database and all current connections will be closed\n") description.set_style(mforms.SmallStyle) self.add(description, False, False) auto_start_checkbox = newCheckBox() auto_start_checkbox.set_text("Automatically Start Database Server on Startup") auto_start_checkbox.set_active(True) description = newLabel("You may select to have the Database server start automatically whenever the computer starts up.") description.set_style(mforms.SmallStyle) description.set_wrap_text(True) # Right pane (log). heading = newLabel("\nStartup Message Log") heading.set_style(mforms.BoldStyle) self.add(heading, False, True) self.startup_msgs_log = newTextBox(mforms.BothScrollBars) self.startup_msgs_log.set_name('StartupMessagesLog') self.startup_msgs_log.set_read_only(True) self.add(self.startup_msgs_log, True, True) button_box = newBox(True) self.refresh_button = newButton() self.refresh_button.set_size(150, -1) self.refresh_button.set_text("Refresh Status") self.refresh_button.add_clicked_callback(lambda:self.refresh(True)) button_box.add(self.refresh_button, False, False) self.copy_to_clipboard_button = newButton() self.copy_to_clipboard_button.set_size(150, -1) self.copy_to_clipboard_button.set_text("Copy to Clipboard") self.copy_to_clipboard_button.add_clicked_callback(self.copy_to_clipboard) button_box.add_end(self.copy_to_clipboard_button, False, False) self.clear_messages_button = newButton() self.clear_messages_button.set_size(150, -1) self.clear_messages_button.set_text("Clear Messages") self.clear_messages_button.add_clicked_callback(self.clear_messages) button_box.add_end(self.clear_messages_button, False, False) self.add(button_box, False, True) self.resume_layout() self.ctrl_be.add_me_for_event("server_started", self) self.ctrl_be.add_me_for_event("server_stopped", self)
def create_ui(self): dprint_ex(4, "Enter") self.suspend_layout() self.heading = make_panel_header("title_connections.png", self.instance_info.name, "Client Connections") self.add(self.heading, False, False) self.warning = not_running_warning_label() self.add(self.warning, False, True) self.connection_list = newTreeNodeView(mforms.TreeDefault | mforms.TreeFlatList | mforms.TreeAltRowColors) self.connection_list.add_column(mforms.LongIntegerColumnType, "Id", 50, False) self.connection_list.add_column(mforms.StringColumnType, "User", 80, False) self.connection_list.add_column(mforms.StringColumnType, "Host", 120, False) self.connection_list.add_column(mforms.StringColumnType, "DB", 100, False) self.connection_list.add_column(mforms.StringColumnType, "Command", 80, False) self.connection_list.add_column(mforms.LongIntegerColumnType, "Time", 60, False) self.connection_list.add_column(mforms.StringColumnType, "State", 80, False) self.info_column = self.connection_list.add_column( mforms.StringColumnType, "Info", 300, False) self.connection_list.end_columns() self.connection_list.set_allow_sorting(True) self.connection_list.add_changed_callback( weakcb(self, "connection_selected")) #self.set_padding(8) self.add(self.connection_list, True, True) self.button_box = box = newBox(True) box.set_spacing(12) refresh_button = newButton() refresh_button.set_text("Refresh") box.add_end(refresh_button, False, True) refresh_button.add_clicked_callback(weakcb(self, "refresh")) self.kill_button = newButton() self.kill_button.set_text("Kill Connection") box.add_end(self.kill_button, False, True) self.kill_button.add_clicked_callback(weakcb(self, "kill_connection")) self.killq_button = newButton() self.killq_button.set_text("Kill Query") box.add_end(self.killq_button, False, True) self.killq_button.add_clicked_callback(weakcb(self, "kill_query")) refresh_label = newLabel("Refresh Rate:") box.add(refresh_label, False, True) self._menu = mforms.newContextMenu() self._menu.add_item_with_title("Copy Info", self.copy_selected, "copy_selected") self._menu.add_item_with_title("Show in Editor", self.edit_selected, "edit_selected") self.connection_list.set_context_menu(self._menu) self.refresh_values = [0.5, 1, 2, 3, 4, 5, 10, 15, 30] self.refresh_values_size = len(self.refresh_values) self.refresh_selector = newSelector() self.refresh_selector.set_size(100, -1) for s in self.refresh_values: self.refresh_selector.add_item(str(s) + " seconds") self.refresh_selector.add_item("Don't Refresh") refresh_rate_index = grt.root.wb.options.options.get( 'Administrator:refresh_connections_rate_index', 9) self.refresh_selector.set_selected(refresh_rate_index) self.update_refresh_rate() self.refresh_selector.add_changed_callback( weakcb(self, "update_refresh_rate")) box.add(self.refresh_selector, False, True) self.hide_sleep_connections = newCheckBox() self.hide_sleep_connections.set_text('Hide sleeping connections') self.hide_sleep_connections.add_clicked_callback(self.refresh) box.add(self.hide_sleep_connections, False, True) self.add(box, False, True) self.resume_layout() self.connection_selected() dprint_ex(4, "Leave")