diff --git a/libpit/src/com/jdbernard/pit/FileIssue.groovy b/libpit/src/com/jdbernard/pit/file/FileIssue.groovy similarity index 98% rename from libpit/src/com/jdbernard/pit/FileIssue.groovy rename to libpit/src/com/jdbernard/pit/file/FileIssue.groovy index eeabe55..7c2fce6 100644 --- a/libpit/src/com/jdbernard/pit/FileIssue.groovy +++ b/libpit/src/com/jdbernard/pit/file/FileIssue.groovy @@ -1,5 +1,6 @@ -package com.jdbernard.pit +package com.jdbernard.pit.file +import com.jdbernard.pit.* import java.lang.IllegalArgumentException as IAE public class FileIssue extends Issue { diff --git a/libpit/src/com/jdbernard/pit/FileProject.groovy b/libpit/src/com/jdbernard/pit/file/FileProject.groovy similarity index 97% rename from libpit/src/com/jdbernard/pit/FileProject.groovy rename to libpit/src/com/jdbernard/pit/file/FileProject.groovy index dd89fa1..3ec4fc5 100644 --- a/libpit/src/com/jdbernard/pit/FileProject.groovy +++ b/libpit/src/com/jdbernard/pit/file/FileProject.groovy @@ -1,4 +1,6 @@ -package com.jdbernard.pit +package com.jdbernard.pit.file + +import com.jdbernard.pit.* class FileProject extends Project { diff --git a/libpit/src/com/jdbernard/pit/xml/XmlProject.groovy b/libpit/src/com/jdbernard/pit/xml/XmlProject.groovy new file mode 100644 index 0000000..d87fce2 --- /dev/null +++ b/libpit/src/com/jdbernard/pit/xml/XmlProject.groovy @@ -0,0 +1,8 @@ +package com.jdbernard.pit.xml + +import com.jdbernard.pit.* + +public class XmlProject extends Project { + + +} diff --git a/pit-swing/application.properties b/pit-swing/application.properties index b903038..6a7b93e 100644 --- a/pit-swing/application.properties +++ b/pit-swing/application.properties @@ -3,4 +3,4 @@ app.archetype=default app.griffon.version=0.9 app.name=pit-swing -app.version=0.1 +app.version=2.5.1 diff --git a/pit-swing/griffon-app/views/com/jdbernard/pit/swing/ProjectPanelView.groovy b/pit-swing/griffon-app/views/com/jdbernard/pit/swing/ProjectPanelView.groovy index e2e151e..7264b26 100644 --- a/pit-swing/griffon-app/views/com/jdbernard/pit/swing/ProjectPanelView.groovy +++ b/pit-swing/griffon-app/views/com/jdbernard/pit/swing/ProjectPanelView.groovy @@ -123,7 +123,7 @@ issuePopupMenu = popupMenu() { def newPriority = JOptionPane.showInputDialog(mainMVC.view.frame, 'New priority (0-9)', 'Change Priority...', JOptionPane.QUESTION_MESSAGE) - try { model.popupIsse.priority = newPriority.toInteger() } + try { model.popupIssue.priority = newPriority.toInteger() } catch (NumberFormatException nfe) { JOptionPane.showMessageDialog(mainMVC.view.frame, 'The priority value must be an integer in [0-9].', diff --git a/pit-swing/src/main/com/jdbernard/pit/swing/IssueTableCellRenderer.groovy b/pit-swing/src/main/com/jdbernard/pit/swing/IssueTableCellRenderer.groovy index bd8a48f..2039ee8 100644 --- a/pit-swing/src/main/com/jdbernard/pit/swing/IssueTableCellRenderer.groovy +++ b/pit-swing/src/main/com/jdbernard/pit/swing/IssueTableCellRenderer.groovy @@ -1,7 +1,9 @@ package com.jdbernard.pit.swing +import java.awt.Color import java.awt.Component import java.awt.Dimension +import java.awt.Font import javax.swing.Icon import javax.swing.JLabel import javax.swing.JTable @@ -9,11 +11,40 @@ import javax.swing.table.DefaultTableCellRenderer public class IssueTableCellRenderer extends DefaultTableCellRenderer { + public static List textColors = [ + Color.getHSBColor(0f, 1f, 0.8f), // 0 - Highest priority + Color.getHSBColor(0f, 1f, 0.6f), // 1 - High priority + Color.getHSBColor(0f, 1f, 0.4f), + Color.getHSBColor(0f, 1f, 0.2f), // 3 - Medium-high priority + Color.getHSBColor(0f, 0f, 0f), + Color.getHSBColor(0f, 0f, 0f), // 5 - Medium priority + Color.getHSBColor(0f, 0f, 0.1f), + Color.getHSBColor(0f, 0f, 0.2f), // 7 - Medium-low priority + Color.getHSBColor(0f, 0f, 0.4f), + Color.getHSBColor(0f, 0f, 0.6f), // 9 - Lowest priority + ] + + private Font boldFont + private Font plainFont + + public IssueTableCellRenderer() { + super() + plainFont = getFont() + boldFont = plainFont.deriveFont(Font.BOLD) + } + public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int col) { super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col) + // set row color + int modelRow = table.convertRowIndexToModel(row) + int priority = table.model.getValueAt(modelRow, 2)[1..-4].toInteger() + if (priority <= 3) setFont(boldFont) + else setFont(plainFont) + setForeground(textColors[priority]) + if (value instanceof String) { if (col > 2) { setHorizontalAlignment(JLabel.LEADING)