Добавлен диалог вызова помощи. Добавлены горячие клавиши
This commit is contained in:
parent
8a5a586a73
commit
50c061f491
|
@ -14,3 +14,4 @@ http://nuk-svk.ru/soft/rac-gui/
|
||||||
|
|
||||||
Иконки взяты с сайта https://www.iconsdb.com/royal-blue-icons/
|
Иконки взяты с сайта https://www.iconsdb.com/royal-blue-icons/
|
||||||
|
|
||||||
|
|
||||||
|
|
25
doc/racgui_manual.txt
Normal file
25
doc/racgui_manual.txt
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
#######################################################
|
||||||
|
# RAC GUI
|
||||||
|
# Distributed under GNU Public License
|
||||||
|
# Author: Sergey Kalinin svk@nuk-svk.ru
|
||||||
|
# Copyright (c) "SVK", 2019, http://nuk-svk.ru
|
||||||
|
######################################################
|
||||||
|
|
||||||
|
Программа Rac-GUI представляет собой мультиплатформенный графический интерфейс к консольной утилите 1С rac.
|
||||||
|
Основной интерфейс программы состоит из:
|
||||||
|
1. Панели инструментов
|
||||||
|
2. Дерева для отображения структуры
|
||||||
|
3. Табличного поля
|
||||||
|
|
||||||
|
Для добавления, редактирования, удаления сущностей (сервера, информационные базы, сеансы) предназначены соответствующие кнопки, расположенные в панели инструментов слева. Кнопки контекстно-зависимые, т.е. в зависимости от того какой раздел активен для работы (сервер, информационные базы, кластер, сеансы и так далее), функции кнопок меняются.
|
||||||
|
|
||||||
|
После первого запуска программы следует добавить основной сервер кластера 1С (где запущен ras). Для этого надо нажать кнопку "+" в панели инструментов, или сочетание клавиш Control-Insert. И в открывшейся форме заполнить соответствующие поля. Так как каждый сервер управления и клиент могут работать только на одинаковой платформе 1С, то в RAC-GUI для каждого сервера указывается команда (файл rac) для соответствующей платформы.
|
||||||
|
|
||||||
|
"Горячие" клавиши:
|
||||||
|
|
||||||
|
Control-Insert - добавление нового
|
||||||
|
Control-Delete - удаление текущего раздела (сущности)
|
||||||
|
Control-Enter - редактирование текущего раздела (сущности)
|
||||||
|
Control-Q - выход из программы
|
||||||
|
F1 - вызов дилога помощи
|
||||||
|
|
|
@ -98,6 +98,9 @@ proc SaveConfig {} {
|
||||||
global dir servers_list
|
global dir servers_list
|
||||||
set file [open [file join $dir(work) 1c_srv_new.cfg] "w"]
|
set file [open [file join $dir(work) 1c_srv_new.cfg] "w"]
|
||||||
set f [open [file join $dir(work) 1c_srv_new_.cfg] "w"]
|
set f [open [file join $dir(work) 1c_srv_new_.cfg] "w"]
|
||||||
|
if {![dict exists $servers_list servers]} {
|
||||||
|
return
|
||||||
|
}
|
||||||
set dict [dict get $servers_list servers]
|
set dict [dict get $servers_list servers]
|
||||||
#puts "\n\n[split $dict " "]\n\n"
|
#puts "\n\n[split $dict " "]\n\n"
|
||||||
set dict [string map {"\{" "\{\n" "\}" "\n\}"} $dict]
|
set dict [string map {"\{" "\{\n" "\}" "\n\}"} $dict]
|
||||||
|
@ -226,3 +229,4 @@ proc CopyNewConfig {} {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -405,7 +405,28 @@ proc SetRacCommand {} {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proc ShowHelpDialog {} {
|
||||||
|
global default dir
|
||||||
|
set frm [AddToplevel [::msgcat::mc "About"] help_grey_64]
|
||||||
|
wm title .add [::msgcat::mc "About"]
|
||||||
|
text $frm.txt -wrap word
|
||||||
|
ttk::scrollbar $frm.hsb -orient horizontal -command [list $frm.t xview]
|
||||||
|
ttk::scrollbar $frm.vsb -orient vertical -command [list $frm.t yview]
|
||||||
|
text $frm.t -xscrollcommand [list $frm.hsb set] -yscrollcommand [list $frm.vsb set]
|
||||||
|
grid $frm.t -row 0 -column 0 -sticky nsew
|
||||||
|
grid $frm.vsb -row 0 -column 1 -sticky nsew
|
||||||
|
grid $frm.hsb -row 1 -column 0 -sticky nsew
|
||||||
|
grid columnconfigure $frm 0 -weight 1
|
||||||
|
grid rowconfigure $frm 0 -weight 1
|
||||||
|
|
||||||
|
set file_help [open [file join $dir(doc) racgui_manual.txt] "RDONLY"]
|
||||||
|
while {[gets $file_help line] >=0} {
|
||||||
|
$frm.t insert end "$line\n"
|
||||||
|
}
|
||||||
|
close $file_help
|
||||||
|
destroy .add.frm_btn.btn_ok
|
||||||
|
return $frm
|
||||||
|
}
|
||||||
namespace eval Run {} {}
|
namespace eval Run {} {}
|
||||||
# Получение данных по кластерам
|
# Получение данных по кластерам
|
||||||
|
|
||||||
|
@ -2575,3 +2596,4 @@ proc Del::inet {tree host profile_name} {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,11 @@ wm positionfrom . user
|
||||||
|
|
||||||
bind . <Control-q> Quit
|
bind . <Control-q> Quit
|
||||||
bind . <Control-Q> Quit
|
bind . <Control-Q> Quit
|
||||||
|
bind . <Control-eacute> Quit
|
||||||
|
bind . <Control-Insert> Add
|
||||||
|
bind . <Control-Delete> Del
|
||||||
|
bind . <Control-Return> Edit
|
||||||
|
bind . <F1> ShowHelpDialog
|
||||||
|
|
||||||
#ttk::style configure TPanedwindow -background blue
|
#ttk::style configure TPanedwindow -background blue
|
||||||
#ttk::style configure Sash -sashthickness 5
|
#ttk::style configure Sash -sashthickness 5
|
||||||
|
@ -121,3 +126,4 @@ pack $frm_tree $frm_work -side left -expand true -fill both
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -621,3 +621,29 @@ image create photo app_grey_64 -data {
|
||||||
ZhhOnihW5Ql725851hOPesCgxn4/bfEYVJ5mwlTT7EDyT2bwR4yyTf3d6bFcLIPtYoR++ujBwUmV
|
ZhhOnihW5Ql725851hOPesCgxn4/bfEYVJ5mwlTT7EDyT2bwR4yyTf3d6bFcLIPtYoR++ujBwUmV
|
||||||
mhdPl2vMUeYmt/VyyQtF7jBPKF0n5wAAAABJRU5ErkJggg==
|
mhdPl2vMUeYmt/VyyQtF7jBPKF0n5wAAAABJRU5ErkJggg==
|
||||||
}
|
}
|
||||||
|
image create photo help_grey_64 -data {
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
|
@ -145,4 +145,4 @@
|
||||||
::msgcat::mcset ru "Locked" "Заблокировано"
|
::msgcat::mcset ru "Locked" "Заблокировано"
|
||||||
::msgcat::mcset ru "Connected at" "Подключено в"
|
::msgcat::mcset ru "Connected at" "Подключено в"
|
||||||
::msgcat::mcset ru "Session number" "Номер сессии"
|
::msgcat::mcset ru "Session number" "Номер сессии"
|
||||||
|
::msgcat::mcset ru "About" "О программе"
|
||||||
|
|
|
@ -91,11 +91,18 @@ namespace eval ttk::theme::dark {
|
||||||
-background $colors(-lightframe) -itembackground {gray60 gray50} \
|
-background $colors(-lightframe) -itembackground {gray60 gray50} \
|
||||||
-itemfill #ffffff -itemaccentfill yellow \
|
-itemfill #ffffff -itemaccentfill yellow \
|
||||||
-fieldbackground $colors(-lightframe)
|
-fieldbackground $colors(-lightframe)
|
||||||
|
|
||||||
|
ttk::style configure Text \
|
||||||
|
-background [list active $colors(-lighter)] \
|
||||||
|
-foreground [list disabled $colors(-disabledfg)]
|
||||||
|
|
||||||
# ttk::style configure TreeCtrl \
|
# ttk::style configure TreeCtrl \
|
||||||
# -background gray30 -itembackground {gray60 gray50} \
|
# -background gray30 -itembackground {gray60 gray50} \
|
||||||
# -itemfill #ffffff -itemaccentfill yellow
|
# -itemfill #ffffff -itemaccentfill yellow
|
||||||
|
option add *Toplevel.Background $colors(-dark) interactive
|
||||||
|
option add *Text.Foreground $colors(-foreground) interactive
|
||||||
|
option add *Text.Background $colors(-frame) interactive
|
||||||
}
|
}
|
||||||
option add *Toplevel.Background $colors(-dark) interactive
|
|
||||||
#option add *Treeview.Background red interactive
|
#option add *Treeview.Background red interactive
|
||||||
# option add *Frame.Background $colors(-frame) interactive
|
# option add *Frame.Background $colors(-frame) interactive
|
||||||
# option add *Label.Background $colors(-frame) interactive
|
# option add *Label.Background $colors(-frame) interactive
|
||||||
|
@ -140,3 +147,4 @@ namespace eval ::tablelist:: {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
26
rac_gui.tcl
26
rac_gui.tcl
|
@ -20,6 +20,8 @@ package require msgcat
|
||||||
# Устанавливаем текущий каталог
|
# Устанавливаем текущий каталог
|
||||||
set dir(root) [pwd]
|
set dir(root) [pwd]
|
||||||
|
|
||||||
|
set dir(doc) [file join $dir(root) doc]
|
||||||
|
|
||||||
# Устанавливаем рабочий каталог, если его нет то создаём.
|
# Устанавливаем рабочий каталог, если его нет то создаём.
|
||||||
# Согласно спецификации XDG проверяем наличие переменных и каталогов
|
# Согласно спецификации XDG проверяем наличие переменных и каталогов
|
||||||
if [info exists env(XDG_CONFIG_HOME)] {
|
if [info exists env(XDG_CONFIG_HOME)] {
|
||||||
|
@ -86,19 +88,25 @@ CheckVariablesSet
|
||||||
#set serversList [dict create servers]
|
#set serversList [dict create servers]
|
||||||
if [file exists [file join $dir(work) 1c_srv_new.cfg]] {
|
if [file exists [file join $dir(work) 1c_srv_new.cfg]] {
|
||||||
set f_new [open [file join $dir(work) 1c_srv_new.cfg] "RDONLY"]
|
set f_new [open [file join $dir(work) 1c_srv_new.cfg] "RDONLY"]
|
||||||
|
set str ""
|
||||||
while {[gets $f_new line] >=0} {
|
while {[gets $f_new line] >=0} {
|
||||||
append str " [string trim $line]"
|
append str " [string trim $line]"
|
||||||
}
|
}
|
||||||
set str [string map {"\{ " "\{" " \}" "\}"} $str]
|
if {$str ne ""} {
|
||||||
dict set servers_list servers $str
|
set str [string map {"\{ " "\{" " \}" "\}"} $str]
|
||||||
close $f_new
|
dict set servers_list servers $str
|
||||||
puts $servers_list
|
close $f_new
|
||||||
puts [dict get $servers_list servers]
|
puts $servers_list
|
||||||
dict for {host host_data} [dict get $servers_list servers] {
|
puts [dict get $servers_list servers]
|
||||||
.frm_tree.tree insert {} end -id "server::$host" -text [dict get $host_data name] -values "$host"
|
dict for {host host_data} [dict get $servers_list servers] {
|
||||||
set rac_cmd_for_host($host) [dict get $host_data rac_cmd]
|
.frm_tree.tree insert {} end -id "server::$host" -text [dict get $host_data name] -values "$host"
|
||||||
|
set rac_cmd_for_host($host) [dict get $host_data rac_cmd]
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
set servers_list ""
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
set servers_list ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user