2010-11-28 67 views
0

Nous avons utilisé une combinaison de GWT et de smart gwt pour ajouter des fonctionnalités à une application que nous avons construite. Le problème est que nous avons décidé d'utiliser la fonctionnalité d'accordéon (SectionStack) que SmartGWT offre et que nous imbriquons notre widget stock gwt dans un canevas, puis l'imbriquons à l'intérieur de la pile de sections. EGIntégration de GWT avec SmartGWT - Cant sélectionner le texte SectionStack-> Section-> Canvas-> HTML

SectionStack (SmartGWT) -> Section (SmartGWT) -> Toile (SmartGWT) -> VerticalPanel (GWT) -> Autres GWT Widgets (HTML, étiquettes, etc.)

Avant mélangé GWT et SmartGWT était Il est possible de sélectionner du texte dans les widgets GWT standard, puis de copier et coller, etc. L'imbrication des widgets GWT dans le canevas SmartGWT signifie que cela n'est plus possible. Quelqu'un peut-il offrir une explication pourquoi c'est le cas et/ou une solution sur la façon de le résoudre.

J'ai essayé canvas.setCanSelectText(true); mais cela ne semble pas non plus faire quoi que ce soit.

Nous utilisons GWT 2.1 avec SmartGWT 2.2. L'application de démonstration utilisant SmartGWT2.2 semble présenter le même problème à http://www.smartclient.com/smartgwt/showcase/#featured_gwt_integration. J'ai également essayé GWT 2.0.x avec SmartGWT 2.2

Toute aide appréciée.

+0

Pour les personnes intéressées, j'ai réussi à trouver un bug enregistré pour ce à: http://code.google.com/p/smartgwt/questions/détails? id = 391 & q = GWT% 20integration & colspec = ID% 20Stars% 20Type% 20Status% 20Priority% 20Milestone% 20Propriétaire% 20Summary% 20Reporter – K2J

Répondre

0

Pour les personnes intéressées, j'ai réussi à trouver un bug enregistré pour ce à: code.google.com/p/smartgwt/issues/...

0

En fait, ce n'est pas un problème. Vous devez appeler la méthode setCanSelectText sur le widget WidgetCanvas qui enveloppe votre widget GWT. Le WidgetCanvas est créé dans la méthode addItem (Widget). Une façon de faire est de remplacer la méthode addItem comme ceci:

@Override 
public void addItem(Widget widget) { 
    if (widget instanceof Canvas) { 
     addItem((Canvas) widget); 
    } else { 
     WidgetCanvas wg = new WidgetCanvas(widget); 
     wg.setCanSelectText(true); 
     addItem(wg); 
    } 
}