Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Looks like you are using GXT (from the <code>Gray</code> inherits statement), but not actually inheriting <code>GXT</code> itself (step three in the setup.txt). This isn't necessarily a <em>bad</em> thing, but avoiding that statement means that you are skipping some setup that restricts the possible number of permutations. Add this just before your <code>Gray</code> line:</p> <pre class="lang-xml prettyprint-override"><code>&lt;inherits name='com.sencha.gxt.ui.GXT'/&gt; </code></pre> <p>Then, in addition to the <code>user.agent</code>=<code>gecko1_8</code>, add this instead (or in addition to) in order to limit the GXT permutation (more on this below):</p> <pre class="lang-xml prettyprint-override"><code>&lt;set-property name="gxt.user.agent" value="gecko1_9" /&gt; </code></pre> <p>(note that we reference Gecko 1.9 instead of 1.8, as there is at least one bug in 1.8 that we have a workaround for that is <em>not</em> required in 1.9.)</p> <hr> <h2>Why does GXT add additional properties, and not use <code>user.agent</code>?</h2> <p>It turns out that <code>user.agent</code> can't be extended easily - the <code>fallback</code> system does nothing helpful for existing <code>CssResource</code> declarations. This means that if GXT added a ie10 permutation (which it did in 3.0), or wants to have a distinct ie7 permutation (instead of lumping in with ie6), or separate Chrome vs Safari permutations (chrome zoom issues anyone?), we might break existing code in your project.</p> <p>Additionally, GXT adds a 'os' property to let us deal with platform issues. This can be 'mac', 'linux', or 'windows' (or 'unknown' after 3.0.3 to deal with Solaris, Chrome OS, etc). There aren't a ton of cases where this is needed, but one example include native OS X checkboxes, which blur as soon as you click them, as opposed to windows, linux, or firefox on mac.</p> <h2>Why don't I need to set <code>user.agent</code> if I set <code>gxt.user.agent</code>?</h2> <p>Since the set of GXT user agent properties is more extensive than GWT user agents, we set the GWT user agent based on the GXT user agent setting with these lines:</p> <pre class="lang-xml prettyprint-override"><code>&lt;!-- From /com/sencha/gxt/core/Core.gwt.xml about line 110 --&gt; &lt;!-- Restrict the permutation explosion --&gt; &lt;set-property name="user.agent" value="ie6"&gt; &lt;any&gt; &lt;when-property-is name="gxt.user.agent" value="ie6" /&gt; &lt;when-property-is name="gxt.user.agent" value="ie7" /&gt; &lt;/any&gt; &lt;/set-property&gt; &lt;set-property name="user.agent" value="ie8"&gt; &lt;when-property-is name="gxt.user.agent" value="ie8" /&gt; &lt;/set-property&gt; &lt;set-property name="user.agent" value="ie9"&gt; &lt;any&gt; &lt;when-property-is name="gxt.user.agent" value="ie9" /&gt; &lt;when-property-is name="gxt.user.agent" value="ie10" /&gt; &lt;/any&gt; &lt;/set-property&gt; &lt;set-property name="user.agent" value="gecko1_8"&gt; &lt;any&gt; &lt;when-property-is name="gxt.user.agent" value="gecko1_8" /&gt; &lt;when-property-is name="gxt.user.agent" value="gecko1_9" /&gt; &lt;/any&gt; &lt;/set-property&gt; &lt;set-property name="user.agent" value="safari"&gt; &lt;any&gt; &lt;when-property-is name="gxt.user.agent" value="safari3" /&gt; &lt;when-property-is name="gxt.user.agent" value="safari4" /&gt; &lt;when-property-is name="gxt.user.agent" value="safari5" /&gt; &lt;when-property-is name="gxt.user.agent" value="air" /&gt; &lt;when-property-is name="gxt.user.agent" value="chrome" /&gt; &lt;/any&gt; &lt;/set-property&gt; &lt;set-property name="user.agent" value="opera"&gt; &lt;when-property-is name="gxt.user.agent" value="opera" /&gt; &lt;/set-property&gt; </code></pre> <h2>How does GXT.gwt.xml limit the number of permutations, and how can I do it myself?</h2> <p>Thirteen browser properties times three operating systems should then give about 39 permutations unless something is done to restrict those properties. By default, GXT.gwt.xml limits these to the basic 6 permutations with these lines:</p> <pre class="lang-xml prettyprint-override"><code>&lt;collapse-property name="user.agent.os" values="*" /&gt; &lt;collapse-property name="gxt.user.agent" values="air, safari*, chrome" /&gt; &lt;collapse-property name="gxt.user.agent" values="ie6, ie7" /&gt; &lt;collapse-property name="gxt.user.agent" values="ie9, ie10" /&gt; &lt;collapse-property name="gxt.user.agent" values="gecko*" /&gt; </code></pre> <p>By <em>not</em> inheriting GXT, you are given the chance to set up your own restriction of permutations. If you don't wish to set those up for yourself, go ahead and inherit GXT itself. More information using <code>&lt;collapse-property&gt;</code> and <code>&lt;collapse-all-properties /&gt;</code> can be found at <a href="http://code.google.com/p/google-web-toolkit/wiki/SoftPermutations" rel="noreferrer">http://code.google.com/p/google-web-toolkit/wiki/SoftPermutations</a></p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload