Ist es möglich GWT UIBinder Panels wiederzuverwenden?

8

Ich habe ein Layout in Google Web Toolkit, das den Uibinder mit TabLayoutPanel verwendet. Dieses Layout enthält die Obermenge aller Tabs, die von meiner App verwendet werden (denke an eine Admin-Ansicht).

Ich muss jetzt ein neues Layout erstellen, indem ich eine Teilmenge dieser Registerkarten benutze (zB für normale Benutzer).

Ist es möglich, Panels aus meinem Admin-Layout in mein Benutzerlayout zu importieren? Oder vielleicht alle in einer dritten Datei definieren und aus beiden Layouts importieren?

    
pkaeding 24.06.2010, 03:26
quelle

2 Antworten

3

Definieren Sie jeden Tab-Inhalt als separate UiBinder-Vorlage. Da UiBinder-Klassen Composites sind, können Sie sie wie jedes andere Widget zu jedem Container hinzufügen.

Sie können Ihr TabLayoutPanel im Code zusammenstellen, indem Sie jedes UiBinder-Objekt in eine Registerkarte im TabPanel einfügen oder eine andere UiBinder-Vorlage mit dem TabPanel und allen definierten Tabs definieren.

Wenn Sie die UiBinder-Route zum Templating des TabLayoutPanel verwenden, importieren Sie den Tab-Panel-Inhalt (zuvor mit UiBinder definierte Composites) in den UiBinder, indem Sie einen neuen 'Namespace' definieren, der auf das Paket verweist, in dem sich alle Composite befinden. Sie bezeichnen dann Ihre Composites als Namespace: ClassName in der UiBinder-Vorlage.

Wenn com.project.package für alle Verknüpfungen steht, die Sie in einzelne Registerkarten einfügen möchten, definieren Sie einen neuen Namensraum f als xmlns:f= 'com.project.package' kurz nach der Deklaration von xmlns: g.

Sie verweisen auf einzelne Komposite in Ihrem UiBinder als

%Vor%     
Ashwin Prabhu 24.06.2010, 07:46
quelle
5

Sie können die von Ihnen geschriebenen Ansichten, sowohl UIBinder-Vorlagen als auch reguläre Widget s, definitiv in eine andere UIBinder-Vorlage importieren.

Aus den UIBinder-Dokumenten :

%Vor%

Beachten Sie, wie die Widgets Stocks und CricketScores aus Ihrem eigenen Paket importiert werden.

Sie müssen dies nicht unbedingt tun, um Tabs nur basierend auf Benutzerberechtigungen anzuzeigen / auszublenden. Sie können Ihre Tabs in Ihrem GWT-Code basierend auf Zugriffsebenen anzeigen / verbergen.

    
Jason Hall 24.06.2010 04:04
quelle

Tags und Links