Added ToolBoxPanel
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-toolbox-widget@86827 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
c1caa4b90f
commit
d65bad9e69
8
pom.xml
8
pom.xml
|
@ -111,6 +111,14 @@
|
||||||
<version>1.0.0-SNAPSHOT</version>
|
<version>1.0.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!--tabular-data-information-widget -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.gcube.portlets.user</groupId>
|
||||||
|
<artifactId>tabular-data-information-widget</artifactId>
|
||||||
|
<version>[2.0.0-SNAPSHOT,3.0.0-SNAPSHOT)</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
<!-- LOGGING -->
|
<!-- LOGGING -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.allen-sauer.gwt.log</groupId>
|
<groupId>com.allen-sauer.gwt.log</groupId>
|
||||||
|
|
|
@ -1,20 +1,78 @@
|
||||||
package org.gcube.portlets.user.td.toolboxwidget.client;
|
package org.gcube.portlets.user.td.toolboxwidget.client;
|
||||||
|
|
||||||
|
import org.gcube.portlets.user.td.informationwidget.client.TabularResourceProperties;
|
||||||
|
import org.gcube.portlets.user.td.widgetcommonevent.client.event.UIStateEvent;
|
||||||
|
|
||||||
|
import com.allen_sauer.gwt.log.client.Log;
|
||||||
|
import com.google.gwt.user.client.ui.Widget;
|
||||||
import com.google.web.bindery.event.shared.EventBus;
|
import com.google.web.bindery.event.shared.EventBus;
|
||||||
|
import com.sencha.gxt.widget.core.client.TabItemConfig;
|
||||||
import com.sencha.gxt.widget.core.client.TabPanel;
|
import com.sencha.gxt.widget.core.client.TabPanel;
|
||||||
import org.gcube.portlets.user.td.toolboxwidget.client.ToolBox;
|
import com.sencha.gxt.widget.core.client.event.BeforeCloseEvent;
|
||||||
|
import com.sencha.gxt.widget.core.client.event.BeforeCloseEvent.BeforeCloseHandler;
|
||||||
|
|
||||||
public class ToolBox extends TabPanel {
|
public class ToolBox extends TabPanel {
|
||||||
|
|
||||||
private EventBus eventBus;
|
protected EventBus eventBus;
|
||||||
|
protected TabularResourceProperties trProperties;
|
||||||
public ToolBox(String name, EventBus eventBus) {
|
protected ToolBoxPanel toolBoxPanel;
|
||||||
|
|
||||||
|
public ToolBox(String name, EventBus eventBus, ToolBoxPanel toolBoxPanel) {
|
||||||
super();
|
super();
|
||||||
this.eventBus=eventBus;
|
Log.debug("Create ToolBox");
|
||||||
|
this.eventBus = eventBus;
|
||||||
|
this.toolBoxPanel = toolBoxPanel;
|
||||||
setId(name);
|
setId(name);
|
||||||
|
|
||||||
|
setAnimScroll(true);
|
||||||
|
setTabScroll(true);
|
||||||
|
setCloseContextMenu(true);
|
||||||
|
// setResizeTabs(true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void closeTabs() {
|
||||||
|
Log.debug("Close ToolBox Tabs");
|
||||||
|
for (int i = 0; i < getTabIndex(); i++) {
|
||||||
|
remove(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateTabs(){
|
||||||
|
Log.debug("Update ToolBox Tabs");
|
||||||
|
if(trProperties!=null){
|
||||||
|
trProperties.update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void openTabs() {
|
||||||
|
Log.debug("Open ToolBox Tabs");
|
||||||
|
TabItemConfig propertiesItemConf = new TabItemConfig("Properties", true);
|
||||||
|
|
||||||
|
trProperties = new TabularResourceProperties("TRProperties", eventBus);
|
||||||
|
trProperties.setHeaderVisible(false);
|
||||||
|
add(trProperties, propertiesItemConf);
|
||||||
|
addBeforeCloseHandler(new BeforeCloseHandler<Widget>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onBeforeClose(BeforeCloseEvent<Widget> event) {
|
||||||
|
if (getWidgetCount() == 1) {
|
||||||
|
toolBoxPanel.closePanelOnly();
|
||||||
|
remove(trProperties);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Label taskLabel = new Label("Task Properties");
|
||||||
|
* taskLabel.addStyleName("pad-text"); functionalityTab .add(taskLabel,
|
||||||
|
* new TabItemConfig("Task", true));
|
||||||
|
*/
|
||||||
|
setActiveWidget(getWidget(0));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,10 +14,10 @@ public class ToolBoxEntry implements EntryPoint {
|
||||||
|
|
||||||
EventBus eventBus = new SimpleEventBus();
|
EventBus eventBus = new SimpleEventBus();
|
||||||
|
|
||||||
ToolBox toolBox = new ToolBox("ToolBox", eventBus);
|
ToolBoxPanel toolBoxPanel = new ToolBoxPanel("ToolBoxPanel", eventBus);
|
||||||
|
|
||||||
RootPanel.get().add(toolBox);
|
RootPanel.get().add(toolBoxPanel);
|
||||||
Log.info("" + toolBox);
|
Log.info("ToolBoxPanel Added:" + toolBoxPanel);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,137 @@
|
||||||
|
package org.gcube.portlets.user.td.toolboxwidget.client;
|
||||||
|
|
||||||
|
|
||||||
|
import org.gcube.portlets.user.td.widgetcommonevent.client.event.RibbonEvent;
|
||||||
|
import org.gcube.portlets.user.td.widgetcommonevent.client.event.UIStateEvent;
|
||||||
|
import org.gcube.portlets.user.td.widgetcommonevent.client.type.UIStateType;
|
||||||
|
|
||||||
|
import com.allen_sauer.gwt.log.client.Log;
|
||||||
|
import com.google.web.bindery.event.shared.EventBus;
|
||||||
|
import com.sencha.gxt.widget.core.client.ContentPanel;
|
||||||
|
|
||||||
|
|
||||||
|
public class ToolBoxPanel extends ContentPanel {
|
||||||
|
|
||||||
|
protected EventBus eventBus;
|
||||||
|
protected ToolBox toolBox;
|
||||||
|
protected ToolBoxPanelState state;
|
||||||
|
protected UIStateType uiStateType;
|
||||||
|
|
||||||
|
|
||||||
|
public ToolBoxPanel(String name, EventBus eventBus) {
|
||||||
|
super();
|
||||||
|
Log.debug("Close ToolBoxPanel");
|
||||||
|
this.eventBus=eventBus;
|
||||||
|
setId(name);
|
||||||
|
setWidth(310);
|
||||||
|
setHeaderVisible(false);
|
||||||
|
setResize(true);
|
||||||
|
state=ToolBoxPanelState.CLOSED;
|
||||||
|
toolBox = new ToolBox("ToolBox",eventBus,this);
|
||||||
|
|
||||||
|
add(toolBox);
|
||||||
|
|
||||||
|
bindToEvents();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void bindToEvents() {
|
||||||
|
eventBus.addHandler(RibbonEvent.TYPE,
|
||||||
|
new RibbonEvent.RibbonEventHandler() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onRibbon(RibbonEvent event) {
|
||||||
|
manageRibbonEvents(event);
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
eventBus.addHandler(
|
||||||
|
UIStateEvent.TYPE,
|
||||||
|
new UIStateEvent.UIStateHandler() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onUIState(UIStateEvent event) {
|
||||||
|
manageUIStateEvents(event);
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void manageRibbonEvents(RibbonEvent event){
|
||||||
|
Log.debug("ToolBox recieved event: "+event.getRibbonType().toString());
|
||||||
|
switch (event.getRibbonType()){
|
||||||
|
case PROPERTIES:
|
||||||
|
doToolBoxPanelOpenSwitch();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void manageUIStateEvents(UIStateEvent event){
|
||||||
|
Log.debug("ToolBox recieved event: "+event.getUIStateType().toString());
|
||||||
|
uiStateType = event.getUIStateType();
|
||||||
|
switch (event.getUIStateType()){
|
||||||
|
case START:
|
||||||
|
break;
|
||||||
|
case TR_CLOSE:
|
||||||
|
closePanel();
|
||||||
|
break;
|
||||||
|
case TR_OPEN:
|
||||||
|
updatePanel();
|
||||||
|
break;
|
||||||
|
case WIZARD_OPEN:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void doToolBoxPanelOpenSwitch(){
|
||||||
|
if (uiStateType == UIStateType.TR_OPEN) {
|
||||||
|
if (state == ToolBoxPanelState.OPENED) {
|
||||||
|
collapse();
|
||||||
|
disable();
|
||||||
|
|
||||||
|
state = ToolBoxPanelState.CLOSED;
|
||||||
|
toolBox.closeTabs();
|
||||||
|
Log.debug("ToolBoxPanel Closed");
|
||||||
|
} else {
|
||||||
|
enable();
|
||||||
|
expand();
|
||||||
|
state = ToolBoxPanelState.OPENED;
|
||||||
|
toolBox.openTabs();
|
||||||
|
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Log.debug("ToolBoxPanel No table open");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void closePanelOnly(){
|
||||||
|
collapse();
|
||||||
|
disable();
|
||||||
|
state=ToolBoxPanelState.CLOSED;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void closePanel(){
|
||||||
|
collapse();
|
||||||
|
disable();
|
||||||
|
state=ToolBoxPanelState.CLOSED;
|
||||||
|
toolBox.closeTabs();
|
||||||
|
Log.debug("ToolBoxPanel Closed");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updatePanel(){
|
||||||
|
if (state == ToolBoxPanelState.OPENED) {
|
||||||
|
toolBox.updateTabs();
|
||||||
|
Log.debug("ToolBoxPanel Updated");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
package org.gcube.portlets.user.td.toolboxwidget.client;
|
||||||
|
|
||||||
|
public enum ToolBoxPanelState {
|
||||||
|
CLOSED,
|
||||||
|
OPENED;
|
||||||
|
}
|
|
@ -19,7 +19,8 @@
|
||||||
<inherits name="com.allen_sauer.gwt.log.gwt-log-TRACE" />
|
<inherits name="com.allen_sauer.gwt.log.gwt-log-TRACE" />
|
||||||
|
|
||||||
<inherits name='org.gcube.portlets.user.td.widgetcommonevent.WidgetCommonEvent' />
|
<inherits name='org.gcube.portlets.user.td.widgetcommonevent.WidgetCommonEvent' />
|
||||||
|
<inherits name='org.gcube.portlets.user.td.informationwidget.Information' />
|
||||||
|
|
||||||
<!-- Specify the app entry point class. -->
|
<!-- Specify the app entry point class. -->
|
||||||
<!-- <entry-point class='org.gcube.portlets.user.td.toolboxwidget.client.ToolBoxEntry' /> -->
|
<!-- <entry-point class='org.gcube.portlets.user.td.toolboxwidget.client.ToolBoxEntry' /> -->
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue