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);

Reply via email to