2010-11-28 12 views
0

Wir haben eine Kombination aus GWT und Smart GWT verwendet, um einige Funktionen zu einer App hinzuzufügen, die wir gebaut haben.GWT-Integration mit SmartGWT - Kann Text auswählen AbschnittStack-> Abschnitt-> Leinwand-> HTML

Das Problem, das ich habe, ist, dass wir beschlossen haben, die Akkordeon-Funktionalität (SectionStack) zu nutzen, die SmartGWT bietet, und wir verschachteln unsere Lager gwt Widget in einer Zeichenfläche und dann verschachteln, dass innerhalb der Abschnittstapel. EG

SectionStack (SmartGWT) -> Abschnitt (SmartGWT) -> Leinwand (SmartGWT) -> VerticalPanel (GWT) -> Andere GWT Widgets (HTML, Etiketten usw.)

Bevor wir GWT und SmartGWT gemischt war es Es ist möglich, Text in den Standard-GWT-Widgets auszuwählen und dann zu kopieren und einzufügen usw. Das Verschachteln der GWT-Widgets im SmartGWT-Canvas bedeutet, dass dies jetzt nicht möglich ist. Kann jemand eine Erklärung geben, warum dies der Fall ist und/oder eine Lösung, wie es zu beheben ist.

Ich habe versucht canvas.setCanSelectText(true);, aber das scheint auch nichts zu tun.

Wir verwenden GWT 2.1 mit SmartGWT 2.2. Die Demo-App mit SmartGWT2.2 scheint das gleiche Problem bei http://www.smartclient.com/smartgwt/showcase/#featured_gwt_integration zu haben. Ich habe auch versucht GWT 2.0.x mit SmartGWT 2.2

Jede Hilfe geschätzt.

+0

Für Interessenten ich habe es geschafft, einen Fehler für diese registriert zu finden unter: http://code.google.com/p/smartgwt/Issues/detail? id = 391 & q = GWT% 20Integration & colspec = ID% 20Stars% 20Typ% 20Status% 20Priorität% 20Milestone% 20Owner% 20Zusammenfassung% 20Reporter – K2J

Antwort

0

Für Interessenten ich habe es geschafft, einen Fehler für diese bei registriert zu finden: kein Thema ist

0

Eigentlich code.google.com/p/smartgwt/issues/.... Sie müssen die setCanSelectText Methode auf der WidgetCanvas, die Ihr GWT-Widget einwickelt aufrufen. Die WidgetCanvas wird in der addItem (Widget) Methode erstellt. Ein Weg zu gehen, ist die addItem Methode wie folgt außer Kraft zu setzen:

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