mirror of
https://bitbucket.org/svk28/rac-gui
synced 2024-12-04 18:46:52 +00:00
Добавлен диалог вызова помощи. Добавлены горячие клавиши
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/
|
||||
|
||||
|
||||
|
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
|
||||
set file [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]
|
||||
#puts "\n\n[split $dict " "]\n\n"
|
||||
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 {} {}
|
||||
# Получение данных по кластерам
|
||||
|
||||
@ -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-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 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
|
||||
mhdPl2vMUeYmt/VyyQtF7jBPKF0n5wAAAABJRU5ErkJggg==
|
||||
}
|
||||
image create photo help_grey_64 -data {
|
||||
iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAA
|
||||
DsQAAA7EAZUrDhsAAAAHdElNRQfjCQ0JDhex/+rmAAAEzklEQVRo3sWZf0iVVxjHP727CxGJCAmJ
|
||||
IZeIajfnD/IO56BshX+ELhF1wsI/Jv1x2lgbrTURN4bbmtiajW2HYlmMrcCYCFMzg5KcjeLiRGRJ
|
||||
hAvxDxmXFhdxcnF3++Ne7/ve9/465/5Y37/uOfd9nud73nOe5zzP865DE8JgO8XsopAC8tnAKj68
|
||||
LPIHs0wzJwN6+tZpmN7EQWqpYnOCh7yMMcSg9GaYgNiDoI4cRa1+RpCMqrwNBQKihg5eRB8zfEpf
|
||||
MhJJCIhSzrKH1DHJMflLigREDp28g4P0EOA8J+SSNgHh4grFZAYPeE1Oxf7LiGO+jl8zZh62MyGa
|
||||
Y//1TEzzb3FR+cSr4Vnq3cueO0oExAd8oRMflB2+2m14xpISEG9zmmxhr/tvz0RCAqKeC1lYvYn9
|
||||
7jnPdFwvEMVMkEd2scJeeS8mAZHHXVyKala5yRCTLLBMDvkU8jI17FSSfUSZfBKLwDccVTTfR7t8
|
||||
GOOerKSTKgX5XtkaRUBUMh4vKtgi20l5OsFl/REfKujYL8ciCAiDu5Qrrb5DfhKS2UInFeQwR7cc
|
||||
tZDo5r2kWn6nRK5aI2GTovkZPg//vsobuNjKAX4WFZZn2plKqsdFiyUUC4MOxd3vD/IGUUhleHY9
|
||||
beYj0s/HCprahMN8AweVT/9f4V+5EfOlEaMRlpJq2sarJgGh7MW5llXHngfkCvMKut4MERCbqVYm
|
||||
0CjWDFcmfO6Jgq4q4QQHUKeRdJTyo+jCTw3ttvhmd7TkMKjnjAOo1QqlDTTEmP3TNt6kpOsQZwzh
|
||||
SCvnM/3aGo5y2aokVSFyDVxsyACBGxGjA4rpzHrKDZsDpQYfAxHjY8qSxQbPZ4DAV9Jn2YBmXlGW
|
||||
3GHgTNv8It0W8zuRGrJOgy1pEzhurl8Uco2NGrL5hqLDxMewvBw27+SW5hvdaNhCqi6WzDAuihhX
|
||||
dD+LHxhKSUh8dMlQ1BdVjPOctrxh4E/D/DJfh8w3cF1r78Mh3KF0bcTDzWByKeq4kmIR6zOiorgO
|
||||
ZkPZ9IWUa2ivoXRzJ05PXGl40ryD+2kQeEEcBnaloeG+QyGBjI9mmtOMItMGU1HJxP+HVSYNucKd
|
||||
p0ZgUvoMYOipERgJZsX9BFISD3CbHr5lJmUCP4VKM3FLqaS017iN0hMqa1qQKbR0pmXJWl1wTlvY
|
||||
T23QPMiAvKSRA5k4ZxYm/SxoCvfLyBf/HY80NTzm+zAB6eeUpvh45FAGtOPJl8Hm5dpl3MucpgeT
|
||||
QiliTeN6LNUxyBWOayl4Kaox4dKSP7nWvA2nI3LAllonRpPYFjE+rNgfCmKUH8z6zLIMFjWq5Gui
|
||||
KCzYpJUJP6bVbOJHtumqGdK42f0M8BAHFVrFXYBDctAc2pqS4n26shx+2+Vn1qGtU+qZcBcodotS
|
||||
w3naPP8mIADu6zgpyZL5yxyR/0RORRHwBNyDFLA7C+Z7aZVR8SNGu94TcA/jZ19Gm9YBTvGuffUx
|
||||
DqHlONZwkfwMmfdxRPbF69PEgRykjOGMmL9NWTzzJCrM5AK1vK59T9pjfiv7ZIJ7Juk+izyOciKl
|
||||
zfBylh6ZpGWpdNBEHi0IirSaVpJLMnm/VOvjdTmN1CS99WYZ5Kr1m0jGCIRoFFBBMTtwkh/uLfjx
|
||||
Ms8DfsMjNc/Mf4o2PgHmKkMjAAAAAElFTkSuQmCC
|
||||
}
|
||||
|
@ -145,4 +145,4 @@
|
||||
::msgcat::mcset ru "Locked" "Заблокировано"
|
||||
::msgcat::mcset ru "Connected at" "Подключено в"
|
||||
::msgcat::mcset ru "Session number" "Номер сессии"
|
||||
|
||||
::msgcat::mcset ru "About" "О программе"
|
||||
|
@ -91,11 +91,18 @@ namespace eval ttk::theme::dark {
|
||||
-background $colors(-lightframe) -itembackground {gray60 gray50} \
|
||||
-itemfill #ffffff -itemaccentfill yellow \
|
||||
-fieldbackground $colors(-lightframe)
|
||||
|
||||
ttk::style configure Text \
|
||||
-background [list active $colors(-lighter)] \
|
||||
-foreground [list disabled $colors(-disabledfg)]
|
||||
|
||||
# ttk::style configure TreeCtrl \
|
||||
# -background gray30 -itembackground {gray60 gray50} \
|
||||
# -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 *Frame.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(doc) [file join $dir(root) doc]
|
||||
|
||||
# Устанавливаем рабочий каталог, если его нет то создаём.
|
||||
# Согласно спецификации XDG проверяем наличие переменных и каталогов
|
||||
if [info exists env(XDG_CONFIG_HOME)] {
|
||||
@ -86,19 +88,25 @@ CheckVariablesSet
|
||||
#set serversList [dict create servers]
|
||||
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 str ""
|
||||
while {[gets $f_new line] >=0} {
|
||||
append str " [string trim $line]"
|
||||
}
|
||||
set str [string map {"\{ " "\{" " \}" "\}"} $str]
|
||||
dict set servers_list servers $str
|
||||
close $f_new
|
||||
puts $servers_list
|
||||
puts [dict get $servers_list servers]
|
||||
dict for {host host_data} [dict get $servers_list servers] {
|
||||
.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]
|
||||
if {$str ne ""} {
|
||||
set str [string map {"\{ " "\{" " \}" "\}"} $str]
|
||||
dict set servers_list servers $str
|
||||
close $f_new
|
||||
puts $servers_list
|
||||
puts [dict get $servers_list servers]
|
||||
dict for {host host_data} [dict get $servers_list servers] {
|
||||
.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