Estou tendo um problema para setar o atributo password em um componente que criei inputtext.
Quando eu seto direto o valor true dentro da classe funciona, mais quando eu passo o parametro não da certo, o mesmo acontece para o multiline.
Me parece que seja algum problema no instante da criação do objeto, como faço para resolver isso ?
se alguem puder me ajudar fico grato.
tenta colocar classroot.“parametroTRUE”, pois qdo ta dentro da classe o THIS referencia internamente, e classroot externamente
pois é, mais eu já tentei isso e esse não é o problema, me sugeriram fazer uma outra classe herdando desta e colocar o atributo como true, mas isso não é muito legal, gostaria de saber o porque isso acontece
o laszlo funciona no seguinte, vc cria os seus componentes e depois vai instanciando ele, vc perdera um tempinho customizando os seus componentes e logo sera recompensado pelo ganho de peformance no desenvolvimento.
minha classe campoX
[code]<library>
<include href="../components/tooltip/"/>
<class name="campoX" extends="view">
<!-- @BEGIN: atributos da classe -->
<attribute name="label" value="?" type="html"/>
<attribute name="alignlabel" value="left" type="text"/>
<attribute name="aviso" value="*" type="html"/>
<attribute name="text" value="" type="text"/>
<attribute name="tooltip" value="" type="text"/>
<attribute name="textX" value="70" type="number"/>
<attribute name="textWidth" value="100" type="number"/>
<attribute name="textBgcolor" value="#D9D9D9" type="color"/>
<attribute name="senha" value="false" type="boolean" />
<!-- validações / formatação -->
<attribute name="campotipo" value="" type="text" /><!-- numero/texto/email/data/hora -->
<attribute name="valida" value="false" type="boolean" />
<attribute name="min" value="null" type="number" />
<attribute name="max" value="null" type="number" />
<attribute name="domain" value="real" type="string"/> <!-- real/int -->
<attribute name="trim" value="true" type="boolean"/>
<attribute name="formata" value="false" type="boolean" />
<!-- @END: atributos da classe -->
<!-- @BEGIN: definição visual da classe -->
<wrappinglayout axis="x" spacing="10"/>
<text name="campoLabel" text="${classroot.label}" resize="true"/>
<richinputtext
name="campoField"
text="${classroot.text}"
width="${classroot.textWidth}"
bgcolor="${classroot.textBgcolor}"
password="${classroot.senha}"
x="${classroot.textX}">
<tooltip name="tip" text="${ classroot.tooltip }"/>
<!-- quando o label perder o focus -->
<method event="onblur">
<![CDATA[
classroot.setAttribute( "text", this.getText() );
// rotina ao perder o foco
classroot.doFocus();
]]>
</method>
</richinputtext>
<!-- alerta visual para o campo -->
<text name="campoAviso" text="${ classroot.aviso }" fontstyle="bold" fgcolor="red" visible="false" resize="true"/>
<!-- botões a direita do campo -->
<view name="btns"/>
<!-- @END: definição visual da classe -->
<!-- @BEGIN: definição dos métodos da classe -->
<!-- validação -->
<method name="doFormata" />
<!-- validação -->
<method name="doValida" />
<!-- ao perder o foco -->
<method name="doFocus" />
<!-- método para setar um valor para o campo -->
<method name="setText" args="txt">
<![CDATA[
this.campoField.setText( txt );
]]>
</method>
<!-- método para recuperar um valor do campo -->
<method name="getText">
<![CDATA[
return this.campoField.getText();
]]>
</method>
<!-- @END: definição dos métodos da classe -->
</class>
</library>[/code]
depois eu a instancio
<!-- Tipo -->
<campoX
name="tipo"
label="Tipo"
textWidth="20"/>
viu agora a diferença, como o teu codigo fica bem mais limpo