mirror of
https://bitbucket.org/svk28/rac-gui
synced 2024-11-11 00:16:53 +00:00
Сделан вывод данных в нормальную таблицу
This commit is contained in:
parent
2d767190af
commit
0a34af045a
143
lib/function.tcl
143
lib/function.tcl
@ -21,35 +21,14 @@ proc TreePress {tree} {
|
|||||||
} elseif {$key eq ""} {
|
} elseif {$key eq ""} {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
#puts "$id $host $values"
|
puts "$id $host $values"
|
||||||
Run::$key $tree $host $values
|
Run::$key $tree $host $values
|
||||||
#RunCommand $root "infobase summary list --cluster=$cluster $host"
|
#RunCommand $root "infobase summary list --cluster=$cluster $host"
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace eval Run {} {}
|
namespace eval Run {} {}
|
||||||
# Получение данных по кластерам
|
# Получение данных по кластерам
|
||||||
proc Run::server_ {tree host values} {
|
|
||||||
set lst [RunCommand server::$host "cluster list $host"]
|
|
||||||
|
|
||||||
set l [split $lst "&"]
|
|
||||||
foreach i $l {
|
|
||||||
set cluster_list [split $i ":"]
|
|
||||||
if {[string trim [lindex $cluster_list 0]] eq "cluster"} {
|
|
||||||
set cluster_id [string trim [lindex $cluster_list 1]]
|
|
||||||
lappend cluster($cluster_id) $cluster_id
|
|
||||||
}
|
|
||||||
if {[string trim [lindex $cluster_list 0]] eq "name"} {
|
|
||||||
lappend cluster($cluster_id) [string trim [lindex $cluster_list 1]]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
foreach x [array names cluster] {
|
|
||||||
set id [lindex $cluster($x) 0]
|
|
||||||
if { [$tree exists "cluster::$id"] == 0 } {
|
|
||||||
$tree insert "server::$host" end -id "cluster::$id" -text "[lindex $cluster($x) 1]" -values "$id"
|
|
||||||
InsertClusterItems $tree $id
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
proc Run::server {tree host values} {
|
proc Run::server {tree host values} {
|
||||||
set lst [RunCommand server::$host "cluster list $host"]
|
set lst [RunCommand server::$host "cluster list $host"]
|
||||||
set l [lindex $lst 0]
|
set l [lindex $lst 0]
|
||||||
@ -115,10 +94,7 @@ proc Run::infobase {tree host values} {
|
|||||||
set lst [RunCommand infobase::$values "infobase info --cluster=$active_cluster --infobase=$values $host"]
|
set lst [RunCommand infobase::$values "infobase info --cluster=$active_cluster --infobase=$values $host"]
|
||||||
|
|
||||||
foreach l $lst {
|
foreach l $lst {
|
||||||
foreach i $l {
|
InsertItemsWorkList $l
|
||||||
set base_list [split $i ":"]
|
|
||||||
InsertItemsWorkList $base_list
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -128,11 +104,6 @@ proc Run::List:Base {tree host values par} {
|
|||||||
set lst [RunCommand infobase::$values "$par list --cluster=$active_cluster --infobase=$values $host"]
|
set lst [RunCommand infobase::$values "$par list --cluster=$active_cluster --infobase=$values $host"]
|
||||||
|
|
||||||
foreach l $lst {
|
foreach l $lst {
|
||||||
foreach i $l {
|
|
||||||
set base_list [split $i ":"]
|
|
||||||
InsertItemsWorkList $base_list
|
|
||||||
}
|
|
||||||
puts "--$l"
|
|
||||||
InsertItemsWorkList $l
|
InsertItemsWorkList $l
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -141,10 +112,6 @@ proc Run::List {tree host values par} {
|
|||||||
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
|
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
|
||||||
set lst [RunCommand infobase::$values "$par list --cluster=$active_cluster $host"]
|
set lst [RunCommand infobase::$values "$par list --cluster=$active_cluster $host"]
|
||||||
foreach l $lst {
|
foreach l $lst {
|
||||||
foreach i $l {
|
|
||||||
set base_list [split $i ":"]
|
|
||||||
#InsertItemsWorkList $base_list
|
|
||||||
}
|
|
||||||
InsertItemsWorkList $l
|
InsertItemsWorkList $l
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -183,23 +150,17 @@ proc Run::servers {tree host values} {
|
|||||||
if { [$tree exists "work_server::$id"] == 0 } {
|
if { [$tree exists "work_server::$id"] == 0 } {
|
||||||
$tree insert "servers::$values" end -id "work_server::$id" -text "[lindex $server($x) 1]" -values "$id"
|
$tree insert "servers::$values" end -id "work_server::$id" -text "[lindex $server($x) 1]" -values "$id"
|
||||||
}
|
}
|
||||||
#InsertServerItems $tree $id
|
InsertWorkServerItems $tree $id
|
||||||
}
|
}
|
||||||
#Run::List $tree $host $values server
|
#Run::List $tree $host $values server
|
||||||
}
|
}
|
||||||
proc Run::work_server {tree host values} {
|
proc Run::work_server {tree host values} {
|
||||||
global active_cluster
|
global active_cluster work_list_row_count
|
||||||
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
|
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
|
||||||
set lst [RunCommand infobase::$values "server info --cluster=$active_cluster --server=$values $host"]
|
set lst [RunCommand infobase::$values "server info --cluster=$active_cluster --server=$values $host"]
|
||||||
foreach l $lst {
|
foreach l $lst {
|
||||||
foreach i $l {
|
InsertItemsWorkList $l
|
||||||
set base_list [split $i ":"]
|
|
||||||
InsertItemsWorkList_ $base_list
|
|
||||||
}
|
}
|
||||||
#puts $l
|
|
||||||
#InsertItemsWorkList $l
|
|
||||||
}
|
|
||||||
#Run::List $tree $host $values server
|
|
||||||
}
|
}
|
||||||
proc Run::profiles {tree host values} {
|
proc Run::profiles {tree host values} {
|
||||||
Run::List $tree $host $values profile
|
Run::List $tree $host $values profile
|
||||||
@ -207,6 +168,23 @@ proc Run::profiles {tree host values} {
|
|||||||
proc Run::processes {tree host values} {
|
proc Run::processes {tree host values} {
|
||||||
Run::List $tree $host $values process
|
Run::List $tree $host $values process
|
||||||
}
|
}
|
||||||
|
proc Run::work_server_processes {tree host values} {
|
||||||
|
global active_cluster work_list_row_count
|
||||||
|
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
|
||||||
|
set lst [RunCommand work_server_processes::$values "process list --cluster=$active_cluster --server=$values $host"]
|
||||||
|
foreach l $lst {
|
||||||
|
InsertItemsWorkList $l
|
||||||
|
}
|
||||||
|
}
|
||||||
|
proc Run::work_server_licenses {tree host values} {
|
||||||
|
global active_cluster work_list_row_count
|
||||||
|
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
|
||||||
|
set lst [RunCommand work_server_processes::$values "process list --cluster=$active_cluster --server=$values --licenses $host"]
|
||||||
|
foreach l $lst {
|
||||||
|
InsertItemsWorkList $l
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
proc Run::managers {tree host values} {
|
proc Run::managers {tree host values} {
|
||||||
Run::List $tree $host $values manager
|
Run::List $tree $host $values manager
|
||||||
}
|
}
|
||||||
@ -215,58 +193,39 @@ proc Run::admins {tree host values} {
|
|||||||
global active_cluster
|
global active_cluster
|
||||||
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
|
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
|
||||||
set lst [RunCommand infobase::$values "agent admin list $host"]
|
set lst [RunCommand infobase::$values "agent admin list $host"]
|
||||||
set l [split $lst "&"]
|
#set l [split $lst "&"]
|
||||||
foreach i $l {
|
foreach l $lst {
|
||||||
set base_list [split $i ":"]
|
#set base_list [split $i ":"]
|
||||||
InsertItemsWorkList $base_list
|
InsertItemsWorkList $l
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
proc InsertItemsWorkList_ {lst} {
|
|
||||||
#.frm_work.tree_work configure -columns "par val" -displaycolumns "par val"
|
|
||||||
.frm_work.tree_work insert {} end -values $lst
|
|
||||||
# .frm_work.tree_work column [lindex $lst 0] -id [lindex $lst 0]
|
|
||||||
# .frm_work.tree_work heading [lindex $lst 0] -text [lindex $lst 0]
|
|
||||||
# .frm_work.tree_work insert [lindex $lst 0] end -values [lindex $lst 1]
|
|
||||||
#.frm_work.tree_work insert val end -text [lindex $lst 1] -values [lindex $lst 1]
|
|
||||||
#puts [.frm_work.tree_work cget -columns]
|
|
||||||
#puts [.frm_work.tree_work column par]
|
|
||||||
|
|
||||||
}
|
|
||||||
proc InsertItemsWorkList {lst} {
|
proc InsertItemsWorkList {lst} {
|
||||||
|
global work_list_row_count
|
||||||
|
if [expr $work_list_row_count % 2] {
|
||||||
|
set tag dark
|
||||||
|
} else {
|
||||||
|
set tag light
|
||||||
|
}
|
||||||
foreach i $lst {
|
foreach i $lst {
|
||||||
set l [split $i ":"]
|
if [regexp -nocase -all -- {(\D+)(\s*?|)(:)(\s*?|)(.+)} $i match param v2 v3 v4 value] {
|
||||||
lappend column_list [lindex $l 0]
|
lappend column_list $param
|
||||||
lappend value_list [lindex $l 1]
|
lappend value_list $value
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.frm_work.tree_work configure -columns $column_list -displaycolumns $column_list
|
.frm_work.tree_work configure -columns $column_list -displaycolumns $column_list
|
||||||
.frm_work.tree_work insert {} end -values $value_list
|
.frm_work.tree_work insert {} end -values $value_list -tags $tag
|
||||||
|
.frm_work.tree_work column #0 -stretch
|
||||||
foreach j $column_list {
|
foreach j $column_list {
|
||||||
.frm_work.tree_work heading $j -text $j
|
.frm_work.tree_work heading $j -text $j
|
||||||
}
|
}
|
||||||
|
incr work_list_row_count
|
||||||
}
|
}
|
||||||
|
|
||||||
proc RunCommand_ {root par} {
|
|
||||||
global dir rac_cmd cluster
|
|
||||||
#puts $par
|
|
||||||
set pipe [open "|$rac_cmd $par" "r"]
|
|
||||||
set lst ""
|
|
||||||
while {[gets $pipe line]>=0} {
|
|
||||||
#puts "$line"
|
|
||||||
if {$line eq ""} {
|
|
||||||
append lst "----&"
|
|
||||||
} else {
|
|
||||||
append lst "$line&"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
close $pipe
|
|
||||||
return $lst
|
|
||||||
# fileevent $pipe readable [list DebugInfo .frm_work.tree_work $pipe]
|
|
||||||
# fconfigure $pipe -buffering none -blocking no
|
|
||||||
}
|
|
||||||
proc RunCommand {root par} {
|
proc RunCommand {root par} {
|
||||||
global dir rac_cmd cluster
|
global dir rac_cmd cluster work_list_row_count
|
||||||
#puts $par
|
puts "$rac_cmd $par"
|
||||||
|
set work_list_row_count 0
|
||||||
set pipe [open "|$rac_cmd $par" "r"]
|
set pipe [open "|$rac_cmd $par" "r"]
|
||||||
set lst ""
|
set lst ""
|
||||||
set l ""
|
set l ""
|
||||||
@ -275,7 +234,7 @@ proc RunCommand {root par} {
|
|||||||
lappend l $lst
|
lappend l $lst
|
||||||
set lst ""
|
set lst ""
|
||||||
} else {
|
} else {
|
||||||
lappend lst $line
|
lappend lst [string trim $line]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
close $pipe
|
close $pipe
|
||||||
@ -310,16 +269,17 @@ proc InsertBaseItems {tree id} {
|
|||||||
$tree insert $parent end -id "connections::$id" -text "Соединения" -values "$id"
|
$tree insert $parent end -id "connections::$id" -text "Соединения" -values "$id"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
proc InsertServerstems {tree id} {
|
|
||||||
set parent "infobase::$id"
|
proc InsertWorkServerItems {tree id} {
|
||||||
if { [$tree exists "sessions::$id"] == 0 } {
|
set parent "work_server::$id"
|
||||||
$tree insert $parent end -id "sessions::$id" -text "Сеансы" -values "$id"
|
if { [$tree exists "work_server_processes::$id"] == 0 } {
|
||||||
|
$tree insert $parent end -id "work_server_processes::$id" -text "Процессы" -values "$id"
|
||||||
}
|
}
|
||||||
if { [$tree exists "locks::$id"] == 0 } {
|
if { [$tree exists "work_server_licenses::$id"] == 0 } {
|
||||||
$tree insert $parent end -id "locks::$id" -text "Блокировки" -values "$id"
|
$tree insert $parent end -id "work_server_licenses::$id" -text "Лицензии" -values "$id"
|
||||||
}
|
}
|
||||||
if { [$tree exists "connections::$id"] == 0 } {
|
if { [$tree exists "connections::$id"] == 0 } {
|
||||||
$tree insert $parent end -id "connections::$id" -text "Соединения" -values "$id"
|
#$tree insert $parent end -id "connections::$id" -text "Соединения" -values "$id"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -702,4 +662,3 @@ proc SaveMainServer {host port} {
|
|||||||
close $file
|
close $file
|
||||||
return "$host:$port"
|
return "$host:$port"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
17
lib/gui.tcl
17
lib/gui.tcl
@ -16,14 +16,18 @@ if {[info exists topLevelGeometry]} {
|
|||||||
|
|
||||||
wm title . "1C Rac GUI"
|
wm title . "1C Rac GUI"
|
||||||
wm iconname . "1C Rac Gui"
|
wm iconname . "1C Rac Gui"
|
||||||
#image create photo icon -data {}
|
|
||||||
#wm iconphoto . icon
|
#wm iconphoto . tcllogo
|
||||||
wm protocol . WM_DELETE_WINDOW Quit
|
wm protocol . WM_DELETE_WINDOW Quit
|
||||||
wm overrideredirect . 0
|
wm overrideredirect . 0
|
||||||
wm positionfrom . user
|
wm positionfrom . user
|
||||||
|
|
||||||
#ttk::style configure TPanedwindow -background blue
|
#ttk::style configure TPanedwindow -background blue
|
||||||
#ttk::style configure Sash -sashthickness 5
|
#ttk::style configure Sash -sashthickness 5
|
||||||
|
#ttk::style configure TButton -padding 60 -relief flat -bg black
|
||||||
|
#ttk::style configure Custom.Treeview -foreground red
|
||||||
|
#ttk::style configure Custom.Treeview -rowheight 20
|
||||||
|
|
||||||
|
|
||||||
set frm_tool [frame .frm_tool]
|
set frm_tool [frame .frm_tool]
|
||||||
pack $frm_tool -side left -fill y
|
pack $frm_tool -side left -fill y
|
||||||
@ -60,11 +64,15 @@ set frm_work [frame .frm_work]
|
|||||||
ttk::scrollbar $frm_work.hsb -orient horizontal -command [list $frm_work.tree_work xview]
|
ttk::scrollbar $frm_work.hsb -orient horizontal -command [list $frm_work.tree_work xview]
|
||||||
ttk::scrollbar $frm_work.vsb -orient vertical -command [list $frm_work.tree_work yview]
|
ttk::scrollbar $frm_work.vsb -orient vertical -command [list $frm_work.tree_work yview]
|
||||||
set tree_work [
|
set tree_work [
|
||||||
ttk::treeview $frm_work.tree_work -class TreeView \
|
ttk::treeview $frm_work.tree_work \
|
||||||
-show headings -columns "par val" -displaycolumns "par val"\
|
-show headings -columns "par val" -displaycolumns "par val"\
|
||||||
-xscrollcommand [list $frm_work.hsb set] \
|
-xscrollcommand [list $frm_work.hsb set] \
|
||||||
-yscrollcommand [list $frm_work.vsb set]
|
-yscrollcommand [list $frm_work.vsb set]
|
||||||
]
|
]
|
||||||
|
# table rows background colors
|
||||||
|
$tree_work tag configure dark -background $color(dark_table_bg)
|
||||||
|
$tree_work tag configure light -background $color(light_table_bg)
|
||||||
|
|
||||||
#$tree_work heading par -text "Параметр" -anchor center
|
#$tree_work heading par -text "Параметр" -anchor center
|
||||||
#$tree_work heading val -text "Значение" -anchor center
|
#$tree_work heading val -text "Значение" -anchor center
|
||||||
#set tree_work [ttk::treeview $frm_work.tree_work \
|
#set tree_work [ttk::treeview $frm_work.tree_work \
|
||||||
@ -83,3 +91,6 @@ pack $frm_tree $frm_work -side left -expand true -fill both
|
|||||||
#.panel add $frm_tool -weight 1
|
#.panel add $frm_tool -weight 1
|
||||||
.panel add $frm_tree -weight 1
|
.panel add $frm_tree -weight 1
|
||||||
.panel add $frm_work -weight 1
|
.panel add $frm_work -weight 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
11
rac_gui.cfg
11
rac_gui.cfg
@ -2,9 +2,14 @@
|
|||||||
# Rac GUI
|
# Rac GUI
|
||||||
# Distributed under GNU Public License
|
# Distributed under GNU Public License
|
||||||
# Author: Sergey Kalinin svk@nuk-svk.ru
|
# Author: Sergey Kalinin svk@nuk-svk.ru
|
||||||
# Copyright (c) "http://nuk-svk.ru", 2018,
|
# Copyright (c) "http://nuk-svk.ru", 2018
|
||||||
# https://bitbucket.org/svk28/rac-gui
|
# https://bitbucket.org/svk28/rac-gui
|
||||||
######################################################
|
######################################################
|
||||||
|
#
|
||||||
|
# Configuration parameters
|
||||||
|
#
|
||||||
|
######################################################
|
||||||
|
|
||||||
set rac_cmd "/opt/1C/v8.3/x86_64/rac"
|
set rac_cmd "/opt/1C/v8.3/x86_64/rac"
|
||||||
|
|
||||||
set default(locale) "ru"
|
set default(locale) "ru"
|
||||||
@ -29,4 +34,6 @@ set default(dbms) [list PostgreSQL MSSQLServer IBMDB2 OracleDatabase]
|
|||||||
# 2 - постоянно
|
# 2 - постоянно
|
||||||
set default(secure_level) [list 0 1 2]
|
set default(secure_level) [list 0 1 2]
|
||||||
set default(date_offset) [list 0 2000]
|
set default(date_offset) [list 0 2000]
|
||||||
|
# цвета строк в таблице
|
||||||
|
set color(dark_table_bg) "#e2e2e2"
|
||||||
|
set color(light_table_bg) "#ffffff"
|
||||||
|
@ -71,8 +71,9 @@ if [file exists [file join $dir(work) 1c_srv.cfg]] {
|
|||||||
# option add *Listbox.Foreground $editor(fg) interactive
|
# option add *Listbox.Foreground $editor(fg) interactive
|
||||||
# option add *Listbox.Background $editor(bg) interactive
|
# option add *Listbox.Background $editor(bg) interactive
|
||||||
# option add *TreeView.Background $editor(bg) interactive
|
# option add *TreeView.Background $editor(bg) interactive
|
||||||
# option add *TreeView.Foreground $editor(fg) interactive
|
#option add *Treeview.Foreground red interactive
|
||||||
# #option add *Frame.Background $editor(bg) interactive
|
# #option add *Frame.Background $editor(bg) interactive
|
||||||
# option add *ScrollableFrame.Background $editor(bg) interactive
|
# option add *ScrollableFrame.Background $editor(bg) interactive
|
||||||
# option add *ScrolledWindow.Background $editor(bg) interactive
|
# option add *ScrolledWindow.Background $editor(bg) interactive
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user