/**
* Copyright 2008-2016 Qualogy Solutions B.V.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.qualogy.qafe.mgwt.client.ui.renderer;
import com.google.gwt.user.client.ui.UIObject;
import com.qualogy.qafe.mgwt.client.activities.AbstractActivity;
import com.qualogy.qafe.mgwt.client.ui.component.QTextArea;
import com.qualogy.qafe.mgwt.client.vo.ui.ComponentGVO;
import com.qualogy.qafe.mgwt.client.vo.ui.TextAreaGVO;
public class TextAreaRenderer extends AnyTextFieldRenderer {
public UIObject render(ComponentGVO component, String owner, String uuid, String parent, String context, AbstractActivity activity) {
UIObject widget = null;
if (component instanceof TextAreaGVO) {
TextAreaGVO textAreaGVO = (TextAreaGVO)component;
QTextArea textArea = new QTextArea(textAreaGVO.getDisplayname());
init(textAreaGVO, textArea, owner, uuid, parent, context, activity);
widget = textArea;
}
registerComponent(component, widget, owner, parent, context);
return widget;
}
// public UIObject render(ComponentGVO component, String uuid, String parent, String context) {
// Widget uiObject = null;
// if (component != null) {
// if (component instanceof TextAreaGVO) {
// final ComponentGVO finalComponentGVO = component;
// final String finalUuid = uuid;
// final String finalParent = parent;
// TextAreaGVO gvo = (TextAreaGVO) component;
// if (gvo.getDisplayname() != null || gvo.getDisplayname().length() > 0) {
//// if (gvo.getMenu() != null) {
//// uiObject = new LabeledTextAreaFieldWidget(gvo.getDisplayname(), gvo.getOrientation(), gvo, uuid, parent) {
//// @Override
//// public void onBrowserEvent(Event event) {
//// if (event.getTypeInt() == Event.ONCONTEXTMENU) {
//// DOM.eventPreventDefault(event);
//// applyContextMenu(event, finalComponentGVO, finalUuid, finalParent);
//// }
//// super.onBrowserEvent(event);
//// }
////
//// @Override
//// protected void setElement(Element elem) {
//// super.setElement(elem);
//// sinkEvents(Event.ONCONTEXTMENU);
//// }
//// };
//// } else {
//// uiObject = new LabeledTextAreaFieldWidget(gvo.getDisplayname(), gvo.getOrientation(), gvo, uuid, parent);
//// }
// } else {
// if (gvo.getRich() != null) {
// if (gvo.getRich().booleanValue()) {
// // This sample is taken from the KitchenSick demo
// RichTextArea area = new RichTextArea();
// // RichTextToolbar tb = new RichTextToolbar(area);
//
// VerticalPanel p = null;
// if (gvo.getMenu() != null) {
// p = new VerticalPanel() {
// @Override
// public void onBrowserEvent(Event event) {
// if (event.getTypeInt() == Event.ONCONTEXTMENU) {
// DOM.eventPreventDefault(event);
// applyContextMenu(event, finalComponentGVO, finalUuid, finalParent);
// }
// super.onBrowserEvent(event);
// }
//
// @Override
// protected void setElement(Element elem) {
// super.setElement(elem);
// sinkEvents(Event.ONCONTEXTMENU);
// }
// };
// } else {
// p = new VerticalPanel();
// }
// // p.add(tb);
// p.add(area);
// area.setHeight("14em");
// area.setWidth("100%");
// // tb.setWidth("100%");
// p.setWidth("100%");
// //p.setStyleName("qafe_rich_textarea");
// DOM.setStyleAttribute(p.getElement(), "marginRight", "4px");
//
// RendererHelper.fillIn(component, area, uuid, parent, context);
// RendererHelper.fillIn(component, p, uuid, parent, context);
// area.setText(gvo.getValue());
// area.setEnabled(gvo.getEditable().booleanValue());
//
// uiObject = p;
// if (gvo.getRequired() != null && gvo.getRequired().booleanValue()) {
// DOM.setElementProperty(uiObject.getElement(), "required", "true");
// RendererHelper.setStyleForElement(uiObject.getElement(), "background", "red");
//
// }
// } else {
// if (gvo.getMenu() != null) {
// uiObject = new TextArea() {
// @Override
// public void onBrowserEvent(Event event) {
// if (event.getTypeInt() == Event.ONCONTEXTMENU) {
// DOM.eventPreventDefault(event);
// applyContextMenu(event, finalComponentGVO, finalUuid, finalParent);
// }
// super.onBrowserEvent(event);
// }
//
// @Override
// protected void setElement(Element elem) {
// super.setElement(elem);
// sinkEvents(Event.ONCONTEXTMENU);
// }
// };
// } else {
// uiObject = new TextArea();
// }
// TextArea ta = (TextArea) uiObject;
// RendererHelper.fillIn(component, uiObject, uuid, parent, context);
// if (gvo.getMaxLength() != null) {
// if (gvo.getMaxLength().intValue() > 0) {
// ta.setCharacterWidth(gvo.getMaxLength().intValue());
// } else {
// ta.setCharacterWidth(80);
// }
// } else {
// ta.setCharacterWidth(80);
// }
// ta.setVisibleLines(gvo.getRows());
//
// ta.setText(gvo.getValue());
// ta.setReadOnly(!gvo.getEditable().booleanValue());
// if (gvo.getRequired() != null && gvo.getRequired().booleanValue()) {
// DOM.setElementProperty(uiObject.getElement(), "required", "true");
// RendererHelper.setStyleForElement(uiObject.getElement(), "background", "red");
// ((TextArea) uiObject).addValueChangeHandler(new ValueChangeHandler<String>() {
//
// public void onValueChange(ValueChangeEvent<String> event) {
// if (event.getSource() instanceof TextBox) {
// UIObject ui = (UIObject) event.getSource();
// String value = ((TextBox) ui).getText();
//
// if (value != null && value.length() > 0) {
// ui.removeStyleName("qafe_invalid_field");
//
// } else {
// ui.addStyleName("qafe_invalid_field");
//
// }
// }
//
// }
// });
// }
// }
// }
// }
// //uiObject.setStylePrimaryName(gvo.getStyleClassName());
// }
// }
//
// return uiObject;
// }
}