/******************************************************************************* | |
* Copyright (c) 2006, 2010 Soyatec (http://www.soyatec.com) and others. | |
* All rights reserved. This program and the accompanying materials | |
* are made available under the terms of the Eclipse Public License v1.0 | |
* which accompanies this distribution, and is available at | |
* http://www.eclipse.org/legal/epl-v10.html | |
* | |
* Contributors: | |
* Soyatec - initial API and implementation | |
*******************************************************************************/ | |
package org.eclipse.xwt.tests.jface.tableviewer.master.detail; | |
import java.net.URL; | |
import org.eclipse.core.databinding.observable.list.IObservableList; | |
import org.eclipse.core.databinding.observable.value.IObservableValue; | |
import org.eclipse.jface.viewers.TableViewer; | |
import org.eclipse.swt.widgets.Event; | |
import org.eclipse.xwt.IConstants; | |
import org.eclipse.xwt.XWT; | |
/** | |
* @author jliu | |
*/ | |
public class TableViewer_MasterDetail_NestedTable_AddInput { | |
public static void main(String[] args) { | |
URL url = TableViewer_MasterDetail_NestedTable_AddInput.class | |
.getResource(TableViewer_MasterDetail_NestedTable_AddInput.class | |
.getSimpleName() | |
+ IConstants.XWT_EXTENSION_SUFFIX); | |
try { | |
XWT.open(url); | |
} catch (Exception e) { | |
e.printStackTrace(); | |
} | |
} | |
protected void addEmployee(Object sender, Event event) { | |
TableViewer tableViewer = (TableViewer) XWT.findElementByName( | |
event.widget, "IndustryViewer"); | |
Industry industry = (Industry) XWT.getDataContext(tableViewer); | |
Company company = null; | |
for (Company memeber : industry.getMembers()) { | |
if ("Soyatec".equals(memeber.getName())) { | |
company = memeber; | |
break; | |
} | |
} | |
IObservableValue observableValue = XWT.findObservableValue( | |
event.widget, tableViewer, "singleSelection"); | |
observableValue.setValue(company); | |
TableViewer companyViewer = (TableViewer) XWT.findElementByName( | |
event.widget, "CompanyViewer1"); | |
IObservableList employees = (IObservableList) companyViewer.getInput(); | |
observableValue.setValue(company); | |
Employee employee = new Employee(); | |
employee.setName("Bruno"); | |
employee.setAge(24); | |
employees.add(employee); | |
} | |
} |