1 # application-rcc.tcl --
2 #
3 # Creates a RCC Object and gives it a frame to display in
4 #
5 # Copyright (c) 2000-2001 The Regents of the University of California.
6 # All rights reserved.
7 #
8 # Redistribution and use in source and binary forms, with or without
9 # modification, are permitted provided that the following conditions are met:
10 #
11 # A. Redistributions of source code must retain the above copyright notice,
12 # this list of conditions and the following disclaimer.
13 # B. Redistributions in binary form must reproduce the above copyright notice,
14 # this list of conditions and the following disclaimer in the documentation
15 # and/or other materials provided with the distribution.
16 # C. Neither the names of the copyright holders nor the names of its
17 # contributors may be used to endorse or promote products derived from this
18 # software without specific prior written permission.
19 #
20 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
21 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 # ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
24 # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26 # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28 # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31 Import enable
32
33 import Application RccClient
34 import FontInitializer
35
36 Class RccApplication -superclass Application
37
38 RccApplication instproc init {argv} {
39 $self next "rcc"
40 $self instvar client_
41 set labeltxt_ ""
42 $self init_args $argv
43 new FontInitializer [$self options]
44
45 $self initUI
46
47 set host [$self get_option host]
48 set port [$self get_option port]
49 if {[catch {new RccClient "" $host $port} client_]} {
50 puts stderr "ERROR: rcc: error when starting rcc client."
51 puts stderr "ERROR: $client_"
52 exit
53 }
54 }
55
56 RccApplication instproc init_args {argv} {
57 set o [$self options]
58 $o register_option "-host" host
59 $o register_option "-port" port
60 $o register_option "-label" label
61 $o register_option "-server" server
62
63 $o add_default host "htsr2.bmrc.berkeley.edu"
64 $o add_default port "6905"
65 $o add_default label ""
66 $o add_default server "runrccd"
67
68 $o parse_args $argv
69 }
70
71
72 RccApplication instproc initUI {} {
73 $self instvar client_
74
75 wm title . "Remote Camera Control: [$self get_option host]"
76
77 frame .clientFrame -relief ridge -borderwidth 5
78 pack .clientFrame -side top
79
80 # make exit button, bottom frame
81 frame .bottom
82 pack .bottom -side bottom -fill x -expand 1
83 if {[$self get_option label] == ""} {
84 set txt ""
85 } else {
86 set txt "\n[$self get_option label]"
87 }
88 label .bottom.l -text "Remote Camera Control:$txt" -font [$self get_option smallfont] -justify center -relief ridge -padx 5 -pady 5
89 button .bottom.exit -text "Quit" -command exit -font [$self get_option smallfont]
90 pack .bottom.l -side left -fill both -expand 1 -anchor w
91 pack .bottom.exit -side left -fill y -anchor e
92 }
93
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.