Gilad Chaplik has uploaded a new change for review. Change subject: webadmin: qos parent sub tab ......................................................................
webadmin: qos parent sub tab Adding a QoS container sub tab to hold all qos entity subtabs (storage and network), without changing the model layer. Change-Id: I6d5e2de2d979bdaab498922acd6a580bc89dc19a Signed-off-by: Gilad Chaplik <gchap...@redhat.com> --- A frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tab/HyperlinkTab.java A frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tab/HyperlinkTab.ui.xml M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/place/ApplicationPlaces.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/AbstractSubTabPanelPresenter.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/datacenter/DataCenterQosSubTabPanelPresenter.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/datacenter/SubTabDataCenterNetworkQoSPresenter.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/datacenter/SubTabDataCenterStorageQosPresenter.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/DataCenterQosSubTabPanelView.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tab/HyperlinkTabPanel.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tab/HyperlinkTabPanel.ui.xml M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tab/SimpleTabPanel.java 13 files changed, 276 insertions(+), 9 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/35/31835/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tab/HyperlinkTab.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tab/HyperlinkTab.java new file mode 100644 index 0000000..46c458d --- /dev/null +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tab/HyperlinkTab.java @@ -0,0 +1,51 @@ +package org.ovirt.engine.ui.common.widget.tab; + +import org.ovirt.engine.ui.common.widget.Align; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.dom.client.Style.FontWeight; +import com.google.gwt.uibinder.client.UiBinder; +import com.google.gwt.uibinder.client.UiField; +import com.google.gwt.user.client.ui.Label; +import com.google.gwt.user.client.ui.Widget; +import com.gwtplatform.mvp.client.TabData; + +public class HyperlinkTab extends AbstractTab { + + @UiField + Label label; + + interface WidgetUiBinder extends UiBinder<Widget, HyperlinkTab> { + WidgetUiBinder uiBinder = GWT.create(WidgetUiBinder.class); + } + + public HyperlinkTab(TabData tabData, AbstractTabPanel tabPanel) { + super(tabData, tabPanel); + initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this)); + } + + @Override + public void setAlign(Align align) { + } + + @Override + public void activate() { + label.getElement().getStyle().setFontWeight(FontWeight.BOLD); + } + + @Override + public void deactivate() { + label.getElement().getStyle().setFontWeight(FontWeight.NORMAL); + } + + @Override + public String getText() { + return label.getText(); + } + + @Override + public void setText(String text) { + label.setText(text); + } + +} diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tab/HyperlinkTab.ui.xml b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tab/HyperlinkTab.ui.xml new file mode 100644 index 0000000..b9cb5c3 --- /dev/null +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tab/HyperlinkTab.ui.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"> +<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" + xmlns:g="urn:import:com.google.gwt.user.client.ui"> + + <ui:style> + .tab { + height: 28px; + min-width: 80px; + text-align: center; + overflow: visible; + font-family: Arial,sans-serif; + line-height: 30px; + } + + .alignLeft { + float: left; + } + + .anchor { + text-decoration: none; + border-style: none; + } + </ui:style> + + <g:HTMLPanel ui:field="tabContainer" addStyleNames="{style.tab} {style.alignLeft}"> + <a href="" ui:field="hyperlink" addStyleNames="{style.anchor}"> + <div> + <g:Label ui:field="label" /> + </div> + <div style="clear: both;" /> + </a> + </g:HTMLPanel> + +</ui:UiBinder> diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java index ee06ea6..754205c 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java @@ -178,12 +178,15 @@ @DefaultStringValue("Quota") String dataCenterQuotaSubTabLabel(); - @DefaultStringValue("Network QoS") + @DefaultStringValue("Network") String dataCenterNetworkQoSSubTabLabel(); - @DefaultStringValue("Storage QoS") + @DefaultStringValue("Storage") String dataCenterStorageQosSubTabLabel(); + @DefaultStringValue("QoS") + String dataCenterQosSubTabLabel(); + @DefaultStringValue("Permissions") String dataCenterPermissionSubTabLabel(); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java index 28317c5..a8d135d 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java @@ -137,6 +137,7 @@ import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.cluster.SubTabClusterPermissionPresenter; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.cluster.SubTabClusterServicePresenter; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.cluster.SubTabClusterVmPresenter; +import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.datacenter.DataCenterQosSubTabPanelPresenter; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.datacenter.DataCenterSubTabPanelPresenter; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.datacenter.SubTabDataCenterClusterPresenter; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.datacenter.SubTabDataCenterEventPresenter; @@ -371,6 +372,7 @@ import org.ovirt.engine.ui.webadmin.section.main.view.tab.cluster.SubTabClusterPermissionView; import org.ovirt.engine.ui.webadmin.section.main.view.tab.cluster.SubTabClusterServiceView; import org.ovirt.engine.ui.webadmin.section.main.view.tab.cluster.SubTabClusterVmView; +import org.ovirt.engine.ui.webadmin.section.main.view.tab.datacenter.DataCenterQosSubTabPanelView; import org.ovirt.engine.ui.webadmin.section.main.view.tab.datacenter.DataCenterSubTabPanelView; import org.ovirt.engine.ui.webadmin.section.main.view.tab.datacenter.SubTabDataCenterClusterView; import org.ovirt.engine.ui.webadmin.section.main.view.tab.datacenter.SubTabDataCenterEventView; @@ -602,6 +604,10 @@ DataCenterSubTabPanelPresenter.ViewDef.class, DataCenterSubTabPanelView.class, DataCenterSubTabPanelPresenter.ProxyDef.class); + bindPresenter(DataCenterQosSubTabPanelPresenter.class, + DataCenterQosSubTabPanelPresenter.ViewDef.class, + DataCenterQosSubTabPanelView.class, + DataCenterQosSubTabPanelPresenter.ProxyDef.class); bindPresenter(SubTabDataCenterStoragePresenter.class, SubTabDataCenterStoragePresenter.ViewDef.class, SubTabDataCenterStorageView.class, diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/place/ApplicationPlaces.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/place/ApplicationPlaces.java index 17af961..60ecb07 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/place/ApplicationPlaces.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/place/ApplicationPlaces.java @@ -78,6 +78,9 @@ public static final String dataCenterEventSubTabPlace = dataCenterMainTabPlace + SUB_TAB_PREFIX + "events"; //$NON-NLS-1$ + public static final String dataCenterQosSubTabPlace = dataCenterMainTabPlace + SUB_TAB_PREFIX + + "qos"; //$NON-NLS-1$ + // Storage public static final String storageGeneralSubTabPlace = storageMainTabPlace + SUB_TAB_PREFIX diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/AbstractSubTabPanelPresenter.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/AbstractSubTabPanelPresenter.java index 4ed80be..7aea268 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/AbstractSubTabPanelPresenter.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/AbstractSubTabPanelPresenter.java @@ -40,8 +40,18 @@ Type<RequestTabsHandler> requestTabsEventType, Type<ChangeTabHandler> changeTabEventType, ScrollableTabBarPresenterWidget tabBar) { + this(eventBus, view, proxy, tabContentSlot, requestTabsEventType, changeTabEventType, + tabBar, MainContentPresenter.TYPE_SetSubTabPanelContent); + } + + public AbstractSubTabPanelPresenter(EventBus eventBus, V view, P proxy, + Object tabContentSlot, + Type<RequestTabsHandler> requestTabsEventType, + Type<ChangeTabHandler> changeTabEventType, + ScrollableTabBarPresenterWidget tabBar, + Type<RevealContentHandler<?>> slot) { super(eventBus, view, proxy, tabContentSlot, requestTabsEventType, changeTabEventType, - MainContentPresenter.TYPE_SetSubTabPanelContent); + slot); getView().setUiHandlers(tabBar); this.tabBar = tabBar; this.tabBar.setWantsOffset(false); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/datacenter/DataCenterQosSubTabPanelPresenter.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/datacenter/DataCenterQosSubTabPanelPresenter.java new file mode 100644 index 0000000..2038525 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/datacenter/DataCenterQosSubTabPanelPresenter.java @@ -0,0 +1,77 @@ +package org.ovirt.engine.ui.webadmin.section.main.presenter.tab.datacenter; + +import org.ovirt.engine.ui.common.presenter.DynamicTabContainerPresenter.DynamicTabPanel; +import org.ovirt.engine.ui.common.presenter.ScrollableTabBarPresenterWidget; +import org.ovirt.engine.ui.common.uicommon.model.ModelProvider; +import org.ovirt.engine.ui.common.widget.tab.ModelBoundTabData; +import org.ovirt.engine.ui.uicommonweb.models.datacenters.DataCenterListModel; +import org.ovirt.engine.ui.webadmin.ApplicationConstants; +import org.ovirt.engine.ui.webadmin.place.ApplicationPlaces; +import org.ovirt.engine.ui.webadmin.section.main.presenter.AbstractSubTabPanelPresenter; + +import com.google.gwt.event.shared.EventBus; +import com.google.gwt.event.shared.GwtEvent.Type; +import com.google.inject.Inject; +import com.gwtplatform.mvp.client.ChangeTabHandler; +import com.gwtplatform.mvp.client.Presenter; +import com.gwtplatform.mvp.client.PresenterWidget; +import com.gwtplatform.mvp.client.RequestTabsHandler; +import com.gwtplatform.mvp.client.TabData; +import com.gwtplatform.mvp.client.annotations.ChangeTab; +import com.gwtplatform.mvp.client.annotations.ContentSlot; +import com.gwtplatform.mvp.client.annotations.NameToken; +import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit; +import com.gwtplatform.mvp.client.annotations.RequestTabs; +import com.gwtplatform.mvp.client.annotations.TabInfo; +import com.gwtplatform.mvp.client.proxy.RevealContentHandler; +import com.gwtplatform.mvp.client.proxy.TabContentProxy; +import com.gwtplatform.mvp.client.proxy.TabContentProxyPlace; + +public class DataCenterQosSubTabPanelPresenter extends + AbstractSubTabPanelPresenter<DataCenterQosSubTabPanelPresenter.ViewDef, DataCenterQosSubTabPanelPresenter.ProxyDef> { + + @ProxyCodeSplit + @NameToken(ApplicationPlaces.dataCenterQosSubTabPlace) + public interface ProxyDef extends TabContentProxyPlace<DataCenterQosSubTabPanelPresenter> { + } + + public interface ViewDef extends AbstractSubTabPanelPresenter.ViewDef, DynamicTabPanel { + } + + @RequestTabs + public static final Type<RequestTabsHandler> TYPE_RequestTabs = new Type<RequestTabsHandler>(); + + @ChangeTab + public static final Type<ChangeTabHandler> TYPE_ChangeTab = new Type<ChangeTabHandler>(); + + @ContentSlot + public static final Type<RevealContentHandler<?>> TYPE_SetTabContent = new Type<RevealContentHandler<?>>(); + + private Presenter<?, ?> lastPresenter; + + @Inject + public DataCenterQosSubTabPanelPresenter(EventBus eventBus, ViewDef view, ProxyDef proxy, + ScrollableTabBarPresenterWidget tabBar, SubTabDataCenterStorageQosPresenter dataCenterStorageQosPresenter) { + super(eventBus, view, proxy, TYPE_SetTabContent, TYPE_RequestTabs, TYPE_ChangeTab, tabBar, DataCenterSubTabPanelPresenter.TYPE_SetTabContent); + this.lastPresenter = dataCenterStorageQosPresenter; + } + + @TabInfo(container = DataCenterSubTabPanelPresenter.class) + static TabData getTabData(ApplicationConstants applicationConstants, + ModelProvider<DataCenterListModel> modelProvider) { + return new ModelBoundTabData(applicationConstants.dataCenterQosSubTabLabel(), 2, modelProvider); + } + + @Override + public void setInSlot(Object slot, PresenterWidget<?> content) { + super.setInSlot(slot, content); + if (content instanceof SubTabDataCenterStorageQosPresenter + || content instanceof SubTabDataCenterNetworkQoSPresenter) { + lastPresenter = (Presenter<?, ?>) content; + } + TabContentProxy<?> proxy = (TabContentProxy<?>) lastPresenter.getProxy(); + super.setInSlot(TYPE_SetTabContent, lastPresenter); + getView().setActiveTab(proxy.getTab()); + getView().setActiveTabHistoryToken(proxy.getTargetHistoryToken()); + } +} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/datacenter/SubTabDataCenterNetworkQoSPresenter.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/datacenter/SubTabDataCenterNetworkQoSPresenter.java index 28578d2..9e72c36 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/datacenter/SubTabDataCenterNetworkQoSPresenter.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/datacenter/SubTabDataCenterNetworkQoSPresenter.java @@ -35,10 +35,10 @@ public interface ViewDef extends AbstractSubTabPresenter.ViewDef<StoragePool> { } - @TabInfo(container = DataCenterSubTabPanelPresenter.class) + @TabInfo(container = DataCenterQosSubTabPanelPresenter.class) static TabData getTabData(ApplicationConstants applicationConstants, SearchableDetailModelProvider<NetworkQoS, DataCenterListModel, DataCenterNetworkQoSListModel> modelProvider) { - return new ModelBoundTabData(applicationConstants.dataCenterNetworkQoSSubTabLabel(), 2, modelProvider); + return new ModelBoundTabData(applicationConstants.dataCenterNetworkQoSSubTabLabel(), 1, modelProvider); } @Inject @@ -46,7 +46,7 @@ PlaceManager placeManager, SearchableDetailModelProvider<NetworkQoS, DataCenterListModel, DataCenterNetworkQoSListModel> modelProvider) { super(eventBus, view, proxy, placeManager, modelProvider, - DataCenterSubTabPanelPresenter.TYPE_SetTabContent); + DataCenterQosSubTabPanelPresenter.TYPE_SetTabContent); } @Override diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/datacenter/SubTabDataCenterStorageQosPresenter.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/datacenter/SubTabDataCenterStorageQosPresenter.java index 563fb7a..7cdffa6 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/datacenter/SubTabDataCenterStorageQosPresenter.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/datacenter/SubTabDataCenterStorageQosPresenter.java @@ -35,10 +35,10 @@ public interface ViewDef extends AbstractSubTabPresenter.ViewDef<StoragePool> { } - @TabInfo(container = DataCenterSubTabPanelPresenter.class) + @TabInfo(container = DataCenterQosSubTabPanelPresenter.class) static TabData getTabData(ApplicationConstants applicationConstants, SearchableDetailModelProvider<StorageQos, DataCenterListModel, DataCenterStorageQosListModel> modelProvider) { - return new ModelBoundTabData(applicationConstants.dataCenterStorageQosSubTabLabel(), 10, modelProvider); + return new ModelBoundTabData(applicationConstants.dataCenterStorageQosSubTabLabel(), 0, modelProvider); } @Inject @@ -46,7 +46,7 @@ PlaceManager placeManager, SearchableDetailModelProvider<StorageQos, DataCenterListModel, DataCenterStorageQosListModel> modelProvider) { super(eventBus, view, proxy, placeManager, modelProvider, - DataCenterSubTabPanelPresenter.TYPE_SetTabContent); + DataCenterQosSubTabPanelPresenter.TYPE_SetTabContent); } @Override diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/DataCenterQosSubTabPanelView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/DataCenterQosSubTabPanelView.java new file mode 100644 index 0000000..9982f3c --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/DataCenterQosSubTabPanelView.java @@ -0,0 +1,25 @@ +package org.ovirt.engine.ui.webadmin.section.main.view.tab.datacenter; + +import org.ovirt.engine.ui.common.widget.tab.AbstractTabPanel; +import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.datacenter.DataCenterQosSubTabPanelPresenter; +import org.ovirt.engine.ui.webadmin.section.main.view.AbstractSubTabPanelView; +import org.ovirt.engine.ui.webadmin.widget.tab.HyperlinkTabPanel; + +public class DataCenterQosSubTabPanelView extends AbstractSubTabPanelView implements DataCenterQosSubTabPanelPresenter.ViewDef { + + private final HyperlinkTabPanel tabPanel = new HyperlinkTabPanel(); + + public DataCenterQosSubTabPanelView() { + initWidget(getTabPanel()); + } + + @Override + protected Object getContentSlot() { + return DataCenterQosSubTabPanelPresenter.TYPE_SetTabContent; + } + + @Override + protected AbstractTabPanel getTabPanel() { + return tabPanel; + } +} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tab/HyperlinkTabPanel.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tab/HyperlinkTabPanel.java new file mode 100644 index 0000000..ce9ff66 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tab/HyperlinkTabPanel.java @@ -0,0 +1,25 @@ +package org.ovirt.engine.ui.webadmin.widget.tab; + +import org.ovirt.engine.ui.common.widget.tab.HyperlinkTab; +import org.ovirt.engine.ui.common.widget.tab.TabDefinition; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.uibinder.client.UiBinder; +import com.google.gwt.user.client.ui.Widget; +import com.gwtplatform.mvp.client.TabData; + +public class HyperlinkTabPanel extends SimpleTabPanel { + interface WidgetUiBinder extends UiBinder<Widget, HyperlinkTabPanel> { + WidgetUiBinder uiBinder = GWT.create(WidgetUiBinder.class); + } + + @Override + protected void initWidget() { + initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this)); + } + + @Override + protected TabDefinition createNewTab(TabData tabData) { + return new HyperlinkTab(tabData, this); + } +} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tab/HyperlinkTabPanel.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tab/HyperlinkTabPanel.ui.xml new file mode 100644 index 0000000..9e0efb7 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tab/HyperlinkTabPanel.ui.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"> +<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui"> + + <ui:style> + .bar { + border-bottom: 1px solid #7B7B7B; + } + + .content { + overflow-x: hidden; + position: absolute; + top: 34px; + bottom: 0px; + left: 0px; + right: 0px; + } + </ui:style> + + <g:FlowPanel> + <g:HTMLPanel addStyleNames="{style.bar}"> + <g:FlowPanel ui:field="tabContainer" /> + <div style="clear: both;" /> + </g:HTMLPanel> + <g:SimplePanel ui:field="tabContentContainer" addStyleNames="{style.content}" /> + </g:FlowPanel> + +</ui:UiBinder> diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tab/SimpleTabPanel.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tab/SimpleTabPanel.java index d334f86..1730627 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tab/SimpleTabPanel.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tab/SimpleTabPanel.java @@ -27,6 +27,10 @@ TabWidgetHandler uiHandlers; public SimpleTabPanel() { + initWidget(); + } + + protected void initWidget() { initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this)); } -- To view, visit http://gerrit.ovirt.org/31835 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I6d5e2de2d979bdaab498922acd6a580bc89dc19a Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.5 Gerrit-Owner: Gilad Chaplik <gchap...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches