[jboss-svn-commits] JBL Code SVN: r36254 - in labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client: util and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Dec 8 07:53:51 EST 2010
Author: Rikkola
Date: 2010-12-08 07:53:51 -0500 (Wed, 08 Dec 2010)
New Revision: 36254
Added:
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ClosableLabel.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ClosableLabel.ui.xml
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/util/ScrollTabLayoutPanel.java
Removed:
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ScrollTabLayoutPanel.java
Modified:
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerViewCenterPanel.java
Log:
GUVNOR-1105 : Add round corners
-Tabs
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ClosableLabel.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ClosableLabel.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ClosableLabel.java 2010-12-08 12:53:51 UTC (rev 36254)
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2010 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.drools.guvnor.client.explorer;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.MouseOutEvent;
+import com.google.gwt.event.dom.client.MouseOverEvent;
+import com.google.gwt.event.logical.shared.CloseEvent;
+import com.google.gwt.event.logical.shared.CloseHandler;
+import com.google.gwt.event.logical.shared.HasCloseHandlers;
+import com.google.gwt.event.shared.HandlerRegistration;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.uibinder.client.UiHandler;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.Widget;
+
+/**
+ * @author rikkola
+ */
+public class ClosableLabel extends Composite
+ implements
+ HasCloseHandlers<ClosableLabel> {
+
+ interface ClosableLabelBinder
+ extends
+ UiBinder<Widget, ClosableLabel> {
+ }
+
+ private static ClosableLabelBinder uiBinder = GWT.create( ClosableLabelBinder.class );
+
+ @UiField
+ Label text;
+
+ @UiField
+ Image closeButton;
+
+ public ClosableLabel(final String title) {
+ initWidget( uiBinder.createAndBindUi( this ) );
+
+ text.setText( title );
+ }
+
+ @UiHandler("basePanel")
+ void showCloseButton(MouseOverEvent event) {
+ closeButton.setVisible( true );
+ }
+
+ @UiHandler("basePanel")
+ void hideCloseButton(MouseOutEvent event) {
+ closeButton.setVisible( false );
+ }
+
+ @UiHandler("closeButton")
+ void closeTab(ClickEvent clickEvent) {
+ CloseEvent.fire( this,
+ this );
+ }
+
+ public HandlerRegistration addCloseHandler(CloseHandler<ClosableLabel> handler) {
+ return addHandler( handler,
+ CloseEvent.getType() );
+ }
+
+}
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ClosableLabel.ui.xml
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ClosableLabel.ui.xml (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ClosableLabel.ui.xml 2010-12-08 12:53:51 UTC (rev 36254)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright 2010 JBoss Inc
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
+ xmlns:gwt='urn:import:com.google.gwt.user.client.ui'>
+
+ <ui:with field='images' type='org.drools.guvnor.client.resources.Images'/>
+
+ <gwt:FocusPanel ui:field="basePanel">
+ <gwt:HorizontalPanel>
+ <gwt:Label ui:field="text"></gwt:Label>
+ <gwt:Image ui:field="closeButton" resource='{images.close}' visible='false' ></gwt:Image>
+ </gwt:HorizontalPanel>
+ </gwt:FocusPanel>
+
+</ui:UiBinder>
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerViewCenterPanel.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerViewCenterPanel.java 2010-12-08 10:02:14 UTC (rev 36253)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerViewCenterPanel.java 2010-12-08 12:53:51 UTC (rev 36254)
@@ -22,19 +22,13 @@
import org.drools.guvnor.client.common.LoadingPopup;
import org.drools.guvnor.client.packages.PackageEditor;
-import org.drools.guvnor.client.resources.Images;
import org.drools.guvnor.client.ruleeditor.GuvnorEditor;
+import org.drools.guvnor.client.util.ScrollTabLayoutPanel;
-import com.google.gwt.core.client.GWT;
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.DOM;
+import com.google.gwt.event.logical.shared.CloseEvent;
+import com.google.gwt.event.logical.shared.CloseHandler;
import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.HTML;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.ScrollPanel;
import com.google.gwt.user.client.ui.Widget;
@@ -44,7 +38,6 @@
* @author Fernando Meyer, Michael Neale
*/
public class ExplorerViewCenterPanel extends Composite {
- private static Images images = (Images) GWT.create( Images.class );
private final ScrollTabLayoutPanel tabLayoutPanel;
@@ -123,14 +116,10 @@
private Widget newClosableLabel(final Panel panel,
final String title) {
- final HorizontalPanel hPanel = new HorizontalPanel();
- final Label label = new Label( title );
- DOM.setStyleAttribute( label.getElement(),
- "whiteSpace",
- "nowrap" );
- Image closeBtn = new Image( images.close() );
- closeBtn.addClickHandler( new ClickHandler() {
- public void onClick(ClickEvent arg0) {
+ ClosableLabel closableLabel = new ClosableLabel( title );
+
+ closableLabel.addCloseHandler( new CloseHandler<ClosableLabel>() {
+ public void onClose(CloseEvent<ClosableLabel> event) {
int widgetIndex = tabLayoutPanel.getWidgetIndex( panel );
if ( widgetIndex == tabLayoutPanel.getSelectedIndex() ) {
if ( isOnlyOneTabLeft() ) {
@@ -149,10 +138,7 @@
}
} );
- hPanel.add( label );
- hPanel.add( new HTML( "   " ) );
- hPanel.add( closeBtn );
- return hPanel;
+ return closableLabel;
}
/**
Deleted: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ScrollTabLayoutPanel.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ScrollTabLayoutPanel.java 2010-12-08 10:02:14 UTC (rev 36253)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ScrollTabLayoutPanel.java 2010-12-08 12:53:51 UTC (rev 36254)
@@ -1,212 +0,0 @@
-package org.drools.guvnor.client.explorer;
-
-import org.drools.guvnor.client.resources.Images;
-
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.core.client.Scheduler;
-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.event.logical.shared.ResizeEvent;
-import com.google.gwt.event.logical.shared.ResizeHandler;
-import com.google.gwt.event.shared.HandlerRegistration;
-import com.google.gwt.layout.client.Layout.Alignment;
-import com.google.gwt.user.client.Window;
-import com.google.gwt.user.client.ui.FlowPanel;
-import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.LayoutPanel;
-import com.google.gwt.user.client.ui.TabLayoutPanel;
-import com.google.gwt.user.client.ui.Widget;
-
-public class ScrollTabLayoutPanel extends TabLayoutPanel {
- private static Images images = (Images) GWT.create( Images.class );
-
- private Image scrollLeft;
- private Image scrollRight;
- private FlowPanel tabBar = null;
- private LayoutPanel panel;
- private static final int ScrollLengh = 100;
-
- private double barHeight;
- private Unit barUnit;
- private boolean isScrollingEnabled = false;
-
- private HandlerRegistration windowResizeHandler;
-
- public ScrollTabLayoutPanel(double barHeight, Unit barUnit) {
- super(barHeight, barUnit);
- this.barHeight = barHeight;
- this.barUnit = barUnit;
- this.panel = (LayoutPanel) getWidget();
-
- for (int i = 0; i < panel.getWidgetCount(); ++i) {
- Widget widget = panel.getWidget(i);
- if (widget instanceof FlowPanel) {
- tabBar = (FlowPanel) widget;
- break;
- }
- }
- }
-
- @Override
- public void add(Widget child, Widget tab) {
- super.add(child, tab);
- checkIfScrollButtonsNecessary();
- }
-
- @Override
- public boolean remove(Widget w) {
- boolean b = super.remove(w);
- checkIfScrollButtonsNecessary();
- return b;
- }
-
- @Override
- public boolean remove(int index) {
- boolean b = super.remove(index);
- checkIfScrollButtonsNecessary();
- return b;
- }
-
- @Override
- protected void onLoad() {
- super.onLoad();
-
- if (windowResizeHandler == null) {
- windowResizeHandler = Window.addResizeHandler(new ResizeHandler() {
- public void onResize(ResizeEvent event) {
- checkIfScrollButtonsNecessary();
- }
- });
- }
- }
-
- @Override
- protected void onUnload() {
- super.onUnload();
-
- if (windowResizeHandler != null) {
- windowResizeHandler.removeHandler();
- windowResizeHandler = null;
- }
- }
-
- private void enableScroll() {
- if (!isScrollingEnabled) {
- scrollRight = new Image(images.scrollRight());
- scrollLeft = new Image(images.scrollLeft());
- scrollLeft.addClickHandler(createScrollClickHandler(ScrollLengh));
- scrollRight.addClickHandler(createScrollClickHandler(-ScrollLengh));
-
- panel.setWidgetLeftRight(tabBar, 30, Unit.PX, 30, Unit.PX);
- panel.setWidgetTopHeight(tabBar, 0, Unit.PX, barHeight, barUnit);
- panel.setWidgetVerticalPosition(tabBar, Alignment.END);
-
- panel.add(scrollRight);
- panel.setWidgetRightWidth(scrollRight, 0, Unit.PX, 27, Unit.PX);
- panel.setWidgetTopHeight(scrollRight, 0, Unit.PX, barHeight,
- barUnit);
- panel.setWidgetVerticalPosition(scrollRight, Alignment.END);
-
- panel.add(scrollLeft);
- panel.setWidgetLeftWidth(scrollLeft, 0, Unit.PX, 27, Unit.PX);
- panel.setWidgetTopHeight(scrollLeft, 0, Unit.PX, barHeight, barUnit);
- panel.setWidgetVerticalPosition(scrollLeft, Alignment.END);
-
- isScrollingEnabled = true;
- }
- }
-
- private void disableScroll() {
- if (isScrollingEnabled) {
- panel.remove(scrollRight);
- panel.remove(scrollLeft);
-
- panel.setWidgetLeftRight(tabBar, 0, Unit.PX, 0, Unit.PX);
- panel.setWidgetTopHeight(tabBar, 0, Unit.PX, barHeight, barUnit);
- panel.setWidgetVerticalPosition(tabBar, Alignment.END);
-
- isScrollingEnabled = false;
- }
- }
-
- private void checkIfScrollButtonsNecessary() {
- // Defer size calculations until sizes are available, when calculating
- // immediately after add(), all size methods return zero
- Scheduler.get().scheduleDeferred(new Scheduler.ScheduledCommand() {
- public void execute() {
- boolean isScrolling = isScrollingNecessary();
- if(isScrolling) {
- enableScroll();
- } else {
- disableScroll();
- }
- }
- });
- }
-
- private boolean isScrollingNecessary() {
- Widget lastTab = getLastTab();
- if (lastTab == null)
- return false;
-
- return getRightOfWidget(lastTab) > getTabBarWidth();
- }
-
- private ClickHandler createScrollClickHandler(final int diff) {
- return new ClickHandler() {
- public void onClick(ClickEvent event) {
- Widget lastTab = getLastTab();
- if (lastTab == null)
- return;
-
- int newLeft = parsePosition(tabBar.getElement().getStyle().getLeft()) + diff;
- int rightOfLastTab = getRightOfWidget(lastTab);
-
- // Prevent scrolling the last tab too far away form the right
- // border, or the first tab further than the left border position
- if (newLeft <= 0
- && (getTabBarWidth() - newLeft < (rightOfLastTab + ScrollLengh))) {
- scrollTo(newLeft);
- }
- }
- };
- }
-
- private void scrollTo(int pos) {
- tabBar.getElement().getStyle().setLeft(pos, Unit.PX);
- }
-
- private int getRightOfWidget(Widget widget) {
- return widget.getElement().getOffsetLeft()
- + widget.getElement().getOffsetWidth();
- }
-
- private int getTabBarWidth() {
- return tabBar.getElement().getParentElement().getClientWidth();
- }
-
- private Widget getLastTab() {
- if (tabBar.getWidgetCount() == 0)
- return null;
-
- return tabBar.getWidget(tabBar.getWidgetCount() - 1);
- }
-
- private static int parsePosition(String positionString) {
- int position;
- try {
- for (int i = 0; i < positionString.length(); i++) {
- char c = positionString.charAt(i);
- if (c != '-' && !(c >= '0' && c <= '9')) {
- positionString = positionString.substring(0, i);
- }
- }
-
- position = Integer.parseInt(positionString);
- } catch (NumberFormatException ex) {
- position = 0;
- }
- return position;
- }
-}
Copied: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/util/ScrollTabLayoutPanel.java (from rev 36238, labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ScrollTabLayoutPanel.java)
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/util/ScrollTabLayoutPanel.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/util/ScrollTabLayoutPanel.java 2010-12-08 12:53:51 UTC (rev 36254)
@@ -0,0 +1,248 @@
+package org.drools.guvnor.client.util;
+
+import org.drools.guvnor.client.resources.Images;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.core.client.Scheduler;
+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.event.logical.shared.ResizeEvent;
+import com.google.gwt.event.logical.shared.ResizeHandler;
+import com.google.gwt.event.shared.HandlerRegistration;
+import com.google.gwt.layout.client.Layout.Alignment;
+import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.LayoutPanel;
+import com.google.gwt.user.client.ui.TabLayoutPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+public class ScrollTabLayoutPanel extends TabLayoutPanel {
+ private static Images images = GWT.create( Images.class );
+
+ private Image scrollLeft;
+ private Image scrollRight;
+ private FlowPanel tabBar = null;
+ private LayoutPanel panel;
+ private static final int ScrollLengh = 100;
+
+ private double barHeight;
+ private Unit barUnit;
+ private boolean isScrollingEnabled = false;
+
+ private HandlerRegistration windowResizeHandler;
+
+ public ScrollTabLayoutPanel(double barHeight,
+ Unit barUnit) {
+ super( barHeight,
+ barUnit );
+ this.barHeight = barHeight;
+ this.barUnit = barUnit;
+ this.panel = (LayoutPanel) getWidget();
+
+ for ( int i = 0; i < panel.getWidgetCount(); ++i ) {
+ Widget widget = panel.getWidget( i );
+ if ( widget instanceof FlowPanel ) {
+ tabBar = (FlowPanel) widget;
+ break;
+ }
+ }
+ }
+
+ @Override
+ public void add(Widget child,
+ Widget tab) {
+ super.add( child,
+ tab );
+ checkIfScrollButtonsNecessary();
+ }
+
+ @Override
+ public boolean remove(Widget w) {
+ boolean b = super.remove( w );
+ checkIfScrollButtonsNecessary();
+ return b;
+ }
+
+ @Override
+ public boolean remove(int index) {
+ boolean b = super.remove( index );
+ checkIfScrollButtonsNecessary();
+ return b;
+ }
+
+ @Override
+ protected void onLoad() {
+ super.onLoad();
+
+ if ( windowResizeHandler == null ) {
+ windowResizeHandler = Window.addResizeHandler( new ResizeHandler() {
+ public void onResize(ResizeEvent event) {
+ checkIfScrollButtonsNecessary();
+ }
+ } );
+ }
+ }
+
+ @Override
+ protected void onUnload() {
+ super.onUnload();
+
+ if ( windowResizeHandler != null ) {
+ windowResizeHandler.removeHandler();
+ windowResizeHandler = null;
+ }
+ }
+
+ private void enableScroll() {
+ if ( !isScrollingEnabled ) {
+ scrollRight = new Image( images.scrollRight() );
+ scrollLeft = new Image( images.scrollLeft() );
+ scrollLeft.addClickHandler( createScrollClickHandler( ScrollLengh ) );
+ scrollRight.addClickHandler( createScrollClickHandler( -ScrollLengh ) );
+
+ panel.setWidgetLeftRight( tabBar,
+ 30,
+ Unit.PX,
+ 30,
+ Unit.PX );
+ panel.setWidgetTopHeight( tabBar,
+ 0,
+ Unit.PX,
+ barHeight,
+ barUnit );
+ panel.setWidgetVerticalPosition( tabBar,
+ Alignment.END );
+
+ panel.add( scrollRight );
+ panel.setWidgetRightWidth( scrollRight,
+ 0,
+ Unit.PX,
+ 27,
+ Unit.PX );
+ panel.setWidgetTopHeight( scrollRight,
+ 0,
+ Unit.PX,
+ barHeight,
+ barUnit );
+ panel.setWidgetVerticalPosition( scrollRight,
+ Alignment.END );
+
+ panel.add( scrollLeft );
+ panel.setWidgetLeftWidth( scrollLeft,
+ 0,
+ Unit.PX,
+ 27,
+ Unit.PX );
+ panel.setWidgetTopHeight( scrollLeft,
+ 0,
+ Unit.PX,
+ barHeight,
+ barUnit );
+ panel.setWidgetVerticalPosition( scrollLeft,
+ Alignment.END );
+
+ isScrollingEnabled = true;
+ }
+ }
+
+ private void disableScroll() {
+ if ( isScrollingEnabled ) {
+ panel.remove( scrollRight );
+ panel.remove( scrollLeft );
+
+ panel.setWidgetLeftRight( tabBar,
+ 0,
+ Unit.PX,
+ 0,
+ Unit.PX );
+ panel.setWidgetTopHeight( tabBar,
+ 0,
+ Unit.PX,
+ barHeight,
+ barUnit );
+ panel.setWidgetVerticalPosition( tabBar,
+ Alignment.END );
+
+ isScrollingEnabled = false;
+ }
+ }
+
+ private void checkIfScrollButtonsNecessary() {
+ // Defer size calculations until sizes are available, when calculating
+ // immediately after add(), all size methods return zero
+ Scheduler.get().scheduleDeferred( new Scheduler.ScheduledCommand() {
+ public void execute() {
+ boolean isScrolling = isScrollingNecessary();
+ if ( isScrolling ) {
+ enableScroll();
+ } else {
+ disableScroll();
+ }
+ }
+ } );
+ }
+
+ private boolean isScrollingNecessary() {
+ Widget lastTab = getLastTab();
+ if ( lastTab == null ) return false;
+
+ return getRightOfWidget( lastTab ) > getTabBarWidth();
+ }
+
+ private ClickHandler createScrollClickHandler(final int diff) {
+ return new ClickHandler() {
+ public void onClick(ClickEvent event) {
+ Widget lastTab = getLastTab();
+ if ( lastTab == null ) return;
+
+ int newLeft = parsePosition( tabBar.getElement().getStyle().getLeft() ) + diff;
+ int rightOfLastTab = getRightOfWidget( lastTab );
+
+ // Prevent scrolling the last tab too far away form the right
+ // border, or the first tab further than the left border position
+ if ( newLeft <= 0 && (getTabBarWidth() - newLeft < (rightOfLastTab + ScrollLengh)) ) {
+ scrollTo( newLeft );
+ }
+ }
+ };
+ }
+
+ private void scrollTo(int pos) {
+ tabBar.getElement().getStyle().setLeft( pos,
+ Unit.PX );
+ }
+
+ private int getRightOfWidget(Widget widget) {
+ return widget.getElement().getOffsetLeft() + widget.getElement().getOffsetWidth();
+ }
+
+ private int getTabBarWidth() {
+ return tabBar.getElement().getParentElement().getClientWidth();
+ }
+
+ private Widget getLastTab() {
+ if ( tabBar.getWidgetCount() == 0 ) return null;
+
+ return tabBar.getWidget( tabBar.getWidgetCount() - 1 );
+ }
+
+ private static int parsePosition(String positionString) {
+ int position;
+ try {
+ for ( int i = 0; i < positionString.length(); i++ ) {
+ char c = positionString.charAt( i );
+ if ( c != '-' && !(c >= '0' && c <= '9') ) {
+ positionString = positionString.substring( 0,
+ i );
+ }
+ }
+
+ position = Integer.parseInt( positionString );
+ } catch ( NumberFormatException ex ) {
+ position = 0;
+ }
+ return position;
+ }
+}
More information about the jboss-svn-commits
mailing list