Author: [email protected]
Date: Fri Jan 23 12:13:41 2009
New Revision: 2932

Modified:
   trunk/regress/ca/sqlpower/architect/swingui/TestSwingUIProject.java
trunk/regress/ca/sqlpower/architect/swingui/TestingArchitectSwingSession.java
   trunk/src/ca/sqlpower/architect/swingui/ArchitectSwingSession.java
   trunk/src/ca/sqlpower/architect/swingui/ArchitectSwingSessionImpl.java
   trunk/src/ca/sqlpower/architect/swingui/ProjectSettingsPanel.java
   trunk/src/ca/sqlpower/architect/swingui/SwingUIProject.java
   trunk/src/ca/sqlpower/architect/swingui/TablePane.java

Log:
Improved the columnVisibility options by using Enumeration instead of booleans.
If open a old project, it will be default to show all columns.

Modified: trunk/regress/ca/sqlpower/architect/swingui/TestSwingUIProject.java
==============================================================================
--- trunk/regress/ca/sqlpower/architect/swingui/TestSwingUIProject.java (original) +++ trunk/regress/ca/sqlpower/architect/swingui/TestSwingUIProject.java Fri Jan 23 12:13:41 2009
@@ -67,6 +67,7 @@
 import ca.sqlpower.architect.profile.ColumnProfileResult;
 import ca.sqlpower.architect.profile.ProfileManager;
 import ca.sqlpower.architect.profile.TableProfileResult;
+import ca.sqlpower.architect.swingui.ArchitectSwingSessionImpl.ColumnVisibility;
 import ca.sqlpower.architect.swingui.dbtree.DBTreeModel;
 import ca.sqlpower.sql.PlDotIni;
 import ca.sqlpower.sql.SPDataSource;
@@ -164,7 +165,7 @@
" <source-stuff datastoreTypeAsString='PROJECT' connectName='Arthur_test' " +
         " schema='ARCHITECT_REGRESS' filepath='' />"+
"<target-stuff datastoreTypeAsString='FILE' filePath='Testpath' /> </compare-dm-settings>"+ - " <play-pen zoom=\"12.3\" viewportX=\"200\" viewportY=\"20\" relationship-style=\"rectilinear\" showPrimaryTag=\"true\" showForeignTag=\"true\" showAlternateTag=\"true\" showPK=\"false\" showPKFK=\"false\" showIndexed=\"false\" showPKFKUnique=\"false\" showPKFKUniqueIndexed=\"false\" showAll=\"true\" >" + + " <play-pen zoom=\"12.3\" viewportX=\"200\" viewportY=\"20\" relationship-style=\"rectilinear\" showPrimaryTag=\"true\" showForeignTag=\"true\" showAlternateTag=\"true\" columnVisibility=\"PK_FK\" >" +
         "  <table-pane table-ref='TAB0' x='85' y='101' />" +
         "  <table-pane table-ref='TAB6' x='196' y='38' />" +
" <table-link relationship-ref='REL12' pk-x='76' pk-y='60' fk-x='114' fk-y='30' />" +
@@ -1027,10 +1028,7 @@
         session.setShowPkTag(false);
         session.setShowFkTag(false);
         session.setShowAkTag(false);
-        session.setShowPK(false);
-        session.setShowPKFK(false);
-        session.setShowPKFKUnique(false);
-        session.setShowPKFKUniqueIndexed(false);
+        session.setColumnVisibility(ColumnVisibility.ALL);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
         project.save(byteArrayOutputStream, ENCODING);

