public void changeValueOrExpression() {
   stackLayout.topControl = buseexpr.getSelection() ? vexp : vcmp;
   stackComposite.layout();
   if (buseexpr.getSelection()) {
     value.setValueExpression(evalue.getExpression());
   } else value.setValue(tvalue.getText());
 }
 private void fillValue(StandardItemProperty value) {
   isRefresh = true;
   if (isMandatory) cprop.setEnabled(false);
   evalue.setExpressionContext(expContext);
   cprop.setText(Misc.nvl(value.getName()));
   if (value.getValueExpression() != null) {
     buseexpr.setSelection(true);
     evalue.setExpression((JRDesignExpression) value.getValueExpression());
   } else {
     buseexpr.setSelection(false);
     tvalue.setText(Misc.nvl(value.getValue()));
   }
   changeValueOrExpression();
   isRefresh = false;
 }