*/\r
package com.itmill.toolkit.demo;\r
\r
+import java.util.Iterator;\r
+import java.util.Map;\r
+\r
import javax.portlet.ActionRequest;\r
import javax.portlet.ActionResponse;\r
import javax.portlet.PortletMode;\r
+import javax.portlet.PortletRequest;\r
import javax.portlet.PortletURL;\r
import javax.portlet.RenderRequest;\r
import javax.portlet.RenderResponse;\r
import com.itmill.toolkit.terminal.ExternalResource;\r
import com.itmill.toolkit.terminal.gwt.server.PortletApplicationContext;\r
import com.itmill.toolkit.terminal.gwt.server.PortletApplicationContext.PortletListener;\r
+import com.itmill.toolkit.ui.Label;\r
import com.itmill.toolkit.ui.Link;\r
import com.itmill.toolkit.ui.TextField;\r
import com.itmill.toolkit.ui.Window;\r
public class PortletDemo extends Application {\r
\r
Window main = new Window();\r
- TextField tf = new TextField();\r
+ TextField tf = new TextField("Some value");\r
+ Label userInfo = new Label();\r
Link portletEdit = new Link();\r
Link portletMax = new Link();\r
\r
public void init() {\r
main = new Window();\r
setMainWindow(main);\r
+\r
+ userInfo.setCaption("User info");\r
+ userInfo.setContentMode(Label.CONTENT_PREFORMATTED);\r
+ main.addComponent(userInfo);\r
+\r
tf.setEnabled(false);\r
+ tf.setImmediate(true);\r
main.addComponent(tf);\r
\r
portletEdit.setEnabled(false);\r
\r
public void handleRenderRequest(RenderRequest request,\r
RenderResponse response) {\r
+ // Portlet up-and-running, enable stuff\r
portletEdit.setEnabled(true);\r
portletMax.setEnabled(true);\r
+\r
+ // Editable if we're in editmode\r
tf.setEnabled((request.getPortletMode() == PortletMode.EDIT));\r
\r
+ // Show notification about current mode and state\r
getMainWindow().showNotification(\r
"Portlet status",\r
"Mode: " + request.getPortletMode() + " State: "\r
+ request.getWindowState(),\r
Notification.TYPE_WARNING_MESSAGE);\r
\r
+ // Display current user info\r
+ Map uinfo = (Map) request.getAttribute(PortletRequest.USER_INFO);\r
+ if (uinfo != null) {\r
+ String s = "";\r
+ for (Iterator it = uinfo.keySet().iterator(); it.hasNext();) {\r
+ Object key = it.next();\r
+ Object val = uinfo.get(key);\r
+ s += key + ": " + val + "\n";\r
+ }\r
+ if (request.isUserInRole("administrator")) {\r
+ s += "(administrator)";\r
+ }\r
+ userInfo.setValue(s);\r
+ } else {\r
+ userInfo.setValue("-");\r
+ }\r
+\r
+ // Create Edit/Done link (actionUrl)\r
PortletURL url = response.createActionURL();\r
try {\r
url\r
} catch (Exception e) {\r
portletEdit.setEnabled(false);\r
}\r
-\r
+ // Create Maximize/Normal link (actionUrl)\r
url = response.createActionURL();\r
try {\r
url\r