Moderators: Konstantin.Scheglov, gnebling, Alexander.Mitin, jwren, Eric Clayberg
Eric Clayberg wrote:If you need to add any custom Data Binding code, you should be able to do it outside of that method.
protected DataBindingContext initDataBindings() {
DataBindingContext bindingContext = new DataBindingContext();
//
ObservableListContentProvider listContentProvider = new ObservableListContentProvider();
comboViewer_povjClanVrsta.setContentProvider(listContentProvider);
//
IObservableMap observeMap = BeansObservables.observeMap(listContentProvider.getKnownElements(), SgrDomain.class, "meaning");
comboViewer_povjClanVrsta.setLabelProvider(new ObservableMapLabelProvider(observeMap));
//
comboViewer_povjClanVrsta.setInput(writableList_domainPovClnV);
//
return bindingContext;
}
this.domUtil = new DomainUtil(this.em);
this.writableList_domainPovClnV =
this.domUtil.getDomainEntityWritableList("POVJERENSTVO_CLAN_VRSTA");
public class DomainUtil {
public DomainUtil(EntityManager em) {
this.em = em;
}
public DomainUtil(EntityManager em, Boolean praznoPolje) {
this.praznoPolje = praznoPolje;
this.em = em;
}
/**
* Za naziv domene dohvaća sve vrijednosti i vraća kao WritableList (observable list)
* Ako je definirano, dodaje na pocetak liste jedno prazno polje
* @param domainName naziv domene
* @return WritableList sa vrijednostima/entitetima domene
*/
public WritableList getDomainEntityWritableList(String domainName) {
//dohvacam enitete domene
Query q2 = em.createNamedQuery("SgrDomain.findAll");
q2.setParameter("domainName", domainName);
//vracam WritableList sa entitetima
this.writableList_domainValues = new WritableList(q2.getResultList(), SgrDomain.class);
if ( this.praznoPolje == true ) {
//dodaj prazan zapis na pocetak
SgrDomain domPrazno = new SgrDomain();
SgrDomainPK domPKdummy = new SgrDomainPK();
domPKdummy.setName(domainName);
domPKdummy.setValue("");
domPrazno.setId(domPKdummy);
domPrazno.setMeaning("");
this.writableList_domainValues.add(0, domPrazno);
}
return this.writableList_domainValues;
}
private EntityManager em;
private WritableList writableList_domainValues;
private Boolean praznoPolje = false;
}
private DomainUtil domUtil = new DomainUtil(em);
/**
* @wbp.nonvisual location=0,0
*/
private WritableList writableList_domainPovClnV = domUtil.getDomainEntityWritableList("POVJERENSTVO_CLAN_VRSTA");
private DomainUtil domUtil = new DomainUtil();
private List<SgrDomain> list_domainPovClnV = domUtil
.getDomainEntityList("POVJERENSTVO_CLAN_VRSTA");;
protected DataBindingContext initDataBindings() {
...
WritableList writableList = new WritableList(list_domainPovClnV, DataObject.class);
comboViewer_povjClanVrsta.setInput(writableList);
...
}
asablin wrote:You need to mark comboViewer_povjClanVrsta as NVB (non-visual bean) for Designer include it to his component list.
Using field initializer:
- Code: Select all
private DomainUtil domUtil = new DomainUtil(em);
/**
* @wbp.nonvisual location=0,0
*/
private WritableList writableList_domainPovClnV = domUtil.getDomainEntityWritableList("POVJERENSTVO_CLAN_VRSTA");
asablin wrote:Or conver his source to classic binding pattern:
- Code: Select all
private DomainUtil domUtil = new DomainUtil();
private List<SgrDomain> list_domainPovClnV = domUtil
.getDomainEntityList("POVJERENSTVO_CLAN_VRSTA");;
protected DataBindingContext initDataBindings() {
...
WritableList writableList = new WritableList(list_domainPovClnV, DataObject.class);
comboViewer_povjClanVrsta.setInput(writableList);
...
}
public class Composite_test extends Composite {
public static class DomainUtil {
public DomainUtil() {
}
public WritableList getDomainEntityWritableList(String domainName) {
return null; // fake
}
}
public static class SgrDomain {
private String meaning;
public void setMeaning(String meaning) {
this.meaning = meaning;
}
public String getMeaning() {
return meaning;
}
}
private DataBindingContext m_bindingContext;
private ComboViewer comboViewer_povjClanVrsta;
private DomainUtil domUtil = new DomainUtil();
private WritableList writableList_domainPovClnV = domUtil
.getDomainEntityWritableList("POVJERENSTVO_CLAN_VRSTA");
/**
* Create the composite.
*
* @param parent
* @param style
*/
public Composite_test(Composite parent, int style) {
super(parent, style);
comboViewer_povjClanVrsta = new ComboViewer(this, SWT.NONE);
Combo combo = comboViewer_povjClanVrsta.getCombo();
combo.setBounds(10, 10, 91, 23);
m_bindingContext = initDataBindings();
}
@Override
protected void checkSubclass() {
// Disable the check that prevents subclassing of SWT components
}
protected DataBindingContext initDataBindings() {
DataBindingContext bindingContext = new DataBindingContext();
//
ObservableListContentProvider listContentProvider = new ObservableListContentProvider();
comboViewer_povjClanVrsta.setContentProvider(listContentProvider);
//
IObservableMap observeMap = BeansObservables.observeMap(
listContentProvider.getKnownElements(), SgrDomain.class,
"meaning");
comboViewer_povjClanVrsta
.setLabelProvider(new ObservableMapLabelProvider(observeMap));
//
comboViewer_povjClanVrsta.setInput(writableList_domainPovClnV);
//
return bindingContext;
}
}
Users browsing this forum: Bing [Bot] and 1 guest