Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24707
Modified Files:
Tag: devel_0_39
desire.c desire.tk
Log Message:
Window menu
Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.301
retrieving revision 1.1.2.302
diff -C2 -d -r1.1.2.301 -r1.1.2.302
*** desire.tk 8 Aug 2006 18:15:38 -0000 1.1.2.301
--- desire.tk 8 Aug 2006 19:52:47 -0000 1.1.2.302
***************
*** 511,515 ****
.mbar add cascade -label [say $t] -menu [menu .mbar.$t -tearoff $pd_tearoff]
}
! .mbar.window configure -postcommand fixwindowmenu
foreach z {in out} {
set f .controls.$z
--- 511,515 ----
.mbar add cascade -label [say $t] -menu [menu .mbar.$t -tearoff $pd_tearoff]
}
! .mbar.window configure -postcommand "$self fix_window_menu"
foreach z {in out} {
set f .controls.$z
***************
*** 666,681 ****
proc pdtk_watchdog {} {pd pd ping; after 2000 {pdtk_watchdog}}
- set menu_windowlist {}
-
- proc pdtk_fixwindowmenu {} {fixwindowmenu}
- proc fixwindowmenu {} {
- global menu_windowlist
- .mbar.window delete 0 end
- foreach {i j} $menu_windowlist {
- .mbar.window add command -label $i -command "menu_domenuwindow [lindex $i 1]]"
- menu_fixwindowmenu $j
- }
- }
-
proc accel_munge {acc} {
global OS
--- 666,669 ----
***************
*** 698,701 ****
--- 686,690 ----
eval [concat [list super] $args]
set @accel {}
+ set @menubar .$self.m
}
***************
*** 710,717 ****
}
- set main [Client new]
- $main init_controls
- $main init_binds
-
def Client open_file {} {
global pd_opendir
--- 699,702 ----
***************
*** 782,786 ****
}
! $main init_menus
def* Menuable eval% {code} {
--- 767,779 ----
}
! def Client init {} {
! super
! set @menubar .mbar
! $self init_controls
! $self init_binds
! $self init_menus
! }
!
! set main [Client new]
def* Menuable eval% {code} {
***************
*** 1120,1124 ****
def* Canvas init {x1 y1 xs ys args} {
! global pd_opendir pd_tearoff OS cmdline canvas history manager
super
# those four are not to be confused with other @variables of the same name.
--- 1113,1118 ----
def* Canvas init {x1 y1 xs ys args} {
! global pd_opendir pd_tearoff OS cmdline canvas history manager window_list
! lappend window_list $self
super
# those four are not to be confused with other @variables of the same name.
***************
*** 1194,1197 ****
--- 1188,1198 ----
}
+ def Canvas _delete {} {
+ global window_list
+ set wl {}
+ foreach w $window_list {if {$w != $self} {lappend wl $w}}
+ set window_list $wl
+ }
+
def Canvas focus {} {return $@focus}
def Canvas focus= {o} {set @focus $o}
***************
*** 1321,1326 ****
Graph Array}
$self populate_menu window {{}}
- # {"parentwindow" {menu_windowparent} ""}
- # {"Pdwindow" {menu_pop_pd} ""}
$m.edit add checkbutton -label [say edit_mode] \
--- 1322,1325 ----
***************
*** 1333,1337 ****
}
$m.edit configure -postcommand "$self fix_edit_menu"
! $m.window configure -postcommand "menu_fixwindowmenu"
foreach x {file edit view find put media window help} {
--- 1332,1336 ----
}
$m.edit configure -postcommand "$self fix_edit_menu"
! $m.window configure -postcommand "$self fix_window_menu"
foreach x {file edit view find put media window help} {
***************
*** 1368,1371 ****
--- 1367,1380 ----
}
+ set window_list [list $main]
+
+ def Menuable fix_window_menu {} {
+ global window_list
+ set menu $(a)menubar.window
+ $menu delete 0 end
+ # {"parentwindow" {menu_windowparent} ""}
+ foreach w $window_list {$menu add command -label $w -command "$w raise"}
+ }
+
#-----------------------------------------------------------------------------------#
#this just tells whether an object is part of the selection, that is, what usually
***************
*** 2693,2697 ****
#-----------------------------------------------------------------------------------#
! def* Canvas keyup {x y key iso shift} {
set canvas .$self.c
if {$shift} {
--- 2702,2706 ----
#-----------------------------------------------------------------------------------#
! def Canvas keyup {x y key iso shift} {
set canvas .$self.c
if {$shift} {
***************
*** 5705,5709 ****
pack [label .$self.title -text "DesireData 0.39.A.0" -font {helvetica 24}] -side top
pack [label .$self.date -text "released on 2006.07.??"] -side top
! pack [text .$self.text -yscrollcommand ".$self.scroll set"] -side left
pack [scrollbar .$self.scroll -command ".$self.text yview"] -side right -fill y
#12345678901234567890123456789012345678901234567890123456789012345678901 <- 72 chars
--- 5714,5719 ----
pack [label .$self.title -text "DesireData 0.39.A.0" -font {helvetica 24}] -side top
pack [label .$self.date -text "released on 2006.07.??"] -side top
! pack [text .$self.text -yscrollcommand ".$self.scroll set" -width 72
! ] -side left -fill both -expand yes
pack [scrollbar .$self.scroll -command ".$self.text yview"] -side right -fill y
#12345678901234567890123456789012345678901234567890123456789012345678901 <- 72 chars
Index: desire.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v
retrieving revision 1.1.2.97
retrieving revision 1.1.2.98
diff -C2 -d -r1.1.2.97 -r1.1.2.98
*** desire.c 7 Aug 2006 16:41:49 -0000 1.1.2.97
--- desire.c 8 Aug 2006 19:52:47 -0000 1.1.2.98
***************
*** 293,334 ****
static t_atom *canvas_newargv;
- static void glist_doupdatewindowlist(t_glist *gl, char *sbuf)
- {
- t_gobj *g;
- if (!gl->gl_owner)
- {
- /* this is a canvas; if we have a window, put on "windows" list */
- t_canvas *canvas = (t_canvas *)gl;
- if (canvas->gl_havewindow)
- {
- if (strlen(sbuf) + strlen(gl->gl_name->s_name) + 100 <= 1024)
- {
- char tbuf[1024];
- sprintf(tbuf, "{%s .x%lx} ", gl->gl_name->s_name,
- (t_int)canvas);
- strcat(sbuf, tbuf);
- }
- }
- }
- glist_each(g,gl) {
- if (pd_class(&g->g_pd) == canvas_class)
- glist_doupdatewindowlist((t_glist *)g, sbuf);
- }
- }
-
- /* maintain the list of visible toplevels for the GUI's "windows" menu */
- void canvas_updatewindowlist( void)
- {
- t_canvas *x;
- char sbuf[1024];
- strcpy(sbuf, "set menu_windowlist {");
- /* find all root canvases */
- for (x = canvas_list; x; x = x->gl_next)
- glist_doupdatewindowlist(x, sbuf);
- /* next line updates the window menu state before -postcommand tries it */
- strcat(sbuf, "}\npdtk_fixwindowmenu\n");
- sys_gui(sbuf);
- }
-
/* add a glist the list of "root" canvases (toplevels without parents.) */
static void canvas_addtolist(t_canvas *x) {
--- 293,296 ----
***************
*** 893,897 ****
canvas_reflecttitle(x);
x->gl_havewindow = 1;
- canvas_updatewindowlist();
post("******subscribe %lx",(long)x);
gobj_subscribe((t_gobj *)x,(t_gobj *)manager);
--- 855,858 ----
***************
*** 928,932 ****
if (glist_isvisible(gl2)) gobj_vis(&x->gl_gobj, gl2, 1);
} else x->gl_havewindow = 0;
- canvas_updatewindowlist();
}
}
--- 889,892 ----
***************
*** 11374,11380 ****
canvas_restoreconnections(glist_getcanvas(glist));
}
- if (natom2 >= 1 && vec2[0].a_type == A_SYMBOL
- && !strcmp(vec2[0].a_w.w_symbol->s_name, "pd"))
- canvas_updatewindowlist();
}
else binbuf_text(x->te_binbuf, buf, bufsize);
--- 11334,11337 ----
***************
*** 12691,12695 ****
void canvas_notice(t_gobj *x, struct _gobj *origin, int argc, t_atom *argv) {
t_canvas *self = (t_canvas *)x;
! post("canvas_notice(%p,%p,%d,...): havewindow=%d mapped=%d",x,origin,argc,self->gl_havewindow,self->gl_mapped);
gobj_changed3(self,origin,argc,argv);
}
--- 12648,12653 ----
void canvas_notice(t_gobj *x, struct _gobj *origin, int argc, t_atom *argv) {
t_canvas *self = (t_canvas *)x;
! /*post("canvas_notice(%p,%p,%d,...): havewindow=%d mapped=%d",
! x,origin,argc,self->gl_havewindow,self->gl_mapped);*/
gobj_changed3(self,origin,argc,argv);
}