/******************************************************************************* * Copyright 2017 Capital One Services, LLC and Bitwise, Inc. * 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 hydrograph.ui.propertywindow.runconfig; import hydrograph.ui.propertywindow.messages.Messages; import hydrograph.ui.propertywindow.widgets.utility.WidgetUtility; import org.apache.commons.lang.StringUtils; import org.eclipse.jface.fieldassist.ControlDecoration; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Text; public class EmptyTextListener implements ModifyListener { private String fieldName; private ControlDecoration errorDecorator; public EmptyTextListener(String fieldName) { this.fieldName = fieldName; } @Override public void modifyText(ModifyEvent event) { Text textBox = (Text)event.getSource(); Button btnRemoteMode = (Button)textBox.getData(RunConfigDialog.SELECTION_BUTTON_KEY); String txt= textBox.getText(); if (StringUtils.isBlank(txt)) { if(errorDecorator==null){ errorDecorator = WidgetUtility.addDecorator(textBox,Messages.bind(Messages.EMPTY_FIELD, fieldName)); } if(btnRemoteMode!=null){ if(btnRemoteMode.getSelection()){ errorDecorator.show(); }else errorDecorator.hide(); }else{ errorDecorator.show(); } errorDecorator.setMarginWidth(3); } else { if(errorDecorator!=null) errorDecorator.hide(); } } public ControlDecoration getErrorDecoration(){ return errorDecorator; } }