diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/ChannelChooserView.js b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/ChannelChooserView.js
index 5b9c038f91ea3000371eb92b28a10502d96c620b..46bc65b799592dbfd5a5ba8f9c8f23a07857eb0e 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/ChannelChooserView.js
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/ChannelChooserView.js
@@ -72,10 +72,12 @@ define([ "jquery", "components/imageviewer/AbstractView" ], function($, Abstract
 			var thisView = this;
 			var widget = $("<div>").addClass("mergedChannelsWidget").addClass("form-group");
 
-			var checkboxes = $("<div>").appendTo(widget);
+			var table = $("<table>").appendTo(widget);
+			var row = $("<tr>").appendTo(table);
 
 			this.controller.getChannels().forEach(function(channel) {
-				var checkbox = $("<label>").addClass("checkbox-inline").appendTo(checkboxes);
+				var cell = $("<td>").appendTo(row);
+				var checkbox = $("<label>").addClass("checkbox-inline").appendTo(cell);
 				$("<input>").attr("type", "checkbox").attr("value", channel.code).appendTo(checkbox);
 				checkbox.append(channel.label);
 			});
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/ChannelStackMatrixChooserView.js b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/ChannelStackMatrixChooserView.js
index ad3441cb7de3b4d5fae0189d9c00ca06b73dc11b..ec1537141c3d5b03cef03f594b511acde81aa836 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/ChannelStackMatrixChooserView.js
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/ChannelStackMatrixChooserView.js
@@ -1,4 +1,5 @@
-define([ "jquery", "bootstrap", "bootstrap-slider", "components/imageviewer/AbstractView" ], function($, bootstrap, bootstrapSlider, AbstractView) {
+define([ "jquery", "bootstrap", "bootstrap-slider", "components/imageviewer/AbstractView", "components/imageviewer/FormFieldWidget" ], function($,
+		bootstrap, bootstrapSlider, AbstractView, FormFieldWidget) {
 
 	//
 	// CHANNEL STACK MATRIX CHOOSER VIEW
@@ -30,68 +31,71 @@ define([ "jquery", "bootstrap", "bootstrap-slider", "components/imageviewer/Abst
 
 		refresh : function() {
 			var time = this.controller.getSelectedTimePoint();
-			var timeWidget = this.panel.find(".timePointWidget");
-			var timeLabel = this.panel.find(".timePointWidget label");
-			var timeInput = this.panel.find(".timePointWidget input");
-			var timeToggle = this.panel.find(".timePointWidget a")
+			var timeField = this.panel.find(".timePointWidget").data("formField");
 
 			if (time != null) {
 				var timeCount = this.controller.getTimePoints().length;
 				var timeIndex = this.controller.getTimePoints().indexOf(time);
 
-				timeLabel.text("Time: " + time + " sec (" + (timeIndex + 1) + "/" + timeCount + ")");
-				timeToggle.text(this.controller.getTimePointButtonsWidget().isVisible() ? "Hide Buttons" : "Show Buttons");
-				timeInput.slider("setValue", time);
+				timeField.setLabel("Time: " + time + " sec (" + (timeIndex + 1) + "/" + timeCount + ")");
+				timeField.getWidget().slider("setValue", time);
+
+				var timeToggle = timeField.getButton("toggle");
+				timeToggle.text = this.controller.getTimePointButtonsWidget().isVisible() ? "Hide Buttons" : "Show Buttons";
+				timeField.setButton(timeToggle);
 
 				if (timeCount <= 1) {
-					timeWidget.addClass("disabled");
-					timeInput.slider("disable");
+					timeField.setEnabled(false);
+					timeField.getWidget().slider("disable");
 				} else {
-					timeWidget.removeClass("disabled");
-					timeInput.slider("enable");
+					timeField.setEnabled(true);
+					timeField.getWidget().slider("enable");
 				}
 			}
 
 			var depth = this.controller.getSelectedDepth();
-			var depthWidget = this.panel.find(".depthWidget");
-			var depthLabel = this.panel.find(".depthWidget label");
-			var depthInput = this.panel.find(".depthWidget input");
-			var depthToggle = this.panel.find(".depthWidget a");
+			var depthField = this.panel.find(".depthWidget").data("formField");
 
 			if (depth != null) {
 				var depthCount = this.controller.getDepths().length;
 				var depthIndex = this.controller.getDepths().indexOf(depth);
 
-				depthLabel.text("Depth: " + depth + " (" + (depthIndex + 1) + "/" + depthCount + ")");
-				depthToggle.text(this.controller.getDepthButtonsWidget().isVisible() ? "Hide Buttons" : "Show Buttons");
-				depthInput.slider("setValue", depthIndex);
+				depthField.setLabel("Depth: " + depth + " (" + (depthIndex + 1) + "/" + depthCount + ")");
+				depthField.getWidget().slider("setValue", depthIndex);
+
+				var depthToggle = depthField.getButton("toggle");
+				depthToggle.text = this.controller.getDepthButtonsWidget().isVisible() ? "Hide Buttons" : "Show Buttons";
+				depthField.setButton(depthToggle);
 
 				if (depthCount <= 1) {
-					depthWidget.addClass("disabled");
-					depthInput.slider("disable");
+					depthField.setEnabled(false);
+					depthField.getWidget().slider("disable");
 				} else {
-					depthWidget.removeClass("disabled");
-					depthInput.slider("enable");
+					depthField.setEnabled(true);
+					depthField.getWidget().slider("enable");
 				}
 			}
 		},
 
 		createTimePointWidget : function() {
 			var thisView = this;
-			var widget = $("<div>").addClass("timePointWidget").addClass("form-group");
-
-			var label = $("<label>").attr("for", "timePointInput");
-			var input = $("<input>").attr("id", "timePointInput").attr("type", "text").addClass("form-control");
 
-			var labelContainer = $("<div>").addClass("labelContainer").append(label).appendTo(widget);
-			var inputContainer = $("<div>").addClass("inputContainer").append(input).appendTo(widget);
-
-			$("<a>").click(function() {
-				if (thisView.controller.getTimePoints().length > 1) {
-					var buttonsWidget = thisView.controller.getTimePointButtonsWidget();
-					buttonsWidget.setVisible(!buttonsWidget.isVisible());
+			var input = $("<input>").attr("type", "text").addClass("form-control");
+			var formField = new FormFieldWidget();
+			formField.setWidget(input);
+			formField.setButton({
+				"name" : "toggle",
+				"action" : function() {
+					if (thisView.controller.getTimePoints().length > 1) {
+						var buttonsWidget = thisView.controller.getTimePointButtonsWidget();
+						buttonsWidget.setVisible(!buttonsWidget.isVisible());
+					}
 				}
-			}).appendTo(labelContainer)
+			});
+
+			var widget = $("<div>").addClass("timePointWidget").addClass("form-group");
+			widget.data("formField", formField);
+			widget.append(formField.render());
 
 			input.slider({
 				"min" : 0,
@@ -111,20 +115,23 @@ define([ "jquery", "bootstrap", "bootstrap-slider", "components/imageviewer/Abst
 
 		createDepthWidget : function() {
 			var thisView = this;
-			var widget = $("<div>").addClass("depthWidget").addClass("form-group");
-
-			var label = $("<label>").attr("for", "depthInput");
-			var input = $("<input>").attr("id", "depthInput").attr("type", "text").addClass("form-control");
-
-			var labelContainer = $("<div>").addClass("labelContainer").append(label).appendTo(widget);
-			var inputContainer = $("<div>").addClass("inputContainer").append(input).appendTo(widget);
 
-			$("<a>").click(function() {
-				if (thisView.controller.getDepths().length > 1) {
-					var buttonsWidget = thisView.controller.getDepthButtonsWidget();
-					buttonsWidget.setVisible(!buttonsWidget.isVisible());
+			var input = $("<input>").attr("type", "text").addClass("form-control");
+			var formField = new FormFieldWidget();
+			formField.setWidget(input);
+			formField.setButton({
+				"name" : "toggle",
+				"action" : function() {
+					if (thisView.controller.getDepths().length > 1) {
+						var buttonsWidget = thisView.controller.getDepthButtonsWidget();
+						buttonsWidget.setVisible(!buttonsWidget.isVisible());
+					}
 				}
-			}).appendTo(labelContainer)
+			});
+
+			var widget = $("<div>").addClass("depthWidget").addClass("form-group");
+			widget.data("formField", formField);
+			widget.append(formField.render());
 
 			input.slider({
 				"min" : 0,
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/ChannelStackSeriesChooserView.js b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/ChannelStackSeriesChooserView.js
index 0d53a090350c7b957dcc397af71456c6b79d3758..e999e558501250a0ab473451cc9dee65867140d3 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/ChannelStackSeriesChooserView.js
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/ChannelStackSeriesChooserView.js
@@ -1,4 +1,5 @@
-define([ "jquery", "bootstrap", "bootstrap-slider", "components/imageviewer/AbstractView" ], function($, bootstrap, bootstrapSlider, AbstractView) {
+define([ "jquery", "bootstrap", "bootstrap-slider", "components/imageviewer/AbstractView", "components/imageviewer/FormFieldWidget" ], function($,
+		bootstrap, bootstrapSlider, AbstractView, FormFieldWidget) {
 
 	//
 	// CHANNEL STACK SERIES CHOOSER VIEW
@@ -33,51 +34,52 @@ define([ "jquery", "bootstrap", "bootstrap-slider", "components/imageviewer/Abst
 				var count = this.controller.getChannelStacks().length;
 				var index = this.controller.getChannelStackIndex(channelStackId);
 				var channelStack = this.controller.getChannelStacks()[index];
+				var formField = this.panel.find(".sliderWidget").data("formField");
 
-				var sliderWidget = this.panel.find(".sliderWidget");
-
-				var sliderLabel = this.panel.find(".sliderWidget label");
-				var labelText = "Series: " + channelStack.seriesNumberOrNull;
+				var label = "Series: " + channelStack.seriesNumberOrNull;
 				if (channelStack.timePointOrNull != null) {
-					labelText += ", Time: " + channelStack.timePointOrNull + " sec";
+					label += ", Time: " + channelStack.timePointOrNull + " sec";
 				}
 				if (channelStack.depthOrNull != null) {
-					labelText += ", Depth: " + channelStack.depthOrNull;
+					label += ", Depth: " + channelStack.depthOrNull;
 				}
-				sliderLabel.text(labelText);
 
-				var sliderInput = this.panel.find(".sliderWidget input");
-				sliderInput.slider("setValue", index);
+				formField.setLabel(label);
+				formField.getWidget().slider("setValue", index);
 
-				var toggle = this.panel.find(".sliderWidget a");
-				toggle.text(this.controller.getChannelStackButtonsWidget().isVisible() ? "Hide Buttons" : "Show Buttons");
+				var toggle = formField.getButton("toggle");
+				toggle.text = this.controller.getChannelStackButtonsWidget().isVisible() ? "Hide Buttons" : "Show Buttons";
+				formField.setButton(toggle);
 
 				if (count <= 1) {
-					sliderWidget.addClass("disabled");
-					sliderInput.slider("disable");
+					formField.setEnabled(false);
+					formField.getWidget().slider("disable");
 				} else {
-					sliderWidget.removeClass("disabled");
-					sliderInput.slider("enable");
+					formField.setEnabled(true);
+					formField.getWidget().slider("enable");
 				}
 			}
 		},
 
 		createSliderWidget : function() {
 			var thisView = this;
-			var widget = $("<div>").addClass("sliderWidget").addClass("form-group");
-
-			var label = $("<label>").attr("for", "sliderInput").appendTo(widget);
-			var input = $("<input>").attr("id", "sliderInput").attr("type", "text").addClass("form-control");
-
-			var labelContainer = $("<div>").addClass("labelContainer").append(label).appendTo(widget);
-			var inputContainer = $("<div>").addClass("inputContainer").append(input).appendTo(widget);
 
-			$("<a>").click(function() {
-				if (thisView.controller.getChannelStacks().length > 1) {
-					var buttonsWidget = thisView.controller.getChannelStackButtonsWidget();
-					buttonsWidget.setVisible(!buttonsWidget.isVisible());
+			var input = $("<input>").attr("type", "text").addClass("form-control");
+			var formField = new FormFieldWidget();
+			formField.setWidget(input);
+			formField.setButton({
+				"name" : "toggle",
+				"action" : function() {
+					if (thisView.controller.getChannelStacks().length > 1) {
+						var buttonsWidget = thisView.controller.getChannelStackButtonsWidget();
+						buttonsWidget.setVisible(!buttonsWidget.isVisible());
+					}
 				}
-			}).appendTo(labelContainer)
+			});
+
+			var widget = $("<div>").addClass("sliderWidget").addClass("form-group");
+			widget.data("formField", formField);
+			widget.append(formField.render());
 
 			input.slider({
 				"min" : 0,
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/FormFieldView.js b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/FormFieldView.js
new file mode 100644
index 0000000000000000000000000000000000000000..830dba2d61ecbe5cdef00c4b95e9efca00bb8eb5
--- /dev/null
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/FormFieldView.js
@@ -0,0 +1,87 @@
+define([ "jquery", "components/imageviewer/AbstractView" ], function($, AbstractView) {
+
+	//
+	// FORM FIELD VIEW
+	//
+
+	function FormFieldView(controller) {
+		this.init(controller);
+	}
+
+	$.extend(FormFieldView.prototype, AbstractView.prototype, {
+
+		init : function(controller) {
+			AbstractView.prototype.init.call(this, controller);
+			this.panel = $("<div>").addClass("formFieldWidget").addClass("form-group");
+		},
+
+		render : function() {
+			var table = $("<table>").addClass("mainTable").appendTo(this.panel);
+			var row = $("<tr>").appendTo(table);
+
+			var labelContainer = $("<td>").addClass("labelContainer").appendTo(row);
+			var buttonsContainer = $("<td>").addClass("buttonsContainer").appendTo(row);
+			var widgetContainer = $("<div>").addClass("widgetContainer").appendTo(this.panel);
+
+			this.refresh();
+
+			return this.panel;
+		},
+
+		refresh : function() {
+			if (this.controller.isEnabled()) {
+				this.panel.removeClass("disbaled");
+			} else {
+				this.panel.addClass("disabled");
+			}
+
+			var labelContainer = this.panel.find(".labelContainer");
+			var buttonsContainer = this.panel.find(".buttonsContainer");
+			var widgetContainer = this.panel.find(".widgetContainer");
+
+			this.renderOrRefreshLabel(labelContainer);
+			this.renderOrRefreshButtons(buttonsContainer);
+			this.renderOrRefreshWidget(widgetContainer);
+		},
+
+		renderOrRefreshLabel : function(container) {
+			var label = this.controller.getLabel();
+
+			if (this.currentLabel == undefined || this.currentLabel != label) {
+				container.empty().append($("<label>").text(label));
+				this.currentLabel = label;
+			}
+		},
+
+		renderOrRefreshButtons : function(container) {
+			container.empty().append(this.renderButtons());
+		},
+
+		renderButtons : function() {
+			var table = $("<table>");
+			var row = $("<tr>").appendTo(table);
+
+			var map = this.controller.getButtonsMap();
+			for (name in map) {
+				var button = map[name];
+				var cell = $("<td>").appendTo(row);
+				$("<a>").text(button.text).click(button.action).appendTo(cell);
+			}
+
+			return table;
+		},
+
+		renderOrRefreshWidget : function(container) {
+			var widget = this.controller.getWidget();
+
+			if (this.currentWidget == undefined || this.currentWidget != widget) {
+				container.empty().append(widget);
+				this.currentWidget = widget;
+			}
+		}
+
+	});
+
+	return FormFieldView;
+
+});
\ No newline at end of file
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/FormFieldWidget.js b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/FormFieldWidget.js
new file mode 100644
index 0000000000000000000000000000000000000000..4601929a3db1c01286365becbe70d73e01c7b5aa
--- /dev/null
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/FormFieldWidget.js
@@ -0,0 +1,104 @@
+define([ "jquery", "components/imageviewer/AbstractWidget", "components/imageviewer/FormFieldView" ], function($, AbstractWidget, FormFieldView) {
+
+	//
+	// FORM FIELD WIDGET
+	//
+
+	function FormFieldWidget() {
+		this.init();
+	}
+
+	$.extend(FormFieldWidget.prototype, AbstractWidget.prototype, {
+
+		init : function() {
+			AbstractWidget.prototype.init.call(this, new FormFieldView(this));
+		},
+
+		setLabel : function(label) {
+			if (this.getLabel() != label) {
+				this.label = label;
+				this.refresh();
+			}
+		},
+
+		getLabel : function() {
+			if (this.label) {
+				return this.label;
+			} else {
+				return null;
+			}
+		},
+
+		setButton : function(button) {
+			var existingButton = this.getButton(button.name);
+
+			if (existingButton) {
+				if (existingButton.text != button.text) {
+					existingButton.text = button.text;
+					changed = true;
+				}
+				if (existingButton.action != button.action) {
+					existingButton.action = button.action;
+					changed = true;
+				}
+			} else {
+				this.getButtonsMap()[button.name] = button;
+				changed = true;
+			}
+
+			if (changed) {
+				this.refresh();
+			}
+		},
+
+		getButton : function(name) {
+			var button = this.getButtonsMap()[name];
+			if (button) {
+				return button;
+			} else {
+				return null;
+			}
+		},
+
+		getButtonsMap : function() {
+			if (!this.buttonsMap) {
+				this.buttonsMap = {};
+			}
+			return this.buttonsMap;
+		},
+
+		setWidget : function(widget) {
+			if (this.getWidget() != widget) {
+				this.widget = widget;
+				this.refresh();
+			}
+		},
+
+		getWidget : function() {
+			if (this.widget) {
+				return this.widget;
+			} else {
+				return null;
+			}
+		},
+
+		setEnabled : function(enabled) {
+			if (this.isEnabled() != enabled) {
+				this.enabled = enabled;
+				this.refresh();
+			}
+		},
+
+		isEnabled : function() {
+			if (this.enabled != undefined) {
+				return this.enabled;
+			} else {
+				return true;
+			}
+		}
+
+	});
+
+	return FormFieldWidget;
+
+});
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/TransformationChooserView.js b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/TransformationChooserView.js
index 292d86fa078571994e1a0f17ff395a1509920d94..6dbf326701df44ec3f6dd655ba69bdfd5a7236d7 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/TransformationChooserView.js
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/TransformationChooserView.js
@@ -1,4 +1,4 @@
-define([ "jquery", "components/imageviewer/AbstractView" ], function($, AbstractView) {
+define([ "jquery", "components/imageviewer/AbstractView", "components/imageviewer/FormFieldWidget" ], function($, AbstractView, FormFieldWidget) {
 
 	//
 	// TRANSFORMATION CHOOSER VIEW
@@ -124,15 +124,46 @@ define([ "jquery", "components/imageviewer/AbstractView" ], function($, Abstract
 
 		renderChannelParameters : function(channel, parameters) {
 			var thisView = this;
-			var widget = $("<div>").addClass("transformationParameter").addClass("form-group");
 
 			var channelObject = this.controller.getChannelsMap()[channel];
+			var input = $("<input>").attr("type", "text").addClass("form-control");
+
+			var formField = new FormFieldWidget();
+			formField.setWidget(input);
+			formField.setLabel(channelObject.label + " (" + parameters.blackpoint + ", " + parameters.whitepoint + ")");
+			formField.setButton({
+				"name" : "rescale",
+				"text" : "Rescale",
+				"action" : function() {
+					var value = input.slider("getValue");
+
+					thisView.controller.setUserDefinedTransformationParameters(channel, {
+						"min" : value[0],
+						"max" : value[1],
+						"blackpoint" : value[0],
+						"whitepoint" : value[1]
+					});
+				}
+			});
+			formField.setButton({
+				"name" : "reset",
+				"text" : "Reset",
+				"action" : function() {
+					var value = input.slider("getValue");
+
+					thisView.controller.setUserDefinedTransformationParameters(channel, {
+						"min" : 0,
+						"max" : 65535,
+						"blackpoint" : 0,
+						"whitepoint" : 65535,
+					});
+				}
+			});
 
-			var label = $("<label>").text(channelObject.label + " (" + parameters.blackpoint + ", " + parameters.whitepoint + ")");
-			var input = $("<input>").attr("type", "text").attr("channel", channel).addClass("form-control");
-
-			var labelContainer = $("<div>").addClass("labelContainer").append(label).appendTo(widget);
-			var inputContainer = $("<div>").addClass("inputContainer").append(input).appendTo(widget);
+			var widget = $("<div>").addClass("transformationParameter").addClass("form-group");
+			widget.data("channel", channel);
+			widget.data("formField", formField);
+			widget.append(formField.render());
 
 			input.slider({
 				"min" : parameters.min,
@@ -151,28 +182,6 @@ define([ "jquery", "components/imageviewer/AbstractView" ], function($, Abstract
 				});
 			});
 
-			var reset = $("<a>").text("Reset").click(function() {
-				var value = input.slider("getValue");
-
-				thisView.controller.setUserDefinedTransformationParameters(channel, {
-					"min" : 0,
-					"max" : 65535,
-					"blackpoint" : 0,
-					"whitepoint" : 65535,
-				});
-			}).appendTo(labelContainer);
-
-			var rescale = $("<a>").text("Rescale").click(function() {
-				var value = input.slider("getValue");
-
-				thisView.controller.setUserDefinedTransformationParameters(channel, {
-					"min" : value[0],
-					"max" : value[1],
-					"blackpoint" : value[0],
-					"whitepoint" : value[1],
-				});
-			}).appendTo(labelContainer);
-
 			return widget;
 		},
 
@@ -180,15 +189,14 @@ define([ "jquery", "components/imageviewer/AbstractView" ], function($, Abstract
 			var thisView = this;
 
 			this.panel.find(".transformationParameter").each(function() {
-				var label = $(this).find("label");
-				var input = $(this).find("input");
-
-				var channel = input.attr("channel");
+				var widget = $(this);
+				var channel = widget.data("channel");
 				var channelObject = thisView.controller.getChannelsMap()[channel];
 				var channelParameters = thisView.controller.getUserDefinedTransformationParameters(channel);
 
-				label.text(channelObject.label + " (" + channelParameters.blackpoint + ", " + channelParameters.whitepoint + ")");
-				input.slider("setValue", [ channelParameters.blackpoint, channelParameters.whitepoint ]);
+				var formField = $(this).data("formField");
+				formField.setLabel(channelObject.label + " (" + channelParameters.blackpoint + ", " + channelParameters.whitepoint + ")");
+				formField.getWidget().slider("setValue", [ channelParameters.blackpoint, channelParameters.whitepoint ]);
 			});
 		}
 
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/css/image-viewer.css b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/css/image-viewer.css
index c7740b807e9f43ba3aec1b586bc5de792b9fcaae..11cc2a45c88564d4d18e02bf00d4e3bbd2062de9 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/css/image-viewer.css
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/resources/components/imageviewer/css/image-viewer.css
@@ -1,39 +1,59 @@
 .imageViewer .formPanel {
-	min-width: 250px;
+	
 }
 
 .imageViewer .imagePanel {
 	margin-top: 25px;
 }
 
+.imageViewer .imageWidget {
+	margin-left: 30px;
+}
+
 .imageViewer .formCell,.imageViewer .imageCell {
 	vertical-align: top;
 }
 
+.imageViewer .formFieldWidget .mainTable {
+	width: 100%;
+}
+
+.imageViewer .labelContainer,.imageViewer .buttonsContainer {
+	white-space: nowrap;
+}
+
 .imageViewer .labelContainer label {
 	margin-right: 10px;
 }
 
-.imageViewer .labelContainer a {
+.imageViewer .buttonsContainer a {
 	color: #285e8e;
 	padding: 0px 10px;
 	cursor: pointer;
 	float: right;
 }
 
-.imageViewer .labelContainer a:hover {
+.imageViewer .buttonsContainer table {
+	float: right;
+}
+
+.imageViewer .buttonsContainer a:hover {
 	text-decoration: underline;
 }
 
-.imageViewer .disabled .labelContainer a {
+.imageViewer .disabled .buttonsContainer a {
 	color: gray;
 	cursor: auto;
 }
 
-.imageViewer .disabled .labelContainer a:hover {
+.imageViewer .disabled .buttonsContainer a:hover {
 	text-decoration: none;
 }
 
+.imageViewer .mergedChannelsWidget label {
+	margin-right: 10px;
+}
+
 .imageViewer .slider.slider-horizontal {
 	width: 100%;
 }
@@ -70,8 +90,4 @@
 
 .imageViewer .transformationParameter label {
 	font-weight: normal;
-}
-
-.imageViewer .imageWidget {
-	margin-left: 30px;
 }
\ No newline at end of file