workspace-explorer/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/WorkspaceNavigatorDialog.java

120 lines
2.8 KiB
Java

/**
*
*/
package org.gcube.portlets.widgets.wsexplorer.client;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.DialogBox;
import com.google.gwt.user.client.ui.DockPanel;
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import com.google.gwt.user.client.ui.HorizontalPanel;
/**
* The Class WorspaceNavigatorDialog.
*
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
* Jun 24, 2015
*/
public class WorkspaceNavigatorDialog extends DialogBox implements ClickHandler {
/**
*
*/
private Button cancel;
private WorkspaceNavigatorDialog INSTANCE = this;
private boolean isValidHide;
private String captionTxt;
private WorkspaceNavigatorPanel wsp = new WorkspaceNavigatorPanel(5);
/**
* Instantiates a new worspace navigator dialog.
*
* @param captionTxt sets the text inside the caption, if null sets "Workspace Explorer"
*/
public WorkspaceNavigatorDialog(String captionTxt) {
this.captionTxt = (captionTxt==null || captionTxt.isEmpty())?WorkspaceNavigatorConstants.WORKSPACE_EXPLORER_CAPTION:captionTxt;
setText(this.captionTxt);
isValidHide = false;
cancel = new Button("Close");
DockPanel dock = new DockPanel();
dock.setSpacing(5);
// dock.add(okButton, DockPanel.SOUTH);
// dock.add(cancel, DockPanel.SOUTH);
HorizontalPanel hp = new HorizontalPanel();
hp.setStyleName("margin-auto");
//// hp.add(okButton);
// hp.setWidth("50%");
// hp.setStyleAttribute("margin", "0 auto");
hp.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
cancel.getElement().getStyle().setMarginTop(5.0, Unit.PX);
// cancel.getElement().getStyle().setMarginBottom(5.0, Unit.PX);
// hp.getElement().getStyle().setMarginLeft("0 auto", Unit.PCT);
hp.add(cancel);
dock.add(hp, DockPanel.SOUTH);
dock.add(wsp, DockPanel.CENTER);
dock.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
dock.setWidth("100%");
setWidget(dock);
// okButton.addClickHandler(new ClickHandler() {
//
// @Override
// public void onClick(ClickEvent event) {
//
// }
// });
cancel.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
isValidHide = false;
INSTANCE.hide();
}
});
}
/*
* (non-Javadoc)
*
* @see
* com.google.gwt.event.dom.client.ClickHandler#onClick(com.google.gwt.event
* .dom.client.ClickEvent)
*/
@Override
public void onClick(ClickEvent event) {
hide();
}
/**
* @return the captionTxt
*/
public String getCaptionTxt() {
return captionTxt;
}
/**
* Checks if is valid hide.
*
* @return the isValidHide
*/
public boolean isValidHide() {
return isValidHide;
}
@Override
public void show() {
super.show();
}
}