@@ -1048,11 +1046,7 @@
assertEquals("PK Tag", session.isShowPkTag(), newSession.isShowPkTag()); assertEquals("FK Tag", session.isShowFkTag(), newSession.isShowFkTag()); assertEquals("AK Tag", session.isShowAkTag(), newSession.isShowAkTag()); - assertEquals("Primary Column", session.isShowPK(), newSession.isShowPK()); - assertEquals("PK and Fk Column", session.isShowPKFK(), newSession.isShowPKFK()); - assertEquals("PK, FK and Unique Column", session.isShowPKFKUnique(), newSession.isShowPKFKUnique()); - assertEquals("PK, FK, Unique and Indexed Columns", session.isShowPKFKUniqueIndexed(), newSession.isShowPKFKUniqueIndexed());
-
+ assertEquals("Show Option", session.getColumnVisibility(), newSession.getColumnVisibility());
     }

     public void testLoadCoversPlayPen()throws Exception{
@@ -1069,11 +1063,7 @@
         assertEquals("PK Tag", true, session.isShowPkTag());
         assertEquals("FK Tag", true, session.isShowFkTag());
         assertEquals("AK Tag", true, session.isShowAkTag());
-        assertEquals("Primary Columns", false, session.isShowPK());
-        assertEquals("PK and Fk Columns", false, session.isShowPKFK());
- assertEquals("PK, FK and Unique Columns", false, session.isShowPKFKUnique()); - assertEquals("PK, FK, Unique and Indexed Columns", false, session.isShowPKFKUniqueIndexed());
-        assertEquals("All Columns", true, session.isShowAll());
+ assertEquals("ShowOption", ColumnVisibility.PK_FK, session.getColumnVisibility());
     }

     /**

Modified: trunk/regress/ca/sqlpower/architect/swingui/TestingArchitectSwingSession.java
==============================================================================
--- trunk/regress/ca/sqlpower/architect/swingui/TestingArchitectSwingSession.java (original) +++ trunk/regress/ca/sqlpower/architect/swingui/TestingArchitectSwingSession.java Fri Jan 23 12:13:41 2009
@@ -43,6 +43,7 @@
 import ca.sqlpower.architect.olap.OLAPSession;
 import ca.sqlpower.architect.profile.ProfileManager;
 import ca.sqlpower.architect.profile.ProfileManagerImpl;
+import ca.sqlpower.architect.swingui.ArchitectSwingSessionImpl.ColumnVisibility;
 import ca.sqlpower.architect.swingui.olap.OLAPEditSession;
 import ca.sqlpower.architect.undo.ArchitectUndoManager;
 import ca.sqlpower.swingui.SPSwingWorker;
@@ -75,11 +76,7 @@
     private boolean showFkTag = true;
     private boolean showAkTag = true;

-    protected boolean showAll = true;
-    protected boolean show_PK = false;
-    protected boolean show_PK_FK= false;
-    protected boolean show_PK_FK_Unique = false;
-    protected boolean show_PK_FK_Unique_Indexed = false;
+    private ColumnVisibility choice = ColumnVisibility.ALL;

public TestingArchitectSwingSession(ArchitectSwingSessionContext context) throws ArchitectException {
         this.context = context;
@@ -303,47 +300,14 @@
         }
     }

-    public boolean isShowPK() {
-        return show_PK;
-    }
-
-    public void setShowPK(boolean showPrimary) {
-        this.show_PK = showPrimary;
-    }
-
-    public boolean isShowPKFK() {
-        return show_PK_FK;
-    }
-
-    public void setShowPKFK(boolean showForeign) {
-        this.show_PK_FK = showForeign;
-    }
-
-    public boolean isShowPKFKUnique() {
-        return show_PK_FK_Unique;
-    }
-
-    public void setShowPKFKUnique(boolean showUnique) {
-        this.show_PK_FK_Unique = showUnique;
+    public void setColumnVisibility(ColumnVisibility option) {
+        choice = option;
     }

-    public boolean isShowPKFKUniqueIndexed() {
-        return show_PK_FK_Unique_Indexed;
+    public  ColumnVisibility getColumnVisibility() {
+        return choice;
     }
-
-    public void setShowPKFKUniqueIndexed(boolean showIndexed) {
-        this.show_PK_FK_Unique_Indexed = showIndexed;
-    }
-
-
-    public boolean isShowAll() {
-        return showAll;
-    }
-
-    public void setShowAll(boolean showTheRest) {
-        this.showAll = showTheRest;
-    }
-
+
     public OLAPRootObject getOLAPRootObject() {
         return olapRootObject;
     }

Modified: trunk/src/ca/sqlpower/architect/swingui/ArchitectSwingSession.java
==============================================================================
--- trunk/src/ca/sqlpower/architect/swingui/ArchitectSwingSession.java (original) +++ trunk/src/ca/sqlpower/architect/swingui/ArchitectSwingSession.java Fri Jan 23 12:13:41 2009
@@ -30,6 +30,7 @@
 import ca.sqlpower.architect.etl.kettle.KettleJob;
 import ca.sqlpower.architect.olap.OLAPRootObject;
 import ca.sqlpower.architect.olap.OLAPSession;
+import ca.sqlpower.architect.swingui.ArchitectSwingSessionImpl.ColumnVisibility;
 import ca.sqlpower.architect.swingui.olap.OLAPEditSession;
 import ca.sqlpower.architect.undo.ArchitectUndoManager;
 import ca.sqlpower.swingui.SwingWorkerRegistry;
@@ -218,58 +219,19 @@
      * Sets whether the AK Tags will be shown
      */
     public void setShowAkTag(boolean showAkTag);
