My vote: [ X ] -1 Don't publish For the following reasons: The tags/2.0.3 source differs from the branches\2.0.x source (as of revision 1455351) in the following ways (some of these are important fixes). I would at the least think that the 2.0.3 tag would be a snapshot of the current state of branches/2.0.x. The top is branches/2.0.x, then bottom tags/2.0.3.
Then I would expect a build either out of the (frozen) 2.0.3 code or out of the tags/2.0.3 code. But, because of this difference I don't have any confidence that the build includes all the fixes in branches/2.0.x. --- examples/src/org/apache/pivot/examples/svg/svg_example.bxml Mon Jan 19 14:26:36 1970 +++ examples/src/org/apache/pivot/examples/svg/svg_example.bxml Mon Jan 19 14:26:36 1970 @@ -26,38 +26,14 @@ <BoxPane orientation="vertical" styles="{padding:12, horizontalAlignment:'center', verticalAlignment:'center'}"> <Label text="Welcome to Apache Pivot!" styles="{font:{size:16}}"/> - <Label text="" styles="{font:{size:16}}"/> <!-- spacer //--> - <ImageView image="@logo.svg" styles="{verticalAlignment:'top'}" - tooltipText="Pivot Logo as SVG Image" - /> - <Label text="" styles="{font:{size:16}}"/> <!-- spacer //--> + <ImageView image="@logo.svg" styles="{verticalAlignment:'top'}"/> <BoxPane> - <PushButton tooltipText="Button with PNG Image inside"> + <PushButton> <dataRenderer> - <content:ButtonDataRenderer orientation="vertical" - iconWidth="64" iconHeight="64" - fillIcon="true" - /> - </dataRenderer> - - <buttonData> - <content:ButtonData icon="@logo-64x64.png" text="Say Hello"/> - </buttonData> - - <buttonPressListeners> - function buttonPressed(button) { - org.apache.pivot.wtk.Prompt.prompt("Hello from Pivot", button.window); - } - </buttonPressListeners> - </PushButton> - <PushButton tooltipText="Button with SVG Image inside"> - <dataRenderer> - <content:ButtonDataRenderer orientation="vertical" - iconWidth="64" iconHeight="64" - fillIcon="true" - /> + <content:ButtonDataRenderer orientation="vertical" iconWidth="64" iconHeight="64" + fillIcon="true"/> </dataRenderer> <buttonData> @@ -71,8 +47,6 @@ </buttonPressListeners> </PushButton> </BoxPane> - <Label text="" styles="{font:{size:16}}"/> <!-- spacer //--> - </BoxPane> </ScrollPane> </Border> --- wtk/src/org/apache/pivot/wtk/content/ButtonDataRenderer.java Mon Jan 19 14:26:36 1970 +++ wtk/src/org/apache/pivot/wtk/content/ButtonDataRenderer.java Mon Jan 19 14:26:36 1970 @@ -23,7 +23,6 @@ import org.apache.pivot.wtk.Button; import org.apache.pivot.wtk.HorizontalAlignment; import org.apache.pivot.wtk.ImageView; -import org.apache.pivot.wtk.Insets; import org.apache.pivot.wtk.Label; import org.apache.pivot.wtk.VerticalAlignment; import org.apache.pivot.wtk.media.Image; @@ -83,22 +82,15 @@ imageView.getStyles().put("opacity", button.isEnabled() ? 1.0f : 0.5f); if (getFillIcon()) { - int buttonWidth = button.getWidth(); - int buttonHeight = button.getHeight(); - Insets padding = (Insets) button.getStyles().get("padding"); - if (buttonWidth > 0) { - imageView.setPreferredWidth(Math.max(buttonWidth - (padding.left + padding.right + 2), 0)); - } - if (buttonHeight > 0) { - imageView.setPreferredWidth(Math.max(buttonHeight - (padding.top + padding.bottom + 2), 0)); - } + imageView.setPreferredWidth(button.getWidth()); + imageView.setPreferredHeight(button.getHeight()); } } // Update the label label.setText(text != null ? text : ""); - if (text == null || text.length() == 0) { + if (text == null) { label.setVisible(false); } else { label.setVisible(true); --- wtk/src/org/apache/pivot/wtk/media/Image.java Mon Jan 19 14:26:36 1970 +++ wtk/src/org/apache/pivot/wtk/media/Image.java Mon Jan 19 14:26:36 1970 @@ -140,11 +140,6 @@ return imageListeners; } - @Override - public String toString() { - return getClass().getName() + " [" + getWidth() + "," + getHeight() + "]"; - } - public static Image load(URL location) throws TaskExecutionException { LoadTask loadTask = new LoadTask(location); return loadTask.execute(); --- wtk/src/org/apache/pivot/wtk/Label.java Mon Jan 19 14:26:36 1970 +++ wtk/src/org/apache/pivot/wtk/Label.java Mon Jan 19 14:26:36 1970 @@ -106,22 +106,10 @@ installSkin(Label.class); } - /** - * Returns the label's text. - * - * @return - * The text. - */ public String getText() { return text; } - /** - * Set the text of the Label. - * - * @param text - * The text to set, must be not null. - */ public void setText(String text) { if (text == null) { throw new IllegalArgumentException(); @@ -139,20 +127,6 @@ } /** - * Utility method to set text to the given value, - * or to an empty string if null (to avoid the setText throw an IllegalArgumentException). - * This is useful to be called by code. - * - * @param text - * The text to set - * - * @see #setText - */ - public void setTextOrEmpty(String text) { - this.setText(text != null ? text : ""); - } - - /** * Returns the label's text key. * * @return @@ -282,10 +256,4 @@ public ListenerList<LabelBindingListener> getLabelBindingListeners() { return labelBindingListeners; } - - @Override - public String toString() { - return getClass().getName() + " [\"" + getText() + "\"]"; - } - } --- wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraPushButtonSkin.java Mon Jan 19 14:26:36 1970 +++ wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraPushButtonSkin.java Mon Jan 19 14:26:36 1970 @@ -93,11 +93,11 @@ // Include padding in constraint int contentHeight = height; if (contentHeight != -1) { - contentHeight = Math.max(contentHeight - paddingHeight(), 0); + contentHeight = Math.max(contentHeight - (padding.top + padding.bottom + 2), 0); } preferredWidth = dataRenderer.getPreferredWidth(contentHeight) - + paddingWidth(); + + padding.left + padding.right + 2; // Adjust for preferred aspect ratio if (!Float.isNaN(minimumAspectRatio) @@ -124,11 +124,11 @@ // Include padding in constraint int contentWidth = width; if (contentWidth != -1) { - contentWidth = Math.max(contentWidth - paddingWidth(), 0); + contentWidth = Math.max(contentWidth - (padding.left + padding.right + 2), 0); } preferredHeight = dataRenderer.getPreferredHeight(contentWidth) - + paddingHeight(); + + padding.top + padding.bottom + 2; // Adjust for preferred aspect ratio if (!Float.isNaN(maximumAspectRatio) @@ -148,8 +148,12 @@ dataRenderer.render(pushButton.getButtonData(), pushButton, false); Dimensions preferredContentSize = dataRenderer.getPreferredSize(); - int preferredWidth = preferredContentSize.width + paddingWidth(); - int preferredHeight = preferredContentSize.height + paddingHeight(); + + int preferredWidth = preferredContentSize.width + + padding.left + padding.right + 2; + + int preferredHeight = preferredContentSize.height + + padding.top + padding.bottom + 2; // Adjust for preferred aspect ratio float aspectRatio = (float) preferredWidth / (float) preferredHeight; @@ -174,10 +178,11 @@ Button.DataRenderer dataRenderer = pushButton.getDataRenderer(); dataRenderer.render(pushButton.getButtonData(), pushButton, false); - int clientWidth = Math.max(width - paddingWidth(), 0); - int clientHeight = Math.max(height - paddingHeight(), 0); + int clientWidth = Math.max(width - (padding.left + padding.right + 2), 0); + int clientHeight = Math.max(height - (padding.top + padding.bottom + 2), 0); int baseline = dataRenderer.getBaseline(clientWidth, clientHeight); + if (baseline != -1) { baseline += padding.top + 1; } @@ -229,10 +234,8 @@ Button.DataRenderer dataRenderer = pushButton.getDataRenderer(); dataRenderer.render(pushButton.getButtonData(), pushButton, highlighted); - dataRenderer.setSize( - Math.max(width - paddingWidth(), 0), - Math.max(getHeight() - paddingHeight(), 0) - ); + dataRenderer.setSize(Math.max(width - (padding.left + padding.right + 2), 0), + Math.max(getHeight() - (padding.top + padding.bottom + 2), 0)); Graphics2D contentGraphics = (Graphics2D) graphics.create(); contentGraphics.translate(padding.left + 1, padding.top + 1); @@ -505,14 +508,6 @@ setPadding(Insets.decode(padding)); } - private int paddingWidth() { - return padding.left + padding.right + 2; - } - - private int paddingHeight() { - return padding.top + padding.bottom + 2; - } - public float getMinimumAspectRatio() { return minimumAspectRatio; } @@ -590,5 +585,4 @@ return super.mouseClick(component, button, x, y, count); } - } --- wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java Mon Jan 19 14:26:36 1970 +++ wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java Mon Jan 19 14:26:36 1970 @@ -589,11 +589,11 @@ } } else { rowIndex = (y / (fixedRowHeight + 1)); - } - List<Object> tableData = (List<Object>)tableView.getTableData(); - if (rowIndex >= tableData.getLength()) { - rowIndex = -1; + List<Object> tableData = (List<Object>)tableView.getTableData(); + if (rowIndex >= tableData.getLength()) { + rowIndex = -1; + } } return rowIndex; --- build.properties Mon Jan 19 14:26:36 1970 +++ build.properties Mon Jan 19 14:26:36 1970 @@ -14,7 +14,7 @@ # limitations under the License. # Pivot Version -version=2.0.3 +version=2.1.0 # set local server for downloading applications and data # (currently needed only for some pivot-demo, like LargeData) --- README Mon Jan 19 14:26:36 1970 +++ README Mon Jan 19 14:26:36 1970 @@ -16,24 +16,24 @@ Distribution JARs ================= -* Core (pivot-core-2.0.3.jar): +* Core (pivot-core-2.0.2.jar): A set of common, non-UI-specific classes. -* WTK (pivot-wtk-2.0.3.jar): +* WTK (pivot-wtk-2.0.2.jar): Classes for user interface development, including windows, dialogs, buttons, lists, text input, layout, drag and drop, XML markup, etc. -* WTK Terra Theme (pivot-wtk-terra-2.0.3.jar): +* WTK Terra Theme (pivot-wtk-terra-2.0.2.jar): The default WTK theme provider for Pivot, responsible for the look & feel of the user interface components. -* Web (pivot-web-2.0.3.jar): +* Web (pivot-web-2.0.2.jar): Classes to facilitate communication with remote data services. -* Web Server (pivot-web-server-2.0.3.jar): +* Web Server (pivot-web-server-2.0.2.jar): Classes to facilitate implementation of server-side data services. -* Charting (pivot-charts-2.0.3.jar): +* Charting (pivot-charts-2.0.2.jar): Classes for adding interactive charting capabilities to Pivot applications. To begin developing with Pivot, simply include the necessary libraries on your @@ -90,4 +90,4 @@ Pivot home page: http://pivot.apache.org/ Demos: http://pivot.apache.org/demos/ Tutorials: http://pivot.apache.org/tutorials/ -Javadoc: http://pivot.apache.org/2.0.3/docs/api/ +Javadoc: http://pivot.apache.org/2.0.2/docs/api/ --- RELEASE-NOTES Mon Jan 19 14:26:36 1970 +++ RELEASE-NOTES Mon Jan 19 14:26:36 1970 @@ -15,47 +15,33 @@ limitations under the License. ======================================================================== ======== -Release Notes for Pivot 2.0.3: +Release Notes for Pivot 2.0.2: ** New Feature - * [PIVOT-455] - Add an alignment style to TerraTextInputSkin - * [PIVOT-731] - Ignore Flag for controls within a Rollup Heading - * [PIVOT-834] - Form.getSection(Component) to return the section for nested components ** Improvement - * [PIVOT-536] - BXMLSerializer should provide a structure error object when a serializer error occurs - * [PIVOT-558] - BeanAdapter should have a putAll method to allow multiple property set in one method call...especially useful when setting properties from a JSON string - * [PIVOT-679] - TableViewImageCellRenderer should render disabled rows with an opacity of 0.5f - * [PIVOT-783] - Calling setScale on scaleDecorator doesn't update the display - * [PIVOT-784] - Improvement in clear() and clearSelection() methods in some components - * [PIVOT-857] - Add activity indicator to file browser while loading a directory - * [PIVOT-867] - Ability to selectively enable/disable a Tree node - * [PIVOT-870] - Small improvements in BXMLSerializer for interacting with JavaScript (inside the JVM) - * [PIVOT-875] - JSON should support using pivot.collections.Map directly - * [PIVOT-879] - Need access to Displays list in order to support multiple host windows - * [PIVOT-883] - Update Javadoc for ComponentStateListener method arguments - * [PIVOT-889] - Allow newline to do hard break in Label text when wrapping - * [PIVOT-893] - Set lower default value for maximumLength in TextInput and TextArea - * [PIVOT-896] - do not allow to set text to null in Labels + * [PIVOT-508] - TextArea displays blinking cursor even when it's in read-only mode. + * [PIVOT-771] - getSelectedIndex()/getSelectedPath() in TreeView, ListView and TableView should not throw Exception when in SelectMode.MULTI + * [PIVOT-836] - Improve Performance of Graphics + * [PIVOT-839] - Czech localization + * [PIVOT-840] - Improve instructions on how to use BXML in an application + * [PIVOT-842] - Disable volatile buffer even in unsigned Applets, using the existing flag + * [PIVOT-845] - Russian localization + * [PIVOT-847] - Update SVGSalamander jars to the latest stable version + * [PIVOT-852] - add methods for show/log info, callable even from dynamic languages include files + * [PIVOT-854] - Improvements of Palette ** Bug - * [PIVOT-655] - FileBrowserSheet save dialog appends the saveas field content to the selected folders/file - * [PIVOT-721] - ButtonDataRenderer#setFillIcon has no effect, because its BoxPane doesn't have fill style - * [PIVOT-781] - Unable to get an initially maximized HostFrame in DesktopApplicationContext due to bug in Java 6 under ubuntu/linux - * [PIVOT-843] - Copy Paste issues with CF_DIB clipboard type image - * [PIVOT-859] - Multi-page applet failed to route to respond - * [PIVOT-860] - CPU Usage at 100% when displaying an Expander - * [PIVOT-861] - Memory leak: Window icon ImageListenerList retains reference to closed windows, preventing garbage collection - * [PIVOT-862] - FileBrowser [Sheet] display the contents of the root instead of actual folder in some circumstancies - * [PIVOT-865] - Crash in Save, As dialog when path + filename entered in text field - * [PIVOT-872] - Build error with JDK 7 Update 7 - * [PIVOT-874] - StockTracker: removing multiple symbols may remove unselected ones too - * [PIVOT-876] - When user presses the tab key the applet loses focus and never regains it - * [PIVOT-880] - NPE when calling FileBrowser.setRootDirectory using a UNC path - * [PIVOT-887] - Tutorial example code for NumericSpinnerData doesn't work as shown - * [PIVOT-888] - Nullpointer Exception while editing TextArea with text property two-way bounded - * [PIVOT-892] - DoubleValidator and FloatValidator do not allow exponents to be entered - * [PIVOT-898] - fillIcon in buttons seems to let images display with wrong dimension + * [PIVOT-707] - TextArea cant be edited when pivot applet loses focus + * [PIVOT-738] - artefact problem with 2 scrollPane and TableView + * [PIVOT-751] - TabPaneSelectionListener#selectedIndexChanged called twice when first tab is inserted + * [PIVOT-782] - java7 / applets : input fields not working + * [PIVOT-800] - FileBrowserSheet#setSelectedFile() does not take effect + * [PIVOT-811] - ScrollPane painting lag / ListView focus issues + * [PIVOT-832] - FileBrowserSheet.setRootDirectory(...) fails the first time on drives other than system volume + * [PIVOT-835] - TextPane is unusable in 2.0.1 release + * [PIVOT-837] - TabPane with vertical tabOrientation and corner's content with top verticalAlignment + * [PIVOT-855] - Compilation errors with Java 7 (JDK 1.7) ** Task ~Roger Whitcomb