/*
* Copyright 2011 JBoss 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 org.jbpm.formbuilder.client.tasks;
import java.util.List;
import org.jbpm.formbuilder.client.FormBuilderGlobals;
import org.jbpm.formbuilder.client.messages.I18NConstants;
import org.jbpm.formbuilder.shared.task.TaskRef;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
public class SearchResultsView extends VerticalPanel {
private final I18NConstants i18n = FormBuilderGlobals.getInstance().getI18n();
private final IoAssociationView.Presenter presenter;
public SearchResultsView(IoAssociationView.Presenter presenter) {
this.presenter = presenter;
}
public void setTasks(List<TaskRef> tasks) {
if (tasks == null || tasks.isEmpty()) {
clear();
add(new Label(i18n.NoIoRefsFound()));
} else {
clear();
boolean even = false;
for (TaskRef task : tasks) {
final TaskRow row = presenter.newTaskRow(task, even);
even = !even;
add(row);
}
}
}
public void setSelectedTask(TaskRef selectedTask) {
if (selectedTask != null) {
TaskRow selectedRow = null;
for (Widget widget : this) {
TaskRow row = (TaskRow) widget;
if (row.getIoRef().equals(selectedTask)) {
selectedRow = row;
break;
}
}
clear();
if (selectedRow == null) {
selectedRow = new TaskRow(selectedTask, true);
}
selectedRow.getFocus().removeHandler();
selectedRow.getBlur().removeHandler();
selectedRow.showInputs();
selectedRow.showOutputs();
selectedRow.showMetaData();
selectedRow.clearRightClickHandlers();
presenter.addQuickFormHandling(selectedRow);
add(selectedRow);
}
}
}