Make user menu extensible
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 4 May 2015 11:38:05 +0000 (11:38 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 4 May 2015 11:38:05 +0000 (11:38 +0000)
git-svn-id: https://svn.argeo.org/commons/trunk@8087 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.cms/src/org/argeo/cms/util/UserMenu.java

index 10964c717d0b26d82147b2c6c0bba1e4f2c0ba55..e44cada498ea99d09c64047ced0e1c9f3c9fbf05 100644 (file)
@@ -27,6 +27,7 @@ import org.eclipse.swt.events.TraverseEvent;
 import org.eclipse.swt.events.TraverseListener;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Shell;
@@ -80,6 +81,8 @@ public class UserMenu extends Shell implements CmsStyles, CallbackHandler {
                l.setLayoutData(CmsUtils.fillWidth());
                l.setText("<b>" + username + "</b>");
 
+               specificUserUi(this);
+
                l = new Label(this, SWT.NONE);
                l.setData(RWT.CUSTOM_VARIANT, CMS_USER_MENU_ITEM);
                l.setText(CmsMsg.logout.lead());
@@ -96,6 +99,17 @@ public class UserMenu extends Shell implements CmsStyles, CallbackHandler {
                });
        }
 
+       protected String getUsername() {
+               String username = SecurityContextHolder.getContext()
+                               .getAuthentication().getName();
+               return username;
+       }
+
+       /** To be overridden */
+       protected void specificUserUi(Composite parent) {
+
+       }
+
        protected void anonymousUi() {
                Integer textWidth = 150;
                setData(RWT.CUSTOM_VARIANT, CMS_USER_MENU);