X-Git-Url: http://gitweb.scilab.org/?p=scilab.git;a=blobdiff_plain;f=scilab%2Fmodules%2Fscicos_blocks%2Fmacros%2FSources%2Ftkscaleblk.sci;h=8a27d79cc15684d3a553749aa618d544d664478e;hp=c5a295daf23161dafa31ca3317c12921918f83cc;hb=4d7de73877bb6df5377026bb34702ab3c1e7fcc8;hpb=42fb9732dfb535ea7a66d015a1ee3aff365f6d58 diff --git a/scilab/modules/scicos_blocks/macros/Sources/tkscaleblk.sci b/scilab/modules/scicos_blocks/macros/Sources/tkscaleblk.sci index c5a295d..8a27d79 100644 --- a/scilab/modules/scicos_blocks/macros/Sources/tkscaleblk.sci +++ b/scilab/modules/scicos_blocks/macros/Sources/tkscaleblk.sci @@ -14,71 +14,96 @@ // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software -// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // // See the file ../license.txt // function block=tkscaleblk(block,flag) - if flag == 1 then - // Output update - slider = findobj("Tag", block.label + "#slider"); - if slider <> [] then - // calculate real value - value = (block.rpar(1) + block.rpar(2) - slider.value) / block.rpar(3); - - w = slider.parent; - if w <> [] then - w.info_message = string(value); - end + if flag == 1 then + // Output update + slider = get(block.uid + "#slider"); - block.outptr(1) = value; - end - elseif flag == 4 then - // Initialization + if slider <> [] then + // calculate real value + value = (block.rpar(1) + block.rpar(2) + get(slider,"value")) / block.rpar(3); - // if already exists (stopped) then reuse - f = findobj("Tag", block.label); - if f <> [] then - return; - end + w = get(block.uid); + if w <> [] then + set(w, "info_message", string(value)); + end + + block.outptr(1) = value; + end + elseif flag == 4 then + // Initialization + + // if already exists (stopped) then reuse + f = get(block.uid); + if f <> [] then + return; + end + + f = figure("Figure_name", "TK Source: " + block.label, ... + "dockable", "off", ... + "infobar_visible" , "on", ... + "toolbar", "none", ... + "menubar_visible", "off", ... + "menubar", "none", ... + "backgroundcolor", [1 1 1], ... + "default_axes", "off", ... + "figure_size", [180 350], ... + "layout", "border", ... + "figure_position", [40 40], ... + "Tag", block.uid); + + frame_slider = uicontrol(f, ... + "style", "frame", ... + "constraints", createConstraints("border", "left", [180, 0]), ... + "border", createBorder("line", "lightGray", 1), ... + "backgroundcolor", [1 1 1], ... + "layout", "gridbag"); + + // slider + bounds = block.rpar(1:2); + initial = mean(bounds); + uicontrol(frame_slider, ... + "Style", "slider", ... + "Tag", block.uid + "#slider", ... + "Min", bounds(1), ... + "Max", bounds(2), ... + "Value", initial, ... + "Position", [0 0 10 20], ... + "SliderStep", [block.rpar(3) 2*block.rpar(3)]); - f = figure("Tag", block.label, "Figure_name", "TK Source: " + block.label); + frame_label = uicontrol(frame_slider, ... + "style", "frame", ... + "constraints", createConstraints("border", "right"), ... + "backgroundcolor", [1 1 1], ... + "layout", "gridbag"); - // delete standard menus - delmenu(f.figure_id, gettext("&File")); - delmenu(f.figure_id, gettext("&Tools")); - delmenu(f.figure_id, gettext("&Edit")); - delmenu(f.figure_id, gettext("&?")); - toolbar(f.figure_id, "off"); + // labels + labels = string([bounds(2) ; ... + mean([bounds(2) initial]) ; ... + initial ; ... + mean([bounds(1) initial]) ; ... + bounds(1)]); + labels = "" + strcat(labels, "


") + ""; - f.position = [0 0 80 200]; + uicontrol(frame_label, ... + "Style", "text", ... + "String", labels(1), ... + "FontWeight", "bold", ... + "backgroundcolor", [1 1 1]); - // slider - bounds = block.rpar(1:2); - initial = mean(bounds); - uicontrol(f, "Style", "slider", "Tag", block.label + "#slider", .. - "Min", bounds(1), "Max", bounds(2), "Value", initial, .. - "Position", [0 0 20 200], "SliderStep", [block.rpar(3) 2*block.rpar(3)]); - - // labels - labels = string([bounds(1) ;.. - mean([bounds(1) initial]) ;.. - initial ;.. - mean([bounds(2) initial]) ;.. - bounds(2)]); - labels = strcat(labels, "


"); - uicontrol(f, "Style", "text", "String", labels(1), .. - "Position", [30 0 50 200]); - - // update default value - block.outptr(1) = initial / block.rpar(3); - elseif flag == 5 then - // Ending - f = findobj("Tag", block.label); - if f <> [] then - close(f); + // update default value + block.outptr(1) = initial / block.rpar(3); + elseif flag == 5 then + // Ending + f = get(block.uid); + if f <> [] then + close(f); + end end - end endfunction