###################################################### # ProjMan 2 # Distributed under GNU Public License # Author: Sergey Kalinin svk@nuk-svk.ru # Copyright (c) "", 2022, https://nuk-svk.ru ###################################################### # # Operation with NoteBook widget module # ###################################################### namespace eval NB { proc InsertItem {nb item type} { switch $type { file { regsub -all {\.|/|\\|\s} $item "_" itemName if [winfo exists $nb.$itemName] { set fm $nb.$itemName } else { set fm [ttk::frame $nb.$itemName] pack $fm -side top -expand true -fill both $nb add $fm -text [file tail $item];# -image close_12x12 -compound right $nb select $fm } } git { if [winfo exists $nb.$item] { return $nb.$item } set fm [ttk::frame $nb.$item] pack $fm -side top -expand true -fill both $nb add $fm -text Git;# -image close_12x12 -compound right $nb select $fm } } # puts "NB item - $fm" return $fm } proc PressTab {w x y} { global tree if {[$w identify tab $x $y] ne ""} { $w select [$w identify tab $x $y] set nbItem [string trimleft [$w select] "$w."] # puts $nbItem append treeItemName "file" "::" $nbItem Tree::SelectItem $treeItemName } else { return } if {[$w identify $x $y] == "close_button"} { FileOper::Close } else { set txt [$w select].frmText.t if [winfo exists $txt] { focus -force $txt.t } } } proc NextTab {w step} { global tree set i [expr [$w index end] - 1] if {[$w select] eq ""} { return } set nbItemIndex [$w index [$w select]] if {$nbItemIndex eq 0 && $step eq "-1"} { $w select $i } elseif {$nbItemIndex eq $i && $step eq "1"} { $w select 0 } else { $w select [expr $nbItemIndex + $step] } set nbItem [string trimleft [$w select] "$w."] # puts $nbItem append treeItemName "file" "::" $nbItem Tree::SelectItem $treeItemName set txt [$w select].frmText.t if [winfo exists $txt] { focus -force $txt.t } } }