-
-    /**
-     * Indicates whether All Columns will be shown.
-     */
-
-    public boolean isShowAll();
-
-    /**
-     * Sets whether All Columns should be shown.
-     */
-    public void setShowAll(boolean showForeign);

     /**
-     * Indicates whether PK, FK, Unique and Indexed Columns will be shown.
+     * Sets the choice of what columns to show
+     * @param choice The choice user made on how
+     * to show columns.
      */
-    public boolean isShowPKFKUniqueIndexed();
+    public void setColumnVisibility(ColumnVisibility choice);

     /**
-     * Sets whether PK, FK, Unique and Indexed Columns should be shown.
-     */
-    public void setShowPKFKUniqueIndexed(boolean showUnique);
-
-    /**
-     * Indicates whether PK, FK and Unique Columns will be shown.
-     */
-    public boolean isShowPKFKUnique();
-
-    /**
-     * Sets whether PK,FK and Unique Columns should be shown.
-     */
-    public void setShowPKFKUnique(boolean showPKFKUnique);
-
-
-    /**
-     * Indicates whether only PK and FK Columns will be shown.
-     */
-    public boolean isShowPKFK();
-
-    /**
-     * Sets whether only PK and FK Columns should be shown.
-     */
-    public void setShowPKFK(boolean showThePKFK);
-
-    /**
-     * Indicates whether only PK Columns will be shown.
-     */
-    public boolean isShowPK();
-
-    /**
-     * Sets whether only PK Columns should be shown.
+     *
+     * @return the choice of how to show columns.
      */
