Revision: 3836
Author: [email protected]
Date: Wed Aug 4 11:55:58 2010
Log: Added icons to SecurityPanel, GroupEditorPanel, and UserEditorPanel.
http://code.google.com/p/power-architect/source/detail?r=3836
Added:
/trunk/src/main/resources/ca/sqlpower/architect/swingui/enterprise
/trunk/src/main/resources/ca/sqlpower/architect/swingui/enterprise/icons
/trunk/src/main/resources/ca/sqlpower/architect/swingui/enterprise/icons/group.png
/trunk/src/main/resources/ca/sqlpower/architect/swingui/enterprise/icons/user.png
Modified:
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/GroupEditorPanel.java
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/SecurityPanel.java
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/UserEditorPanel.java
=======================================
--- /dev/null
+++
/trunk/src/main/resources/ca/sqlpower/architect/swingui/enterprise/icons/group.png
Wed Aug 4 11:55:58 2010
Binary file, no diff available.
=======================================
--- /dev/null
+++
/trunk/src/main/resources/ca/sqlpower/architect/swingui/enterprise/icons/user.png
Wed Aug 4 11:55:58 2010
Binary file, no diff available.
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/GroupEditorPanel.java
Fri Jul 30 08:32:41 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/GroupEditorPanel.java
Wed Aug 4 11:55:58 2010
@@ -19,6 +19,7 @@
package ca.sqlpower.architect.swingui.enterprise;
+import java.awt.Component;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.util.ArrayList;
@@ -26,6 +27,7 @@
import javax.swing.AbstractAction;
import javax.swing.Action;
+import javax.swing.DefaultListCellRenderer;
import javax.swing.DefaultListModel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
@@ -34,6 +36,7 @@
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
+import javax.swing.ListCellRenderer;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
@@ -54,6 +57,7 @@
private static final ImageIcon RIGHT_ARROW = new
ImageIcon(RefreshProjectAction.class.getResource("/icons/arrow-right.png"));
private static final ImageIcon LEFT_ARROW = new
ImageIcon(RefreshProjectAction.class.getResource("/icons/arrow-left.png"));
+ private static final ImageIcon USER_ICON = new
ImageIcon(GroupEditorPanel.class.getResource("icons/user.png"));
private final Group group;
@@ -151,13 +155,26 @@
nameTextField.setText(group.getName());
nameTextField.getDocument().addDocumentListener(textFieldListener);
+ ListCellRenderer userListCellRenderer = new
DefaultListCellRenderer() {
+ @Override
+ public Component getListCellRendererComponent(JList list,
Object value, int index, boolean isSelected,
+ boolean cellHasFocus) {
+ super.getListCellRendererComponent(list, value, index,
isSelected, cellHasFocus);
+ setIcon(USER_ICON);
+ return this;
+ }
+ };
+
availableUsersLabel = new JLabel("Available Users");
availableUsersList = new JList(new DefaultListModel());
+ availableUsersList.setCellRenderer(userListCellRenderer);
availableUsersScrollPane = new JScrollPane(availableUsersList);
availableUsersScrollPane.setPreferredSize(prefScrollPaneDimension);
currentUsersLabel = new JLabel("Current Users");
currentUsersList = new JList(new DefaultListModel());
+ currentUsersList.setCellRenderer(userListCellRenderer);
+
currentUsersScrollPane = new JScrollPane(currentUsersList);
currentUsersScrollPane.setPreferredSize(prefScrollPaneDimension);
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/SecurityPanel.java
Wed Jul 28 08:41:01 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/SecurityPanel.java
Wed Aug 4 11:55:58 2010
@@ -20,6 +20,7 @@
package ca.sqlpower.architect.swingui.enterprise;
import java.awt.BorderLayout;
+import java.awt.Component;
import java.awt.Dialog;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
@@ -33,6 +34,7 @@
import javax.swing.AbstractAction;
import javax.swing.Action;
+import javax.swing.ImageIcon;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
@@ -46,6 +48,7 @@
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
+import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreePath;
@@ -65,6 +68,9 @@
public class SecurityPanel {
+ private static final ImageIcon USER_ICON = new
ImageIcon(SecurityPanel.class.getResource("icons/user.png"));
+ private static final ImageIcon GROUP_ICON = new
ImageIcon(SecurityPanel.class.getResource("icons/group.png"));
+
private final Action closeAction;
private final JTree tree;
@@ -218,6 +224,22 @@
tree = new JTree(rootNode);
tree.addTreeSelectionListener(treeListener);
+ tree.setRootVisible(false);
+ tree.setShowsRootHandles(true);
+ tree.setCellRenderer(new DefaultTreeCellRenderer() {
+ public Component getTreeCellRendererComponent(JTree tree,
Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean
hasFocus) {
+ super.getTreeCellRendererComponent(tree, value, sel,
expanded, leaf, row, hasFocus);
+ Object userObject = ((DefaultMutableTreeNode)
value).getUserObject();
+ if (userObject instanceof User) {
+ setIcon(USER_ICON);
+ } else if (userObject instanceof Group) {
+ setIcon(GROUP_ICON);
+ }
+ return this;
+ }
+ });
+
+
treePane = new JScrollPane(tree);
treePane.setPreferredSize(new Dimension(200,
treePane.getPreferredSize().height));
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/UserEditorPanel.java
Wed Jul 28 08:41:01 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/UserEditorPanel.java
Wed Aug 4 11:55:58 2010
@@ -19,6 +19,7 @@
package ca.sqlpower.architect.swingui.enterprise;
+import java.awt.Component;
import java.awt.Dimension;
import java.awt.Window;
import java.awt.event.ActionEvent;
@@ -27,6 +28,7 @@
import javax.swing.AbstractAction;
import javax.swing.Action;
+import javax.swing.DefaultListCellRenderer;
import javax.swing.DefaultListModel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
@@ -38,6 +40,7 @@
import javax.swing.JPasswordField;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
+import javax.swing.ListCellRenderer;
import javax.swing.SwingUtilities;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
@@ -61,6 +64,7 @@
private static final ImageIcon RIGHT_ARROW = new
ImageIcon(RefreshProjectAction.class.getResource("/icons/arrow-right.png"));
private static final ImageIcon LEFT_ARROW = new
ImageIcon(RefreshProjectAction.class.getResource("/icons/arrow-left.png"));
+ private static final ImageIcon GROUP_ICON = new
ImageIcon(UserEditorPanel.class.getResource("icons/group.png"));
private final ArchitectSwingProject securityWorkspace;
private final User user;
@@ -232,13 +236,25 @@
emailField.setText(user.getEmail());
emailField.getDocument().addDocumentListener(textFieldListener);
+ ListCellRenderer groupListCellRenderer = new
DefaultListCellRenderer() {
+ @Override
+ public Component getListCellRendererComponent(JList list,
Object value, int index, boolean isSelected,
+ boolean cellHasFocus) {
+ super.getListCellRendererComponent(list, value, index,
isSelected, cellHasFocus);
+ setIcon(GROUP_ICON);
+ return this;
+ }
+ };
+
availableGroupsLabel = new JLabel("Available Groups");
availableGroupsList = new JList(new DefaultListModel());
+ availableGroupsList.setCellRenderer(groupListCellRenderer);
availableGroupsScrollPane = new JScrollPane(availableGroupsList);
availableGroupsScrollPane.setPreferredSize(prefScrollPaneDimension);
currentGroupsLabel = new JLabel("Current Groups");
currentGroupsList = new JList(new DefaultListModel());
+ currentGroupsList.setCellRenderer(groupListCellRenderer);
currentGroupsScrollPane = new JScrollPane(currentGroupsList);
currentGroupsScrollPane.setPreferredSize(prefScrollPaneDimension);