]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms/src/org/argeo/cms/users/UserViewer.java
48ca70a6947d3a2c220cb329976a4aa8b47fa8d7
1 package org
.argeo
.cms
.users
;
4 import javax
.jcr
.RepositoryException
;
6 import org
.argeo
.cms
.CmsEditable
;
7 import org
.argeo
.cms
.CmsException
;
8 import org
.argeo
.cms
.util
.CmsUtils
;
9 import org
.argeo
.cms
.viewers
.AbstractPageViewer
;
10 import org
.argeo
.cms
.viewers
.EditablePart
;
11 import org
.eclipse
.swt
.SWT
;
12 import org
.eclipse
.swt
.events
.MouseAdapter
;
13 import org
.eclipse
.swt
.events
.MouseEvent
;
14 import org
.eclipse
.swt
.events
.MouseListener
;
15 import org
.eclipse
.swt
.graphics
.Point
;
16 import org
.eclipse
.swt
.widgets
.Composite
;
17 import org
.eclipse
.swt
.widgets
.Control
;
19 public class UserViewer
extends AbstractPageViewer
{
20 private static final long serialVersionUID
= -717973369525981931L;
21 private UserPart userPart
;
23 public UserViewer(Composite parent
, int style
, Node userNode
,
24 CmsEditable cmsEditable
) throws RepositoryException
{
25 this(new UserPart(parent
, SWT
.NO_BACKGROUND
, userNode
), style
,
26 userNode
, cmsEditable
);
29 private UserViewer(UserPart userPart
, int style
, Node userNode
,
30 CmsEditable cmsEditable
) throws RepositoryException
{
31 super(userPart
, style
, cmsEditable
);
32 this.userPart
= userPart
;
33 userPart
.createControl(userPart
,"cms_test");
34 userPart
.setStyle("cms_test");
36 userPart
.setLayoutData(CmsUtils
.fillWidth());
37 userPart
.setMouseListener(getMouseListener());
40 // userRolesPart.createControl(userPart,"cms_test");
41 // userPart.setStyle("cms_test");
43 // userPart.setLayoutData(CmsUtils.fillWidth());
44 // userPart.setMouseListener(getMouseListener());
49 // private JcrComposite createParents(Composite parent, Node userNode)
50 // throws RepositoryException {
52 // return this.parent;
56 public Control
getControl() {
62 protected MouseListener
createMouseListener() {
66 private class ML
extends MouseAdapter
{
67 private static final long serialVersionUID
= 8526890859876770905L;
70 public void mouseDoubleClick(MouseEvent e
) {
72 Control source
= (Control
) e
.getSource();
73 if (getCmsEditable().canEdit()) {
74 getCmsEditable().startEditing();
75 EditablePart composite
= findDataParent(source
);
76 Point point
= new Point(e
.x
, e
.y
);
77 edit(composite
, source
.toDisplay(point
));
83 protected void updateContent(EditablePart part
) throws RepositoryException
{
84 if (part
instanceof UserPart
)
85 ((UserPart
) part
).refresh();
89 private EditablePart
findDataParent(Control parent
) {
90 if (parent
instanceof EditablePart
) {
91 return (EditablePart
) parent
;
93 if (parent
.getParent() != null)
94 return findDataParent(parent
.getParent());
96 throw new CmsException("No data parent found");
99 protected void refresh(Control control
) throws RepositoryException
{
100 if (control
instanceof UserPart
)
101 ((UserPart
) control
).refresh();