# browsedocnames.tcl -- for S2K browser
#   Ray R. Larson (mar 92)
#
proc browsedocnames {} {

catch {destroy .dname}

toplevel .dname -relief {raised}
wm geometry .dname 718x673+404+178
wm maxsize .dname 1100 850
wm minsize .dname 10 10
#wm positionfrom .dname program
wm title .dname "Document Names"

global BIGFONT

frame .dname.fm13 -borderwidth {2}  -geometry {20x20}  -relief {raised}

frame .dname.fm13.fm14

entry .dname.fm13.fm14.ent -relief {raised}  -width {40}

label .dname.fm13.fm14.lab -relief {raised}  -text {Filter by: }

pack append .dname.fm13.fm14 \
    .dname.fm13.fm14.lab {left frame center expand fillx} \
    .dname.fm13.fm14.ent {left frame center expand fillx}
pack append .dname.fm13  \
     .dname.fm13.fm14 {top frame center expand fillx}

frame .dname.fm7 -borderwidth {2}  -geometry {20x20}

button .dname.fm7.butt12  -text {Help} \
                -command "createHelpListBox Doc_Names_Help docnames.help"


button .dname.fm7.butt11   -command {destroy .dname}  -text {Cancel Browse}

button .dname.fm7.butt10   -command {findsimilar}  -text {Find Similar}

button .dname.fm7.butt8   -command {.dname config -cursor watch; update ; viewdoc [selection.get] ; .dname config -cursor top_left_arrow}  -text {View Document}

pack append .dname.fm7  \
    .dname.fm7.butt8 {left frame center expand fillx filly} \
    .dname.fm7.butt10 {left frame center expand fillx filly} \
    .dname.fm7.butt12 {left frame center  expand fillx filly} \
    .dname.fm7.butt11 {left frame center expand fillx filly}
frame .dname.fm5 -borderwidth {2}  -geometry {20x20}  -relief {raised}

frame .dname.fm5.fm6

scrollbar .dname.fm5.fm6.scry -command {.dname.fm5.fm6.list yview}  -relief {raised}
scrollbar .dname.fm5.fm6.scrx -command {.dname.fm5.fm6.list xview}  -relief {raised} -orient horizontal

listbox .dname.fm5.fm6.list -geometry {75x24}  -relief {sunken}  -yscroll {.dname.fm5.fm6.scry set} -xscroll {.dname.fm5.fm6.scrx set}

bind .dname.fm5.fm6.list <Double-Button-1>  {.dname config -cursor watch; update ; viewdoc [selection.get] ; .dname config -cursor top_left_arrow}

# bind the "filter" entry with an action on the listbox
bind .dname.fm13.fm14.ent <Return> {filterlist .dname.fm5.fm6.list \
        "[%W get]" "BROWSEDOCSAVE"}


pack .dname.fm5.fm6.scry -side right -fill y
pack .dname.fm5.fm6.scrx -side bottom -fill x
pack .dname.fm5.fm6.list -expand yes -fill y

pack append .dname.fm5 .dname.fm5.fm6 {top frame center expand fillx}

frame .dname.fm3 -borderwidth {2}  -geometry {20x20}  -relief {raised}

message .dname.fm3.mess4 -aspect {900}  -font $BIGFONT  -justify {center} -relief {raised}  -text {Browse Document Names}

pack append .dname.fm3 \
    .dname.fm3.mess4 {left frame center expand fillx filly}
pack append .dname  \
    .dname.fm3 {top frame center expand fillx filly} \
    .dname.fm5 {top frame center expand fillx filly} \
    .dname.fm7 {top frame center expand fillx filly} \
    .dname.fm13 {left frame center expand fillx filly}

.dname config -cursor watch
WaitWindow {retrieving from POSTGRES}


# run the retrieve command to get the names from Postgres
#
global DOCNAMES
catch {unset DOCNAMES}

PQexec "begin"
# this uses cookie for testing
PQexec "retrieve portal titleport (TECH_REPORT_BIB.title,TECH_REPORT_BIB.oid) sort by title using <"
PQexec "fetch all in titleport"
PQtuplearray titleport DOCNAMES
PQexec "close titleport"
PQexec "end"


	#
	# Load the tuples into the listbox
	#
	foreach i [lsort [array names DOCNAMES]] {
   		if {[string match "\[A-Z\]*" $i ] == 1} break
   		set tval [concat [lindex "$DOCNAMES($i)" 0]]
   		.dname.fm5.fm6.list insert end "$tval"
	}
destroy .waitwin
.dname config -cursor top_left_arrow



#end browsedocnames
}



