Author: ivaynberg
Date: Thu Nov  6 09:43:03 2008
New Revision: 711923

URL: http://svn.apache.org/viewvc?rev=711923&view=rev
Log:
WICKET-1919

Modified:
    
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java
    
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
    
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
    
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java
    
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxEventBehavior.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/markup/html/navigation/paging/AjaxPagingNavigationBehavior.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Radio.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/RadioChoice.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/AbstractLink.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/navigation/paging/PagingNavigation.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/navigation/paging/PagingNavigator.java

Modified: 
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java?rev=711923&r1=711922&r2=711923&view=diff
==============================================================================
--- 
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java
 (original)
+++ 
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java
 Thu Nov  6 09:43:03 2008
@@ -174,7 +174,9 @@
        protected void onBeforeRender()
        {
                dateField.setRequired(isRequired());
-               dateField.setEnabled(isEnabled() && isEnableAllowed());
+
+               // obsolete with WICKET-1919
+               // dateField.setEnabled(isEnabledInHierarchy());
 
                Date d = (Date)getDefaultModelObject();
                if (d != null)

Modified: 
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java?rev=711923&r1=711922&r2=711923&view=diff
==============================================================================
--- 
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
 (original)
+++ 
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
 Thu Nov  6 09:43:03 2008
@@ -66,7 +66,8 @@
  * The CalendarNavigator can be configured by overriding [EMAIL PROTECTED] 
#configure(Map)} and setting the
  * property or by returning <code>true</code> for [EMAIL PROTECTED] 
#enableMonthYearSelection()}.
  * 
- * @see <a 
href="http://developer.yahoo.com/yui/calendar/";>http://developer.yahoo.com/yui/calendar/</a>
+ * @see <a
+ *      
href="http://developer.yahoo.com/yui/calendar/";>http://developer.yahoo.com/yui/calendar/</a>
  * 
  * @author eelcohillenius
  */
@@ -611,7 +612,8 @@
         * selection of month and year.
         * 
         * @return <code>true</code> if select boxes should be rendered to 
allow month and year
-        *         selection.<br/> <code>false</code> to render just plain text.
+        *         selection.<br/>
+        *         <code>false</code> to render just plain text.
         */
        protected boolean enableMonthYearSelection()
        {
@@ -621,9 +623,8 @@
        /**
         * Indicates whether the calendar should be hidden after a date was 
selected.
         * 
-        * @return <code>true</code> (default) if the calendar should be hidden 
after the date
-        *         selection <br/> <code>false</code> if the calendar should 
remain visible after the
-        *         date selection.
+        * @return <code>true</code> (default) if the calendar should be hidden 
after the date selection <br/>
+        *         <code>false</code> if the calendar should remain visible 
after the date selection.
         */
        protected boolean hideOnSelect()
        {
@@ -644,9 +645,11 @@
        /**
         * Override this method to further customize the YUI Calendar with 
additional Javascript code.
         * The code returned by this method is executed right after the 
Calendar has been constructed
-        * and initialized. To refer to the actual Calendar DOM object, use 
<code>${calendar}</code>
-        * in your code.<br/> See <a 
href="http://developer.yahoo.com/yui/calendar/";>the widget's
-        * documentation</a> for more information about the YUI Calendar.<br/> 
Example:
+        * and initialized. To refer to the actual Calendar DOM object, use 
<code>${calendar}</code> in
+        * your code.<br/>
+        * See <a href="http://developer.yahoo.com/yui/calendar/";>the widget's 
documentation</a> for
+        * more information about the YUI Calendar.<br/>
+        * Example:
         * 
         * <pre>
         * protected String getAdditionalJavascript()
@@ -669,6 +672,6 @@
        @Override
        public boolean isEnabled(Component component)
        {
-               return component.isEnabled() && component.isEnableAllowed();
+               return component.isEnabledInHierarchy();
        }
 }

Modified: 
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java?rev=711923&r1=711922&r2=711923&view=diff
==============================================================================
--- 
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
 (original)
+++ 
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
 Thu Nov  6 09:43:03 2008
@@ -361,10 +361,11 @@
                hoursField.setRequired(isRequired());
                minutesField.setRequired(isRequired());
 
-               dateField.setEnabled(isEnabled() && isEnableAllowed());
-               hoursField.setEnabled(isEnabled() && isEnableAllowed());
-               minutesField.setEnabled(isEnabled() && isEnableAllowed());
-               amOrPmChoice.setEnabled(isEnabled() && isEnableAllowed());
+               // obsolete with WICKET-1919
+               // dateField.setEnabled(isEnabledInHierarchy());
+               // hoursField.setEnabled(isEnabledInHierarchy());
+               // minutesField.setEnabled(isEnabledInHierarchy());
+               // amOrPmChoice.setEnabled(isEnabledInHierarchy());
 
                boolean use12HourFormat = use12HourFormat();
                amOrPmChoice.setVisible(use12HourFormat);
@@ -414,7 +415,8 @@
         * Checks whether the current [EMAIL PROTECTED] Locale} uses the 12h or 
24h time format. This method can be
         * overridden to e.g. always use 24h format.
         * 
-        * @return true, if the current [EMAIL PROTECTED] Locale} uses the 12h 
format.<br/>false, otherwise
+        * @return true, if the current [EMAIL PROTECTED] Locale} uses the 12h 
format.<br/>
+        *         false, otherwise
         */
        protected boolean use12HourFormat()
        {

Modified: 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java?rev=711923&r1=711922&r2=711923&view=diff
==============================================================================
--- 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java
 (original)
+++ 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java
 Thu Nov  6 09:43:03 2008
@@ -406,7 +406,8 @@
                {
                        initLabelAndEditor(getParentModel());
                }
-               label.setEnabled(isEnableAllowed() && isEnabled());
+               // obsolete with WICKET-1919
+               // label.setEnabled(isEnabledInHierarchy());
        }
 
        /**

Modified: 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java?rev=711923&r1=711922&r2=711923&view=diff
==============================================================================
--- 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java
 (original)
+++ 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java
 Thu Nov  6 09:43:03 2008
@@ -244,7 +244,7 @@
         */
        public final boolean isPaletteEnabled()
        {
-               return isEnabled() && isEnableAllowed();
+               return isEnabledInHierarchy();
        }
 
 

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java?rev=711923&r1=711922&r2=711923&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java 
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java Thu Nov  
6 09:43:03 2008
@@ -1143,6 +1143,9 @@
                        setModelImpl(null);
                        setFlag(FLAG_INHERITABLE_MODEL, false);
                }
+
+               // clear out enabled state metadata
+               setMetaData(ENABLED_IN_HIERARCHY_CACHE_KEY, null);
        }
 
        /**
@@ -4329,4 +4332,44 @@
                        s.defaultReadObject();
                }
        }
+
+       /**
+        * Calculates enabled state of the component taking its hierarchy into 
account. A component is
+        * enabled iff it is itself enabled ([EMAIL PROTECTED] #isEnabled()} 
and [EMAIL PROTECTED] #isEnableAllowed()} both
+        * return <code>true</code>), and all of its parents are enabled.
+        * 
+        * @return <code>true</code> if this component is enabled</code>
+        */
+       public final boolean isEnabledInHierarchy()
+       {
+               Boolean state = getMetaData(ENABLED_IN_HIERARCHY_CACHE_KEY);
+               if (state == null)
+               {
+                       state = isEnabled() && isEnableAllowed();
+                       if (state)
+                       {
+                               Component parent = getParent();
+                               if (parent != null)
+                               {
+                                       state = state && 
parent.isEnabledInHierarchy();
+                               }
+                       }
+                       setMetaData(ENABLED_IN_HIERARCHY_CACHE_KEY, state);
+               }
+               return state;
+       }
+
+
+       /**
+        * Keeps metadata about the enabled state of the component
+        * 
+        * The states are: null - not calculated, true and false
+        */
+       private static final MetaDataKey<Boolean> 
ENABLED_IN_HIERARCHY_CACHE_KEY = new MetaDataKey<Boolean>()
+       {
+               private static final long serialVersionUID = 1L;
+
+       };
+
+
 }

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxEventBehavior.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxEventBehavior.java?rev=711923&r1=711922&r2=711923&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxEventBehavior.java 
(original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxEventBehavior.java 
Thu Nov  6 09:43:03 2008
@@ -106,7 +106,7 @@
 
                // only add the event handler when the component is enabled.
                Component myComponent = getComponent();
-               if (myComponent.isEnabled() && myComponent.isEnableAllowed())
+               if (myComponent.isEnabledInHierarchy())
                {
                        tag.put(event, getEventHandler());
                }

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java?rev=711923&r1=711922&r2=711923&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
 Thu Nov  6 09:43:03 2008
@@ -156,6 +156,6 @@
         */
        protected final boolean isButtonEnabled()
        {
-               return isEnabled() && isEnableAllowed();
+               return isEnabledInHierarchy();
        }
 }

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/markup/html/navigation/paging/AjaxPagingNavigationBehavior.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/markup/html/navigation/paging/AjaxPagingNavigationBehavior.java?rev=711923&r1=711922&r2=711923&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/markup/html/navigation/paging/AjaxPagingNavigationBehavior.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/markup/html/navigation/paging/AjaxPagingNavigationBehavior.java
 Thu Nov  6 09:43:03 2008
