View Javadoc
1   // ---------- Attention: Generated code, please do not modify! -----------  
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one or more
5    * contributor license agreements.  See the NOTICE file distributed with
6    * this work for additional information regarding copyright ownership.
7    * The ASF licenses this file to You under the Apache License, Version 2.0
8    * (the "License"); you may not use this file except in compliance with
9    * the License.  You may obtain a copy of the License at
10   *
11   *      http://www.apache.org/licenses/LICENSE-2.0
12   *
13   * Unless required by applicable law or agreed to in writing, software
14   * distributed under the License is distributed on an "AS IS" BASIS,
15   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   * See the License for the specific language governing permissions and
17   * limitations under the License.
18   */
19  
20  package org.apache.myfaces.tobago.component;
21  
22  import javax.faces.context.FacesContext;
23  import org.apache.myfaces.tobago.context.Markup;
24  import org.apache.myfaces.tobago.internal.component.AbstractUIPopup;
25  import org.apache.myfaces.tobago.renderkit.css.CustomClass;
26  import org.apache.myfaces.tobago.renderkit.css.Style;
27  import org.apache.myfaces.tobago.internal.util.ArrayUtils;
28  import org.apache.myfaces.tobago.internal.util.StringUtils;
29  import org.apache.myfaces.tobago.internal.util.Deprecation;
30  import javax.el.ELException;
31  import javax.faces.FacesException;
32  import java.util.ArrayList;
33  import java.util.List;
34  import javax.el.MethodExpression;
35  import javax.el.ValueExpression;
36  
37  /** 
38   Renders a popup panel.
39    The popup gets a grid layout manager with columns="auto" and rows="auto" as definition.
40    So a popup should contain only one layout component.
41    The default layout manager can be overwritten with the layout facet.
42    * UIComponent class, generated from template {@code component.stg} with class
43    * {@link org.apache.myfaces.tobago.internal.taglib.component.PopupTagDeclaration}.
44   */
45  public class UIPopup
46      extends AbstractUIPopup implements Visual {
47  
48    public static final String COMPONENT_TYPE = "org.apache.myfaces.tobago.Popup";
49  
50    public static final String COMPONENT_FAMILY = "javax.faces.Panel";
51  
52  
53    enum PropertyKeys {
54      markup,
55      customClass,
56      style,
57      modal,
58    }
59  
60    public String getFamily() {
61      return COMPONENT_FAMILY;
62    }
63  
64  
65    public org.apache.myfaces.tobago.context.Markup getMarkup() {
66      Object object = getStateHelper().eval(PropertyKeys.markup);
67      if (object != null) {
68        return Markup.valueOf(object);
69      }
70      return null;
71    }
72  
73    public void setMarkup(org.apache.myfaces.tobago.context.Markup markup) {
74      getStateHelper().put(PropertyKeys.markup, markup);
75    }
76  
77    /**
78    Sets a CSS class in its parent, if the parent supports it.
79  
80     Which this feature it is possible to put a CSS class name into a component with the <tc:style> tag. Example:
81  
82     <pre>
83     &lt;tc:in&gt;
84       &lt;tc:style customClass="my-emphasized"/&gt;
85     &lt;/tc:in&gt;
86     </pre>
87  
88     One capability is, to used external CSS libs.
89     <br>
90     This feature should not be used imprudent.
91     Because it might be unstable against changes in the renderered HTML code.
92  
93    */
94    public org.apache.myfaces.tobago.renderkit.css.CustomClass getCustomClass() {
95      return (org.apache.myfaces.tobago.renderkit.css.CustomClass) getStateHelper().eval(PropertyKeys.customClass);
96    }
97  
98    public void setCustomClass(org.apache.myfaces.tobago.renderkit.css.CustomClass customClass) {
99      getStateHelper().put(PropertyKeys.customClass, customClass);
100   }
101 
102   /**
103   For internal use. Used for rendering, if there is a child tag &lt;tc:style&gt;
104 
105   */
106   public org.apache.myfaces.tobago.renderkit.css.Style getStyle() {
107     return (org.apache.myfaces.tobago.renderkit.css.Style) getStateHelper().eval(PropertyKeys.style);
108   }
109 
110   public void setStyle(org.apache.myfaces.tobago.renderkit.css.Style style) {
111     getStateHelper().put(PropertyKeys.style, style);
112   }
113 
114   /**
115   The rest of the page will be faded off for the time the popup is displayed.
116    <br>
117    XXX Currently (since 3.0 branch) non-modal is not supported.
118   <br>Default: <code>true</code>
119   */
120   public boolean isModal() {
121     Boolean bool = (Boolean) getStateHelper().eval(PropertyKeys.modal);
122     if (bool != null) {
123       return bool;
124     }
125     return true;
126   }
127 
128   public void setModal(boolean modal) {
129     getStateHelper().put(PropertyKeys.modal, modal);
130   }
131 
132 
133 }