Added:
trunk/gdf-mygwt/src/main/java/net/mygwt/ui/client/widget/GdfTabItem.java
- copied, changed from r563, /trunk/gdf-mygwt/src/main/java/net/mygwt/ui/client/widget/table/GdfTabItem.java
trunk/gdf-mygwt/src/main/java/net/mygwt/ui/client/widget/TabItem.java
Removed:
trunk/gdf-mygwt/src/main/java/net/mygwt/ui/client/widget/table/GdfTabItem.java
Modified:
trunk/gdf-mygwt/pom.xml
trunk/gdf-mygwt/src/main/java/gdf/mygwt/Module.gwt.xml
trunk/gdf-mygwt/src/main/java/gdf/mygwt/client/view/PerspectiveView.java
trunk/gdf-mygwt/src/main/java/gdf/mygwt/client/view/TableView.java
trunk/gdf-mygwt/src/main/java/gdf/mygwt/client/view/TaskBarView.java
trunk/gdf-mygwt/src/main/java/net/mygwt/ui/client/widget/table/TableItem.java
trunk/repository/net/mygwt/ui/net-mygwt-ui/0.5.0-alpha2/net-mygwt-ui-0.5.0-alpha2.jar.md5
trunk/repository/net/mygwt/ui/net-mygwt-ui/0.5.0-alpha2/net-mygwt-ui-0.5.0-alpha2.pom.md5
Log:
- Updated MyGWT extension to 0.5.0 alpha2.
Modified: trunk/gdf-mygwt/pom.xml
==============================================================================
--- trunk/gdf-mygwt/pom.xml (original)
+++ trunk/gdf-mygwt/pom.xml Fri Jan 4 08:06:25 2008
@@ -36,7 +36,7 @@
<dependency>
<groupId>net.mygwt.ui</groupId>
<artifactId>net-mygwt-ui</artifactId>
- <version>0.4.3</version>
+ <version>0.5.0-alpha2</version>
<scope>provided</scope>
</dependency>
<dependency>
Modified: trunk/gdf-mygwt/src/main/java/gdf/mygwt/Module.gwt.xml
==============================================================================
--- trunk/gdf-mygwt/src/main/java/gdf/mygwt/Module.gwt.xml (original)
+++ trunk/gdf-mygwt/src/main/java/gdf/mygwt/Module.gwt.xml Fri Jan 4
08:06:25 2008
@@ -1,5 +1,6 @@
<module>
<inherits name="com.google.gwt.user.User" />
+ <inherits name="com.google.gwt.junit.JUnit" />
<inherits name="gdf.core.Module" />
<inherits name="gdf.gwt.Module"/>
<inherits name="net.mygwt.ui.MyGWT"/>
Modified: trunk/gdf-mygwt/src/main/java/gdf/mygwt/client/view/PerspectiveView.java
==============================================================================
---
trunk/gdf-mygwt/src/main/java/gdf/mygwt/client/view/PerspectiveView.java (original)
+++
trunk/gdf-mygwt/src/main/java/gdf/mygwt/client/view/PerspectiveView.java
Fri Jan 4 08:06:25 2008
@@ -19,13 +19,13 @@
import net.mygwt.ui.client.event.BaseEvent;
import net.mygwt.ui.client.event.Listener;
import net.mygwt.ui.client.event.SelectionListener;
+import net.mygwt.ui.client.widget.GdfTabItem;
import net.mygwt.ui.client.widget.MessageBox;
import net.mygwt.ui.client.widget.TabFolder;
import net.mygwt.ui.client.widget.TabItem;
import net.mygwt.ui.client.widget.WidgetContainer;
import net.mygwt.ui.client.widget.layout.BorderLayout;
import net.mygwt.ui.client.widget.layout.BorderLayoutData;
-import net.mygwt.ui.client.widget.table.GdfTabItem;
import com.google.gwt.user.client.ui.Widget;
Modified: trunk/gdf-mygwt/src/main/java/gdf/mygwt/client/view/TableView.java
==============================================================================
--- trunk/gdf-mygwt/src/main/java/gdf/mygwt/client/view/TableView.java (original)
+++ trunk/gdf-mygwt/src/main/java/gdf/mygwt/client/view/TableView.java
Fri Jan 4 08:06:25 2008
@@ -48,17 +48,19 @@
TableColumn viewColumn;
for (int i = 0; i < modelColumns.size(); i++) {
- modelColumn = (gdf.core.client.table.TableColumn) modelColumns.get(i);
+ modelColumn = (gdf.core.client.table.TableColumn) modelColumns
+ .get(i);
viewColumn = new TableColumn(modelColumn.getName(), modelColumn
.getName());
- viewColumn.minWidth = modelColumn.getMinimumWidth();
- viewColumn.maxWidth = modelColumn.getMaximumWidth();
+ viewColumn.setMinWidth(modelColumn.getMinimumWidth());
+ viewColumn.setMaxWidth(modelColumn.getMaximumWidth());
viewColumns[i] = viewColumn;
}
TableColumnModel columnModel = new TableColumnModel(viewColumns);
for (int i = 0; i < modelColumns.size(); i++) {
- modelColumn = (gdf.core.client.table.TableColumn) modelColumns.get(i);
+ modelColumn = (gdf.core.client.table.TableColumn) modelColumns
+ .get(i);
columnModel.setColumnWidth(i, modelColumn.getInitialWidth());
}
Modified: trunk/gdf-mygwt/src/main/java/gdf/mygwt/client/view/TaskBarView.java
==============================================================================
---
trunk/gdf-mygwt/src/main/java/gdf/mygwt/client/view/TaskBarView.java (original)
+++
trunk/gdf-mygwt/src/main/java/gdf/mygwt/client/view/TaskBarView.java
Fri Jan 4 08:06:25 2008
@@ -67,18 +67,16 @@
if (childWidget != null) {
// Window.alert(childWidget.getParent().getElement().toString());
-
- if(childWidget.getParent()!=item.getContainer())
- {
+
+ if (childWidget.getParent() != item.getContainer()) {
childWidget.removeFromParent();
- item.getContainer().layoutOnChange=true;
- item.getContainer().add(childWidget);
+ item.getContainer().setLayoutOnChange(true);
+ item.getContainer().add(childWidget);
}
}
}
});
-
}
configure(result, "TaskBar");
Copied:
trunk/gdf-mygwt/src/main/java/net/mygwt/ui/client/widget/GdfTabItem.java
(from r563, /trunk/gdf-mygwt/src/main/java/net/mygwt/ui/client/widget/table/GdfTabItem.java)
==============================================================================
---
/trunk/gdf-mygwt/src/main/java/net/mygwt/ui/client/widget/table/GdfTabItem.java (original)
+++
trunk/gdf-mygwt/src/main/java/net/mygwt/ui/client/widget/GdfTabItem.java
Fri Jan 4 08:06:25 2008
@@ -6,10 +6,9 @@
* Copyright 2007 par Business Software Consulting.
*/
-package net.mygwt.ui.client.widget.table;
+package net.mygwt.ui.client.widget;
import net.mygwt.ui.client.widget.IconButton;
-import net.mygwt.ui.client.widget.TabItem;
/**
*
@@ -23,7 +22,7 @@
}
public IconButton getCloseButton() {
- return (IconButton) buttons.get(0);
+ return (IconButton) closeBtn;
}
}
Added: trunk/gdf-mygwt/src/main/java/net/mygwt/ui/client/widget/TabItem.java
==============================================================================
--- (empty file)
+++
trunk/gdf-mygwt/src/main/java/net/mygwt/ui/client/widget/TabItem.java
Fri Jan 4 08:06:25 2008
@@ -0,0 +1,136 @@
+/*
+ * MyGWT Widget Library
+ * Copyright(c) 2007, MyGWT.
+ * lice...@mygwt.net
+ *
+ * http://mygwt.net/license
+ */
+package net.mygwt.ui.client.widget;
+
+import net.mygwt.ui.client.Events;
+import net.mygwt.ui.client.MyDOM;
+import net.mygwt.ui.client.Style;
+import net.mygwt.ui.client.event.BaseEvent;
+import net.mygwt.ui.client.event.Listener;
+
+import com.google.gwt.user.client.Event;
+import com.google.gwt.user.client.ui.Frame;
+
+/**
+ * A selectable user interface object corresponding to a tab for a
page in a
+ * <code>TabFolder</code>.
+ *
+ * <dl>
+ * <dt><b>Styles:</b></dt>
+ * <dd>CLOSE</dd>
+ *
+ * <dt><b>Events:</b></dt>
+ * <dd><b>Close</b> : (widget)<br>
+ * <div>Fires after a item is closed.</div>
+ * <ul>
+ * <li>widget : this</li>
+ * </ul>
+ * </dd>
+ *
+ * <dt><b>CSS:</b></dt>
+ * <dd>.my-tabitem (the tab item)</dd>
+ * <dd>.my-tabitem .my-tabitem-text</dd>
+ * </dl>
+ */
+public class TabItem extends Item {
+
+ TabFolder tabFolder;
+ private WidgetContainer container;
+ protected IconButton closeBtn;
+
+ /**
+ * Creates a new tab item.
+ */
+ public TabItem() {
+ this(Style.NONE);
+ }
+
+ /**
+ * Creates a new tab item.
+ *
+ * @param style
+ * the widget style
+ */
+ public TabItem(int style) {
+ super(style, "my-tabitem");
+ if ((style & Style.CLOSE) != 0) {
+ closeBtn = new IconButton("my-tab-close");
+ closeBtn.addStyleName("my-tool-btn");
+ addStyleName("my-tabitem-close");
+ closeBtn.addListener(Events.Click, new Listener() {
+ public void handleEvent(BaseEvent be) {
+ close();
+ }
+ });
+ addWidget(closeBtn);
+ }
+
+ container = new WidgetContainer();
+ sinkEvents(Event.ONCLICK);
+ }
+
+ /**
+ * Closes the tab item.
+ */
+ public void close() {
+ tabFolder.onClose(this);
+ }
+
+ /**
+ * Returns the tab item's content cotainer.
+ *
+ * @return the container
+ */
+ public WidgetContainer getContainer() {
+ return container;
+ }
+
+ /**
+ * Returns the item's parent tab folder.
+ *
+ * @return the tab folder
+ */
+ public TabFolder getTabFolder() {
+ return tabFolder;
+ }
+
+ /**
+ * Sets the item's icon style.
+ *
+ * @param style
+ * the icon style
+ */
+ public void setIconStyle(String style) {
+ addStyleName("my-tabitem-icon");
+ super.setIconStyle(style);
+ }
+
+ /**
+ * Sets a url for the content area of the item.
+ *
+ * @param url
+ * the url
+ */
+ public void setURL(String url) {
+ Frame f = new Frame(url);
+ MyDOM.setStyleAttribute(f.getElement(), "frameborder", "0");
+ f.setSize("100%", "100%");
+ container.layout = null;
+ container.removeAll();
+ container.add(f);
+ }
+
+ protected void onClick(BaseEvent be) {
+ tabFolder.setSelection(this);
+ }
+
+ void onSelectedChange(boolean select) {
+
+ }
+
+}
Modified: trunk/gdf-mygwt/src/main/java/net/mygwt/ui/client/widget/table/TableItem.java
==============================================================================
---
trunk/gdf-mygwt/src/main/java/net/mygwt/ui/client/widget/table/TableItem.java (original)
+++
trunk/gdf-mygwt/src/main/java/net/mygwt/ui/client/widget/table/TableItem.java
Fri Jan 4 08:06:25 2008
@@ -12,6 +12,7 @@
import net.mygwt.ui.client.Style;
import net.mygwt.ui.client.event.BaseEvent;
import net.mygwt.ui.client.widget.Component;
+import net.mygwt.ui.client.widget.ToolTip;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Element;
@@ -23,6 +24,10 @@
private Table table;
private Object[] values;
+ private String[] cellToolTipValues;
+ private String[] cellStyles;
+ private ToolTip cellToolTip;
+ private boolean cellsRendered;
/**
* Creates a new table item.
@@ -34,6 +39,10 @@
this.values = values;
}
+ public void setTable(Table table) {
+ this.table = table;
+ }
+
/**
* Returns the item's parent table.
*
@@ -64,6 +73,12 @@
}
public void onBaseEvent(BaseEvent be) {
+ // Pass along the event to the related cell tooltip if it exists
+ // so that we don't consume the event before the tooltip processes it
+ if (cellToolTip != null) {
+ cellToolTip.handleEvent(be);
+ }
+
switch (be.type) {
case Events.Click:
onClick(be);
@@ -89,8 +104,41 @@
* the new style
*/
public void setCellStyle(int index, String style) {
- Element cell = getCell(index);
- MyDOM.setStyleName(cell, "my-tbl-cell-text " + style);
+ if (cellStyles == null) {
+ cellStyles = new String[values.length];
+ }
+ cellStyles[index] = style;
+ if (cellsRendered) {
+ Element cell = table.getView().getTextCellElement(this, index);
+ MyDOM.setStyleName(cell, "my-tbl-cell-text " + style);
+ }
+ }
+
+ /**
+ * Sets a cell tooltip.
+ *
+ * @param index
+ * the column index
+ * @param text
+ * the text of the tool tip
+ */
+ public void setCellToolTipText(int index, String text) {
+ if (cellToolTipValues == null) {
+ cellToolTipValues = new String[values.length];
+ }
+
+ cellToolTipValues[index] = text;
+ initCellToolTips();
+ }
+
+ /**
+ * Sets all of the cell tooltips
+ *
+ * @param cellToolTips
+ * the tool tips to use
+ */
+ public void setCellToolTipValues(String[] cellToolTips) {
+ this.cellToolTipValues = cellToolTips;
}
/**
@@ -116,7 +164,7 @@
public void setValue(int index, Object value) {
values[index] = value;
if (rendered) {
- Element textElem = getCell(index);
+ Element textElem = table.getView().getTextCellElement(this, index);
if (textElem != null) {
String s = table.getRenderedValue(index, value);
DOM.setInnerHTML(textElem, s);
@@ -124,12 +172,58 @@
}
}
+ protected void afterCellsRender() {
+ cellsRendered = true;
+ if (cellStyles != null) {
+ for (int i = 0; i < cellStyles.length; i++) {
+ setCellStyle(i, cellStyles[i]);
+ }
+ }
+ }
+
+ protected void init(Table table) {
+ this.table = table;
+ }
+
protected void onRender() {
setElement(DOM.createDiv());
setStyleName("my-tbl-item");
+ initCellToolTips();
}
- void onClick(BaseEvent be) {
+ protected void onCellMouseOver(BaseEvent be) {
+ Element target = be.getTarget();
+
+ int index = getCellIndex(target);
+ if (index == Style.DEFAULT) {
+ return;
+ }
+
+ if (cellToolTip != null) {
+ if (cellToolTipValues != null && cellToolTipValues[index] != null
+ && cellToolTipValues[index].length() > 0) {
+ cellToolTip.setText(null, cellToolTipValues[index]);
+ cellToolTip.setVisible(true);
+ } else {
+ cellToolTip.setVisible(false);
+ }
+ }
+ }
+
+ protected void initCellToolTips() {
+ if (cellToolTip == null && cellToolTipValues != null) {
+ for (int i = 0; i < cellToolTipValues.length; i++) {
+ if (cellToolTipValues[i] != null
+ && cellToolTipValues[i].length() > 0) {
+ cellToolTip = new ToolTip(this);
+ cellToolTip.setTrackMouse(true);
+ return;
+ }
+ }
+ }
+ }
+
+ protected void onClick(BaseEvent be) {
Element target = be.getTarget();
int index = getCellIndex(target);
@@ -148,23 +242,7 @@
be.stopEvent();
}
- private int getCellIndex(Element target) {
- String index = MyDOM.getAnyElementProperty(target, "index");
- if (index == null) {
- target = DOM.getParent(target);
- while (target != null) {
- index = MyDOM.getAnyElementProperty(target, "index");
- if (index == null) {
- target = DOM.getParent(target);
- } else {
- break;
- }
- }
- }
- return index == null ? Style.DEFAULT : Integer.parseInt(index);
- }
-
- void onDoubleClick(BaseEvent be) {
+ protected void onDoubleClick(BaseEvent be) {
Element target = be.getTarget();
int index = getCellIndex(target);
@@ -187,43 +265,7 @@
void onMouseOver(BaseEvent be) {
addStyleName("my-tbl-item-over");
- }
-
- protected void render(Table table, String[] values) {
- this.table = table;
-
- TableColumnModel cm = table.getColumnModel();
-
- int cols = cm.getColumnCount();
-
- StringBuffer sb = new StringBuffer();
- sb.append("<table cellpadding=0 cellspacing=0 tabIndex=1><tr>");
- for (int i = 0; i < cols; i++) {
- TableColumn c = cm.getColumn(i);
- int w = table.getColumnModel().getWidthInPixels(c.index);
- int align = c.align;
- String salign = "left";
- if (align == Style.CENTER) {
- salign = "center";
- } else if (align == Style.RIGHT) {
- salign = "right";
- }
- sb
- .append("<td class=my-tbl-cell style='width: "
- + w
- + "px' index="
- + i
- + "><div class=my-tbl-cell-overflow><div class=my-tbl-cell-text style='text-align:"
- + salign + "'>" + values[i] + "</div></div></td>");
- }
- sb.append("</tr></table>");
-
- DOM.setInnerHTML(getElement(), sb.toString());
- disableTextSelection(true);
- }
-
- void scrollIntoView() {
- MyDOM.scrollIntoView(getElement(), table.scrollElem, false);
+ onCellMouseOver(be);
}
void setSelected(boolean select) {
@@ -234,19 +276,20 @@
}
}
- private native Element getCell(int column) /*-{
- var el = this.@com.google.gwt.user.client.ui.UIObject::element;
- return el.firstChild.firstChild.firstChild.childNodes[column].firstChild.firstChild;
- }-*/;
-
- /**
- * Assigns the table.
- *
- * @param table
- * The table to assign.
- */
- public void setTable(Table table) {
- this.table = table;
+ private int getCellIndex(Element target) {
+ String index = MyDOM.getAnyElementProperty(target, "index");
+ if (index == null) {
+ target = DOM.getParent(target);
+ while (target != null) {
+ index = MyDOM.getAnyElementProperty(target, "index");
+ if (index == null) {
+ target = DOM.getParent(target);
+ } else {
+ break;
+ }
+ }
+ }
+ return index == null ? Style.DEFAULT : Integer.parseInt(index);
}
}
Modified: trunk/repository/net/mygwt/ui/net-mygwt-ui/0.5.0-alpha2/net-mygwt-ui-0.5.0-alpha2.jar.md5
==============================================================================
---
trunk/repository/net/mygwt/ui/net-mygwt-ui/0.5.0-alpha2/net-mygwt-ui-0.5.0-alpha2.jar.md5 (original)
+++
trunk/repository/net/mygwt/ui/net-mygwt-ui/0.5.0-alpha2/net-mygwt-ui-0.5.0-alpha2.jar.md5
Fri Jan 4 08:06:25 2008
@@ -1 +1 @@
-769a8998013ff4eea2181961d4167f48
\ No newline at end of file
+a8fce7792773a62ac06e7a4b94d4648b
\ No newline at end of file
Modified: trunk/repository/net/mygwt/ui/net-mygwt-ui/0.5.0-alpha2/net-mygwt-ui-0.5.0-alpha2.pom.md5
==============================================================================
---
trunk/repository/net/mygwt/ui/net-mygwt-ui/0.5.0-alpha2/net-mygwt-ui-0.5.0-alpha2.pom.md5 (original)
+++
trunk/repository/net/mygwt/ui/net-mygwt-ui/0.5.0-alpha2/net-mygwt-ui-0.5.0-alpha2.pom.md5
Fri Jan 4 08:06:25 2008
@@ -1 +1 @@
-bc58f11dc9279b5f71d0967ee4abf696
\ No newline at end of file
+2a65e91a5c6c607c41affe1575a3cf0c
\ No newline at end of file