diff --git a/doc/CHANGELOG b/doc/CHANGELOG index 991faa9..7fc7ad2 100644 --- a/doc/CHANGELOG +++ b/doc/CHANGELOG @@ -4,9 +4,12 @@ # Author: Sergey Kalinin svk@nuk-svk.ru # Home page: https://bitbucket.org/svk28/rac-gui ###################################################### +22/05/2018 +- Реализована форма добавления рабочего сервера + 20/05/2018 -- Добавлены процедуры работы (добавления, удаления) с кластером (базой, сервера) -- Добавлен диалог добавления базы +- Добавлены процедуры работы (добавления, удаления) с кластером (базой, сервером) +- Сделан диалог добавления базы (только обязательные параметры) 15/05/2018 - Добавлен вывод списка кластеров, серверов, баз и т.д @@ -16,3 +19,4 @@ - Beginning the project + diff --git a/img/document-new-symbolic.svg b/img/document-new-symbolic.svg new file mode 100644 index 0000000..631ffe6 --- /dev/null +++ b/img/document-new-symbolic.svg @@ -0,0 +1,36 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + + + diff --git a/img/edit-delete-symbolic.svg b/img/edit-delete-symbolic.svg new file mode 100644 index 0000000..9d6e356 --- /dev/null +++ b/img/edit-delete-symbolic.svg @@ -0,0 +1,26 @@ + + + + + Gnome Symbolic Icon Theme + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + diff --git a/img/system-shutdown-symbolic.svg b/img/system-shutdown-symbolic.svg new file mode 100644 index 0000000..4ddd67e --- /dev/null +++ b/img/system-shutdown-symbolic.svg @@ -0,0 +1,31 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + diff --git a/lib/function.tcl b/lib/function.tcl index 0d5e851..398fafc 100644 --- a/lib/function.tcl +++ b/lib/function.tcl @@ -6,7 +6,6 @@ # https://bitbucket.org/svk28/rac-gui ###################################################### - proc Quit {} { exit } @@ -20,6 +19,7 @@ proc TreePress {tree} { if {$key eq "server"} { set host $values } + #puts "$id $host $values" Run::$key $tree $host $values #RunCommand $root "infobase summary list --cluster=$cluster $host" } @@ -27,7 +27,6 @@ proc TreePress {tree} { namespace eval Run {} {} # Получение данных по кластерам proc Run::server {tree host values} { - puts "Server info $host $values" set lst [RunCommand server::$host "cluster list $host"] set l [split $lst "&"] foreach i $l { @@ -51,8 +50,7 @@ proc Run::server {tree host values} { proc Run::cluster {$tree host values} { global active_cluster set active_cluster $values - puts "Server info $host $values" - puts [RunCommand cluster::$values "cluster info --cluster=$values $host"] + RunCommand cluster::$values "cluster info --cluster=$values $host" } proc Run::infobases {tree host values} { @@ -256,77 +254,74 @@ proc Del {} { set id [.frm_tree.tree selection] set values [.frm_tree.tree item [.frm_tree.tree selection] -values] set key [lindex [split $id "::"] 0] - puts "$key, $id , $values" Del::$key .frm_tree.tree $host $values } -namespace eval Del {} { - proc work_server {tree host values} { - global active_cluster - set answer [tk_messageBox -message "Удалить рабочий сервер $values?" \ - -icon question -type yesno ] - switch -- $answer { - yes { - set lst [RunCommand infobase::$values "server remove --cluster=$active_cluster --server=$values $host"] - $tree delete "work_server::$values" - .frm_work.tree_work delete [ .frm_work.tree_work children {}] - } - no {return} +namespace eval Del {} {} +proc Del::work_server {tree host values} { + global active_cluster + set answer [tk_messageBox -message "Удалить рабочий сервер $values?" \ + -icon question -type yesno ] + switch -- $answer { + yes { + set lst [RunCommand infobase::$values "server remove --cluster=$active_cluster --server=$values $host"] + $tree delete "work_server::$values" + .frm_work.tree_work delete [ .frm_work.tree_work children {}] } + no {return} } - proc cluster {tree host values} { - set answer [tk_messageBox -message "Удалить кластер $values?" \ - -icon question -type yesno ] - switch -- $answer { - yes { - set lst [RunCommand infobase::$values "cluster remove --cluster=$values $host"] - $tree delete "cluster::$values" - .frm_work.tree_work delete [ .frm_work.tree_work children {}] - } - no {return} - } - } - proc infobase {tree host values} { - global active_cluster - set answer [tk_messageBox -message "Удалить информационную базу $values?" \ - -icon question -type yesno ] - switch -- $answer { - yes { - set lst [RunCommand infobase::$values "infobase drop --infobase=$values --cluster=$active_cluster $host"] - $tree delete "infobase::$values" - .frm_work.tree_work delete [ .frm_work.tree_work children {}] - } - no {return} - } - } - proc server {tree host values} { - global dir - set answer [tk_messageBox -message "Удалить сервер $values?" \ - -icon question -type yesno ] - switch -- $answer { - yes { - #set lst [RunCommand infobase::$values "cluster remove --cluster=$values $host"] - file copy [file join $dir(work) 1c_srv.cfg] [file join $dir(work) 1c_srv.cfg.bak] - set orig_file [open [file join $dir(work) 1c_srv.cfg.bak] "r"] - set file [open [file join $dir(work) 1c_srv.cfg] "w"] - while {[gets $orig_file line] >=0 } { - puts $line - if { $line ne "" && $line ne "$values"} { - puts $file $line - } - } - close $file - close $orig_file - #return "$host:$port" - $tree delete "server::$values" - .frm_work.tree_work delete [ .frm_work.tree_work children {}] - file delete [file join $dir(work) 1c_srv.cfg.bak] - } - no {return} - } - } - } +proc Del::cluster {tree host values} { + set answer [tk_messageBox -message "Удалить кластер $values?" \ + -icon question -type yesno ] + switch -- $answer { + yes { + set lst [RunCommand infobase::$values "cluster remove --cluster=$values $host"] + $tree delete "cluster::$values" + .frm_work.tree_work delete [ .frm_work.tree_work children {}] + } + no {return} + } +} +proc Del::infobase {tree host values} { + global active_cluster + set answer [tk_messageBox -message "Удалить информационную базу $values?" \ + -icon question -type yesno ] + switch -- $answer { + yes { + set lst [RunCommand infobase::$values "infobase drop --infobase=$values --cluster=$active_cluster $host"] + $tree delete "infobase::$values" + .frm_work.tree_work delete [ .frm_work.tree_work children {}] + } + no {return} + } +} +proc Del::server {tree host values} { + global dir + set answer [tk_messageBox -message "Удалить сервер $values?" \ + -icon question -type yesno ] + switch -- $answer { + yes { + #set lst [RunCommand infobase::$values "cluster remove --cluster=$values $host"] + file copy [file join $dir(work) 1c_srv.cfg] [file join $dir(work) 1c_srv.cfg.bak] + set orig_file [open [file join $dir(work) 1c_srv.cfg.bak] "r"] + set file [open [file join $dir(work) 1c_srv.cfg] "w"] + while {[gets $orig_file line] >=0 } { + puts $line + if { $line ne "" && $line ne "$values"} { + puts $file $line + } + } + close $file + close $orig_file + #return "$host:$port" + $tree delete "server::$values" + .frm_work.tree_work delete [ .frm_work.tree_work children {}] + file delete [file join $dir(work) 1c_srv.cfg.bak] + } + no {return} + } +} proc Add {} { global active_cluster host set id [.frm_tree.tree selection] @@ -339,160 +334,253 @@ proc Add {} { Add::$key .frm_tree.tree $host $values } -namespace eval Add {} { - proc server {} { - global default - toplevel .add - set frm [ttk::labelframe .add.frm -text "Добавление основного сервера" -labelanchor nw] - - label $frm.lbl_host -text "Адрес сервера" - entry $frm.ent_host - label $frm.lbl_port -text "Порт" - entry $frm.ent_port - $frm.ent_port insert end $default(port) - grid $frm.lbl_host -row 0 -column 0 -sticky nw -padx 5 -pady 5 - grid $frm.ent_host -row 0 -column 1 -sticky nsew -padx 5 -pady 5 - grid $frm.lbl_port -row 1 -column 0 -sticky nw -padx 5 -pady 5 - grid $frm.ent_port -row 1 -column 1 -sticky nsew -padx 5 -pady 5 - #grid $frm.btn_ok -row 2 -column 1 -sticky nw -padx 5 -pady 5 - #grid $frm.btn_cancel -row 2 -column 1 -sticky se -padx 5 -pady 5 - grid columnconfigure $frm 0 -weight 1 - grid rowconfigure $frm 0 -weight 1 - set frm_btn [frame .add.frm_btn -border 0] - ttk::button $frm_btn.btn_ok -image add_grey_24 -command { - set host [SaveMainServer [.add.frm.ent_host get] [.add.frm.ent_port get]] - .frm_tree.tree insert {} end -id "server::$host" -text "$host" -values "$host" - destroy .add - return $host - } - ttk::button $frm_btn.btn_cancel -command {destroy .add} -image quit_grey_24 - pack $frm $frm_btn -padx 5 -pady 5 -expand true -fill x - pack $frm_btn.btn_cancel -side right - pack $frm_btn.btn_ok -side right -padx 10 - puts $host - } - proc work_server {tree host values} { - } - proc infobase {tree host values} { - Add::infobases $tree $host $values - } - proc infobases {tree host values} { - global default active_cluster - toplevel .add - wm title .add "Добавление информационной базы" - ttk::label .add.lbl -image add_database_grey_64 - set frm [ttk::labelframe .add.frm -text "Добавление информационной базы" -labelanchor nw] - - label $frm.lbl_host -text "Адрес сервера баз даннных" - entry $frm.ent_host - label $frm.lbl_db_user -text "Имя пользователя базы даннных" - entry $frm.ent_db_user - label $frm.lbl_db_pass -text "Пароль" - entry $frm.ent_db_pass - #$frm.ent_host insert end $host - label $frm.lbl_locale -text "Язык базы данных" - entry $frm.ent_locale - $frm.ent_locale insert end $default(locale) - label $frm.lbl_infobase_name -text "Имя информационной базы" - entry $frm.ent_infobase_name - label $frm.lbl_base_name -text "Имя базы данных" - entry $frm.ent_base_name - label $frm.lbl_base_type -text "Тип СУБД" - set combo [ttk::combobox $frm.cb_base_type -textvariable dbms -values $default(dbms)]] - grid $frm.lbl_host -row 0 -column 0 -sticky nw -padx 5 -pady 5 - grid $frm.ent_host -row 0 -column 1 -sticky nsew -padx 5 -pady 5 - grid $frm.lbl_db_user -row 1 -column 0 -sticky nw -padx 5 -pady 5 - grid $frm.ent_db_user -row 1 -column 1 -sticky nsew -padx 5 -pady 5 - grid $frm.lbl_db_pass -row 2 -column 0 -sticky nw -padx 5 -pady 5 - grid $frm.ent_db_pass -row 2 -column 1 -sticky nsew -padx 5 -pady 5 - grid $frm.lbl_locale -row 3 -column 0 -sticky nw -padx 5 -pady 5 - grid $frm.ent_locale -row 3 -column 1 -sticky nsew -padx 5 -pady 5 - grid $frm.lbl_infobase_name -row 4 -column 0 -sticky nw -padx 5 -pady 5 - grid $frm.ent_infobase_name -row 4 -column 1 -sticky nsew -padx 5 -pady 5 - grid $frm.lbl_base_name -row 5 -column 0 -sticky nw -padx 5 -pady 5 - grid $frm.ent_base_name -row 5 -column 1 -sticky nsew -padx 5 -pady 5 - grid $frm.lbl_base_type -row 6 -column 0 -sticky nw -padx 5 -pady 5 - grid $frm.cb_base_type -row 6 -column 1 -sticky nsew -padx 5 -pady 5 - # grid $frm.lbl_host $frm.ent_host -sticky nwse -padx 5 -pady 5 - # grid $frm.lbl_db_user $frm.ent_db_user -sticky nwse -padx 5 -pady 5 - # grid $frm.lbl_db_pass $frm.ent_db_pass -sticky nwse -padx 5 -pady 5 - # grid $frm.lbl_locale $frm.ent_locale -sticky nwse -padx 5 -pady 5 - # grid $frm.lbl_infobase_name $frm.ent_infobase_name -sticky nwse -padx 5 -pady 5 - # grid $frm.lbl_base_name $frm.ent_base_name -sticky nwse -padx 5 -pady 5 - # grid $frm.lbl_base_type $frm.cb_base_type -sticky nwse -padx 5 -pady 5 - # - grid columnconfigure $frm 0 -weight 1 - grid rowconfigure $frm 0 -weight 1 - - set active_cluster $values - - set frm_btn [frame .add.frm_btn -border 0] - ttk::button $frm_btn.btn_ok -image add_grey_24 -command { - #puts [RunCommand "" "cluster insert --host=[.add.frm.ent_host get] --port=[.add.frm.ent_port get] --name=[.add.frm.ent_cluster_name get] $host"] - RunCommand "" "infobase create --create-database \ - --name=[.add.frm.ent_infobase_name get] \ - --dbms=$dbms \ - --db-server=[.add.frm.ent_host get] \ - --db-name=[.add.frm.ent_base_name get] \ - --locale=[.add.frm.ent_locale get] \ - --db-user=[.add.frm.ent_db_user get] \ - --db-pwd=[.add.frm.ent_db_pass get] \ - --cluster=$active_cluster $host" - #SaveCluster [.add.frm.ent_host get] [.add.frm.ent_port get]] - #.frm_tree.tree insert "server::$host" end -id "er::$host" -text "$host" -values "$host" - destroy .add - #return $host - } - ttk::button $frm_btn.btn_cancel -command {destroy .add} -image quit_grey_24 - grid .add.lbl -row 0 -column 0 -sticky nw -padx 5 -pady 10 - grid $frm -row 0 -column 1 -sticky nw -padx 5 -pady 5 - grid $frm_btn -row 1 -column 1 -sticky se -padx 5 -pady 5 - # pack .add.lbl -side left - # pack $frm -padx 5 -pady 5 -expand true -fill x -side left - # pack $frm_btn -padx 5 -pady 5 -expand true -fill x - pack $frm_btn.btn_cancel -side right - pack $frm_btn.btn_ok -side right -padx 10 - - } +namespace eval Add {} {} +proc Add::server {} { + global default + toplevel .add + set frm [ttk::labelframe .add.frm -text "Добавление основного сервера" -labelanchor nw] - proc cluster {tree host values} { - global default - toplevel .add - set frm [ttk::labelframe .add.frm -text "Добавление кластера" -labelanchor nw] - - label $frm.lbl_host -text "Адрес основного сервера" - entry $frm.ent_host - #$frm.ent_host insert end $host - label $frm.lbl_port -text "Порт" - entry $frm.ent_port - $frm.ent_port insert end $default(port) - label $frm.lbl_cluster_name -text "Название кластера" - entry $frm.ent_cluster_name - - grid $frm.lbl_host -row 0 -column 0 -sticky nw -padx 5 -pady 5 - grid $frm.ent_host -row 0 -column 1 -sticky nsew -padx 5 -pady 5 - grid $frm.lbl_port -row 1 -column 0 -sticky nw -padx 5 -pady 5 - grid $frm.ent_port -row 1 -column 1 -sticky nsew -padx 5 -pady 5 - grid $frm.lbl_cluster_name -row 2 -column 0 -sticky nw -padx 5 -pady 5 - grid $frm.ent_cluster_name -row 2 -column 1 -sticky nsew -padx 5 -pady 5 - - grid columnconfigure $frm 0 -weight 1 - grid rowconfigure $frm 0 -weight 1 - set frm_btn [frame .add.frm_btn -border 0] - ttk::button $frm_btn.btn_ok -image add_grey_24 -command { - puts [RunCommand "" "cluster insert --host=[.add.frm.ent_host get] --port=[.add.frm.ent_port get] --name=[.add.frm.ent_cluster_name get] $host"] - - #SaveCluster [.add.frm.ent_host get] [.add.frm.ent_port get]] - #.frm_tree.tree insert "server::$host" end -id "er::$host" -text "$host" -values "$host" - destroy .add - #return $host - } - ttk::button $frm_btn.btn_cancel -command {destroy .add} -image quit_grey_24 - pack $frm $frm_btn -padx 5 -pady 5 -expand true -fill x - pack $frm_btn.btn_cancel -side right - pack $frm_btn.btn_ok -side right -padx 10 - puts $host + label $frm.lbl_host -text "Адрес сервера" + entry $frm.ent_host + label $frm.lbl_port -text "Порт" + entry $frm.ent_port + $frm.ent_port insert end $default(port) + grid $frm.lbl_host -row 0 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_host -row 0 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_port -row 1 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_port -row 1 -column 1 -sticky nsew -padx 5 -pady 5 + grid columnconfigure $frm 0 -weight 1 + grid rowconfigure $frm 0 -weight 1 + set frm_btn [frame .add.frm_btn -border 0] + ttk::button $frm_btn.btn_ok -image add_grey_24 -command { + set host [SaveMainServer [.add.frm.ent_host get] [.add.frm.ent_port get]] + .frm_tree.tree insert {} end -id "server::$host" -text "$host" -values "$host" + destroy .add + return $host } + ttk::button $frm_btn.btn_cancel -command {destroy .add} -image quit_grey_24 + pack $frm $frm_btn -padx 5 -pady 5 -expand true -fill x + pack $frm_btn.btn_cancel -side right + pack $frm_btn.btn_ok -side right -padx 10 + puts $host +} +proc Add::servers {tree host values} { + global default dedicate_manager using_central_server + set dedicate_manager "none" + set using_central_server "normal" + set active_cluster $values + toplevel .add + wm title .add "Добавление рабочего сервера" + ttk::label .add.lbl -image server_grey_64 + set frm [ttk::labelframe .add.frm -text "Добавление рабочего сервера" -labelanchor nw] + + label $frm.lbl_server_desc -text "Описание сервера" + entry $frm.ent_server_desc + + label $frm.lbl_host -text "Адрес сервера" + entry $frm.ent_host + + label $frm.lbl_port -text "Порт" + entry $frm.ent_port + $frm.ent_port insert end $default(port) + + label $frm.lbl_ports_range -text "Диапазон портов" + entry $frm.ent_ports_range + $frm.ent_ports_range insert end $default(ports_range) + + label $frm.lbl_ram_max -text "Максимальный объём памяти раб. процессов" + entry $frm.ent_ram_max + $frm.ent_ram_max insert end $default(ram_max) + + label $frm.lbl_ram_sec -text "Безопасный расход памяти за вызов" + entry $frm.ent_ram_sec + $frm.ent_ram_sec insert end $default(ram_sec) + + label $frm.lbl_ram_work -text "Объём памяти рабочих процессов" + entry $frm.ent_ram_work + $frm.ent_ram_work insert end $default(ram_work) + + label $frm.lbl_base_on_process -text "Количество ИБ на процесс" + entry $frm.ent_base_on_process + $frm.ent_base_on_process insert end $default(base_on_process) + + label $frm.lbl_connection_on_process -text "Количество соединений на процесс" + entry $frm.ent_connection_on_process + $frm.ent_connection_on_process insert end $default(connection_on_process) + + label $frm.lbl_manager_port -text "Порт главного менеджера кластера" + entry $frm.ent_manager_port + $frm.ent_manager_port insert end $default(port) + + label $frm.lbl_manager_each_service -text "Менеджер под каждый сервис" + checkbutton $frm.ent_manager_each_service -variable dedicate_manager -onvalue all -offvalue none + + label $frm.lbl_central_server -text "Центральный сервер" + checkbutton $frm.ent_central_server -variable using_central_server -onvalue main -offvalue normal + + grid $frm.lbl_server_desc -row 0 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_server_desc -row 0 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_host -row 1 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_host -row 1 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_port -row 2 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_port -row 2 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_ports_range -row 3 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_ports_range -row 3 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_ram_max -row 4 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_ram_max -row 4 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_ram_sec -row 5 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_ram_sec -row 5 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_ram_work -row 6 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_ram_work -row 6 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_base_on_process -row 7 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_base_on_process -row 7 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_connection_on_process -row 8 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_connection_on_process -row 8 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_manager_port -row 9 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_manager_port -row 9 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_manager_each_service -row 10 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_manager_each_service -row 10 -column 1 -sticky nw -padx 5 -pady 5 + grid $frm.lbl_central_server -row 11 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_central_server -row 11 -column 1 -sticky nw -padx 5 -pady 5 + + #grid $frm.btn_ok -row 2 -column 1 -sticky nw -padx 5 -pady 5 + #grid $frm.btn_cancel -row 2 -column 1 -sticky se -padx 5 -pady 5 + grid columnconfigure $frm 0 -weight 1 + grid rowconfigure $frm 0 -weight 1 + set frm_btn [frame .add.frm_btn -border 0] + ttk::button $frm_btn.btn_ok -image add_grey_24 -command { + RunCommand "" "server insert \ + --agent-host=[.add.frm.ent_host get] \ + --agent-port=[.add.frm.ent_port get] \ + --port-range=[.add.frm.ent_ports_range get] \ + --name=[.add.frm.ent_server_desc get] \ + --using=$using_central_server \ + --infobases-limit=[.add.frm.ent_base_on_process get] \ + --memory-limit=[.add.frm.ent_ram_work get] \ + --connections-limit=[.add.frm.ent_connection_on_process get] \ + --cluster-port=[.add.frm.ent_manager_port get] \ + --dedicate-managers=$dedicate_manager \ + --safe-working-processes-memory-limit=[.add.frm.ent_ram_max get] \ + --safe-call-memory-limit=[.add.frm.ent_ram_sec get] \ + --cluster=$active_cluster $host" + Run::servers $tree $host $active_cluster + destroy .add + } + ttk::button $frm_btn.btn_cancel -command {destroy .add} -image quit_grey_24 + grid .add.lbl -row 0 -column 0 -sticky nw -padx 5 -pady 10 + grid $frm -row 0 -column 1 -sticky nw -padx 5 -pady 5 + grid $frm_btn -row 1 -column 1 -sticky se -padx 5 -pady 5 + pack $frm_btn.btn_cancel -side right + pack $frm_btn.btn_ok -side right -padx 10 +} +proc Add::work_server {tree host values} { + Add::servers $tree $host $values +} +proc Add::infobase {tree host values} { + Add::infobases $tree $host $values +} +proc Add::infobases {tree host values} { + global default active_cluster + toplevel .add + wm title .add "Добавление информационной базы" + ttk::label .add.lbl -image add_database_grey_64 + set frm [ttk::labelframe .add.frm -text "Добавление информационной базы" -labelanchor nw] + + label $frm.lbl_host -text "Адрес сервера баз даннных" + entry $frm.ent_host + label $frm.lbl_db_user -text "Имя пользователя базы даннных" + entry $frm.ent_db_user + label $frm.lbl_db_pass -text "Пароль" + entry $frm.ent_db_pass + #$frm.ent_host insert end $host + label $frm.lbl_locale -text "Язык базы данных" + entry $frm.ent_locale + $frm.ent_locale insert end $default(locale) + label $frm.lbl_infobase_name -text "Имя информационной базы" + entry $frm.ent_infobase_name + label $frm.lbl_base_name -text "Имя базы данных" + entry $frm.ent_base_name + label $frm.lbl_base_type -text "Тип СУБД" + set combo [ttk::combobox $frm.cb_base_type -textvariable dbms -values $default(dbms)]] + grid $frm.lbl_host -row 0 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_host -row 0 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_db_user -row 1 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_db_user -row 1 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_db_pass -row 2 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_db_pass -row 2 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_locale -row 3 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_locale -row 3 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_infobase_name -row 4 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_infobase_name -row 4 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_base_name -row 5 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_base_name -row 5 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_base_type -row 6 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.cb_base_type -row 6 -column 1 -sticky nsew -padx 5 -pady 5 + grid columnconfigure $frm 0 -weight 1 + grid rowconfigure $frm 0 -weight 1 + + set active_cluster $values + + set frm_btn [frame .add.frm_btn -border 0] + ttk::button $frm_btn.btn_ok -image add_grey_24 -command { + RunCommand "" "infobase create --create-database \ + --name=[.add.frm.ent_infobase_name get] \ + --dbms=$dbms \ + --db-server=[.add.frm.ent_host get] \ + --db-name=[.add.frm.ent_base_name get] \ + --locale=[.add.frm.ent_locale get] \ + --db-user=[.add.frm.ent_db_user get] \ + --db-pwd=[.add.frm.ent_db_pass get] \ + --cluster=$active_cluster $host" + destroy .add + } + ttk::button $frm_btn.btn_cancel -command {destroy .add} -image quit_grey_24 + grid .add.lbl -row 0 -column 0 -sticky nw -padx 5 -pady 10 + grid $frm -row 0 -column 1 -sticky nw -padx 5 -pady 5 + grid $frm_btn -row 1 -column 1 -sticky se -padx 5 -pady 5 + pack $frm_btn.btn_cancel -side right + pack $frm_btn.btn_ok -side right -padx 10 +} + +proc Add::cluster {tree host values} { + global default + toplevel .add + wm title .add "Добавление кластера" + ttk::label .add.lbl -image cluster_grey_64 + set frm [ttk::labelframe .add.frm -text "Добавление кластера" -labelanchor nw] + + label $frm.lbl_host -text "Адрес основного сервера" + entry $frm.ent_host + #$frm.ent_host insert end $host + label $frm.lbl_port -text "Порт" + entry $frm.ent_port + $frm.ent_port insert end $default(port) + label $frm.lbl_cluster_name -text "Название кластера" + entry $frm.ent_cluster_name + + grid $frm.lbl_host -row 0 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_host -row 0 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_port -row 1 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_port -row 1 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_cluster_name -row 2 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_cluster_name -row 2 -column 1 -sticky nsew -padx 5 -pady 5 + + grid columnconfigure $frm 0 -weight 1 + grid rowconfigure $frm 0 -weight 1 + set frm_btn [frame .add.frm_btn -border 0] + ttk::button $frm_btn.btn_ok -image add_grey_24 -command { + RunCommand "" "cluster insert \ + --host=[.add.frm.ent_host get] \ + --port=[.add.frm.ent_port get] \ + --name=[.add.frm.ent_cluster_name get] $host"] + destroy .add + } + ttk::button $frm_btn.btn_cancel -command {destroy .add} -image quit_grey_24 + grid .add.lbl -row 0 -column 0 -sticky nw -padx 5 -pady 10 + grid $frm -row 0 -column 1 -sticky nw -padx 5 -pady 5 + grid $frm_btn -row 1 -column 1 -sticky se -padx 5 -pady 5 + pack $frm_btn.btn_cancel -side right + pack $frm_btn.btn_ok -side right -padx 10 } proc SaveMainServer {host port} { global dir @@ -501,5 +589,3 @@ proc SaveMainServer {host port} { close $file return "$host:$port" } - - diff --git a/rac_gui.tcl b/rac_gui.tcl index aa875d6..f674c29 100755 --- a/rac_gui.tcl +++ b/rac_gui.tcl @@ -53,16 +53,6 @@ source [file join $dir(work) rac_gui.cfg] if [file exists [file join $dir(work) 1c_srv.cfg]] { set f [open [file join $dir(work) 1c_srv.cfg] "RDONLY"] while {[gets $f line] >=0} { - #puts $line .frm_tree.tree insert {} end -id "server::$line" -text "$line" -values "$line" } -} else { - #Add::main_server } - - -#.frm_tree.tree insert {} end -id "server::$host" -text "$host" -values "$host:$port" -#.frm_tree.tree insert {} end -id "$host" -text "$host" -values "$host" - -#RunCommand $host "cluster list $host $port" -