File: guibabel

package info (click to toggle)
gpsbabel 1.10.0%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 95,680 kB
  • sloc: cpp: 104,866; xml: 9,686; sh: 1,792; ansic: 1,086; perl: 520; tcl: 74; makefile: 18
file content (99 lines) | stat: -rwxr-xr-x 2,851 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#!/bin/sh
# the next line restarts using wish \
exec wish "$0" "$@"

# 
# This was largely cribbed from the TCL demo code.  My TCL skills weren't
# that great when I last used it about ten years ago and my Tk skills never
# existed before.  So be kind.
#

set font {Helvetica 14}
set ifile {}
set ofile {}
set use_shortnames 0

proc positionWindow w {
    wm geometry $w +300+300
}

proc showCmd w {
 global ifile ofile use_shortnames ftyperead ftypewrite
 set cmd "gpsbabel -i $ftyperead -f $ifile"
 if {$use_shortnames > 0} {
	set cmd [concat $cmd "-s"]
  }
 set cmd [concat $cmd  "-o $ftypewrite -F $ofile"]
 eval exec $cmd
 
# tk_messageBox -icon info -message  $cmd
}

set w .filebox
catch {destroy $w}
toplevel $w
wm title $w "gpsbabel"
wm iconname $w "filebox"
positionWindow $w

#label $w.msg -font $font -wraplength 4i -justify left -text "Enter a file name in the entry box or click on the \"Browse\" buttons to select a file name using the file selection dialog."
#pack $w.msg -side top

frame $w.buttons
pack $w.buttons -side bottom -fill x -pady 2m
button $w.buttons.dismiss -text End -command "destroy $w"
button $w.buttons.code -text OK -command "showCmd $w"
pack $w.buttons.dismiss $w.buttons.code -side left -expand 1

foreach i {read write} {
    set f [frame $w.$i]
    set ftype "ftype$i"
    label $f.lab -text "Select a file to $i: " -anchor e
    entry $f.ent -width 20
    button $f.but -text "Browse ..." -command "fileDialog $w $f.ent $i"
# TODO: Get this list from 'gpsbabel -?' instead of hardcoding it here.
    tk_optionMenu $f.ftypes $ftype geo gpsman gpx \
	magellan mapsend pcx mapsource gpsutil tiger csv xmap dna psp \
	cetus gpspilot magnav garmin mxf holux ozi tpg tpo igc baroiq
    pack $f.lab -side left
    pack $f.ent -side left -expand yes -fill x
    pack $f.but -side left
    pack $f -fill x -padx 1c -pady 3
    pack $f.ftypes -side right -padx 45 
}
set ftyperead "geo"
set ftypewrite "mapsend"

 checkbutton $w.strict -text "Make Up Shortnames" \
	-variable use_shortnames -onvalue 1 -offvalue 0
 pack $w.strict -anchor c

proc fileDialog {w ent operation} {
    #   Type names		Extension(s)	Mac File Type(s)
    #
    #---------------------------------------------------------
    set types {
	{"All files"		*		}
	{"loc files"		{.loc}		}
	{"Waypoint files"	{.wpt} 		}
	{"GPX files"		{.gpx} 		}
	{"Various Palm/OS files" {.pdb} 		}
    }
    global ifile ofile
    if {$operation == "read"} {
	set ifile [tk_getOpenFile -filetypes $types -parent $w]
        if [string compare $ifile ""] {
	    $ent delete 0 end
	    $ent insert 0 $ifile
	    $ent xview end
	} ;
    } else {
	set ofile [tk_getSaveFile -filetypes $types -parent $w \
	    -initialfile Untitled ]
        if [string compare $ofile ""] {
    	    $ent delete 0 end
    	    $ent insert 0 $ofile
    	    $ent xview end
    	} ;
    }
}