Added FlatProjectView. Used it to create an 'All Issues' project in pit-swing.

Solves issue #11: pit-swing: Add a default, "all-projects" view.
This commit is contained in:
Jonathan Bernard
2010-04-24 18:10:19 -05:00
parent f2f470ff2a
commit cd7f14cb2d
17 changed files with 330 additions and 63 deletions

View File

@ -1,8 +1,6 @@
#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
#Wed Mar 10 12:10:54 CST 2010
#Sat Apr 24 11:16:28 CDT 2010
app.version=2.2.0
plugins.fest=0.3
app.griffon.version=0.3
app.griffon.version=0.2.1
app.name=pit-swing

View File

@ -2,6 +2,7 @@ package com.jdbernard.pit.swing
import com.jdbernard.pit.Category
import com.jdbernard.pit.FileProject
import com.jdbernard.pit.FlatProjectView
import com.jdbernard.pit.Issue
import com.jdbernard.pit.Project
import com.jdbernard.pit.Status
@ -62,11 +63,13 @@ class ProjectPanelController {
void refreshProject() {
if (model.rootProject) {
view.projectTree.rootVisible = model.rootProject.issues.size()
view.projectTree.model = new DefaultTreeModel(
makeNodes(model.rootProject))
def rootNode = new DefaultMutableTreeNode()
def flatview = new FlatProjectView('All Issues')
flatview.projects[(model.rootProject.name)] = model.rootProject
rootNode.add(new DefaultMutableTreeNode(flatview))
rootNode.add(makeNodes(model.rootProject))
view.projectTree.model = new DefaultTreeModel(rootNode)
} else {
projectTree.rootVisible = false
view.projectTree.model = new DefaultTreeModel(
new DefaultMutableTreeNode())
}
@ -96,8 +99,7 @@ class ProjectPanelController {
def newProject = project.createNewProject(name)
project.projects[(newProject.name)] = newProject
view.projectTree.model = new DefaultTreeModel(
makeNodes(model.rootProject))
refreshProject()
}
def deleteProject = { evt ->

View File

@ -3,6 +3,7 @@ package com.jdbernard.pit.swing
import com.jdbernard.pit.Category
import com.jdbernard.pit.Status
import com.jdbernard.pit.Project
import com.jdbernard.pit.FlatProjectView
import java.awt.Font
import java.awt.GridBagConstraints as GBC
import java.awt.Point
@ -138,12 +139,15 @@ panel = splitPane(orientation: JSplitPane.HORIZONTAL_SPLIT,
model: bind(source: model, sourceProperty: 'rootProject',
sourceValue: {
if (model.rootProject) {
projectTree.rootVisible =
model.rootProject.issues.size()
new DefaultTreeModel(controller.makeNodes(
model.rootProject))
def rootNode = new DefaultMutableTreeNode()
def flatview = new FlatProjectView('All Issues')
flatviews.projects[(model.rootProject.name)] =
model.rootProject
rootNode.add(new DefaultMutableTreeNode(flatview))
rootNode.add(controller.makeNodes(model.rootProject))
new DefaultTreeModel(rootNode)
return rootNode
} else {
projectTree.rootVisible = false
new DefaultTreeModel(new DefaultMutableTreeNode())
}
}),
@ -160,6 +164,7 @@ panel = splitPane(orientation: JSplitPane.HORIZONTAL_SPLIT,
evt.x, evt.y)
}
})
projectTree.rootVisible = false
projectTree.selectionModel.selectionMode =
TreeSelectionModel.SINGLE_TREE_SELECTION

Binary file not shown.

BIN
pit-swing/lib/pit-2.3.0.jar Normal file

Binary file not shown.

View File

@ -28,7 +28,7 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Griffon 0.3" level="project" />
<orderEntry type="library" name="Griffon 0.2.1" level="project" />
<orderEntry type="module-library">
<library name="Griffon User Library">
<CLASSES>

View File

@ -10,47 +10,53 @@
<output url="file://$PROJECT_DIR$/out" />
</component>
<component name="libraryTable">
<library name="Griffon 0.3">
<library name="Griffon 0.2.1">
<CLASSES>
<root url="jar:///home/jdbernard/programs/griffon/lib/log4j-1.2.15.jar!/" />
<root url="jar:///usr/share/griffon/lib/swingx-0.9.3.jar!/" />
<root url="jar:///home/jdbernard/programs/griffon/lib/spring-2.5.6.jar!/" />
<root url="jar:///usr/share/griffon/lib/swing-worker.jar!/" />
<root url="jar:///home/jdbernard/programs/griffon/lib/ant-trax-1.8.0.jar!/" />
<root url="jar:///usr/share/griffon/lib/commons-lang-2.4.jar!/" />
<root url="jar:///home/jdbernard/programs/griffon/lib/gant_groovy1.6-1.6.0.jar!/" />
<root url="jar:///usr/share/griffon/lib/ant-launcher-1.7.1.jar!/" />
<root url="jar:///home/jdbernard/programs/griffon/lib/svnkit-1.2.0.jar!/" />
<root url="jar:///usr/share/griffon/lib/gant_groovy1.6-1.6.0.jar!/" />
<root url="jar:///home/jdbernard/programs/griffon/lib/junit-4.8.1.jar!/" />
<root url="jar:///usr/share/griffon/lib/asm-2.2.3.jar!/" />
<root url="jar:///home/jdbernard/programs/griffon/lib/commons-cli-1.2.jar!/" />
<root url="jar:///usr/share/griffon/lib/commons-cli-1.0.jar!/" />
<root url="jar:///home/jdbernard/programs/griffon/lib/ant-nodeps-1.8.0.jar!/" />
<root url="jar:///usr/share/griffon/lib/groovy-all-1.6.4.jar!/" />
<root url="jar:///home/jdbernard/programs/griffon/lib/groovy-all-1.7.1.jar!/" />
<root url="jar:///usr/share/griffon/lib/swingxbuilder-0.1.6-SNAPSHOT.jar!/" />
<root url="jar:///home/jdbernard/programs/griffon/lib/commons-lang-2.4.jar!/" />
<root url="jar:///usr/share/griffon/lib/jline-0.9.94.jar!/" />
<root url="jar:///home/jdbernard/programs/griffon/lib/ant-junit-1.8.0.jar!/" />
<root url="jar:///usr/share/griffon/lib/svnkit-1.2.0.jar!/" />
<root url="jar:///home/jdbernard/programs/griffon/lib/jline-0.9.94.jar!/" />
<root url="jar:///usr/share/griffon/lib/log4j-1.2.15.jar!/" />
<root url="jar:///home/jdbernard/programs/griffon/lib/ant-launcher-1.8.0.jar!/" />
<root url="jar:///usr/share/griffon/lib/ant-nodeps-1.7.1.jar!/" />
<root url="jar:///home/jdbernard/programs/griffon/lib/commons-logging-1.1.1.jar!/" />
<root url="jar:///usr/share/griffon/lib/ant-1.7.1.jar!/" />
<root url="jar:///home/jdbernard/programs/griffon/lib/asm-3.2.jar!/" />
<root url="jar:///usr/share/griffon/lib/ant-trax-1.7.1.jar!/" />
<root url="jar:///home/jdbernard/programs/griffon/lib/ant-1.8.0.jar!/" />
<root url="jar:///usr/share/griffon/lib/commons-logging-1.1.jar!/" />
<root url="jar:///home/jdbernard/programs/griffon/dist/griffon-resources-0.3.jar!/" />
<root url="jar:///usr/share/griffon/lib/ant-junit-1.7.1.jar!/" />
<root url="jar:///home/jdbernard/programs/griffon/dist/griffon-cli-0.3.jar!/" />
<root url="jar:///usr/share/griffon/lib/MultipleGradientPaint.jar!/" />
<root url="jar:///home/jdbernard/programs/griffon/dist/griffon-rt-0.3.jar!/" />
<root url="jar:///usr/share/griffon/lib/spring-2.5.6.jar!/" />
<root url="jar:///home/jdbernard/programs/griffon/dist/griffon-scripts-0.3.jar!/" />
<root url="jar:///usr/share/griffon/lib/junit-3.8.2.jar!/" />
<root url="jar:///usr/share/griffon/dist/griffon-rt-0.2.1.jar!/" />
<root url="jar:///usr/share/griffon/dist/griffon-resources-0.2.1.jar!/" />
<root url="jar:///usr/share/griffon/dist/griffon-cli-0.2.1.jar!/" />
</CLASSES>