56 lines
1.5 KiB
Java
56 lines
1.5 KiB
Java
|
package org.gcube.portlets.widgets.ckandatapublisherwidget.client.ui;
|
||
|
|
||
|
import java.util.ArrayList;
|
||
|
import java.util.List;
|
||
|
|
||
|
import com.github.gwtbootstrap.client.ui.PageHeader;
|
||
|
import com.google.gwt.core.client.GWT;
|
||
|
import com.google.gwt.uibinder.client.UiBinder;
|
||
|
import com.google.gwt.uibinder.client.UiField;
|
||
|
import com.google.gwt.user.client.ui.Composite;
|
||
|
import com.google.gwt.user.client.ui.VerticalPanel;
|
||
|
import com.google.gwt.user.client.ui.Widget;
|
||
|
|
||
|
public class CategoryPanel extends Composite{
|
||
|
|
||
|
private static CategoryPanelUiBinder uiBinder = GWT
|
||
|
.create(CategoryPanelUiBinder.class);
|
||
|
|
||
|
interface CategoryPanelUiBinder extends UiBinder<Widget, CategoryPanel> {
|
||
|
}
|
||
|
|
||
|
@UiField VerticalPanel fieldsPanel;
|
||
|
@UiField PageHeader categoryHeader;
|
||
|
private List<MetaDataFieldSkeleton> fieldsForThisCategory;
|
||
|
|
||
|
public CategoryPanel() {
|
||
|
initWidget(uiBinder.createAndBindUi(this));
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
*
|
||
|
* @param fieldsForThisCategory
|
||
|
* @param title
|
||
|
* @param description
|
||
|
*/
|
||
|
public CategoryPanel(String title, String description) {
|
||
|
initWidget(uiBinder.createAndBindUi(this));
|
||
|
categoryHeader.setTitle(title);
|
||
|
categoryHeader.setSubtext(description);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Add a field to this widget
|
||
|
* @param fieldWidget
|
||
|
*/
|
||
|
public void addField(MetaDataFieldSkeleton fieldWidget) {
|
||
|
if(fieldsForThisCategory == null){
|
||
|
fieldsForThisCategory = new ArrayList<MetaDataFieldSkeleton>();
|
||
|
fieldWidget.setVisible(true);
|
||
|
}
|
||
|
fieldsForThisCategory.add(fieldWidget);
|
||
|
fieldsPanel.add(fieldWidget);
|
||
|
}
|
||
|
|
||
|
}
|