- Reestructuración de ficheros y directorios general
- merge v0.01 --> Añadido fileselector - Añadidas fuentes de Gem y Pure Data - pix2jpg incluído en Gem. Archivos de construcción de Gem modificados. - Añadido fichero ompiling.txt con instrucciones de compilación
This commit is contained in:
parent
c9adfd020b
commit
e85d191b46
3100 changed files with 775434 additions and 3073 deletions
136
pd-0.44-2/tcl/dialog_font.tcl
Normal file
136
pd-0.44-2/tcl/dialog_font.tcl
Normal file
|
|
@ -0,0 +1,136 @@
|
|||
|
||||
package provide dialog_font 0.1
|
||||
|
||||
namespace eval ::dialog_font:: {
|
||||
variable fontsize 10
|
||||
variable stretchval 100
|
||||
variable whichstretch 1
|
||||
variable canvaswindow
|
||||
variable sizes {8 10 12 16 24 36}
|
||||
|
||||
namespace export pdtk_canvas_dofont
|
||||
}
|
||||
|
||||
# TODO this should use the pd_font_$size fonts created in pd-gui.tcl
|
||||
# TODO change pdtk_canvas_dofont to pdtk_font_dialog here and g_editor.c
|
||||
|
||||
# TODO this should really be changed on the C side so that it doesn't have to
|
||||
# work around gfxstub/x_gui.c. The gfxstub stuff assumes that there are
|
||||
# multiple panels, for properties panels like this, its much easier to use if
|
||||
# there is a single properties panel that adjusts based on which PatchWindow
|
||||
# has focus
|
||||
|
||||
proc ::dialog_font::apply {mytoplevel myfontsize} {
|
||||
if {$mytoplevel eq ".pdwindow"} {
|
||||
.pdwindow.text configure -font "-size $myfontsize"
|
||||
} else {
|
||||
variable stretchval
|
||||
variable whichstretch
|
||||
pdsend "$mytoplevel font $myfontsize $stretchval $whichstretch"
|
||||
}
|
||||
}
|
||||
|
||||
proc ::dialog_font::cancel {gfxstub} {
|
||||
if {$gfxstub ne ".pdwindow"} {
|
||||
pdsend "$gfxstub cancel"
|
||||
}
|
||||
destroy .font
|
||||
}
|
||||
|
||||
proc ::dialog_font::ok {gfxstub} {
|
||||
variable fontsize
|
||||
apply $gfxstub $fontsize
|
||||
cancel $gfxstub
|
||||
}
|
||||
|
||||
proc ::dialog_font::update_font_dialog {mytoplevel} {
|
||||
variable canvaswindow $mytoplevel
|
||||
if {[winfo exists .font]} {
|
||||
wm title .font [format [_ "%s Font"] [lookup_windowname $mytoplevel]]
|
||||
}
|
||||
}
|
||||
|
||||
proc ::dialog_font::arrow_fontchange {change} {
|
||||
variable sizes
|
||||
variable fontsize
|
||||
variable canvaswindow
|
||||
set position [expr [lsearch $sizes $fontsize] + $change]
|
||||
if {$position < 0} {set position 0}
|
||||
set max [llength $sizes]
|
||||
if {$position >= $max} {set position [expr $max-1]}
|
||||
set fontsize [lindex $sizes $position]
|
||||
::dialog_font::apply $canvaswindow $fontsize
|
||||
}
|
||||
|
||||
# this should be called pdtk_font_dialog like the rest of the panels, but it
|
||||
# is called from the C side, so we'll leave it be
|
||||
proc ::dialog_font::pdtk_canvas_dofont {gfxstub initsize} {
|
||||
variable fontsize $initsize
|
||||
variable whichstretch 1
|
||||
variable stretchval 100
|
||||
if {[winfo exists .font]} {
|
||||
wm deiconify .font
|
||||
raise .font
|
||||
# the gfxstub stuff expects multiple font windows, we only have one,
|
||||
# so kill the new gfxstub requests as the come in. We'll save the
|
||||
# original gfxstub for when the font panel gets closed
|
||||
pdsend "$gfxstub cancel"
|
||||
} else {
|
||||
create_dialog $gfxstub
|
||||
}
|
||||
}
|
||||
|
||||
proc ::dialog_font::create_dialog {gfxstub} {
|
||||
toplevel .font -class DialogWindow
|
||||
.font configure -menu $::dialog_menubar
|
||||
.font configure -padx 10 -pady 5
|
||||
wm group .font .
|
||||
wm resizable .font 0 0
|
||||
wm transient .font $::focused_window
|
||||
::pd_bindings::dialog_bindings .font "font"
|
||||
# replace standard bindings to work around the gfxstub stuff and use
|
||||
# break to prevent the close window command from going to other bindings.
|
||||
# .font won't exist anymore, so it'll cause errors down the line...
|
||||
bind .font <KeyPress-Return> "::dialog_font::ok $gfxstub; break"
|
||||
bind .font <KeyPress-Escape> "::dialog_font::cancel $gfxstub; break"
|
||||
bind .font <$::modifier-Key-w> "::dialog_font::cancel $gfxstub; break"
|
||||
wm protocol .font WM_DELETE_WINDOW "dialog_font::cancel $gfxstub"
|
||||
bind .font <Up> "::dialog_font::arrow_fontchange -1"
|
||||
bind .font <Down> "::dialog_font::arrow_fontchange 1"
|
||||
|
||||
frame .font.buttonframe
|
||||
pack .font.buttonframe -side bottom -fill x -pady 2m
|
||||
button .font.buttonframe.ok -text [_ "OK"] \
|
||||
-command "::dialog_font::ok $gfxstub"
|
||||
pack .font.buttonframe.ok -side left -expand 1
|
||||
|
||||
labelframe .font.fontsize -text [_ "Font Size"] -padx 5 -pady 4 -borderwidth 1 \
|
||||
-width [::msgcat::mcmax "Font Size"] -labelanchor n
|
||||
pack .font.fontsize -side left -padx 5
|
||||
|
||||
# this is whacky Tcl at its finest, but I couldn't resist...
|
||||
foreach size $::dialog_font::sizes {
|
||||
radiobutton .font.fontsize.radio$size -value $size -text $size \
|
||||
-variable ::dialog_font::fontsize \
|
||||
-command [format {::dialog_font::apply $::dialog_font::canvaswindow %s} $size]
|
||||
pack .font.fontsize.radio$size -side top -anchor w
|
||||
}
|
||||
|
||||
labelframe .font.stretch -text [_ "Stretch"] -padx 5 -pady 5 -borderwidth 1 \
|
||||
-width [::msgcat::mcmax "Stretch"] -labelanchor n
|
||||
pack .font.stretch -side left -padx 5 -fill y
|
||||
|
||||
entry .font.stretch.entry -textvariable ::dialog_font::stretchval -width 5
|
||||
pack .font.stretch.entry -side top -pady 5
|
||||
|
||||
radiobutton .font.stretch.radio1 -text [_ "X and Y"] \
|
||||
-value 1 -variable ::dialog_font::whichstretch
|
||||
radiobutton .font.stretch.radio2 -text [_ "X only"] \
|
||||
-value 2 -variable ::dialog_font::whichstretch
|
||||
radiobutton .font.stretch.radio3 -text [_ "Y only"] \
|
||||
-value 3 -variable ::dialog_font::whichstretch
|
||||
|
||||
pack .font.stretch.radio1 -side top -anchor w
|
||||
pack .font.stretch.radio2 -side top -anchor w
|
||||
pack .font.stretch.radio3 -side top -anchor w
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue