Resolves issues 0013, 0022, and 0019.
0013: Hide a new issue after a delay if does not match the viewing criteria. 0022: New 'Bugs' created are not correctly categorized. 0019: Add the ability to change the Issue text size.
@ -1,2 +1,7 @@
|
|||||||
Hide a new issue after a delay if does not match the viewing criteria.
|
Hide a new issue after a delay if does not match the viewing criteria.
|
||||||
======================================================================
|
======================================================================
|
||||||
|
|
||||||
|
Solution
|
||||||
|
--------
|
||||||
|
|
||||||
|
The issue is not hidden after a delay, it is immediately hidden.
|
@ -1,24 +0,0 @@
|
|||||||
Add the ability to change the Issue text size.
|
|
||||||
=====
|
|
||||||
|
|
||||||
Description
|
|
||||||
-----------
|
|
||||||
|
|
||||||
Type a description of the feature here.
|
|
||||||
|
|
||||||
Implementation Notes
|
|
||||||
--------------------
|
|
||||||
|
|
||||||
Optionally, describe any specific implementation notes.
|
|
||||||
|
|
||||||
Solution
|
|
||||||
--------
|
|
||||||
|
|
||||||
How was the feature realized?
|
|
||||||
|
|
||||||
Resolution
|
|
||||||
----------
|
|
||||||
|
|
||||||
Date Created: YYYY-MM-DD
|
|
||||||
Date Resolved: YYYY-MM-DD
|
|
||||||
Delivery: ####
|
|
28
issues/pit-swing/0019fv5.rst
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
Add the ability to change the Issue text size.
|
||||||
|
==============================================
|
||||||
|
|
||||||
|
Description
|
||||||
|
-----------
|
||||||
|
|
||||||
|
It would be good to be able to choose the size of the text for issue display.
|
||||||
|
|
||||||
|
Implementation Notes
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
This is a shared value between all project panels, so this needs to be on the
|
||||||
|
enclosing PIT mvc, not the individual *ProjectPanel* mvcs. The ideal
|
||||||
|
implementation is to bind the ``issueDetailTextArea.font`` property from the
|
||||||
|
*ProjectPanel* view to the main mvc ``model.issueDetailFont``, but this fails
|
||||||
|
and I cannot determine why.
|
||||||
|
|
||||||
|
Solution
|
||||||
|
--------
|
||||||
|
|
||||||
|
The ``ProjectPanelController.displayIssue`` method checks the value of
|
||||||
|
``issueDetailTextArea.font`` against the main mvc ``model.issueDetailFont`` and
|
||||||
|
updates it if it differs before actually displaying the issue selected.
|
||||||
|
|
||||||
|
Resolution
|
||||||
|
----------
|
||||||
|
|
||||||
|
Delivery: 0019
|
@ -4,7 +4,7 @@ The auto-generated pit-swing.groovy file needs to be renamed.
|
|||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
Currently, when
|
Currently, when
|
||||||
|
|
||||||
Solution
|
Solution
|
||||||
--------
|
--------
|
||||||
|
23
issues/pit-swing/0021bn7.rst
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
Icons not displaying in the project tree.
|
||||||
|
=========================================
|
||||||
|
|
||||||
|
Description
|
||||||
|
-----------
|
||||||
|
|
||||||
|
There should be icons in the list to the left to decorate it a bit.
|
||||||
|
|
||||||
|
Implementation Notes
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
|
||||||
|
Solution
|
||||||
|
--------
|
||||||
|
|
||||||
|
How was the bug fixed?
|
||||||
|
|
||||||
|
Resolution
|
||||||
|
----------
|
||||||
|
|
||||||
|
Date Created: 2010-04-20
|
||||||
|
Date Resolved: YYYY-MM-DD
|
||||||
|
Delivery: 0021
|
35
issues/pit-swing/0022bn3.rst
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
New 'Bugs' created are not correctly categorized.
|
||||||
|
=================================================
|
||||||
|
|
||||||
|
Description
|
||||||
|
-----------
|
||||||
|
|
||||||
|
If the user clicks *New Issue* and does not manually select *Bug* from the drop-down
|
||||||
|
list, but instead leaves the default *Bug* selected, the actual issue bypasses the
|
||||||
|
template generation phase and gets its category defaulted to *Task*.
|
||||||
|
|
||||||
|
Implementation Notes
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
It looks like this is related to the default value of the category list in the
|
||||||
|
*New Task* dialog.
|
||||||
|
|
||||||
|
Solution
|
||||||
|
--------
|
||||||
|
|
||||||
|
The values from the *NewIssueDialog* are publicly visible via fields on the
|
||||||
|
model. The view has bound properties to update the model's fields whenever the
|
||||||
|
appropriate gui field is updated. But when the dialog is shown initially, the
|
||||||
|
view is reset programatically, not triggering the update to the model values.
|
||||||
|
In the case of the first new issue since launching the program, the fields on
|
||||||
|
the model are ``null`` or have their default initialized values. In subsequent
|
||||||
|
issues, they hold whatever was there before. If the user never changed those
|
||||||
|
values, they held their old values. The solution was to update the model as
|
||||||
|
well as the view when showing the dialog.
|
||||||
|
|
||||||
|
Resolution
|
||||||
|
----------
|
||||||
|
|
||||||
|
Date Created: 2010-04-20
|
||||||
|
Date Resolved: 2010-04-20
|
||||||
|
Delivery: 0022
|
27
issues/pit-swing/0022bs3.rst
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
New 'Bugs' created are not correctly categorized.
|
||||||
|
=================================================
|
||||||
|
|
||||||
|
Description
|
||||||
|
-----------
|
||||||
|
|
||||||
|
If the user clicks *New Issue* and does not manually select *Bug* from the drop-down
|
||||||
|
list, but instead leaves the default *Bug* selected, the actual issue bypasses the
|
||||||
|
template generation phase and gets its category defaulted to *Task*.
|
||||||
|
|
||||||
|
Implementation Notes
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
It looks like this is related to the default value of the category list in the
|
||||||
|
*New Task* dialog.
|
||||||
|
|
||||||
|
Solution
|
||||||
|
--------
|
||||||
|
|
||||||
|
How was the bug fixed?
|
||||||
|
|
||||||
|
Resolution
|
||||||
|
----------
|
||||||
|
|
||||||
|
Date Created: 2010-04-20
|
||||||
|
Date Resolved: YYYY-MM-DD
|
||||||
|
Delivery: 0022
|
@ -1,10 +1,11 @@
|
|||||||
|
#Tue, 20 Apr 2010 13:49:35 -0500
|
||||||
#Fri Feb 26 23:58:36 CST 2010
|
#Fri Feb 26 23:58:36 CST 2010
|
||||||
build.dir=build
|
build.dir=build
|
||||||
src.dir=src
|
src.dir=src
|
||||||
lib.shared.dir=../shared-libs
|
lib.shared.dir=../shared-libs
|
||||||
test.dir=test
|
test.dir=test
|
||||||
build.number=2
|
build.number=2
|
||||||
expected.application.version=2.1.0
|
expected.application.version=2.2.0
|
||||||
lib.dir=lib
|
lib.dir=lib
|
||||||
release.dir=release
|
release.dir=release
|
||||||
release.jar=pit-${application.version}.jar
|
release.jar=pit-${application.version}.jar
|
||||||
|
BIN
libpit/release/pit-2.2.0.jar
Normal file
@ -1,6 +1,8 @@
|
|||||||
|
#Do not edit app.griffon.* properties, they may change automatically. DO NOT put application configuration in here, it is not the right place!
|
||||||
|
#Tue, 20 Apr 2010 11:38:07 -0500
|
||||||
#utf-8
|
#utf-8
|
||||||
#Wed Mar 10 12:10:54 CST 2010
|
#Wed Mar 10 12:10:54 CST 2010
|
||||||
app.version=2.1.0
|
app.version=2.2.0
|
||||||
plugins.fest=0.3
|
plugins.fest=0.3
|
||||||
app.griffon.version=0.2.1
|
app.griffon.version=0.3
|
||||||
app.name=pit-swing
|
app.name=pit-swing
|
||||||
|
@ -14,9 +14,13 @@ class NewIssueDialogController {
|
|||||||
|
|
||||||
def show = {
|
def show = {
|
||||||
view.titleTextField.text = ""
|
view.titleTextField.text = ""
|
||||||
|
model.text = ""
|
||||||
view.categoryComboBox.selectedItem = Category.BUG
|
view.categoryComboBox.selectedItem = Category.BUG
|
||||||
|
model.category = Category.BUG
|
||||||
view.statusComboBox.selectedItem = Status.NEW
|
view.statusComboBox.selectedItem = Status.NEW
|
||||||
|
model.status = Status.NEW
|
||||||
view.prioritySpinner.setValue(5)
|
view.prioritySpinner.setValue(5)
|
||||||
|
model.priority = 5
|
||||||
view.dialog.visible = true
|
view.dialog.visible = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -40,6 +40,12 @@ class ProjectPanelController {
|
|||||||
|
|
||||||
void displayIssue(Issue issue) {
|
void displayIssue(Issue issue) {
|
||||||
if (!issue) return
|
if (!issue) return
|
||||||
|
|
||||||
|
// hack because binding view.issueTextArea.font to
|
||||||
|
// mainMVC.mode.issueDetailFont causes problems
|
||||||
|
if (view.issueTextArea.font != model.mainMVC.model.issueDetailFont)
|
||||||
|
view.issueTextArea.font = model.mainMVC.model.issueDetailFont
|
||||||
|
|
||||||
view.issueTextArea.text = issue.text
|
view.issueTextArea.text = issue.text
|
||||||
view.issueTextArea.caretPosition = 0
|
view.issueTextArea.caretPosition = 0
|
||||||
}
|
}
|
||||||
|
BIN
pit-swing/griffon-app/resources/bug.gif
Normal file
After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 15 KiB |
@ -117,13 +117,13 @@ frame = application(title:'Personal Issue Tracker',
|
|||||||
def newSize = JOptionPane.showInputDialog(frame,
|
def newSize = JOptionPane.showInputDialog(frame,
|
||||||
'New text size: ', 'Change Issue Detail Text Size...',
|
'New text size: ', 'Change Issue Detail Text Size...',
|
||||||
JOptionPane.QUESTION_MESSAGE)
|
JOptionPane.QUESTION_MESSAGE)
|
||||||
if (!newSize.isInteger())
|
if (newSize == null || !newSize.isFloat())
|
||||||
JOptionPane.showMessageDialog(frame,
|
JOptionPane.showMessageDialog(frame,
|
||||||
"$newSize is not a valid size.",
|
"$newSize is not a valid size.",
|
||||||
'Change Issue Detail Text Size...',
|
'Change Issue Detail Text Size...',
|
||||||
JOptionPane.ERROR_MESSAGE)
|
JOptionPane.ERROR_MESSAGE)
|
||||||
model.issueDetailFont = model.issueDetailFont.deriveFont(
|
else model.issueDetailFont = model.issueDetailFont
|
||||||
newSize.toInteger())
|
.deriveFont(newSize.toFloat())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,8 +83,7 @@ issuePopupMenu = popupMenu() {
|
|||||||
enabled: bind { model.popupIssue != null },
|
enabled: bind { model.popupIssue != null },
|
||||||
actionPerformed: {
|
actionPerformed: {
|
||||||
model.popupIssue.category = category
|
model.popupIssue.category = category
|
||||||
issueList.invalidate()
|
controller.refreshIssues()
|
||||||
issueList.repaint()
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -96,8 +95,7 @@ issuePopupMenu = popupMenu() {
|
|||||||
enabled: bind { model.popupIssue != null },
|
enabled: bind { model.popupIssue != null },
|
||||||
actionPerformed: {
|
actionPerformed: {
|
||||||
model.popupIssue.status = status
|
model.popupIssue.status = status
|
||||||
issueList.invalidate()
|
controller.refreshIssues()
|
||||||
issueList.repaint()
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -115,8 +113,7 @@ issuePopupMenu = popupMenu() {
|
|||||||
'Change Priority...', JOptionPane.ERROR_MESSAGE)
|
'Change Priority...', JOptionPane.ERROR_MESSAGE)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
issueList.invalidate()
|
controller.refreshIssues()
|
||||||
issueList.repaint()
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -217,7 +214,6 @@ panel = splitPane(orientation: JSplitPane.HORIZONTAL_SPLIT,
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
println model.mainMVC?.model?.issueDetailFont
|
|
||||||
scrollPane(constraints: "bottom") {
|
scrollPane(constraints: "bottom") {
|
||||||
issueTextArea = textArea(
|
issueTextArea = textArea(
|
||||||
wrapStyleWord: true,
|
wrapStyleWord: true,
|
||||||
@ -225,8 +221,7 @@ panel = splitPane(orientation: JSplitPane.HORIZONTAL_SPLIT,
|
|||||||
sourceProperty: 'selected'),
|
sourceProperty: 'selected'),
|
||||||
editable: bind( source: issueList, sourceEvent: 'valueChanged',
|
editable: bind( source: issueList, sourceEvent: 'valueChanged',
|
||||||
sourceValue: { issueList.selectedValue != null }),
|
sourceValue: { issueList.selectedValue != null }),
|
||||||
font: bind(source: model.mainMVC.model,
|
font: model.mainMVC.model.issueDetailFont,
|
||||||
property: 'issueDetailFont'),
|
|
||||||
focusGained: {},
|
focusGained: {},
|
||||||
focusLost: {
|
focusLost: {
|
||||||
if (!issueList?.selectedValue) return
|
if (!issueList?.selectedValue) return
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
</content>
|
</content>
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
<orderEntry type="library" name="Griffon 0.2.1" level="project" />
|
<orderEntry type="library" name="Griffon 0.3" level="project" />
|
||||||
<orderEntry type="module-library">
|
<orderEntry type="module-library">
|
||||||
<library name="Griffon User Library">
|
<library name="Griffon User Library">
|
||||||
<CLASSES>
|
<CLASSES>
|
||||||
|
@ -10,53 +10,47 @@
|
|||||||
<output url="file://$PROJECT_DIR$/out" />
|
<output url="file://$PROJECT_DIR$/out" />
|
||||||
</component>
|
</component>
|
||||||
<component name="libraryTable">
|
<component name="libraryTable">
|
||||||
<library name="Griffon 0.2.1">
|
<library name="Griffon 0.3">
|
||||||
<CLASSES>
|
<CLASSES>
|
||||||
<root url="jar:///usr/share/griffon/lib/commons-cli-1.0.jar!/" />
|
<root url="jar:///home/jdbernard/programs/griffon/lib/log4j-1.2.15.jar!/" />
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/lib/asm-2.2.3.jar!/" />
|
<root url="jar:///home/jdbernard/programs/griffon/lib/spring-2.5.6.jar!/" />
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/lib/ant-nodeps-1.7.1.jar!/" />
|
<root url="jar:///home/jdbernard/programs/griffon/lib/ant-trax-1.8.0.jar!/" />
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/lib/MultipleGradientPaint.jar!/" />
|
<root url="jar:///home/jdbernard/programs/griffon/lib/gant_groovy1.6-1.6.0.jar!/" />
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/lib/junit-3.8.2.jar!/" />
|
<root url="jar:///home/jdbernard/programs/griffon/lib/svnkit-1.2.0.jar!/" />
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/lib/jline-0.9.94.jar!/" />
|
<root url="jar:///home/jdbernard/programs/griffon/lib/junit-4.8.1.jar!/" />
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/lib/ant-junit-1.7.1.jar!/" />
|
<root url="jar:///home/jdbernard/programs/griffon/lib/commons-cli-1.2.jar!/" />
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/lib/swingxbuilder-0.1.6-SNAPSHOT.jar!/" />
|
<root url="jar:///home/jdbernard/programs/griffon/lib/ant-nodeps-1.8.0.jar!/" />
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/lib/swingx-0.9.3.jar!/" />
|
<root url="jar:///home/jdbernard/programs/griffon/lib/groovy-all-1.7.1.jar!/" />
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/lib/groovy-all-1.6.4.jar!/" />
|
<root url="jar:///home/jdbernard/programs/griffon/lib/commons-lang-2.4.jar!/" />
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/lib/svnkit-1.2.0.jar!/" />
|
<root url="jar:///home/jdbernard/programs/griffon/lib/ant-junit-1.8.0.jar!/" />
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/lib/ant-trax-1.7.1.jar!/" />
|
<root url="jar:///home/jdbernard/programs/griffon/lib/jline-0.9.94.jar!/" />
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/lib/spring-2.5.6.jar!/" />
|
<root url="jar:///home/jdbernard/programs/griffon/lib/ant-launcher-1.8.0.jar!/" />
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/lib/commons-lang-2.4.jar!/" />
|
<root url="jar:///home/jdbernard/programs/griffon/lib/commons-logging-1.1.1.jar!/" />
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/lib/swing-worker.jar!/" />
|
<root url="jar:///home/jdbernard/programs/griffon/lib/asm-3.2.jar!/" />
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/lib/ant-1.7.1.jar!/" />
|
<root url="jar:///home/jdbernard/programs/griffon/lib/ant-1.8.0.jar!/" />
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/lib/ant-launcher-1.7.1.jar!/" />
|
<root url="jar:///home/jdbernard/programs/griffon/dist/griffon-resources-0.3.jar!/" />
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/lib/gant_groovy1.6-1.6.0.jar!/" />
|
<root url="jar:///home/jdbernard/programs/griffon/dist/griffon-cli-0.3.jar!/" />
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/lib/commons-logging-1.1.jar!/" />
|
<root url="jar:///home/jdbernard/programs/griffon/dist/griffon-rt-0.3.jar!/" />
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/lib/log4j-1.2.15.jar!/" />
|
<root url="jar:///home/jdbernard/programs/griffon/dist/griffon-scripts-0.3.jar!/" />
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/dist/griffon-resources-0.2.1.jar!/" />
|
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/dist/griffon-rt-0.2.1.jar!/" />
|
|
||||||
|
|
||||||
<root url="jar:///usr/share/griffon/dist/griffon-cli-0.2.1.jar!/" />
|
|
||||||
|
|
||||||
|
|
||||||
</CLASSES>
|
</CLASSES>
|
||||||
|
BIN
release/lib/pit-2.2.0.jar
Normal file
@ -1 +1 @@
|
|||||||
application.version=2.1.0
|
application.version=2.2.0
|
||||||
|