-    public void setShowPK(boolean showThePK);
+    public ColumnVisibility getColumnVisibility();

     /**
      * Shows the schema manager dialog for this session's OLAP Schemas.

Modified: trunk/src/ca/sqlpower/architect/swingui/ArchitectSwingSessionImpl.java
==============================================================================
--- trunk/src/ca/sqlpower/architect/swingui/ArchitectSwingSessionImpl.java (original) +++ trunk/src/ca/sqlpower/architect/swingui/ArchitectSwingSessionImpl.java Fri Jan 23 12:13:41 2009
@@ -141,13 +141,17 @@
     private boolean showPkTag = true;
     private boolean showFkTag = true;
     private boolean showAkTag = true;
-
-    private boolean showAll = true;
-    private boolean show_Pk_Fk_Unique_Indexed = false;
-    private boolean show_Pk_Fk_Unique = false;
-    private boolean show_Pk_Fk = false;
-    private boolean show_Pk = false;

+    private ColumnVisibility columnVisibility = ColumnVisibility.ALL;
+
+    public static enum ColumnVisibility {
+        ALL,
+        PK,
+        PK_FK,
+        PK_FK_UNIQUE,
+        PK_FK_UNIQUE_INDEXED;
+    }
+
     private List<OLAPEditSession> olapEditSessions;

     /**
@@ -871,44 +875,19 @@
         }
     }

-    public boolean isShowAll() {
-        return showAll;
-    }
-
-    public void setShowAll(boolean showAll) {
-        this.showAll = showAll;
-    }
-
-    public boolean isShowPKFKUniqueIndexed() {
-        return show_Pk_Fk_Unique_Indexed;
-    }
-
-    public void setShowPKFKUniqueIndexed(boolean showIndexed) {
-        this.show_Pk_Fk_Unique_Indexed = showIndexed;
-    }
-
-    public boolean isShowPKFKUnique() {
-        return show_Pk_Fk_Unique;
-    }
-
-    public void setShowPKFKUnique(boolean showPKFKUnique) {
-        this.show_Pk_Fk_Unique = showPKFKUnique;
+    /**
+     * Sets the visibility of columns in the playpen of this session.
+     *
+ * @param option The new column visibility setting. If null, all columns will
+     * be shown (equivalent to specifying {...@link ColumnVisibility#ALL}).
+     */
+    public void setColumnVisibility(ColumnVisibility option) {
+        columnVisibility = option;
+ // XXX should fire property change event, but apparently the session doesn't support that
     }

