You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by gb...@apache.org on 2010/08/08 17:35:41 UTC
svn commit: r983433 - in /pivot/trunk:
tutorials/src/org/apache/pivot/tutorials/navigation/
wtk/src/org/apache/pivot/wtk/
Author: gbrown
Date: Sun Aug 8 15:35:40 2010
New Revision: 983433
URL: http://svn.apache.org/viewvc?rev=983433&view=rev
Log:
Minor cleanup of Accordion tutorial.
Modified:
pivot/trunk/tutorials/src/org/apache/pivot/tutorials/navigation/Accordions.java
pivot/trunk/tutorials/src/org/apache/pivot/tutorials/navigation/payment.bxml
pivot/trunk/tutorials/src/org/apache/pivot/tutorials/navigation/shipping.bxml
pivot/trunk/tutorials/src/org/apache/pivot/tutorials/navigation/summary.bxml
pivot/trunk/wtk/src/org/apache/pivot/wtk/Component.java
Modified: pivot/trunk/tutorials/src/org/apache/pivot/tutorials/navigation/Accordions.java
URL: http://svn.apache.org/viewvc/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/navigation/Accordions.java?rev=983433&r1=983432&r2=983433&view=diff
==============================================================================
--- pivot/trunk/tutorials/src/org/apache/pivot/tutorials/navigation/Accordions.java (original)
+++ pivot/trunk/tutorials/src/org/apache/pivot/tutorials/navigation/Accordions.java Sun Aug 8 15:35:40 2010
@@ -25,93 +25,53 @@ import org.apache.pivot.util.Resources;
import org.apache.pivot.util.Vote;
import org.apache.pivot.wtk.Accordion;
import org.apache.pivot.wtk.AccordionSelectionListener;
-import org.apache.pivot.wtk.ActivityIndicator;
-import org.apache.pivot.wtk.Button;
-import org.apache.pivot.wtk.ButtonPressListener;
import org.apache.pivot.wtk.Component;
-import org.apache.pivot.wtk.Label;
-import org.apache.pivot.wtk.PushButton;
import org.apache.pivot.wtk.Window;
public class Accordions extends Window implements Bindable {
private Accordion accordion = null;
- private PushButton shippingNextButton = null;
- private PushButton paymentNextButton = null;
- private PushButton confirmOrderButton = null;
- private ActivityIndicator activityIndicator = null;
- private Label processingOrderLabel = null;
-
- private AccordionSelectionListener accordionSelectionListener = new AccordionSelectionListener() {
- private int selectedIndex = -1;
-
- @Override
- public Vote previewSelectedIndexChange(Accordion accordion, int selectedIndex) {
- this.selectedIndex = selectedIndex;
-
- // Enable the next panel or disable the previous panel so the
- // transition looks smoother
- if (selectedIndex != -1) {
- int previousSelectedIndex = accordion.getSelectedIndex();
- if (selectedIndex > previousSelectedIndex) {
- accordion.getPanels().get(selectedIndex).setEnabled(true);
- } else {
- accordion.getPanels().get(previousSelectedIndex).setEnabled(false);
- }
-
- }
-
- return Vote.APPROVE;
- }
-
- @Override
- public void selectedIndexChangeVetoed(Accordion accordion, Vote reason) {
- if (reason == Vote.DENY
- && selectedIndex != -1) {
- Component panel = accordion.getPanels().get(selectedIndex);
- panel.setEnabled(!panel.isEnabled());
- }
- }
-
- @Override
- public void selectedIndexChanged(Accordion accordion, int previousSelection) {
- updateAccordion();
- }
- };
@Override
public void initialize(Map<String, Object> namespace, URL location, Resources resources) {
accordion = (Accordion)namespace.get("accordion");
- shippingNextButton = (PushButton)namespace.get("shippingPanel.nextButton");
- paymentNextButton = (PushButton)namespace.get("paymentPanel.nextButton");
- confirmOrderButton = (PushButton)namespace.get("summaryPanel.confirmOrderButton");
- activityIndicator = (ActivityIndicator)namespace.get("summaryPanel.activityIndicator");
- processingOrderLabel = (Label)namespace.get("summaryPanel.processingOrderLabel");
-
- accordion.getAccordionSelectionListeners().add(accordionSelectionListener);
+ accordion.getAccordionSelectionListeners().add(new AccordionSelectionListener() {
+ private int selectedIndex = -1;
- ButtonPressListener nextButtonPressListener = new ButtonPressListener() {
@Override
- public void buttonPressed(Button button) {
- accordion.setSelectedIndex(accordion.getSelectedIndex() + 1);
- }
- };
+ public Vote previewSelectedIndexChange(Accordion accordion, int selectedIndex) {
+ this.selectedIndex = selectedIndex;
+
+ // Enable the next panel or disable the previous panel so the
+ // transition looks smoother
+ if (selectedIndex != -1) {
+ int previousSelectedIndex = accordion.getSelectedIndex();
+ if (selectedIndex > previousSelectedIndex) {
+ accordion.getPanels().get(selectedIndex).setEnabled(true);
+ } else {
+ accordion.getPanels().get(previousSelectedIndex).setEnabled(false);
+ }
- shippingNextButton.getButtonPressListeners().add(nextButtonPressListener);
+ }
- paymentNextButton.getButtonPressListeners().add(nextButtonPressListener);
+ return Vote.APPROVE;
+ }
- confirmOrderButton.getButtonPressListeners().add(new ButtonPressListener() {
@Override
- public void buttonPressed(Button button) {
- // Pretend to submit or cancel the order
- activityIndicator.setActive(!activityIndicator.isActive());
- processingOrderLabel.setVisible(activityIndicator.isActive());
- updateConfirmOrderButton();
+ public void selectedIndexChangeVetoed(Accordion accordion, Vote reason) {
+ if (reason == Vote.DENY
+ && selectedIndex != -1) {
+ Component panel = accordion.getPanels().get(selectedIndex);
+ panel.setEnabled(!panel.isEnabled());
+ }
+ }
+
+ @Override
+ public void selectedIndexChanged(Accordion accordion, int previousSelection) {
+ updateAccordion();
}
});
updateAccordion();
- updateConfirmOrderButton();
}
private void updateAccordion() {
@@ -122,12 +82,4 @@ public class Accordions extends Window i
panels.get(i).setEnabled(i <= selectedIndex);
}
}
-
- private void updateConfirmOrderButton() {
- if (activityIndicator.isActive()) {
- confirmOrderButton.setButtonData("Cancel");
- } else {
- confirmOrderButton.setButtonData("Confirm Order");
- }
- }
}
Modified: pivot/trunk/tutorials/src/org/apache/pivot/tutorials/navigation/payment.bxml
URL: http://svn.apache.org/viewvc/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/navigation/payment.bxml?rev=983433&r1=983432&r2=983433&view=diff
==============================================================================
--- pivot/trunk/tutorials/src/org/apache/pivot/tutorials/navigation/payment.bxml (original)
+++ pivot/trunk/tutorials/src/org/apache/pivot/tutorials/navigation/payment.bxml Sun Aug 8 15:35:40 2010
@@ -33,8 +33,14 @@ limitations under the License.
<BoxPane styles="{horizontalAlignment:'right', backgroundColor:11,
padding:4}">
<PushButton bxml:id="nextButton" buttonData="Next"
- styles="{minimumAspectRatio:3}"/>
+ styles="{minimumAspectRatio:3}">
+ <buttonPressListeners>
+ function buttonPressed(button) {
+ var accordion = button.getAncestor("org.apache.pivot.wtk.Accordion");
+ accordion.selectedIndex += 1;
+ }
+ </buttonPressListeners>
+ </PushButton>
</BoxPane>
</TablePane.Row>
</TablePane>
-
Modified: pivot/trunk/tutorials/src/org/apache/pivot/tutorials/navigation/shipping.bxml
URL: http://svn.apache.org/viewvc/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/navigation/shipping.bxml?rev=983433&r1=983432&r2=983433&view=diff
==============================================================================
--- pivot/trunk/tutorials/src/org/apache/pivot/tutorials/navigation/shipping.bxml (original)
+++ pivot/trunk/tutorials/src/org/apache/pivot/tutorials/navigation/shipping.bxml Sun Aug 8 15:35:40 2010
@@ -32,7 +32,14 @@ limitations under the License.
<TablePane.Row height="-1">
<BoxPane styles="{horizontalAlignment:'right', backgroundColor:11, padding:4}">
<PushButton bxml:id="nextButton" buttonData="Next"
- styles="{minimumAspectRatio:3}"/>
+ styles="{minimumAspectRatio:3}">
+ <buttonPressListeners>
+ function buttonPressed(button) {
+ var accordion = button.getAncestor("org.apache.pivot.wtk.Accordion");
+ accordion.selectedIndex += 1;
+ }
+ </buttonPressListeners>
+ </PushButton>
</BoxPane>
</TablePane.Row>
</TablePane>
Modified: pivot/trunk/tutorials/src/org/apache/pivot/tutorials/navigation/summary.bxml
URL: http://svn.apache.org/viewvc/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/navigation/summary.bxml?rev=983433&r1=983432&r2=983433&view=diff
==============================================================================
--- pivot/trunk/tutorials/src/org/apache/pivot/tutorials/navigation/summary.bxml (original)
+++ pivot/trunk/tutorials/src/org/apache/pivot/tutorials/navigation/summary.bxml Sun Aug 8 15:35:40 2010
@@ -18,6 +18,12 @@ limitations under the License.
<TablePane xmlns:bxml="http://pivot.apache.org/bxml"
xmlns="org.apache.pivot.wtk">
+ <bxml:script>
+ function updateConfirmOrderButtonData() {
+ confirmOrderButton.buttonData = (activityIndicator.active) ? "Cancel" : "Confirm Order";
+ }
+ </bxml:script>
+
<columns>
<TablePane.Column width="1*"/>
</columns>
@@ -42,13 +48,32 @@ limitations under the License.
<BoxPane orientation="vertical"
styles="{horizontalAlignment:'center', spacing:12, padding:{top:12}}">
- <PushButton bxml:id="confirmOrderButton" styles="{minimumAspectRatio:3}"/>
+ <PushButton bxml:id="confirmOrderButton" styles="{minimumAspectRatio:3}">
+ <buttonPressListeners>
+ function buttonPressed(button) {
+ activityIndicator.active = !activityIndicator.active;
+ processingOrderLabel.visible = activityIndicator.active;
+ }
+ </buttonPressListeners>
+ </PushButton>
+
<ActivityIndicator bxml:id="activityIndicator" styles="{color:16}"
- preferredWidth="48" preferredHeight="48"/>
+ preferredWidth="48" preferredHeight="48">
+ <activityIndicatorListeners>
+ function activeChanged(activityIndicator) {
+ updateConfirmOrderButtonData();
+ }
+ </activityIndicatorListeners>
+ </ActivityIndicator>
+
<Label bxml:id="processingOrderLabel" text="Pretending to process order..." visible="false"
styles="{font:{italic:true}}"/>
</BoxPane>
</BoxPane>
</TablePane.Row>
+
+ <bxml:script>
+ updateConfirmOrderButtonData();
+ </bxml:script>
</TablePane>
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Component.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Component.java?rev=983433&r1=983432&r2=983433&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Component.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Component.java Sun Aug 8 15:35:40 2010
@@ -843,6 +843,15 @@ public abstract class Component implemen
return (Container)component;
}
+ @SuppressWarnings("unchecked")
+ public Container getAncestor(String ancestorTypeName) throws ClassNotFoundException {
+ if (ancestorTypeName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ return getAncestor((Class<? extends Container>)Class.forName(ancestorTypeName));
+ }
+
@Override
public int getWidth() {
return skin.getWidth();