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=cfafd086977f0c5c1a057eb6a7a1f015bd9d55eb;hb=4d7de73877bb6df5377026bb34702ab3c1e7fcc8;hpb=bd592378521fcc14bf9b1b201485293efe5b7ddf
diff --git a/scilab/modules/scicos_blocks/macros/Sources/tkscaleblk.sci b/scilab/modules/scicos_blocks/macros/Sources/tkscaleblk.sci
index cfafd086..8a27d79 100644
--- a/scilab/modules/scicos_blocks/macros/Sources/tkscaleblk.sci
+++ b/scilab/modules/scicos_blocks/macros/Sources/tkscaleblk.sci
@@ -20,65 +20,90 @@
//
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(2) ;..
- mean([bounds(2) initial]) ;..
- initial ;..
- mean([bounds(1) initial]) ;..
- bounds(1)]);
- 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