@@ -76,7 +76,7 @@
                owner.onClick(target);
 
                // find the PagingNavigator parent of this link
-               AjaxPagingNavigator navigator = 
(AjaxPagingNavigator)((Component)owner).findParent(AjaxPagingNavigator.class);
+               AjaxPagingNavigator navigator = 
((Component)owner).findParent(AjaxPagingNavigator.class);
                if (navigator == null)
                {
                        throw new WicketRuntimeException(
@@ -103,7 +103,7 @@
        @Override
        protected void onComponentTag(ComponentTag tag)
        {
-               if (getComponent().isEnabled() && 
getComponent().isEnableAllowed())
+               if (getComponent().isEnabledInHierarchy())
                {
                        super.onComponentTag(tag);
                }

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java?rev=711923&r1=711922&r2=711923&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java 
(original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java 
Thu Nov  6 09:43:03 2008
@@ -155,14 +155,14 @@
                                FormComponent<?> formComponent = 
(FormComponent<?>)component;
 
                                Form<?> form = formComponent.getForm();
-                               if (!form.isEnabled() || 
!form.isEnableAllowed() || !form.isVisibleInHierarchy())
+                               if (!form.isEnabledInHierarchy() || 
!form.isVisibleInHierarchy())
                                {
                                        // do not validate formComponent or any 
of formComponent's children
                                        return 
Component.IVisitor.CONTINUE_TRAVERSAL_BUT_DONT_GO_DEEPER;
                                }
 
                                if (formComponent.isVisibleInHierarchy() && 
formComponent.isValid() &&
-                                       formComponent.isEnabled() && 
formComponent.isEnableAllowed())
+                                       formComponent.isEnabledInHierarchy())
                                {
                                        validate(formComponent);
                                }
@@ -215,9 +215,9 @@
                                {
                                        if (this.formFilter == null || 
this.formFilter == form)
                                        {
-                                               if (form.isEnabled() && 
form.isEnableAllowed())
+                                               if (form.isEnabledInHierarchy())
                                                {
-                                                       if 
(component.isEnabled() && component.isEnableAllowed() &&
+                                                       if 
(component.isEnabledInHierarchy() &&
                                                                
component.isVisibleInHierarchy())
                                                        {
                                                                
((IFormModelUpdateListener)component).updateModel();
@@ -923,7 +923,7 @@
        @Deprecated
        public boolean process()
        {
-               if (!isEnabled() || !isEnableAllowed() || 
!isVisibleInHierarchy())
+               if (!isEnabledInHierarchy() || !isVisibleInHierarchy())
                {
                        // since process() can be called outside of the default 
form workflow, an additional
                        // check is needed
@@ -977,7 +977,7 @@
                        public Object component(Component component)
                        {
                                final Form<?> form = (Form<?>)component;
-                               if (!form.isEnabled() || 
!form.isEnableAllowed() || !form.isVisibleInHierarchy())
+                               if (!form.isEnabledInHierarchy() || 
!form.isVisibleInHierarchy())
                                {
                                        return 
IVisitor.CONTINUE_TRAVERSAL_BUT_DONT_GO_DEEPER;
                                }
@@ -1003,7 +1003,7 @@
                        public Object component(Component component)
                        {
                                Form<?> form = (Form<?>)component;
-                               if (form.isEnabled() && form.isEnableAllowed() 
&& isVisibleInHierarchy())
+                               if (form.isEnabledInHierarchy() && 
isVisibleInHierarchy())
                                {
                                        form.setFlag(FLAG_SUBMITTED, true);
                                        return IVisitor.CONTINUE_TRAVERSAL;
@@ -1457,7 +1457,7 @@
                        public Object component(Form<?> component)
                        {
                                Form<?> form = component;
-                               if (form.isEnabled() && form.isEnableAllowed() 
&& form.isVisibleInHierarchy())
+                               if (form.isEnabledInHierarchy() && 
form.isVisibleInHierarchy())
                                {
                                        form.onSubmit();
                                        return IVisitor.CONTINUE_TRAVERSAL;
@@ -1677,7 +1677,7 @@
                        public Object component(Form<?> component)
                        {
                                Form<?> form = component;
-                               if (form.isEnableAllowed() && form.isEnabled() 
&& form.isVisibleInHierarchy())
+                               if (form.isEnabledInHierarchy() && 
form.isVisibleInHierarchy())
                                {
                                        form.internalMarkFormComponentsValid();
                                        return CONTINUE_TRAVERSAL;
@@ -1927,7 +1927,7 @@
                {
                        public Object component(Form<?> form)
                        {
-                               if (form.isEnabled() && form.isEnableAllowed() 
&& form.isVisibleInHierarchy())
+                               if (form.isEnabledInHierarchy() && 
form.isVisibleInHierarchy())
                                {
                                        
form.internalUpdateFormComponentModels();
                                        return CONTINUE_TRAVERSAL;
@@ -1973,7 +1973,7 @@
         */
        protected final void validate()
        {
-               if (isEnabled() && isEnableAllowed() && isVisibleInHierarchy())
+               if (isEnabledInHierarchy() && isVisibleInHierarchy())
                {
                        // since this method can be called directly by users, 
this additional check is needed
                        validateComponents();
@@ -2002,8 +2002,7 @@
                        public void validate(final FormComponent<?> 
formComponent)
                        {
                                final Form<?> form = formComponent.getForm();
-                               if (form == Form.this && form.isEnabled() && 
form.isEnableAllowed() &&
-                                       form.isVisibleInHierarchy())
+                               if (form == Form.this && 
form.isEnabledInHierarchy() && form.isVisibleInHierarchy())
                                {
                                        formComponent.validate();
                                }
@@ -2103,7 +2102,7 @@
                {
                        public Object component(Form<?> form)
                        {
-                               if (form.isEnabled() && form.isEnableAllowed() 
&& form.isVisibleInHierarchy())
+                               if (form.isEnabledInHierarchy() && 
form.isVisibleInHierarchy())
                                {
                                        form.validateComponents();
                                        form.validateFormValidators();

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java?rev=711923&r1=711922&r2=711923&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
 Thu Nov  6 09:43:03 2008
@@ -1452,7 +1452,7 @@
        {
                tag.put("name", getInputName());
 
-               if (!isEnabled() || !isEnableAllowed())
+               if (!isEnabledInHierarchy())
                {
                        onDisabled(tag);
                }

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Radio.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Radio.java?rev=711923&r1=711922&r2=711923&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Radio.java 
(original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Radio.java 
Thu Nov  6 09:43:03 2008
@@ -191,7 +191,7 @@
                }
 
 
-               if (!isEnableAllowed() || !isEnabled() || !group.isEnabled() || 
!group.isEnableAllowed())
+               if (!isEnabledInHierarchy())
                {
                        tag.put(ATTR_DISABLED, ATTR_DISABLED);
                }

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/RadioChoice.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/RadioChoice.java?rev=711923&r1=711922&r2=711923&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/RadioChoice.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/RadioChoice.java
 Thu Nov  6 09:43:03 2008
@@ -452,8 +452,7 @@
                                String id = 
getChoiceRenderer().getIdValue(choice, index);
                                final String idAttr = getMarkupId() + "_" + id;
 
-                               boolean enabled = isEnabled() && 
isEnableAllowed() &&
-                                       !isDisabled(choice, index, selected);
+                               boolean enabled = isEnabledInHierarchy() && 
!isDisabled(choice, index, selected);
 
                                // Add radio tag
                                buffer.append("<input name=\"")

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/AbstractLink.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/AbstractLink.java?rev=711923&r1=711922&r2=711923&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/AbstractLink.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/AbstractLink.java
 Thu Nov  6 09:43:03 2008
@@ -141,7 +141,7 @@
         */
        protected final boolean isLinkEnabled()
        {
-               return isEnabled() && isEnableAllowed();
+               return isEnabledInHierarchy();
        }
 
        /**

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/navigation/paging/PagingNavigation.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/navigation/paging/PagingNavigation.java?rev=711923&r1=711922&r2=711923&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/navigation/paging/PagingNavigation.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/navigation/paging/PagingNavigation.java
 Thu Nov  6 09:43:03 2008
@@ -96,11 +96,6 @@
  * <p>
  * Use setMargin() and setViewSize() to adjust the navigation's bar view size 
and margin.
  * <p>
- * Enabled contract: The enabled contract (if the PagingNavigation is disabled 
so are all links
- * inside) is enforced by links generated by
- * [EMAIL PROTECTED] #newPagingNavigationLink(String, IPageable, int)}. If 
this method is overridden to return
- * a custom [EMAIL PROTECTED] Link} implementation it is up to that link to 
enforce the contract.
- * <p>
  * Please
  * 
  * @see PagingNavigator for a ready made component which already includes 
links to the first,
@@ -343,17 +338,7 @@
         */
        protected Link<?> newPagingNavigationLink(String id, IPageable 
pageable, int pageIndex)
        {
-               return new PagingNavigationLink<Void>(id, pageable, pageIndex)
-               {
-                       private static final long serialVersionUID = 1L;
-
-                       @Override
-                       public boolean isEnabled()
-                       {
-                               return super.isEnabled() && 
PagingNavigation.this.isEnabled() &&
-                                       PagingNavigation.this.isEnableAllowed();
-                       }
-               };
+               return new PagingNavigationLink<Void>(id, pageable, pageIndex);
        }
 
        /**

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/navigation/paging/PagingNavigator.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/navigation/paging/PagingNavigator.java?rev=711923&r1=711922&r2=711923&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/navigation/paging/PagingNavigator.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/navigation/paging/PagingNavigator.java
 Thu Nov  6 09:43:03 2008
@@ -24,12 +24,6 @@
  * to any PageableListView. A navigation which contains links to the first and 
last page, the
  * current page +- some increment and which supports paged navigation bars 
(@see
  * PageableListViewNavigationWithMargin).
- * <p>
- * Enabled contract: The enabled contract (if the PagingNavigator is disabled 
so are all links
- * inside) is enforced by links generated by
- * [EMAIL PROTECTED] #newPagingNavigationIncrementLink(String, IPageable, 
int)} and
- * [EMAIL PROTECTED] #newPagingNavigationLink(String, IPageable, int)}. If 
these methods are overridden to
- * return custom [EMAIL PROTECTED] Link} implementations it is up to that link 
to enforce the contract.
  * 
  * @author Juergen Donnerstag
  */
@@ -118,17 +112,7 @@
         */
        protected Link<?> newPagingNavigationIncrementLink(String id, IPageable 
pageable, int increment)
        {
-               return new PagingNavigationIncrementLink<Void>(id, pageable, 
increment)
-               {
-                       private static final long serialVersionUID = 1L;
-
-                       @Override
-                       public boolean isEnabled()
-                       {
-                               return super.isEnabled() && 
PagingNavigator.this.isEnabled() &&
-                                       PagingNavigator.this.isEnableAllowed();
-                       }
-               };
+               return new PagingNavigationIncrementLink<Void>(id, pageable, 
increment);
        }
 
        /**
@@ -145,18 +129,7 @@
         */
        protected Link<?> newPagingNavigationLink(String id, IPageable 
pageable, int pageNumber)
        {
-               return new PagingNavigationLink<Void>(id, pageable, pageNumber)
-               {
-                       private static final long serialVersionUID = 1L;
-
-                       @Override
-                       public boolean isEnabled()
-                       {
-                               return super.isEnabled() && 
PagingNavigator.this.isEnabled() &&
-                                       PagingNavigator.this.isEnableAllowed();
-                       }
-               };
-
+               return new PagingNavigationLink<Void>(id, pageable, pageNumber);
        }
 
        /**
@@ -171,17 +144,7 @@
        protected PagingNavigation newNavigation(final IPageable pageable,
                final IPagingLabelProvider labelProvider)
        {
-               return new PagingNavigation("navigation", pageable, 
labelProvider)
-               {
-                       private static final long serialVersionUID = 1L;
-
-                       @Override
-                       public boolean isEnabled()
-                       {
-                               return super.isEnabled() && 
PagingNavigator.this.isEnabled() &&
-                                       PagingNavigator.this.isEnableAllowed();
-                       }
-               };
+               return new PagingNavigation("navigation", pageable, 
labelProvider);
        }
 
        /**


Reply via email to