-    public boolean isShowPKFK() {
-        return show_Pk_Fk;
-    }
-
-    public void setShowPKFK(boolean showPKFK) {
-        this.show_Pk_Fk = showPKFK;
-    }
-
-    public boolean isShowPK() {
-        return show_Pk;
-    }
-
-    public void setShowPK(boolean showPK) {
-        this.show_Pk = showPK;
+    public ColumnVisibility getColumnVisibility() {
+        return columnVisibility;
     }

     public void showOLAPSchemaManager(Window owner) {

Modified: trunk/src/ca/sqlpower/architect/swingui/ProjectSettingsPanel.java
==============================================================================
--- trunk/src/ca/sqlpower/architect/swingui/ProjectSettingsPanel.java (original) +++ trunk/src/ca/sqlpower/architect/swingui/ProjectSettingsPanel.java Fri Jan 23 12:13:41 2009
@@ -30,6 +30,7 @@
 import org.apache.log4j.Logger;

 import ca.sqlpower.architect.profile.TableProfileCreator;
+import ca.sqlpower.architect.swingui.ArchitectSwingSessionImpl.ColumnVisibility;
 import ca.sqlpower.swingui.DataEntryPanel;

 import com.jgoodies.forms.layout.CellConstraints;
@@ -65,10 +66,10 @@
     private JCheckBox showAkTag;

     private JRadioButton showAll;
-    private JRadioButton show_Pk_Fk_Unique_Indexed;
-    private JRadioButton show_Pk_Fk_Unique;
-    private JRadioButton show_Pk_Fk;
-    private JRadioButton show_Pk;
+    private JRadioButton showPkFkUniqueIndexed;
+    private JRadioButton showPkFkUnique;
+    private JRadioButton showPkFk;
+    private JRadioButton showPk;

        public ProjectSettingsPanel(ArchitectSwingSession session) {
                this.session = session;
@@ -112,31 +113,31 @@
         add(new JSeparator(), cc.xyw(1, row, 2));

         row++;
- add(showAll = new JRadioButton (Messages.getString("ProjectSettingsPanel.showAll")), cc.xy(1, row)); //$NON-NLS-1$ + add(showAll = new JRadioButton(Messages.getString("ProjectSettingsPanel.showAll")), cc.xy(1, row)); //$NON-NLS-1$ add(showPkTag = new JCheckBox(Messages.getString("ProjectSettingsPanel.showPKTags")), cc.xy(2, row)); //$NON-NLS-1$

         row++;
- add(show_Pk_Fk_Unique_Indexed = new JRadioButton(Messages.getString("ProjectSettingsPanel.showPKFKUniqueIndexed")), cc.xy(1, row)); //$NON-NLS-1$ + add(showPkFkUniqueIndexed = new JRadioButton(Messages.getString("ProjectSettingsPanel.showPKFKUniqueIndexed")), cc.xy(1, row)); //$NON-NLS-1$ add(showFkTag = new JCheckBox(Messages.getString("ProjectSettingsPanel.showFKTags")), cc.xy(2, row)); //$NON-NLS-1$

         row++;
- add(show_Pk_Fk_Unique = new JRadioButton(Messages.getString("ProjectSettingsPanel.showPKFKUnique")), cc.xy(1, row)); //$NON-NLS-1$ + add(showPkFkUnique = new JRadioButton(Messages.getString("ProjectSettingsPanel.showPKFKUnique")), cc.xy(1, row)); //$NON-NLS-1$ add(showAkTag = new JCheckBox(Messages.getString("ProjectSettingsPanel.showAKTags")), cc.xy(2, row)); //$NON-NLS-1$

         row++;
- add(show_Pk_Fk = new JRadioButton(Messages.getString("ProjectSettingsPanel.showPKFK")), cc.xy(1, row)); //$NON-NLS-1$ + add(showPkFk = new JRadioButton(Messages.getString("ProjectSettingsPanel.showPKFK")), cc.xy(1, row)); //$NON-NLS-1$
         add(new JLabel(), cc.xy(2, row));

         row++;
- add(show_Pk = new JRadioButton(Messages.getString("ProjectSettingsPanel.showPK")), cc.xy(1, row)); //$NON-NLS-1$ + add(showPk = new JRadioButton(Messages.getString("ProjectSettingsPanel.showPK")), cc.xy(1, row)); //$NON-NLS-1$
         add(new JLabel(), cc.xy(2, row));

         ButtonGroup column_show_settings = new ButtonGroup();
         column_show_settings.add(showAll);
-        column_show_settings.add(show_Pk_Fk_Unique_Indexed);
-        column_show_settings.add(show_Pk_Fk_Unique);
-        column_show_settings.add(show_Pk_Fk);
-        column_show_settings.add(show_Pk);
+        column_show_settings.add(showPkFkUniqueIndexed);
+        column_show_settings.add(showPkFkUnique);
+        column_show_settings.add(showPkFk);
+        column_show_settings.add(showPk);

         /*
         */
@@ -156,16 +157,24 @@
             showFkTag.setSelected(session.isShowFkTag());
             showAkTag.setSelected(session.isShowAkTag());

-        if (session.isShowAll()) {
+        ColumnVisibility choice = session.getColumnVisibility();
+
+        switch (choice) {
+        case ALL:
             showAll.setSelected(true);
-        } else if (session.isShowPKFKUniqueIndexed()) {
-            show_Pk_Fk_Unique_Indexed.setSelected(true);
-        } else if (session.isShowPKFKUnique()) {
-            show_Pk_Fk_Unique.setSelected(true);
-        } else if (session.isShowPKFK()) {
-            show_Pk_Fk.setSelected(true);
-        } else {
-            show_Pk.setSelected(true);
+            break;
+        case PK:
+            showPk.setSelected(true);
+            break;
+        case PK_FK:
+            showPkFk.setSelected(true);
+            break;
+        case PK_FK_UNIQUE:
+            showPkFkUnique.setSelected(true);
+            break;
+        case PK_FK_UNIQUE_INDEXED:
+            showPkFkUniqueIndexed.setSelected(true);
+            break;
         }
     }

@@ -192,12 +201,23 @@
         session.setShowFkTag(showFkTag.isSelected());
         session.setShowAkTag(showAkTag.isSelected());

-        session.setShowAll(showAll.isSelected());
- session.setShowPKFKUniqueIndexed(show_Pk_Fk_Unique_Indexed.isSelected());
-        session.setShowPKFKUnique(show_Pk_Fk_Unique.isSelected());
-        session.setShowPKFK(show_Pk_Fk.isSelected());
-        session.setShowPK(show_Pk.isSelected());
+        if (showAll.isSelected()) {
+            session.setColumnVisibility(ColumnVisibility.ALL);
+        }
+        if (showPk.isSelected()) {
+            session.setColumnVisibility(ColumnVisibility.PK);
+        }
+        if (showPkFk.isSelected()) {
+            session.setColumnVisibility(ColumnVisibility.PK_FK);
+        }
+        if (showPkFkUnique.isSelected()) {
+            session.setColumnVisibility(ColumnVisibility.PK_FK_UNIQUE);
+        }
+        if (showPkFkUniqueIndexed.isSelected()) {
+ session.setColumnVisibility(ColumnVisibility.PK_FK_UNIQUE_INDEXED);
+        }

+ // XXX this refresh should be handled via a property change event on the session
         session.getPlayPen().updateHiddenColumns();

         return true;

Modified: trunk/src/ca/sqlpower/architect/swingui/SwingUIProject.java
==============================================================================
--- trunk/src/ca/sqlpower/architect/swingui/SwingUIProject.java (original)
+++ trunk/src/ca/sqlpower/architect/swingui/SwingUIProject.java Fri Jan 23 12:13:41 2009
@@ -70,6 +70,7 @@
 import ca.sqlpower.architect.profile.ProfileManager;
 import ca.sqlpower.architect.profile.ProfileResult;
 import ca.sqlpower.architect.profile.TableProfileResult;
+import ca.sqlpower.architect.swingui.ArchitectSwingSessionImpl.ColumnVisibility; import ca.sqlpower.architect.swingui.CompareDMSettings.SourceOrTargetSettings;
 import ca.sqlpower.architect.swingui.olap.CubePane;
 import ca.sqlpower.architect.swingui.olap.DimensionPane;
@@ -289,24 +290,10 @@
                setupGenericPlayPen(pp, attributes);
                
                // default values in playpen are true
-               String showPK = attributes.getValue("showPK"); //$NON-NLS-1$
-               if (showPK != null) {
-                   getSession().setShowPK(Boolean.valueOf(showPK));
-               }
-               String showPKFK = attributes.getValue("showPKFK"); //$NON-NLS-1$
-               if (showPKFK != null) {
-                   getSession().setShowPKFK(Boolean.valueOf(showPKFK));        
        }
- String showPKFKUnique = attributes.getValue("showPKFKUnique"); //$NON-NLS-1$
-               if (showPKFKUnique != null) {
- getSession().setShowPKFKUnique(Boolean.valueOf(showPKFKUnique));
-               }
- String showPKFKUniqueIndexed = attributes.getValue("showPKFKUniqueIndexed"); //$NON-NLS-1$
-               if (showPKFKUniqueIndexed != null) {
- getSession().setShowPKFKUniqueIndexed(Boolean.valueOf(showPKFKUniqueIndexed));
-               }
-               String showAll = attributes.getValue("showAll"); //$NON-NLS-1$
-               if (showAll != null) {
-                   getSession().setShowAll(Boolean.valueOf(showAll));
+               
+ String columnVisibility = attributes.getValue("columnVisibility"); //$NON-NLS-1$
+               if (columnVisibility != null) {
+ getSession().setColumnVisibility(ColumnVisibility.valueOf(columnVisibility));
                }
                
String showPrimaryTag = attributes.getValue("showPrimaryTag"); //$NON-NLS-1$
@@ -972,11 +959,7 @@
tagText.append(" showPrimaryTag=\"").append(getSession().isShowPkTag()).append("\""); //$NON-NLS-1$ //$NON-NLS-2$ tagText.append(" showForeignTag=\"").append(getSession().isShowFkTag()).append("\""); //$NON-NLS-1$ //$NON-NLS-2$ tagText.append(" showAlternateTag=\"").append(getSession().isShowAkTag()).append("\""); //$NON-NLS-1$ //$NON-NLS-2$ - tagText.append(" showPK=\"").append(getSession().isShowPK()).append("\""); //$NON-NLS-1$ //$NON-NLS-2$ - tagText.append(" showPKFK=\"").append(getSession().isShowPKFK()).append("\""); //$NON-NLS-1$ //$NON-NLS-2$ - tagText.append(" showPKFKUnique=\"").append(getSession().isShowPKFKUnique()).append("\""); //$NON-NLS-1$ //$NON-NLS-2$ - tagText.append(" showPKFKUniqueIndexed=\"").append(getSession().isShowPKFKUniqueIndexed()).append("\""); //$NON-NLS-1$ //$NON-NLS-2$ - tagText.append(" showAll=\"").append(getSession().isShowAll()).append("\""); //$NON-NLS-1$ //$NON-NLS-2$ + tagText.append(" columnVisibility=\"").append(getSession().getColumnVisibility()).append("\""); //$NON-NLS-1$ //$NON-NLS-2$
         }
         tagText.append(">"); //$NON-NLS-1$
         ioo.println(out, tagText.toString());

Modified: trunk/src/ca/sqlpower/architect/swingui/TablePane.java
==============================================================================
--- trunk/src/ca/sqlpower/architect/swingui/TablePane.java      (original)
+++ trunk/src/ca/sqlpower/architect/swingui/TablePane.java Fri Jan 23 12:13:41 2009
@@ -64,6 +64,7 @@
 import ca.sqlpower.architect.SQLRelationship;
 import ca.sqlpower.architect.SQLTable;
 import ca.sqlpower.architect.layout.LayoutEdge;
+import ca.sqlpower.architect.swingui.ArchitectSwingSessionImpl.ColumnVisibility;
 import ca.sqlpower.architect.swingui.action.EditSpecificIndexAction;
 import ca.sqlpower.architect.swingui.dbtree.SQLObjectSelection;
 import ca.sqlpower.swingui.ColorIcon;
@@ -393,11 +394,11 @@
        public void updateHiddenColumns() {
            hiddenColumns.clear();
            ArchitectSwingSession session = getPlayPen().getSession();
+           ColumnVisibility choice = session.getColumnVisibility();

// if all the boxes are checked, then hide no columns, only these 3 need be
            // checked. Draw a truth table if you don't believe me.
-           if (!session.isShowAll()) {
-       
+           if(!choice.equals(ColumnVisibility.ALL)) {
                // start with a list of all the columns, then remove the ones 
that
                // should be shown
                hiddenColumns.addAll(getItems());
@@ -405,13 +406,14 @@
                    if (col.isPrimaryKey()) {
                        hiddenColumns.remove(col);
                    }
-                   if (!session.isShowPK() && col.isForeignKey()) {
+ if (!choice.equals(ColumnVisibility.PK) && col.isForeignKey()) {
                        hiddenColumns.remove(col);
                    }
- if (!session.isShowPK() && !session.isShowPKFK() && col.isUniqueIndexed()) { + if (!choice.equals(ColumnVisibility.PK) && !choice.equals(ColumnVisibility.PK_FK) && col.isUniqueIndexed()) {
                        hiddenColumns.remove(col);
                    }
- if (!session.isShowPK() && !session.isShowPKFK() && !session.isShowPKFKUnique() && col.isIndexed()) { + if (!choice.equals(ColumnVisibility.PK) && !choice.equals(ColumnVisibility.PK_FK) && + !choice.equals(ColumnVisibility.PK_FK_UNIQUE) && col.isIndexed()) {
                        hiddenColumns.remove(col);
                    }
                }

Reply via email to