| [5d30c1] | 1 | #!@WISH@
 | 
|---|
 | 2 | 
 | 
|---|
 | 3 | wm title . "MolRender"
 | 
|---|
 | 4 | 
 | 
|---|
 | 5 | set level 3
 | 
|---|
 | 6 | set model "ball"
 | 
|---|
 | 7 | set inputoption "-keyval"
 | 
|---|
 | 8 | set inputfile "molrender.in"
 | 
|---|
 | 9 | set keyvalkey "molecule"
 | 
|---|
 | 10 | 
 | 
|---|
 | 11 | proc make_inputoption { w } {
 | 
|---|
 | 12 |   frame $w.frame -borderwidth 10
 | 
|---|
 | 13 |   label $w.label -text "Input File Type"
 | 
|---|
 | 14 |   pack $w.label $w.frame -side top -pady 2
 | 
|---|
 | 15 |   radiobutton $w.frame.pdb -text "PDB File" -variable inputoption -value "-pdb" -relief flat
 | 
|---|
 | 16 |   radiobutton $w.frame.keyval -text "KeyVal File" -variable inputoption -value "-keyval" -relief flat
 | 
|---|
 | 17 |   pack $w.frame.pdb $w.frame.keyval -side top -pady 2 -expand yes -fill both
 | 
|---|
 | 18 | }
 | 
|---|
 | 19 | 
 | 
|---|
 | 20 | proc make_model { w } {
 | 
|---|
 | 21 |   frame $w.frame -borderwidth 10
 | 
|---|
 | 22 |   label $w.label -text "Model"
 | 
|---|
 | 23 |   pack $w.label $w.frame -side top -pady 2
 | 
|---|
 | 24 |   radiobutton $w.frame.ball -text "Ball" -variable model -value "ball" -relief flat
 | 
|---|
 | 25 |   radiobutton $w.frame.stick -text "Stick" -variable model -value "stick" -relief flat
 | 
|---|
 | 26 |   radiobutton $w.frame.connolly -text "Connolly" -variable model -value "connolly" -relief flat
 | 
|---|
 | 27 |   pack $w.frame.ball $w.frame.stick $w.frame.connolly -side top -pady 2 -expand yes -fill both
 | 
|---|
 | 28 | }
 | 
|---|
 | 29 | 
 | 
|---|
 | 30 | proc make_level { w } {
 | 
|---|
 | 31 |   frame $w.frame -borderwidth 10
 | 
|---|
 | 32 |   label $w.label -text "Sphere Subdivision Level"
 | 
|---|
 | 33 |   pack $w.label $w.frame -side top -pady 2
 | 
|---|
 | 34 |   radiobutton $w.frame.a -text "1" -variable level -value 1 -relief flat
 | 
|---|
 | 35 |   radiobutton $w.frame.b -text "2" -variable level -value 2 -relief flat
 | 
|---|
 | 36 |   radiobutton $w.frame.c -text "3" -variable level -value 3 -relief flat
 | 
|---|
 | 37 |   radiobutton $w.frame.d -text "4" -variable level -value 4 -relief flat
 | 
|---|
 | 38 |   radiobutton $w.frame.e -text "5" -variable level -value 5 -relief flat
 | 
|---|
 | 39 |   pack $w.frame.a $w.frame.b $w.frame.c $w.frame.d $w.frame.e -side top -pady 2 -expand yes -fill both
 | 
|---|
 | 40 | }
 | 
|---|
 | 41 | 
 | 
|---|
 | 42 | proc render {} {
 | 
|---|
 | 43 |   global model inputoption inputfile level keyvalkey
 | 
|---|
 | 44 |   #puts stdout "molrender -quiet -model $model -keyword $keyvalkey $inputoption $inputfile -level $level"
 | 
|---|
 | 45 |   set result [exec @prefix@/bin/molrender -quiet -render oogl -model $model -keyword $keyvalkey $inputoption $inputfile -level $level]
 | 
|---|
 | 46 |   #puts stdout "(geometry $model $result)"
 | 
|---|
 | 47 |   flush stdout
 | 
|---|
 | 48 | }
 | 
|---|
 | 49 | 
 | 
|---|
 | 50 | proc clear {} {
 | 
|---|
 | 51 |   #puts stdout "(geometry ball {})"
 | 
|---|
 | 52 |   #puts stdout "(geometry stick {})"
 | 
|---|
 | 53 |   #puts stdout "(geometry connolly {})"
 | 
|---|
 | 54 |   #flush stdout
 | 
|---|
 | 55 | }
 | 
|---|
 | 56 | 
 | 
|---|
 | 57 | proc done {} {
 | 
|---|
 | 58 |   destroy .
 | 
|---|
 | 59 | }
 | 
|---|
 | 60 | 
 | 
|---|
 | 61 | frame .inputarea
 | 
|---|
 | 62 | frame .inputarea.inputoption
 | 
|---|
 | 63 | frame .inputarea.model
 | 
|---|
 | 64 | frame .inputarea.level
 | 
|---|
 | 65 | make_inputoption .inputarea.inputoption
 | 
|---|
 | 66 | make_model .inputarea.model
 | 
|---|
 | 67 | make_level .inputarea.level
 | 
|---|
 | 68 | 
 | 
|---|
 | 69 | frame .inputfile
 | 
|---|
 | 70 | label .inputfile.label -text "Input File:"
 | 
|---|
 | 71 | entry .inputfile.entry -relief sunken -textvariable inputfile
 | 
|---|
 | 72 | pack .inputfile.label .inputfile.entry -side left -expand yes -fill both
 | 
|---|
 | 73 | 
 | 
|---|
 | 74 | frame .keyvalkey
 | 
|---|
 | 75 | label .keyvalkey.label -text "Keyword:"
 | 
|---|
 | 76 | entry .keyvalkey.entry -relief sunken -textvariable keyvalkey
 | 
|---|
 | 77 | pack .keyvalkey.label .keyvalkey.entry -side left -expand yes -fill both
 | 
|---|
 | 78 | 
 | 
|---|
 | 79 | frame .buttons
 | 
|---|
 | 80 | button .buttons.render -text "Render" -command render
 | 
|---|
 | 81 | button .buttons.clear -text "Clear" -command clear
 | 
|---|
 | 82 | button .buttons.done -text "Done" -command done
 | 
|---|
 | 83 | pack .buttons.render .buttons.clear .buttons.done -side left -padx 2 -expand yes -fill both
 | 
|---|
 | 84 | pack .inputarea.inputoption .inputarea.model .inputarea.level -side left -padx 2 -expand yes -fill both
 | 
|---|
 | 85 | pack .inputarea .inputfile .keyvalkey .buttons -side top -pady 2
 | 
|---|
 | 86 | 
 | 
|---|
 | 87 | clear
 | 
|---|