diff --git a/src/g_all_guis.h b/src/g_all_guis.h index 81f32341a25b427881dfaeab7c46dda46b0e7a57..83ba9aed7aba335364d810d65e860a8a39471361 100644 --- a/src/g_all_guis.h +++ b/src/g_all_guis.h @@ -318,6 +318,7 @@ typedef struct _my_numbox int x_scaleheight; /* temporary value when resizing */ int x_tmpfontsize; /* temporary value when resizing */ int x_log_height; + int x_hide_frame; /* 0 default, 1 just arrow, 2, just frame, 3 both */ } t_my_numbox; typedef struct _vdial diff --git a/src/g_numbox.c b/src/g_numbox.c index dd6b3a4fc7c6220384ef08dff5a3bc9bfd0259a2..1fc00fd882c9de17253b49eb666e5d4a3538d3e3 100644 --- a/src/g_numbox.c +++ b/src/g_numbox.c @@ -212,21 +212,36 @@ static void my_numbox_draw_new(t_my_numbox *x, t_glist *glist) if (yyyy) nlet_tag = rtext_gettag(yyyy); else nlet_tag = "bogus"; - sys_vgui( - ".x%lx.c create polygon %d %d %d %d %d %d %d %d %d %d -outline #%6.6x \ - -fill #%6.6x -tags {%lxBASE1 %lxNUM text}\n", - canvas, xpos, ypos, - xpos + x->x_numwidth-4, ypos, - xpos + x->x_numwidth, ypos+4, - xpos + x->x_numwidth, ypos + x->x_gui.x_h, - xpos, ypos + x->x_gui.x_h, - IEM_GUI_COLOR_NORMAL, x->x_gui.x_bcol, x, x); - sys_vgui( - ".x%lx.c create line %d %d %d %d %d %d -fill #%6.6x -tags {%lxBASE2 %lxNUM text}\n", - canvas, xpos, ypos, - xpos + half, ypos + half, - xpos, ypos + x->x_gui.x_h, - x->x_gui.x_fcol, x, x); + if (x->x_hide_frame <= 1) { + sys_vgui( + ".x%lx.c create polygon %d %d %d %d %d %d %d %d %d %d -outline #%6.6x \ + -fill #%6.6x -tags {%lxBASE1 %lxNUM text}\n", + canvas, xpos, ypos, + xpos + x->x_numwidth-4, ypos, + xpos + x->x_numwidth, ypos+4, + xpos + x->x_numwidth, ypos + x->x_gui.x_h, + xpos, ypos + x->x_gui.x_h, + IEM_GUI_COLOR_NORMAL, x->x_gui.x_bcol, x, x); + if(!x->x_gui.x_fsf.x_snd_able) + sys_vgui(".x%lx.c create rectangle %d %d %d %d -tags {%so%d %lxNUM outlet}\n", + canvas, + xpos, ypos + x->x_gui.x_h-1, + xpos+IOWIDTH, ypos + x->x_gui.x_h, + nlet_tag, 0, x); + if(!x->x_gui.x_fsf.x_rcv_able) + sys_vgui(".x%lx.c create rectangle %d %d %d %d -tags {%si%d %lxNUM inlet}\n", + canvas, + xpos, ypos, + xpos+IOWIDTH, ypos+1, + nlet_tag, 0, x); + } + if (!x->x_hide_frame || x->x_hide_frame == 2) + sys_vgui( + ".x%lx.c create line %d %d %d %d %d %d -fill #%6.6x -tags {%lxBASE2 %lxNUM text}\n", + canvas, xpos, ypos, + xpos + half, ypos + half, + xpos, ypos + x->x_gui.x_h, + x->x_gui.x_fcol, x, x); sys_vgui(".x%lx.c create text %d %d -text {%s} -anchor w \ -font {{%s} -%d %s} -fill #%6.6x -tags {%lxLABEL %lxNUM text}\n", canvas, xpos+x->x_gui.x_ldx, ypos+x->x_gui.x_ldy, @@ -239,18 +254,6 @@ static void my_numbox_draw_new(t_my_numbox *x, t_glist *glist) canvas, xpos+half+2, ypos+half+d, x->x_buf, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight, x->x_gui.x_fcol, x, x); - if(!x->x_gui.x_fsf.x_snd_able) - sys_vgui(".x%lx.c create rectangle %d %d %d %d -tags {%so%d %lxNUM outlet}\n", - canvas, - xpos, ypos + x->x_gui.x_h-1, - xpos+IOWIDTH, ypos + x->x_gui.x_h, - nlet_tag, 0, x); - if(!x->x_gui.x_fsf.x_rcv_able) - sys_vgui(".x%lx.c create rectangle %d %d %d %d -tags {%si%d %lxNUM inlet}\n", - canvas, - xpos, ypos, - xpos+IOWIDTH, ypos+1, - nlet_tag, 0, x); //} } @@ -276,30 +279,33 @@ static void my_numbox_draw_move(t_my_numbox *x, t_glist *glist) if (yyyy) nlet_tag = rtext_gettag(yyyy); else nlet_tag = "bogus"; - sys_vgui(".x%lx.c coords %lxBASE1 %d %d %d %d %d %d %d %d %d %d\n", - canvas, x, xpos, ypos, - xpos + x->x_numwidth-4, ypos, - xpos + x->x_numwidth, ypos+4, - xpos + x->x_numwidth, ypos + x->x_gui.x_h, - xpos, ypos + x->x_gui.x_h); - sys_vgui(".x%lx.c coords %lxBASE2 %d %d %d %d %d %d\n", - canvas, x, xpos, ypos, - xpos + half, ypos + half, - xpos, ypos + x->x_gui.x_h); + if (x->x_hide_frame <= 1) { + sys_vgui(".x%lx.c coords %lxBASE1 %d %d %d %d %d %d %d %d %d %d\n", + canvas, x, xpos, ypos, + xpos + x->x_numwidth-4, ypos, + xpos + x->x_numwidth, ypos+4, + xpos + x->x_numwidth, ypos + x->x_gui.x_h, + xpos, ypos + x->x_gui.x_h); + if(!x->x_gui.x_fsf.x_snd_able) + sys_vgui(".x%lx.c coords %so%d %d %d %d %d\n", + canvas, nlet_tag, 0, + xpos, ypos + x->x_gui.x_h-1, + xpos+IOWIDTH, ypos + x->x_gui.x_h); + if(!x->x_gui.x_fsf.x_rcv_able) + sys_vgui(".x%lx.c coords %si%d %d %d %d %d\n", + canvas, nlet_tag, 0, + xpos, ypos, + xpos+IOWIDTH, ypos+1); + } + if (!x->x_hide_frame || x->x_hide_frame == 2) + sys_vgui(".x%lx.c coords %lxBASE2 %d %d %d %d %d %d\n", + canvas, x, xpos, ypos, + xpos + half, ypos + half, + xpos, ypos + x->x_gui.x_h); sys_vgui(".x%lx.c coords %lxLABEL %d %d\n", canvas, x, xpos+x->x_gui.x_ldx, ypos+x->x_gui.x_ldy); sys_vgui(".x%lx.c coords %lxNUMBER %d %d\n", canvas, x, xpos+half+2, ypos+half+d); - if(!x->x_gui.x_fsf.x_snd_able) - sys_vgui(".x%lx.c coords %so%d %d %d %d %d\n", - canvas, nlet_tag, 0, - xpos, ypos + x->x_gui.x_h-1, - xpos+IOWIDTH, ypos + x->x_gui.x_h); - if(!x->x_gui.x_fsf.x_rcv_able) - sys_vgui(".x%lx.c coords %si%d %d %d %d %d\n", - canvas, nlet_tag, 0, - xpos, ypos, - xpos+IOWIDTH, ypos+1); /* redraw scale handle rectangle if selected */ if (x->x_gui.x_fsf.x_selected) my_numbox_draw_select(x, x->x_gui.x_glist); @@ -348,7 +354,7 @@ static void my_numbox_draw_config(t_my_numbox* x,t_glist* glist) */ if (x->x_gui.x_fsf.x_selected) { - sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} -%d %s} -fill $select_color -text {%s} \n .x%lx.c itemconfigure %lxNUMBER -font {{%s} -%d %s} -fill $select_color \n .x%lx.c itemconfigure %lxBASE2 -fill $select_color\n", + sys_vgui("catch { .x%lx.c itemconfigure %lxLABEL -font {{%s} -%d %s} -fill $select_color -text {%s} \n .x%lx.c itemconfigure %lxNUMBER -font {{%s} -%d %s} -fill $select_color \n .x%lx.c itemconfigure %lxBASE2 -fill $select_color };\n", canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight, strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"", canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight, @@ -361,7 +367,7 @@ static void my_numbox_draw_config(t_my_numbox* x,t_glist* glist) */ } else { - sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} -%d %s} -fill #%6.6x -text {%s} \n .x%lx.c itemconfigure %lxNUMBER -font {{%s} -%d %s} -fill #%6.6x \n .x%lx.c itemconfigure %lxBASE2 -fill #%6.6x\n", + sys_vgui("catch { .x%lx.c itemconfigure %lxLABEL -font {{%s} -%d %s} -fill #%6.6x -text {%s} \n .x%lx.c itemconfigure %lxNUMBER -font {{%s} -%d %s} -fill #%6.6x \n .x%lx.c itemconfigure %lxBASE2 -fill #%6.6x };\n", canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight, x->x_gui.x_lcol, strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"", canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight, @@ -372,7 +378,7 @@ static void my_numbox_draw_config(t_my_numbox* x,t_glist* glist) sys_vgui(".x%lx.c itemconfigure %lxBASE2 -fill #%6.6x\n", canvas, x, x->x_gui.x_fcol);*/ } - sys_vgui(".x%lx.c itemconfigure %lxBASE1 -fill #%6.6x\n", canvas, + sys_vgui("catch {.x%lx.c itemconfigure %lxBASE1 -fill #%6.6x };\n", canvas, x, x->x_gui.x_bcol); } @@ -439,14 +445,14 @@ static void my_numbox_draw_select(t_my_numbox *x, t_glist *glist) // if so, disable highlighting if (x->x_gui.x_glist == glist_getcanvas(glist)) { - sys_vgui(".x%lx.c itemconfigure %lxBASE1 -outline $select_color\n", - canvas, x); - sys_vgui(".x%lx.c itemconfigure %lxBASE2 -fill $select_color\n", - canvas, x); + sys_vgui("catch { .x%lx.c itemconfigure %lxBASE1 -outline $select_color };\n", + canvas, x); + sys_vgui("catch { .x%lx.c itemconfigure %lxBASE2 -fill $select_color };\n", + canvas, x); sys_vgui(".x%lx.c itemconfigure %lxLABEL -fill $select_color\n", - canvas, x); + canvas, x); sys_vgui(".x%lx.c itemconfigure %lxNUMBER -fill $select_color\n", - canvas, x); + canvas, x); if (x->x_gui.scale_vis) sys_vgui("destroy %s\n", sh->h_pathname); @@ -492,9 +498,9 @@ static void my_numbox_draw_select(t_my_numbox *x, t_glist *glist) else { sys_vgui(".x%lx.c dtag %lxNUM selected\n", canvas, x); - sys_vgui(".x%lx.c itemconfigure %lxBASE1 -outline #%6.6x\n", + sys_vgui("catch { .x%lx.c itemconfigure %lxBASE1 -outline #%6.6x };\n", canvas, x, IEM_GUI_COLOR_NORMAL); - sys_vgui(".x%lx.c itemconfigure %lxBASE2 -fill #%6.6x\n", + sys_vgui("catch {.x%lx.c itemconfigure %lxBASE2 -fill #%6.6x };\n", canvas, x, x->x_gui.x_fcol); sys_vgui(".x%lx.c itemconfigure %lxLABEL -fill #%6.6x\n", canvas, x, x->x_gui.x_lcol); @@ -769,7 +775,7 @@ static void my_numbox_save(t_gobj *z, t_binbuf *b) clock_unset(x->x_clock_reset); sys_queuegui(x, x->x_gui.x_glist, my_numbox_draw_update); } - binbuf_addv(b, "ssiisiiffiisssiiiiiiifi", gensym("#X"),gensym("obj"), + binbuf_addv(b, "ssiisiiffiisssiiiiiiifii", gensym("#X"),gensym("obj"), (int)x->x_gui.x_obj.te_xpix, (int)x->x_gui.x_obj.te_ypix, gensym("nbx"), x->x_gui.x_w, x->x_gui.x_h, (t_float)x->x_min, (t_float)x->x_max, @@ -778,7 +784,7 @@ static void my_numbox_save(t_gobj *z, t_binbuf *b) x->x_gui.x_ldx, x->x_gui.x_ldy, iem_fstyletoint(&x->x_gui.x_fsf), x->x_gui.x_fontsize, bflcol[0], bflcol[1], bflcol[2], - x->x_val, x->x_log_height); + x->x_val, x->x_log_height, x->x_hide_frame); binbuf_addv(b, ";"); } @@ -843,7 +849,7 @@ static void my_numbox_properties(t_gobj *z, t_glist *owner) %d %d \ %d %d %d\n", x->x_gui.x_w, 1, x->x_gui.x_h, 8, - x->x_min, x->x_max, 0,/*no_schedule*/ + x->x_min, x->x_max, x->x_hide_frame,/*EXCEPTION: x_hide_frame instead of schedule*/ x->x_lin0_log1, x->x_gui.x_isa.x_loadinit, -1, x->x_log_height, /*no multi, but iem-characteristic*/ srl[0]->s_name, srl[1]->s_name, @@ -865,6 +871,7 @@ static void my_numbox_dialog(t_my_numbox *x, t_symbol *s, int argc, t_atom *argv) { canvas_apply_setundo(x->x_gui.x_glist, (t_gobj *)x); + int need_to_redraw = 0; t_symbol *srl[3]; int w = (int)atom_getintarg(0, argc, argv); @@ -873,6 +880,10 @@ static void my_numbox_dialog(t_my_numbox *x, t_symbol *s, int argc, double max = (double)atom_getfloatarg(3, argc, argv); int lilo = (int)atom_getintarg(4, argc, argv); int log_height = (int)atom_getintarg(6, argc, argv); + if (argc > 17) { + x->x_hide_frame = (int)atom_getintarg(18, argc, argv); + need_to_redraw = 1; + } int sr_flags; if(lilo != 0) lilo = 1; @@ -891,10 +902,16 @@ static void my_numbox_dialog(t_my_numbox *x, t_symbol *s, int argc, /*if(my_numbox_check_minmax(x, min, max)) my_numbox_bang(x);*/ my_numbox_check_minmax(x, min, max); - (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE); - (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_IO + sr_flags); - (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_CONFIG); - (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_MOVE); + if (need_to_redraw) { + (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_ERASE); + (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_NEW); + } else { + (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE); + (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_IO + sr_flags); + (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_CONFIG); + (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_MOVE); + } + canvas_fixlinesfor(glist_getcanvas(x->x_gui.x_glist), (t_text*)x); /* forcing redraw of the scale handle */ @@ -981,6 +998,17 @@ static void my_numbox_log_height(t_my_numbox *x, t_floatarg lh) } +static void my_numbox_hide_frame(t_my_numbox *x, t_floatarg lh) +{ + if(lh < 0.0) + lh = 0.0; + if (lh > 3.0) + lh = 3.0; + x->x_hide_frame = (int)lh; + my_numbox_draw(x, x->x_gui.x_glist, 4); + my_numbox_draw(x, x->x_gui.x_glist, 2); +} + static void my_numbox_float(t_my_numbox *x, t_floatarg f) { my_numbox_set(x, f); @@ -1179,6 +1207,12 @@ static void *my_numbox_new(t_symbol *s, int argc, t_atom *argv) if((argc == 18)&&IS_A_FLOAT(argv,17)) { log_height = (int)atom_getintarg(17, argc, argv); + } + x->x_hide_frame = 0; // default behavior + if((argc == 19)&&IS_A_FLOAT(argv,18)) + { + fprintf(stderr,"blah %d\n", (int)atom_getintarg(18, argc, argv)); + x->x_hide_frame = (int)atom_getintarg(18, argc, argv); } x->x_gui.x_draw = (t_iemfunptr)my_numbox_draw; x->x_gui.x_fsf.x_snd_able = 1; @@ -1331,6 +1365,8 @@ void g_numbox_setup(void) gensym("init"), A_FLOAT, 0); class_addmethod(my_numbox_class, (t_method)my_numbox_log_height, gensym("log_height"), A_FLOAT, 0); + class_addmethod(my_numbox_class, (t_method)my_numbox_hide_frame, + gensym("hide_frame"), A_FLOAT, 0); my_numbox_widgetbehavior.w_getrectfn = my_numbox_getrect; my_numbox_widgetbehavior.w_displacefn = iemgui_displace; my_numbox_widgetbehavior.w_selectfn = iemgui_select; diff --git a/src/pd.tk b/src/pd.tk index d00aeaaf31e2de0e41a93cb9d358eefdb51ec670..5156a184ab6dcb0468f196cc8bbd2d70ea6f5c52 100644 --- a/src/pd.tk +++ b/src/pd.tk @@ -326,24 +326,24 @@ proc pdtk_enable_k12_mode {extra_dir} { set signal_cord_highlight "#474" set signal_cord "#2ca7d4" - image create photo i.connect -file $extra_dir/K12/buttons/connect-on.png - image create photo i.add -file $extra_dir/K12/buttons/add.png - image create photo i.buttons -file $extra_dir/K12/buttons/buttons.png - image create photo i.delay -file $extra_dir/K12/buttons/delay.png - image create photo i.filter -file $extra_dir/K12/buttons/filter.png - image create photo i.hit -file $extra_dir/K12/buttons/hit.png - image create photo i.mapper -file $extra_dir/K12/buttons/mapper.png - image create photo i.multiply -file $extra_dir/K12/buttons/multiply.png - image create photo i.output -file $extra_dir/K12/buttons/audio-on.png - image create photo i.pitch -file $extra_dir/K12/buttons/pitch.png - image create photo i.reverb -file $extra_dir/K12/buttons/reverb.png - image create photo i.short1 -file $extra_dir/K12/buttons/short1.png - image create photo i.short2 -file $extra_dir/K12/buttons/short2.png - image create photo i.sustained1 -file $extra_dir/K12/buttons/sustained1.png - image create photo i.sustained2 -file $extra_dir/K12/buttons/sustained2.png - image create photo i.speed -file $extra_dir/K12/buttons/speed.png - image create photo i.edit -file $extra_dir/K12/buttons/edit.png - image create photo i.perform -file $extra_dir/K12/buttons/perform.png + image create photo i.connect -file $extra_dir/K12/icons/connect-on.png + image create photo i.add -file $extra_dir/K12/icons/add.png + image create photo i.buttons -file $extra_dir/K12/icons/buttons.png + image create photo i.delay -file $extra_dir/K12/icons/delay.png + image create photo i.filter -file $extra_dir/K12/icons/filter.png + image create photo i.hit -file $extra_dir/K12/icons/hit.png + image create photo i.mapper -file $extra_dir/K12/icons/mapper.png + image create photo i.multiply -file $extra_dir/K12/icons/multiply.png + image create photo i.output -file $extra_dir/K12/icons/audio-on.png + image create photo i.pitch -file $extra_dir/K12/icons/pitch.png + image create photo i.reverb -file $extra_dir/K12/icons/reverb.png + image create photo i.short1 -file $extra_dir/K12/icons/short1.png + image create photo i.short2 -file $extra_dir/K12/icons/short2.png + image create photo i.sustained1 -file $extra_dir/K12/icons/sustained1.png + image create photo i.sustained2 -file $extra_dir/K12/icons/sustained2.png + image create photo i.speed -file $extra_dir/K12/icons/speed.png + image create photo i.edit -file $extra_dir/K12/icons/edit.png + image create photo i.perform -file $extra_dir/K12/icons/perform.png } # calculate offset on a movable canvas @@ -4384,6 +4384,32 @@ proc iemgui_lilo {id} { } } +proc iemgui_hide_frame {id} { + set vid [string trimleft $id .] + + set var_iemgui_hide [concat iemgui_hide_$vid] + global $var_iemgui_hide + + switch -- [eval concat $$var_iemgui_hide] { + 3 { + set $var_iemgui_hide 0 + $id.dim.h configure -text "normal" + } + 0 { + set $var_iemgui_hide 1 + $id.dim.h configure -text "frame" + } + 1 { + set $var_iemgui_hide 2 + $id.dim.h configure -text "arrow" + } + 2 { + set $var_iemgui_hide 3 + $id.dim.h configure -text "none" + } + } +} + proc iemgui_toggle_font {id gn_f} { set vid [string trimleft $id .] @@ -4458,6 +4484,8 @@ proc iemgui_apply {id} { global $var_iemgui_min_rng set var_iemgui_max_rng [concat iemgui_max_rng_$vid] global $var_iemgui_max_rng + set var_iemgui_rng_sch [concat iemgui_rng_sch_$vid] + global $var_iemgui_rng_sch set var_iemgui_lin0_log1 [concat iemgui_lin0_log1_$vid] global $var_iemgui_lin0_log1 set var_iemgui_lilo0 [concat iemgui_lilo0_$vid] @@ -4490,6 +4518,8 @@ proc iemgui_apply {id} { global $var_iemgui_fcol set var_iemgui_lcol [concat iemgui_lcol_$vid] global $var_iemgui_lcol + set var_iemgui_hide [concat iemgui_hide_$vid] + global $var_iemgui_hide iemgui_clip_dim $id iemgui_clip_num $id @@ -4520,25 +4550,26 @@ proc iemgui_apply {id} { if {[eval concat $$var_iemgui_gn_dy] eq ""} {set $var_iemgui_gn_dy 0} pd [concat $id dialog \ - [eval concat $$var_iemgui_wdt] \ - [eval concat $$var_iemgui_hgt] \ - [eval concat $$var_iemgui_min_rng] \ - [eval concat $$var_iemgui_max_rng] \ - [eval concat $$var_iemgui_lin0_log1] \ - [eval concat $$var_iemgui_loadbang] \ - [eval concat $$var_iemgui_num] \ - $hhhsnd \ - $hhhrcv \ - $hhhgui_nam \ - [eval concat $$var_iemgui_gn_dx] \ - [eval concat $$var_iemgui_gn_dy] \ - [eval concat $$var_iemgui_gn_f] \ - [eval concat $$var_iemgui_gn_fs] \ - [eval concat $$var_iemgui_bcol] \ - [eval concat $$var_iemgui_fcol] \ - [eval concat $$var_iemgui_lcol] \ - [eval concat $$var_iemgui_steady] \ - \;] + [eval concat $$var_iemgui_wdt] \ + [eval concat $$var_iemgui_hgt] \ + [eval concat $$var_iemgui_min_rng] \ + [eval concat $$var_iemgui_max_rng] \ + [eval concat $$var_iemgui_lin0_log1] \ + [eval concat $$var_iemgui_loadbang] \ + [eval concat $$var_iemgui_num] \ + $hhhsnd \ + $hhhrcv \ + $hhhgui_nam \ + [eval concat $$var_iemgui_gn_dx] \ + [eval concat $$var_iemgui_gn_dy] \ + [eval concat $$var_iemgui_gn_f] \ + [eval concat $$var_iemgui_gn_fs] \ + [eval concat $$var_iemgui_bcol] \ + [eval concat $$var_iemgui_fcol] \ + [eval concat $$var_iemgui_lcol] \ + [eval concat $$var_iemgui_steady] \ + [eval concat $$var_iemgui_hide] \ + \;] } proc iemgui_cancel {id} { @@ -4618,6 +4649,8 @@ proc pdtk_iemgui_dialog {id mainheader \ global $var_iemgui_fcol set var_iemgui_lcol [concat iemgui_lcol_$vid] global $var_iemgui_lcol + set var_iemgui_hide [concat iemgui_hide_$vid] + global $var_iemgui_hide set $var_iemgui_wdt $wdt set $var_iemgui_min_wdt $min_wdt @@ -4625,7 +4658,13 @@ proc pdtk_iemgui_dialog {id mainheader \ set $var_iemgui_min_hgt $min_hgt set $var_iemgui_min_rng $min_rng set $var_iemgui_max_rng $max_rng - set $var_iemgui_rng_sch $rng_sched + if ([string compare "|nbx|" $mainheader]) { + set $var_iemgui_hide 0 + set $var_iemgui_rng_sch $rng_sched + } else { + set $var_iemgui_hide $rng_sched + set $var_iemgui_rng_sch 0 + } set $var_iemgui_lin0_log1 $lin0_log1 set $var_iemgui_lilo0 $lilo0_label set $var_iemgui_lilo1 $lilo1_label @@ -4671,11 +4710,30 @@ proc pdtk_iemgui_dialog {id mainheader \ match_linux_wm [list label $id.dim.head -text $dim_header] match_linux_wm [list label $id.dim.w_lab -text $wdt_label -width 6] match_linux_wm [list entry $id.dim.w_ent -textvariable $var_iemgui_wdt -width 5] - match_linux_wm [list label $id.dim.dummy1 -text " " -width 10] match_linux_wm [list label $id.dim.h_lab -text $hgt_label -width 6] match_linux_wm [list entry $id.dim.h_ent -textvariable $var_iemgui_hgt -width 5] pack $id.dim.head -side top - pack $id.dim.w_lab $id.dim.w_ent $id.dim.dummy1 -side left + if (![string compare "|nbx|" $mainheader]) { + if {[eval concat $$var_iemgui_hide] == 0} { + match_linux_wm [list button $id.dim.h -text {normal} -width 7 -command "iemgui_hide_frame $id"] + } + if {[eval concat $$var_iemgui_hide] == 1} { + match_linux_wm [list button $id.dim.h -text {frame} -width 7 -command "iemgui_hide_frame $id"] + } + if {[eval concat $$var_iemgui_hide] == 2} { + match_linux_wm [list button $id.dim.h -text {arrow} -width 7 -command "iemgui_hide_frame $id"] + } + if {[eval concat $$var_iemgui_hide] == 3} { + match_linux_wm [list button $id.dim.h -text {none} -width 7 -command "iemgui_hide_frame $id"] + } + match_linux_wm [list label $id.dim.dummy1 -text " " -width 1] + match_linux_wm [list label $id.dim.dummy2 -text " " -width 1] + puts stderr [eval concat $$var_iemgui_hide] + pack $id.dim.w_lab $id.dim.w_ent $id.dim.dummy1 $id.dim.h $id.dim.dummy2 -side left + } else { + match_linux_wm [list label $id.dim.dummy1 -text " " -width 10] + pack $id.dim.w_lab $id.dim.w_ent $id.dim.dummy1 -side left + } if { $hgt_label != "empty" } { pack $id.dim.h_lab $id.dim.h_ent -side left}