diff --git a/.hgignore b/.hgignore index d24d917..93c8481 100644 --- a/.hgignore +++ b/.hgignore @@ -3,3 +3,4 @@ build/ dist/ staging/ target/test-reports +pit-swing-old diff --git a/pit-swing/.classpath b/pit-swing/.classpath deleted file mode 100644 index d1b51d8..0000000 --- a/pit-swing/.classpath +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/pit-swing/.project b/pit-swing/.project deleted file mode 100644 index e77c465..0000000 --- a/pit-swing/.project +++ /dev/null @@ -1,18 +0,0 @@ - - - pit-swing - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.groovy.core.groovyNature - org.eclipse.jdt.core.javanature - - diff --git a/pit-swing/CHANGE ME b/pit-swing/CHANGE ME deleted file mode 100644 index d3435ca..0000000 Binary files a/pit-swing/CHANGE ME and /dev/null differ diff --git a/pit-swing/application.properties b/pit-swing/application.properties index d0ddff0..b903038 100644 --- a/pit-swing/application.properties +++ b/pit-swing/application.properties @@ -1,5 +1,6 @@ -#utf-8 -#Thu May 27 05:01:16 CDT 2010 -app.griffon.version=0.3 +#Griffon Metadata file +#Thu Aug 05 10:29:59 CDT 2010 +app.archetype=default +app.griffon.version=0.9 app.name=pit-swing -app.version=2.5.0 +app.version=0.1 diff --git a/pit-swing/build.xml b/pit-swing/build.xml deleted file mode 100644 index c11bdd5..0000000 --- a/pit-swing/build.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/pit-swing/griffon-app/conf/Application.groovy b/pit-swing/griffon-app/conf/Application.groovy index c5d0675..6bd908b 100644 --- a/pit-swing/griffon-app/conf/Application.groovy +++ b/pit-swing/griffon-app/conf/Application.groovy @@ -1,22 +1,33 @@ application { - title="PitSwing" - startupGroups=["PIT"] - autoShutdown=true + title = 'PitSwing' + startupGroups = ['PIT'] + + // Should Griffon exit when no Griffon created frames are showing? + autoShutdown = true + + // If you want some non-standard application class, apply it here + //frameClass = 'javax.swing.JFrame' } mvcGroups { - NewIssueDialog { - model="com.jdbernard.pit.swing.NewIssueDialogModel" - controller="com.jdbernard.pit.swing.NewIssueDialogController" - view="com.jdbernard.pit.swing.NewIssueDialogView" - } - ProjectPanel { - model="com.jdbernard.pit.swing.ProjectPanelModel" - view="com.jdbernard.pit.swing.ProjectPanelView" - controller="com.jdbernard.pit.swing.ProjectPanelController" - } - PIT { - model="com.jdbernard.pit.swing.PITModel" - view="com.jdbernard.pit.swing.PITView" - controller="com.jdbernard.pit.swing.PITController" - } + // MVC Group for "ProjectPanel" + 'ProjectPanel' { + model = 'com.jdbernard.pit.swing.ProjectPanelModel' + view = 'com.jdbernard.pit.swing.ProjectPanelView' + controller = 'com.jdbernard.pit.swing.ProjectPanelController' + } + + // MVC Group for "NewIssueDialog" + 'NewIssueDialog' { + model = 'com.jdbernard.pit.swing.NewIssueDialogModel' + view = 'com.jdbernard.pit.swing.NewIssueDialogView' + controller = 'com.jdbernard.pit.swing.NewIssueDialogController' + } + + // MVC Group for "PIT" + 'PIT' { + model = 'com.jdbernard.pit.swing.PITModel' + view = 'com.jdbernard.pit.swing.PITView' + controller = 'com.jdbernard.pit.swing.PITController' + } + } diff --git a/pit-swing/griffon-app/conf/BuildConfig.groovy b/pit-swing/griffon-app/conf/BuildConfig.groovy new file mode 100644 index 0000000..6c5673b --- /dev/null +++ b/pit-swing/griffon-app/conf/BuildConfig.groovy @@ -0,0 +1,135 @@ +// key signing information +environments { + development { + signingkey { + params { + sigfile = 'GRIFFON' + keystore = "${basedir}/griffon-app/conf/keys/devKeystore" + alias = 'development' + storepass = 'BadStorePassword' + keypass = 'BadKeyPassword' + lazy = true // only sign when unsigned + } + } + + } + test { + griffon { + jars { + sign = false + pack = false + } + } + } + production { + signingkey { + params { + sigfile = 'GRIFFON' + keystore = 'CHANGE ME' + alias = 'CHANGE ME' + // NOTE: for production keys it is more secure to rely on key prompting + // no value means we will prompt //storepass = 'BadStorePassword' + // no value means we will prompt //keypass = 'BadKeyPassword' + lazy = false // sign, regardless of existing signatures + } + } + + griffon { + jars { + sign = true + pack = true + destDir = "${basedir}/staging" + } + webstart { + codebase = 'CHANGE ME' + } + } + } +} + +griffon { + memory { + //max = '64m' + //min = '2m' + //maxPermSize = '64m' + } + jars { + sign = false + pack = false + destDir = "${basedir}/staging" + jarName = "${appName}.jar" + } + extensions { + jarUrls = [] + jnlpUrls = [] + /* + props { + someProperty = 'someValue' + } + resources { + linux { // windows, macosx, solaris + jars = [] + nativelibs = [] + props { + someProperty = 'someValue' + } + } + } + */ + } + webstart { + codebase = "${new File(griffon.jars.destDir).toURI().toASCIIString()}" + jnlp = 'application.jnlp' + } + applet { + jnlp = 'applet.jnlp' + html = 'applet.html' + } +} + +// required for custom environments +signingkey { + params { + def env = griffon.util.Environment.current.name + sigfile = 'GRIFFON-' + env + keystore = "${basedir}/griffon-app/conf/keys/${env}Keystore" + alias = env + // storepass = 'BadStorePassword' + // keypass = 'BadKeyPassword' + lazy = true // only sign when unsigned + } +} + +griffon.project.dependency.resolution = { + // inherit Griffon' default dependencies + inherits("global") { + } + log "warn" // log level of Ivy resolver, either 'error', 'warn', 'info', 'debug' or 'verbose' + repositories { + griffonPlugins() + griffonHome() + griffonCentral() + + // uncomment the below to enable remote dependency resolution + // from public Maven repositories + //mavenLocal() + //mavenCentral() + //mavenRepo "http://snapshots.repository.codehaus.org" + //mavenRepo "http://repository.codehaus.org" + //mavenRepo "http://download.java.net/maven/2/" + //mavenRepo "http://repository.jboss.com/maven2/" + } + dependencies { + // specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg. + + // runtime 'mysql:mysql-connector-java:5.1.5' + } +} + +griffon { + doc { + logo = 'The Griffon Framework' + sponsorLogo = "
" + footer = "

Made with Griffon (0.9)" + } +} diff --git a/pit-swing/griffon-app/conf/Config.groovy b/pit-swing/griffon-app/conf/Config.groovy index 40d8bf7..f4318bf 100644 --- a/pit-swing/griffon-app/conf/Config.groovy +++ b/pit-swing/griffon-app/conf/Config.groovy @@ -17,78 +17,3 @@ log4j { } additivity.StackTrace=false } - -// key signing information -environments { - development { - signingkey { - params { - sigfile = 'GRIFFON' - keystore = "${basedir}/griffon-app/conf/keys/devKeystore" - alias = 'development' - storepass = 'BadStorePassword' - keypass = 'BadKeyPassword' - lazy = true // only sign when unsigned - } - } - - } - test { - griffon { - jars { - sign = false - pack = false - } - } - } - production { - signingkey { - params { - sigfile = 'GRIFFON' - keystore = 'CHANGE ME' - alias = 'CHANGE ME' - // NOTE: for production keys it is more secure to rely on key prompting - // no value means we will prompt //storepass = 'BadStorePassword' - // no value means we will prompt //keypass = 'BadKeyPassword' - lazy = false // sign, regardless of existing signatures - } - } - - griffon { - jars { - sign = true - pack = true - destDir = "${basedir}/staging" - } - webstart { - codebase = 'CHANGE ME' - } - } - } -} - -griffon { - memory { - //max = '64m' - //min = '2m' - //maxPermSize = '64m' - } - jars { - sign = false - pack = false - destDir = "${basedir}/staging" - jarName = "${appName}.jar" - } - extensions { - jarUrls = [] - jnlpUrls = [] - } - webstart { - codebase = "${new File(griffon.jars.destDir).toURI().toASCIIString()}" - jnlp = 'application.jnlp' - } - applet { - jnlp = 'applet.jnlp' - html = 'applet.html' - } -} diff --git a/pit-swing/griffon-app/conf/webstart/applet.html b/pit-swing/griffon-app/conf/webstart/applet.html index f616be6..1d3b0ec 100644 --- a/pit-swing/griffon-app/conf/webstart/applet.html +++ b/pit-swing/griffon-app/conf/webstart/applet.html @@ -12,7 +12,7 @@ codebase:'@griffonAppCodebase@', code:'@griffonAppletClass@', archive:'@appletJars@', - width:'240', height:'320'} ; + width:'@applet.width@', height:'@applet.height@'} ; var parameters = {fontSize:16, java_arguments: "-Djnlp.packEnabled=true", jnlp_href:'@griffonAppCodebase@/applet.jnlp', @@ -20,7 +20,7 @@ image:'griffon.png', boxmessage:'Loading @griffonAppName@', boxbgcolor:'#FFFFFF', boxfgcolor:'#000000', - codebase_lookup: 'false'} ; + codebase_lookup: 'false'@applet.script.params@} ; var version = '1.5.0' ; deployJava.runApplet(attributes, parameters, version); @@ -28,7 +28,7 @@ + WIDTH='@applet.width@' HEIGHT='@applet.height@'> @@ -37,6 +37,7 @@ +@applet.tag.params@ --> diff --git a/pit-swing/griffon-app/conf/webstart/applet.jnlp b/pit-swing/griffon-app/conf/webstart/applet.jnlp index 80d8fc6..d648c61 100644 --- a/pit-swing/griffon-app/conf/webstart/applet.jnlp +++ b/pit-swing/griffon-app/conf/webstart/applet.jnlp @@ -35,21 +35,25 @@ + @jnlpJars@ @jnlpExtensions@ +@jnlpProperties@ +@jnlpResources@ + width="@applet.width@" + height="@applet.height@"> +@applet.tag.params@ diff --git a/pit-swing/griffon-app/conf/webstart/application.jnlp b/pit-swing/griffon-app/conf/webstart/application.jnlp index ae7ede7..8635143 100644 --- a/pit-swing/griffon-app/conf/webstart/application.jnlp +++ b/pit-swing/griffon-app/conf/webstart/application.jnlp @@ -35,16 +35,20 @@ + @jnlpJars@ @jnlpExtensions@ +@jnlpProperties@ +@jnlpResources@ +@applet.tag.params@ diff --git a/pit-swing/griffon-app/controllers/com/jdbernard/pit/swing/PITController.groovy b/pit-swing/griffon-app/controllers/com/jdbernard/pit/swing/PITController.groovy index 114d032..0eeb499 100644 --- a/pit-swing/griffon-app/controllers/com/jdbernard/pit/swing/PITController.groovy +++ b/pit-swing/griffon-app/controllers/com/jdbernard/pit/swing/PITController.groovy @@ -13,6 +13,8 @@ class PITController { void mvcGroupInit(Map args) { + model.newIssueDialogMVC = buildMVCGroup('NewIssueDialog') + SwingUtilities.invokeAndWait { model.issueListRenderer = new IssueTableCellRenderer() @@ -27,27 +29,27 @@ class PITController { // look for general config options pitrcFile = new File(pitHome, 'pitrc') - if(logDbg) logger.debug("$pitrcFile is " + + if (logDbg) logger.debug("$pitrcFile is " + (pitrcFile.exists() ? '' : 'not ') + "present.") // load general config (if present) - if (pitrcFile.exists()) { - pitrcFile.withInputStream() { config.load(it) } + if (pitrcFile.exists() && pitrcFile.canRead()) { + pitrcFile.withInputStream { config.load(it) } if (logDbg) logger.debug("Loaded pitrc") } // look for swing specific config pitswingrcFile = new File(pitHome, 'pitswingrc') - if (logDbg) logger.debug("$pitswingrcFile is " + - (pitswingrcFile.exists() ? '' : 'not ') + "present.") + if (logDbg) logger.debug("$pitswingrcFile is " + + (pitswingrcFile.exists() ? '' : 'not ') + "present.") // load swing specific config (if present) - if (pitswingrcFile.exists()) { - pitswingrcFile.withInputStream() { config.load(it) } - if(logDbg) logger.debug("Loaded pitswingrc") + if (pitswingrcFile.exists() && pitswingrcFile.canRead()) { + pitswingrcFile.withInputStream { config.load(it) } + if (logDbg) logger.debug("Loaded pitswingrc") } - // Process Configurable Options + // Process configurable options // ---------------------------- if (logDbg) { @@ -59,15 +61,16 @@ class PITController { Category.values().each { category -> def expectedKey = "issue." + category.name().toLowerCase() + ".template" - if(logDbg) logger.debug("Looking for key: $expectedKey") + if (logDbg) logger.debug("Looking for key: $expectedKey") config.keySet().each { currentKey -> - if (currentKey == expectedKey) - model.templates[(category)] = - config.getProperty(expectedKey, "") + if (currentKey == expectedKey) + model.templates[(category)] = + config.getProperty(expectedKey, "") if (logDbg) logger.debug("Template for category $category: '" + model.templates[(category)] + "'") } + } // load custom issueListRenderer @@ -76,12 +79,12 @@ class PITController { // load initial repositories if (config.containsKey('initial-repositories')) { def initRepos = config.getProperty('initial-repositories', '') - initRepos = initRepos.split(/[;:,]/) + initRepos = initRepos.split(/[:;,]/) initRepos.each { repoPath -> loadProject(new File(repoPath)) } - if(logDbg) logger.debug("Init repos: '$initRepos'") + if (logDbg) logger.debug("Init repos: '$initRepos'") } - // load custom issue CSS + // load custom issue css if (config.containsKey('issue.display.css')) { def issueCSS = config.getProperty('issue.display.css', "") @@ -89,20 +92,16 @@ class PITController { def cssFile // use short-circuit logic to test several possible locations - // for a css file if ((cssFile = new File(pitHome, issueCSS)).exists() || (cssFile = new File(pitHome.parentFile(), issueCSS)).exists() || - (cssFile = new File(issueCSS).exists())) + (cssFile = new File(issueCSS)).exists()) issueCSS = cssFile.text - - if (logDbg) logger.debug("CS for issue display: $issueCSS") + + if (logDbg) logger.debug("CSS for issue display: $issueCSS") model.issueCSS = issueCSS } } - - // - model.newIssueDialogMVC = buildMVCGroup('NewIssueDialog') } void refreshIssues() { @@ -111,12 +110,11 @@ class PITController { } } - def openProject = { evt = null -> + def openProject = { evt = null -> if (view.openDialog.showOpenDialog(view.frame) != - JFileChooser.APPROVE_OPTION) return + JFileChooser.APPROVE_OPTIONS) return loadProject(view.openDialog.selectedFile) - } def loadProject = { File projectDir -> @@ -124,7 +122,7 @@ class PITController { // if this is not a valid directory, do nothing // TODO: log to the user that this is not a valid directory - if (!projectDir.exists() || !projectDir.isDirectory()) return; + if (!projectDir.exists() || !projectDir.isDirectory()) return // create new ProjectPanel MVC newMVC = buildMVCGroup('ProjectPanel', @@ -134,28 +132,30 @@ class PITController { issueCSS: model.issueCSS, rootProject: new FileProject(projectDir)) newMVC.model.id = projectDir.name - + // if we already have a tab with this id if (model.projectPanelMVCs[(newMVC.model.id)]) { + // try using the canonical path newMVC.model.id = projectDir.canonicalPath // still not unique? if (model.projectPanelMVCs[(newMVC.model.id)]) { - + // first time this has happened? - if (!model.projectIdMap[(newMVC.model.id)]) + if (!model.projectIdMap[(newMVC.model.id)]) model.projectIdMap[(newMVC.model.id)] = 0 + // no? increment - else model.projectIdMap[(newMVC.model.id)] = + else model.projectIdMap[(newMVC.model.id)] = model.projectIdMap[(newMVC.model.id)] + 1 // use our new, unique id - newMVC.model.id += "-" + model.projectIdMap[(newMVC.model.id)] + newMVC.model.id += "-" + model.projectIdMap[(newMVC.model.id)] } } - model.projectPanelMVCs[newMVC.model.id] = newMVC + model.projectPanelMVCs[(newMVC.model.id)] = newMVC view.mainTabbedPane.addTab(newMVC.model.id, newMVC.view.panel) } diff --git a/pit-swing/griffon-app/controllers/com/jdbernard/pit/swing/ProjectPanelController.groovy b/pit-swing/griffon-app/controllers/com/jdbernard/pit/swing/ProjectPanelController.groovy index 3403380..9ede085 100644 --- a/pit-swing/griffon-app/controllers/com/jdbernard/pit/swing/ProjectPanelController.groovy +++ b/pit-swing/griffon-app/controllers/com/jdbernard/pit/swing/ProjectPanelController.groovy @@ -34,17 +34,18 @@ class ProjectPanelController { refreshProject() } - /** + /** * displayProject - * @param project Project to display. - * + * @param project Project to display */ - void displayProject(Project project) { - view.issueTextArea.text = "" - view.issueTextDisplay.text = "" - view.issueTextPanelLayout.show(view.issueTextPanel, "display") + void displayProject(Project project) { if (!project) return + view.issueTextArea.text = "" + view.issueTextDisplay.text = "" + view.issueTextPanelLayout.show(view.issueTextPanel, 'display') + + // build a new IssueTableModel if none cached if (!model.projectTableModels[(project.name)]) { def itm = new IssueTableModel(project, model.filter ?: model.mainMVC.model.filter) @@ -67,7 +68,7 @@ class ProjectPanelController { if (!issue) return // hack because binding view.issueTextArea.font to - // mainMVC.mode.issueDetailFont causes problems + // mainMVC.model.issueDetailFont causes problems if (view.issueTextArea.font != model.mainMVC.model.issueDetailFont) view.issueTextArea.font = model.mainMVC.model.issueDetailFont @@ -75,10 +76,10 @@ class ProjectPanelController { view.issueTextArea.caretPosition = 0 view.issueTextDisplay.text = rst2html(issue.text) view.issueTextDisplay.caretPosition = 0 - view.issueTextPanelLayout.show(view.issueTextPanel, "display") + view.issueTextPanelLayout.show(view.issueTextPanel, 'display') } - void showProjectPopup(Project project, def x, def y) { + void showProejctPopup(Project project, def x, def y) { model.popupProject = project view.projectPopupMenu.show(view.projectTree, x, y) } @@ -120,7 +121,7 @@ class ProjectPanelController { def project - if (evt.source == view.newProjectButton) + if (evt.source == view.newProjectButton) project = model.selectedProject ?: model.rootProject else project = model.popupProject ?: model.rootProject def newProject = project.createNewProject(name) @@ -134,7 +135,7 @@ class ProjectPanelController { if (evt.source == view.deleteProjectButton) project = model.selectedProject ?: model.rootProject - else project = model.popupProject ?: model.rootModel + else project = model.popupProject ?: model.rootProject project.delete() @@ -185,7 +186,7 @@ class ProjectPanelController { } String rst2html(String rst) { - Document doc // memory model of document + Document doc StringWriter outString StringBuilder result = new StringBuilder() @@ -201,19 +202,18 @@ class ProjectPanelController { // java's embeded html is primitive, we need to massage the results outString.toString().eachLine { line -> - - // remove the XML version and encoding, title element, - // meta elements + + // remove the XML version and encoding, title element, meta elems if (line =~ /<\?.*\?>/ || line =~ /.*)/) if (m) line = m[0][1] + m[0][4] result.append(line) - + // add in the CSS information to the head - if (line =~//) result.append('') } diff --git a/pit-swing/griffon-app/lifecycle/Initialize.groovy b/pit-swing/griffon-app/lifecycle/Initialize.groovy index e0d78bd..8245163 100644 --- a/pit-swing/griffon-app/lifecycle/Initialize.groovy +++ b/pit-swing/griffon-app/lifecycle/Initialize.groovy @@ -1,25 +1,20 @@ /* - * This script is executed inside the EDT, so be sure to - * call long running code in another thread. + * This script is executed inside the UI thread, so be sure to call + * long running code in another thread. * * You have the following options - * - SwingBuilder.doOutside { // your code } + * - execOutside { // your code } + * - execFuture { // your code } * - Thread.start { // your code } - * - SwingXBuilder.withWorker( start: true ) { - * onInit { // initialization (optional, runs in current thread) } - * work { // your code } - * onDone { // finish (runs inside EDT) } - * } * - * You have the following options to run code again inside EDT - * - SwingBuilder.doLater { // your code } - * - SwingBuilder.edt { // your code } - * - SwingUtilities.invokeLater { // your code } + * You have the following options to run code again inside the UI thread + * - execAsync { // your code } + * - execSync { // your code } */ import groovy.swing.SwingBuilder import griffon.util.GriffonPlatformHelper -import griffon.util.GriffonApplicationHelper +import static griffon.util.GriffonApplicationUtils.* GriffonPlatformHelper.tweakForNativePlatform(app) SwingBuilder.lookAndFeel('org.pushingpixels.substance.api.skin.SubstanceCremeCoffeeLookAndFeel', 'nimbus', ['metal', [boldFonts: false]]) diff --git a/pit-swing/griffon-app/lifecycle/Ready.groovy b/pit-swing/griffon-app/lifecycle/Ready.groovy index c326398..9b165e4 100644 --- a/pit-swing/griffon-app/lifecycle/Ready.groovy +++ b/pit-swing/griffon-app/lifecycle/Ready.groovy @@ -1,18 +1,13 @@ /* - * This script is executed inside the EDT, so be sure to - * call long running code in another thread. + * This script is executed inside the UI thread, so be sure to call + * long running code in another thread. * * You have the following options - * - SwingBuilder.doOutside { // your code } + * - execOutside { // your code } + * - execFuture { // your code } * - Thread.start { // your code } - * - SwingXBuilder.withWorker( start: true ) { - * onInit { // initialization (optional, runs in current thread) } - * work { // your code } - * onDone { // finish (runs inside EDT) } - * } * - * You have the following options to run code again inside EDT - * - SwingBuilder.doLater { // your code } - * - SwingBuilder.edt { // your code } - * - SwingUtilities.invokeLater { // your code } + * You have the following options to run code again inside the UI thread + * - execAsync { // your code } + * - execSync { // your code } */ diff --git a/pit-swing/griffon-app/lifecycle/Shutdown.groovy b/pit-swing/griffon-app/lifecycle/Shutdown.groovy index dd993de..9b165e4 100644 --- a/pit-swing/griffon-app/lifecycle/Shutdown.groovy +++ b/pit-swing/griffon-app/lifecycle/Shutdown.groovy @@ -1,18 +1,13 @@ /* - * This script is executed inside the EDT, so be sure to - * call long running code in another thread. + * This script is executed inside the UI thread, so be sure to call + * long running code in another thread. * * You have the following options - * - SwingBuilder.doOutside { // your code } + * - execOutside { // your code } + * - execFuture { // your code } * - Thread.start { // your code } - * - SwingXBuilder.withWorker( start: true ) { - * onInit { // initialization (optional, runs in current thread) } - * work { // your code } - * onDone { // finish (runs inside EDT) } - * } * - * You have the following options to run code again inside EDT - * - SwingBuilder.doLater { // your code } - * - SwingBuilder.edt { // your code } - * - SwingUtilities.invokeLater { // your code } - */ \ No newline at end of file + * You have the following options to run code again inside the UI thread + * - execAsync { // your code } + * - execSync { // your code } + */ diff --git a/pit-swing/griffon-app/lifecycle/Startup.groovy b/pit-swing/griffon-app/lifecycle/Startup.groovy index dd993de..9b165e4 100644 --- a/pit-swing/griffon-app/lifecycle/Startup.groovy +++ b/pit-swing/griffon-app/lifecycle/Startup.groovy @@ -1,18 +1,13 @@ /* - * This script is executed inside the EDT, so be sure to - * call long running code in another thread. + * This script is executed inside the UI thread, so be sure to call + * long running code in another thread. * * You have the following options - * - SwingBuilder.doOutside { // your code } + * - execOutside { // your code } + * - execFuture { // your code } * - Thread.start { // your code } - * - SwingXBuilder.withWorker( start: true ) { - * onInit { // initialization (optional, runs in current thread) } - * work { // your code } - * onDone { // finish (runs inside EDT) } - * } * - * You have the following options to run code again inside EDT - * - SwingBuilder.doLater { // your code } - * - SwingBuilder.edt { // your code } - * - SwingUtilities.invokeLater { // your code } - */ \ No newline at end of file + * You have the following options to run code again inside the UI thread + * - execAsync { // your code } + * - execSync { // your code } + */ diff --git a/pit-swing/griffon-app/lifecycle/Stop.groovy b/pit-swing/griffon-app/lifecycle/Stop.groovy index e69de29..9b165e4 100644 --- a/pit-swing/griffon-app/lifecycle/Stop.groovy +++ b/pit-swing/griffon-app/lifecycle/Stop.groovy @@ -0,0 +1,13 @@ +/* + * This script is executed inside the UI thread, so be sure to call + * long running code in another thread. + * + * You have the following options + * - execOutside { // your code } + * - execFuture { // your code } + * - Thread.start { // your code } + * + * You have the following options to run code again inside the UI thread + * - execAsync { // your code } + * - execSync { // your code } + */ diff --git a/pit-swing/griffon-app/models/com/jdbernard/pit/swing/NewIssueDialogModel.groovy b/pit-swing/griffon-app/models/com/jdbernard/pit/swing/NewIssueDialogModel.groovy index 0c7b9bb..5c3eaaf 100644 --- a/pit-swing/griffon-app/models/com/jdbernard/pit/swing/NewIssueDialogModel.groovy +++ b/pit-swing/griffon-app/models/com/jdbernard/pit/swing/NewIssueDialogModel.groovy @@ -5,7 +5,6 @@ import com.jdbernard.pit.Status import groovy.beans.Bindable class NewIssueDialogModel { - @Bindable boolean accept String text Category category diff --git a/pit-swing/griffon-app/models/com/jdbernard/pit/swing/PITModel.groovy b/pit-swing/griffon-app/models/com/jdbernard/pit/swing/PITModel.groovy index 241d521..6bd877a 100644 --- a/pit-swing/griffon-app/models/com/jdbernard/pit/swing/PITModel.groovy +++ b/pit-swing/griffon-app/models/com/jdbernard/pit/swing/PITModel.groovy @@ -7,26 +7,28 @@ import com.jdbernard.pit.Project import com.jdbernard.pit.Status import groovy.beans.Bindable import java.awt.Font +import javax.swing.ImageIcon class PITModel { - // filter for projects and issues + + // filter for projects and classes Filter filter = new Filter(categories: [], status: [Status.NEW, Status.VALIDATION_REQUIRED]) def issueListRenderer // map of category -> issue template - def templates = [:] + Map templates = [:] - def issueCSS = getClass().getResource("/default-issue.css").openStream().text - - def categoryIcons = [:] - def statusIcons = [:] + String issueCSS = getClass().getResourceAsStream("/default-issue.css").text + + Map categoryIcons = [:] + Map statusIcons = [:] def newIssueDialogMVC - def projectPanelMVCs = [:] + Map projectPanelMVCs = [:] - def projectIdMap = [:] + Map projectIdMap = [:] - @Bindable issueDetailFont = new Font(Font.MONOSPACED, Font.PLAIN, 10) + @Bindable Font issueDetailFont = new Font(Font.MONOSPACED, Font.PLAIN, 10) } diff --git a/pit-swing/griffon-app/models/com/jdbernard/pit/swing/ProjectPanelModel.groovy b/pit-swing/griffon-app/models/com/jdbernard/pit/swing/ProjectPanelModel.groovy index 76af82d..048f90e 100644 --- a/pit-swing/griffon-app/models/com/jdbernard/pit/swing/ProjectPanelModel.groovy +++ b/pit-swing/griffon-app/models/com/jdbernard/pit/swing/ProjectPanelModel.groovy @@ -20,7 +20,7 @@ class ProjectPanelModel { String issueCSS = "" - // cache the ListModels + // cache the models def projectTableModels = [:] def issueCellRenderer diff --git a/pit-swing/griffon-app/views/com/jdbernard/pit/swing/NewIssueDialogView.groovy b/pit-swing/griffon-app/views/com/jdbernard/pit/swing/NewIssueDialogView.groovy index 626cea7..30ccd5c 100644 --- a/pit-swing/griffon-app/views/com/jdbernard/pit/swing/NewIssueDialogView.groovy +++ b/pit-swing/griffon-app/views/com/jdbernard/pit/swing/NewIssueDialogView.groovy @@ -61,4 +61,5 @@ dialog = dialog(title: 'New Task...', modal: true, pack: true, }, constraints: gbc(gridx: 1, gridy: 5, insets: [5, 5, 5, 5], anchor: GBC.WEST)) + } diff --git a/pit-swing/griffon-app/views/com/jdbernard/pit/swing/PITView.groovy b/pit-swing/griffon-app/views/com/jdbernard/pit/swing/PITView.groovy index ab60633..b8114eb 100644 --- a/pit-swing/griffon-app/views/com/jdbernard/pit/swing/PITView.groovy +++ b/pit-swing/griffon-app/views/com/jdbernard/pit/swing/PITView.groovy @@ -8,6 +8,7 @@ import com.jdbernard.pit.Project import com.jdbernard.pit.FileProject import groovy.beans.Bindable import java.awt.BorderLayout as BL +import java.awt.Color import java.awt.GridBagConstraints as GBC import javax.swing.DefaultComboBoxModel import javax.swing.DefaultListModel @@ -16,7 +17,6 @@ import javax.swing.JFileChooser import javax.swing.JOptionPane import net.miginfocom.swing.MigLayout -import java.awt.Color actions { action( @@ -53,20 +53,17 @@ Status.values().each { model.statusIcons[(it)] = imageIcon("/${it.name().toLowerCase()}.png") } - -openDialog = fileChooser(fileSelectionMode: JFileChooser.DIRECTORIES_ONLY) - -frame = application(title:'Personal Issue Tracker', +frame = application(title: 'Personal Issue Tracker', minimumSize: [400, 200], preferredSize: [800, 500], - pack:true, + pack: true, locationRelativeTo: null, iconImage: imageIcon('/icon64x64.png').image, iconImages: [imageIcon('/icon64x64.png').image, imageIcon('/icon32x32.png').image, imageIcon('/icon16x16.png').image] ) { - + // main menu menuBar() { menu("File") { @@ -76,12 +73,12 @@ frame = application(title:'Personal Issue Tracker', menuItem(shutdown) } - menu('View') { + menu("View") { menu('Category') { Category.values().each { cat -> checkBoxMenuItem(cat.toString(), selected: model.filter.categories.contains(cat), - actionPerformed: { evt -> + actionPerformed: { if (model.filter.categories.contains(cat)) { model.filter.categories.remove(cat) evt.source.selected = false @@ -120,17 +117,17 @@ frame = application(title:'Personal Issue Tracker', JOptionPane.QUESTION_MESSAGE) if (newSize == null || !newSize.isFloat()) JOptionPane.showMessageDialog(frame, - "$newSize is not a valid size.", - 'Change Issue Detail Text Size...', + '$newSize is not a valid size.', + 'Change Issue Detail Size...', JOptionPane.ERROR_MESSAGE) else model.issueDetailFont = model.issueDetailFont .deriveFont(newSize.toFloat()) - }) + }) } - menu('Sort') { + menu("Sort") { sortMenuButtonGroup = buttonGroup() - checkBoxMenuItem('By ID', + checkBoxMenuItem('By ID', buttonGroup: sortMenuButtonGroup, actionPerformed: { model.filter.issueSorter = { it.id } @@ -160,6 +157,7 @@ frame = application(title:'Personal Issue Tracker', model.filter.issueSorter = { it.title } controller.refreshIssues() }) + } } 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 783e008..e2e151e 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 @@ -75,13 +75,13 @@ projectPopupMenu = popupMenu() { menuItem(deleteProjectPop) } -// popup menu for isses +// popup menu for issues issuePopupMenu = popupMenu() { menuItem(newIssue) menuItem(deleteIssuePop) separator() - menu('Change Category', enabled: bind { model.popupIssue != null }) { + menu('Change Category', enabled: bind { model.popupIssue != null }) { Category.values().each { category -> menuItem(category.toString(), icon: model.mainMVC.model.categoryIcons[(category)], @@ -91,15 +91,15 @@ issuePopupMenu = popupMenu() { model.popupIssue.category = category controller.refreshIssues() } catch (IOException ioe) { - JOptionPane.showMessageDialog(mainMVC.view.frame, - ioe.getLocalizedMessage(), 'Change Category', + JOptionPane.showMessage(mainMVC.view.frame, + ioe.getLocalizedMessage(), "Change Category", JOptionPane.ERROR_MESSAGE) } }) } } - menu('Change Status', enabled: bind { model.popupIssue != null }) { + menu('Change Status', enabled: bind { model.popupIssue != null}) { Status.values().each { status -> menuItem(status.toString(), icon: model.mainMVC.model.statusIcons[(status)], @@ -108,8 +108,8 @@ issuePopupMenu = popupMenu() { try { model.popupIssue.status = status controller.refreshIssues() - } catch (IOException ioe) { - JOptionPane.showMessageDialog(mainMVC.view.frame, + } catch (IOException ioe) { + JOptionPane.showMessage(model.mainMVC.view.frame, ioe.getLocalizedMessage(), 'Change Status', JOptionPane.ERROR_MESSAGE) } @@ -123,14 +123,14 @@ issuePopupMenu = popupMenu() { def newPriority = JOptionPane.showInputDialog(mainMVC.view.frame, 'New priority (0-9)', 'Change Priority...', JOptionPane.QUESTION_MESSAGE) - try { model.popupIssue.priority = newPriority.toInteger() } + try { model.popupIsse.priority = newPriority.toInteger() } catch (NumberFormatException nfe) { JOptionPane.showMessageDialog(mainMVC.view.frame, 'The priority value must be an integer in [0-9].', 'Change Priority...', JOptionPane.ERROR_MESSAGE) return } catch (IOException ioe) { - JOptionPane.showMessageDialog(mainMVC.view.fraw, + JOptionPane.showMessageDialog(model.mainMVC.view.frame, ioe.getLocalizedMessage(), 'Change Priority...', JOptionPane.ERROR_MESSAGE) } @@ -140,28 +140,28 @@ issuePopupMenu = popupMenu() { // main split view panel = splitPane(orientation: JSplitPane.HORIZONTAL_SPLIT, - // dividerLocation: bind(source: model.mainModel, property: dividerLocation), + dividerLocation: 200, oneTouchExpandable: true, - constraints: gbc(fill: GBC.BOTH, insets: [10,10,10,10], + constraints: gbc(fill: GBC.BOTH, insets: [10, 10, 10, 10], weightx: 2, weighty: 2)) { - // left side (projects tree and buttons) - panel(constraints: "left") { + // left side (project tree and buttons + panel(constraints: 'left') { gridBagLayout() // tree view of projects - scrollPane(constraints: gbc(fill: GBC.BOTH, gridx: 0, gridy:0, + scrollPane(constraints: gbc(fill: GBC.BOTH, gridx: 0, gridy: 0, gridwidth: 2, weightx: 2, weighty: 2)) { treeCellRenderer = new DefaultTreeCellRenderer() treeCellRenderer.leafIcon = treeCellRenderer.closedIcon projectTree = tree(cellRenderer: treeCellRenderer, model: bind(source: model, sourceProperty: 'rootProject', - sourceValue: { + sourceValue: { if (model.rootProject) { def rootNode = new DefaultMutableTreeNode() def flatview = new FlatProjectView('All Issues') - flatviews.projects[(model.rootProject.name)] = + flatview.projects[(model.rootProject.name)] = model.rootProject rootNode.add(new DefaultMutableTreeNode(flatview)) rootNode.add(controller.makeNodes(model.rootProject)) @@ -178,18 +178,17 @@ panel = splitPane(orientation: JSplitPane.HORIZONTAL_SPLIT, mouseClicked: { evt -> if (evt.button == MouseEvent.BUTTON3) { controller.showProjectPopup( - projectTree.getPathForLocation(evt.x, evt.y) - ?.lastPathComponent?.userObject, + projectTree.getPathForLocation(evt.x, evt.y)?. + lastPathComponent?.userObject, evt.x, evt.y) } }) projectTree.rootVisible = false - + projectTree.selectionModel.selectionMode = TreeSelectionModel.SINGLE_TREE_SELECTION } - // project buttons newProjectButton = button(newProject, constraints: gbc(fill: GBC.NONE, gridx: 0, gridy: 1, anchor: GBC.WEST)) @@ -198,7 +197,7 @@ panel = splitPane(orientation: JSplitPane.HORIZONTAL_SPLIT, anchor: GBC.WEST)) } - // split between issue list and issue details + // split between issues list and issue details splitPane(orientation: JSplitPane.VERTICAL_SPLIT, dividerLocation: 200, constraints: "right") { @@ -206,7 +205,7 @@ panel = splitPane(orientation: JSplitPane.HORIZONTAL_SPLIT, gridBagLayout() scrollPane(constraints: gbc(fill: GBC.BOTH, weightx: 2, - weighty: 2, gridx: 0, gridy: 0, gridwidth: 3)) { + weighty: 2, gridx: 0, gridy: 0, gridwidth: 3)) { issueTable = table( autoCreateRowSorter: true, @@ -223,7 +222,7 @@ panel = splitPane(orientation: JSplitPane.HORIZONTAL_SPLIT, translatedPoint.translate(-issueTable.locationOnScreen.@x, -issueTable.locationOnScreen.@y) def row = issueTable.rowAtPoint(translatedPoint) - + issueTable.setRowSelectionInterval(row, row) controller.showIssuePopup( @@ -238,21 +237,6 @@ panel = splitPane(orientation: JSplitPane.HORIZONTAL_SPLIT, controller.displayIssue(controller.getSelectedIssue()) } - /*issueList = list( - cellRenderer: model.issueCellRenderer, - selectionMode: ListSelectionModel.SINGLE_SELECTION, - valueChanged: { evt -> - controller.displayIssue(issueList.selectedValue) - }, - mouseClicked: { evt -> - if (evt.button == MouseEvent.BUTTON3) { - issueList.selectedIndex = issueList.locationToIndex( - [evt.x, evt.y] as Point) - - controller.showIssuePopup( - issueList.selectedValue, evt.x, evt.y) - } - })*/ } wordWrapCheckBox = checkBox('Word wrap', @@ -266,7 +250,6 @@ panel = splitPane(orientation: JSplitPane.HORIZONTAL_SPLIT, enabled: bind(source: issueTable.selectionModel, sourceEvent: 'valueChanged', sourceValue: { !issueTable.selectionModel.isSelectionEmpty() })) - } scrollPane(constraints: "bottom", @@ -274,45 +257,38 @@ panel = splitPane(orientation: JSplitPane.HORIZONTAL_SPLIT, issueTextPanel = panel { issueTextPanelLayout = cardLayout() + def leavingEditorClosure = { + def issue = controller.getSelectedIssue() + if (issue == null) return + if (issueTextArea.text != issue.text) { + issue.text = issueTextArea.text + issueTextDisplay.text = controller.rst2html( + issueTextArea.text) + } + issueTextPanelLayout.show(issueTextPanel, 'display') + } + issueTextArea = textArea( - constraints: "editor", + constraints: 'editor', wrapStyleWord: true, lineWrap: bind(source: wordWrapCheckBox, sourceProperty: 'selected'), - editable: bind( source: issueTable.selectionModel, + editable: bind(source: issueTable.selectionModel, sourceEvent: 'valueChanged', sourceValue: { !issueTable.selectionModel.isSelectionEmpty() }), font: model.mainMVC.model.issueDetailFont, focusGained: {}, - focusLost: { - def issue = controller.getSelectedIssue() - if (issue == null) return - if (issueTextArea.text != issue.text) { - issue.text = issueTextArea.text - issueTextDisplay.text = controller.rst2html( - issueTextArea.text) - } - issueTextPanelLayout.show(issueTextPanel, "display") - }, - mouseExited: { - def issue = controller.getSelectedIssue() - if (issue == null) return - if (issueTextArea.text != issue.text) { - issue.text = issueTextArea.text - issueTextDisplay.text = controller.rst2html( - issueTextArea.text) - } - issueTextPanelLayout.show(issueTextPanel, "display") - }) - - issueTextDisplay = editorPane(contentType: "text/html", - constraints: "display", + focusLost: leavingEditorClosure, + mouseExited: leavingEditorClosure) + + issueTextDisplay = editorPane(contentType: 'text/html', + constraints: 'display', editable: false, preferredSize: [10, 10], - mouseClicked: { evt -> + mouseClicked: {evt -> if (evt.clickCount > 1) - issueTextPanelLayout.show(issueTextPanel, "editor") + issueTextPanelLayout.show(issueTextPanel, 'editor') }) } diff --git a/pit-swing/griffonw b/pit-swing/griffonw new file mode 100644 index 0000000..81f7bab --- /dev/null +++ b/pit-swing/griffonw @@ -0,0 +1,141 @@ +#!/bin/bash + +############################################################################## +## ## +## Griffon wrapper script for UN*X ## +## ## +############################################################################## + +# Uncomment those lines to set JVM options. GRIFFON_OPTS and JAVA_OPTS can be used together. +# GRIFFON_OPTS="$GRIFFON_OPTS -Xmx512" +# JAVA_OPTS="$JAVA_OPTS -Xmx512" + +GRIFFON_APP_NAME=Griffon + +warn ( ) { + echo "${PROGNAME}: $*" +} + +die ( ) { + warn "$*" + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# Attempt to set JAVA_HOME if it's not already set. +if [ -z "$JAVA_HOME" ] ; then + if $darwin ; then + [ -z "$JAVA_HOME" -a -d "/Library/Java/Home" ] && export JAVA_HOME="/Library/Java/Home" + [ -z "$JAVA_HOME" -a -d "/System/Library/Frameworks/JavaVM.framework/Home" ] && export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Home" + else + javaExecutable="`which javac`" + [ -z "$javaExecutable" -o "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ] && die "JAVA_HOME not set and cannot find javac to deduce location, please set JAVA_HOME." + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + [ `expr "$readLink" : '\([^ ]*\)'` = "no" ] && die "JAVA_HOME not set and readlink not available, please set JAVA_HOME." + javaExecutable="`readlink -f \"$javaExecutable\"`" + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + export JAVA_HOME="$javaHome" + fi +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched. +if $cygwin ; then + [ -n "$JAVACMD" ] && JAVACMD=`cygpath --unix "$JAVACMD"` + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` +fi + +STARTER_MAIN_CLASS=org.gradle.wrapper.GriffonWrapperMain +CLASSPATH=`dirname "$0"`/wrapper/griffon-wrapper.jar +WRAPPER_PROPERTIES=`dirname "$0"`/wrapper/griffon-wrapper.properties +# Determine the Java command to use to start the JVM. +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="java" + fi +fi +if [ ! -x "$JAVACMD" ] ; then + die "JAVA_HOME is not defined correctly, can not execute: $JAVACMD" +fi +if [ -z "$JAVA_HOME" ] ; then + warn "JAVA_HOME environment variable is not set" +fi + +# For Darwin, add GRIFFON_APP_NAME to the JAVA_OPTS as -Xdock:name +if $darwin; then + JAVA_OPTS="$JAVA_OPTS -Xdock:name=$GRIFFON_APP_NAME" +# we may also want to set -Xdock:image +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + JAVA_HOME=`cygpath --path --mixed "$JAVA_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRIFFON_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRIFFON_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +"$JAVACMD" $JAVA_OPTS $GRIFFON_OPTS \ + -classpath "$CLASSPATH" \ + -Dorg.gradle.wrapper.properties="$WRAPPER_PROPERTIES" \ + $STARTER_MAIN_CLASS \ + "$@" diff --git a/pit-swing/griffonw.bat b/pit-swing/griffonw.bat new file mode 100644 index 0000000..91d70fe --- /dev/null +++ b/pit-swing/griffonw.bat @@ -0,0 +1,126 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem ## +@rem Griffon startup script for Windows ## +@rem ## +@rem ########################################################################## + +@rem +@rem $Revision: 10602 $ $Date: 2008-01-25 02:49:54 +0100 (ven., 25 janv. 2008) $ +@rem + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Uncomment those lines to set JVM options. GRIFFON_OPTS and JAVA_OPTS can be used together. +@rem set GRIFFON_OPTS=%GRIFFON_OPTS% -Xmx512 +@rem set JAVA_OPTS=%JAVA_OPTS% -Xmx512 + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=.\ + +@rem Determine the command interpreter to execute the "CD" later +set COMMAND_COM="cmd.exe" +if exist "%SystemRoot%\system32\cmd.exe" set COMMAND_COM="%SystemRoot%\system32\cmd.exe" +if exist "%SystemRoot%\command.com" set COMMAND_COM="%SystemRoot%\command.com" + +@rem Use explicit find.exe to prevent cygwin and others find.exe from being used +set FIND_EXE="find.exe" +if exist "%SystemRoot%\system32\find.exe" set FIND_EXE="%SystemRoot%\system32\find.exe" +if exist "%SystemRoot%\command\find.exe" set FIND_EXE="%SystemRoot%\command\find.exe" + +:check_JAVA_HOME +@rem Make sure we have a valid JAVA_HOME +if not "%JAVA_HOME%" == "" goto have_JAVA_HOME + +echo. +echo ERROR: Environment variable JAVA_HOME has not been set. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. +echo. +goto end + +:have_JAVA_HOME +@rem Validate JAVA_HOME +%COMMAND_COM% /C DIR "%JAVA_HOME%" 2>&1 | %FIND_EXE% /I /C "%JAVA_HOME%" >nul +if not errorlevel 1 goto init + +echo. +echo ERROR: JAVA_HOME might be set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation if there are problems. +echo. + +:init +@rem get name of script to launch with full path +@rem Get command-line arguments, handling Windowz variants +SET _marker=%JAVA_HOME: =% +@rem IF NOT "%_marker%" == "%JAVA_HOME%" ECHO JAVA_HOME "%JAVA_HOME%" contains spaces. Please change to a location without spaces if this causes problems. + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%eval[2+2]" == "4" goto 4NT_args + +IF "%_marker%" == "%JAVA_HOME%" goto :win9xME_args + +set _FIXPATH= +call :fixpath "%JAVA_HOME%" +set JAVA_HOME=%_FIXPATH:~1% + +goto win9xME_args + +:fixpath +if not %1.==. ( +for /f "tokens=1* delims=;" %%a in (%1) do ( +call :shortfilename "%%a" & call :fixpath "%%b" +) +) +goto :EOF +:shortfilename +for %%i in (%1) do set _FIXPATH=%_FIXPATH%;%%~fsi +goto :EOF + + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set STARTER_MAIN_CLASS=org.gradle.wrapper.GriffonWrapperMain +set CLASSPATH=%DIRNAME%\wrapper\griffon-wrapper.jar +set WRAPPER_PROPERTIES=%DIRNAME%\wrapper\griffon-wrapper.properties +set JAVA_EXE=%JAVA_HOME%\bin\java.exe + +set GRIFFON_OPTS=%JAVA_OPTS% %GRIFFON_OPTS% -Dorg.gradle.wrapper.properties="%WRAPPER_PROPERTIES%" + +"%JAVA_EXE%" %GRIFFON_OPTS% -classpath "%CLASSPATH%" %STARTER_MAIN_CLASS% %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +if not "%OS%"=="Windows_NT" echo 1 > nul | choice /n /c:1 + +rem Set variable GRIFFON_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRIFFON_EXIT_CONSOLE%" exit "%ERRORLEVEL%" +exit /b "%ERRORLEVEL%" + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/pit-swing/pit-swing.iml b/pit-swing/pit-swing.iml deleted file mode 100644 index fcef4e2..0000000 --- a/pit-swing/pit-swing.iml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/pit-swing/pit-swing.ipr b/pit-swing/pit-swing.ipr deleted file mode 100644 index 5715515..0000000 --- a/pit-swing/pit-swing.ipr +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/pit-swing/pit-swing.iws b/pit-swing/pit-swing.iws deleted file mode 100644 index f4b45b3..0000000 --- a/pit-swing/pit-swing.iws +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/pit-swing/pit-swing.launch b/pit-swing/pit-swing.launch deleted file mode 100644 index 41876d3..0000000 --- a/pit-swing/pit-swing.launch +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/pit-swing/pit-swing.tmproj b/pit-swing/pit-swing.tmproj deleted file mode 100644 index eb657ca..0000000 --- a/pit-swing/pit-swing.tmproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - documents - - - filename - pit-swing.launch - - - filename - build.xml - - - name - griffon-app - regexFolderFilter - !.*/(\.[^/]*|CVS|_darcs|_MTN|\{arch\}|blib|.*~\.nib|.*\.(framework|app|pbproj|pbxproj|xcode(proj)?|bundle))$ - sourceDirectory - griffon-app - - - name - test - regexFolderFilter - !.*/(\.[^/]*|CVS|_darcs|_MTN|\{arch\}|blib|.*~\.nib|.*\.(framework|app|pbproj|pbxproj|xcode(proj)?|bundle))$ - sourceDirectory - test - - - name - lib - regexFolderFilter - !.*/(\.[^/]*|CVS|_darcs|_MTN|\{arch\}|blib|.*~\.nib|.*\.(framework|app|pbproj|pbxproj|xcode(proj)?|bundle))$ - sourceDirectory - lib - - - name - scripts - regexFolderFilter - !.*/(\.[^/]*|CVS|_darcs|_MTN|\{arch\}|blib|.*~\.nib|.*\.(framework|app|pbproj|pbxproj|xcode(proj)?|bundle))$ - sourceDirectory - scripts - - - name - src - regexFolderFilter - !.*/(\.[^/]*|CVS|_darcs|_MTN|\{arch\}|blib|.*~\.nib|.*\.(framework|app|pbproj|pbxproj|xcode(proj)?|bundle))$ - sourceDirectory - src - - - name - web-app - regexFolderFilter - !.*/(\.[^/]*|CVS|_darcs|_MTN|\{arch\}|blib|.*~\.nib|.*\.(framework|app|pbproj|pbxproj|xcode(proj)?|bundle))$ - sourceDirectory - web-app - - - fileHierarchyDrawerWidth - 200 - metaData - - showFileHierarchyDrawer - - windowFrame - {{237, 127}, {742, 553}} - - diff --git a/pit-swing/session.vim b/pit-swing/session.vim deleted file mode 100644 index 1e33074..0000000 --- a/pit-swing/session.vim +++ /dev/null @@ -1,1398 +0,0 @@ -let SessionLoad = 1 -if &cp | set nocp | endif -let s:cpo_save=&cpo -set cpo&vim -noremap!  -noremap!  -noremap!  -noremap!  -inoremap  -nmap v :call Screen_Vars() -nmap  vip -vmap  "ry :call Send_to_Screen(@r) -vnoremap  :Hexmode -nnoremap  :Hexmode -nmap gx NetrwBrowseX -nnoremap NetrwBrowseX :call netrw#NetrwBrowseX(expand(""),0) -noremap "" -noremap "" -noremap "" -noremap "" -inoremap  :Hexmode -let &cpo=s:cpo_save -unlet s:cpo_save -set autoindent -set backspace=indent,eol,start -set expandtab -set fileencodings=ucs-bom,utf-8,default,latin1 -set helplang=en -set history=50 -set hlsearch -set incsearch -set nomodeline -set printoptions=paper:letter -set ruler -set runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/vim72,/usr/share/vim/vimfiles/after,/var/lib/vim/addons/after,~/.vim/after -set shiftwidth=4 -set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc -set tabstop=4 -let s:so_save = &so | let s:siso_save = &siso | set so=0 siso=0 -let v:this_session=expand(":p") -silent only -cd ~/projects/personal-issue-tracker/pit-swing -if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == '' - let s:wipebuf = bufnr('%') -endif -set shortmess=aoO -badd +1 griffon-app/models/com/jdbernard/pit/swing/PITModel.groovy -badd +1 griffon-app/controllers/com/jdbernard/pit/swing/PITController.groovy -badd +18 griffon-app/views/com/jdbernard/pit/swing/PITView.groovy -badd +1 src/com/jdbernard/pit/IssueTreeCellRenderer.groovy -badd +1 griffon-app/conf/Application.groovy -badd +1 griffon-app/conf/Config.groovy -badd +3 src/com/jdbernard/pit/swing/IssueListCellRenderer.groovy -badd +15 src/main/com/jdbernard/pit/swing/IssueListCellRenderer.groovy -badd +1 griffon-app/lifecycle/Initialize.groovy -badd +1 griffon-app/models/com/jdbernard/pit/swing/NewIssueDialogModel.groovy -badd +1 griffon-app/controllers/com/jdbernard/pit/swing/NewIssueDialogController.groovy -badd +1 griffon-app/views/com/jdbernard/pit/swing/NewIssueDialogView.groovy -badd +1 griffon-app/models/com/jdbernard/pit/swing/ProjectPanelModel.groovy -badd +1 griffon-app/views/com/jdbernard/pit/swing/ProjectPanelView.groovy -badd +1 griffon-app/controllers/com/jdbernard/pit/swing/ProjectPanelController.groovy -args griffon-app/models/com/jdbernard/pit/swing/PITModel.groovy -edit griffon-app/models/com/jdbernard/pit/swing/PITModel.groovy -set splitbelow splitright -wincmd _ | wincmd | -vsplit -1wincmd h -wincmd _ | wincmd | -split -1wincmd k -wincmd w -wincmd w -set nosplitbelow -set nosplitright -wincmd t -set winheight=1 winwidth=1 -exe '1resize ' . ((&lines * 30 + 50) / 100) -exe 'vert 1resize ' . ((&columns * 140 + 139) / 279) -exe '2resize ' . ((&lines * 66 + 50) / 100) -exe 'vert 2resize ' . ((&columns * 140 + 139) / 279) -exe 'vert 3resize ' . ((&columns * 138 + 139) / 279) -argglobal -setlocal keymap= -setlocal noarabic -setlocal autoindent -setlocal nobinary -setlocal bufhidden= -setlocal buflisted -setlocal buftype= -setlocal nocindent -setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e -setlocal cinoptions= -setlocal cinwords=if,else,while,do,for,switch -setlocal comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:- -setlocal commentstring=/*%s*/ -setlocal complete=.,w,b,u,t,i -setlocal completefunc= -setlocal nocopyindent -setlocal nocursorcolumn -setlocal nocursorline -setlocal define= -setlocal dictionary= -setlocal nodiff -setlocal equalprg= -setlocal errorformat= -setlocal expandtab -if &filetype != 'groovy' -setlocal filetype=groovy -endif -setlocal foldcolumn=0 -setlocal foldenable -setlocal foldexpr=0 -setlocal foldignore=# -setlocal foldlevel=0 -setlocal foldmarker={{{,}}} -setlocal foldmethod=manual -setlocal foldminlines=1 -setlocal foldnestmax=20 -setlocal foldtext=foldtext() -setlocal formatexpr= -setlocal formatoptions=tcq -setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s* -setlocal grepprg= -setlocal iminsert=0 -setlocal imsearch=0 -setlocal include= -setlocal includeexpr= -setlocal indentexpr= -setlocal indentkeys=0{,0},:,0#,!^F,o,O,e -setlocal noinfercase -setlocal iskeyword=@,48-57,_,192-255 -setlocal keywordprg= -setlocal nolinebreak -setlocal nolisp -setlocal nolist -setlocal makeprg= -setlocal matchpairs=(:),{:},[:] -setlocal nomodeline -setlocal modifiable -setlocal nrformats=octal,hex -set number -setlocal number -setlocal numberwidth=4 -setlocal omnifunc= -setlocal path= -setlocal nopreserveindent -setlocal nopreviewwindow -setlocal quoteescape=\\ -setlocal noreadonly -setlocal norightleft -setlocal rightleftcmd=search -setlocal noscrollbind -setlocal shiftwidth=4 -setlocal noshortname -setlocal nosmartindent -setlocal softtabstop=0 -setlocal nospell -setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+ -setlocal spellfile= -setlocal spelllang=en -setlocal statusline= -setlocal suffixesadd= -setlocal swapfile -setlocal synmaxcol=3000 -if &syntax != 'groovy' -setlocal syntax=groovy -endif -setlocal tabstop=4 -setlocal tags= -setlocal textwidth=0 -setlocal thesaurus= -setlocal nowinfixheight -setlocal nowinfixwidth -setlocal wrap -setlocal wrapmargin=0 -silent! normal! zE -let s:l = 2 - ((1 * winheight(0) + 15) / 30) -if s:l < 1 | let s:l = 1 | endif -exe s:l -normal! zt -2 -normal! 0 -wincmd w -argglobal -edit griffon-app/views/com/jdbernard/pit/swing/PITView.groovy -setlocal keymap= -setlocal noarabic -setlocal autoindent -setlocal nobinary -setlocal bufhidden= -setlocal buflisted -setlocal buftype= -setlocal nocindent -setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e -setlocal cinoptions= -setlocal cinwords=if,else,while,do,for,switch -setlocal comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:- -setlocal commentstring=/*%s*/ -setlocal complete=.,w,b,u,t,i -setlocal completefunc= -setlocal nocopyindent -setlocal nocursorcolumn -setlocal nocursorline -setlocal define= -setlocal dictionary= -setlocal nodiff -setlocal equalprg= -setlocal errorformat= -setlocal expandtab -if &filetype != 'groovy' -setlocal filetype=groovy -endif -setlocal foldcolumn=0 -setlocal foldenable -setlocal foldexpr=0 -setlocal foldignore=# -setlocal foldlevel=0 -setlocal foldmarker={{{,}}} -setlocal foldmethod=manual -setlocal foldminlines=1 -setlocal foldnestmax=20 -setlocal foldtext=foldtext() -setlocal formatexpr= -setlocal formatoptions=tcq -setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s* -setlocal grepprg= -setlocal iminsert=0 -setlocal imsearch=0 -setlocal include= -setlocal includeexpr= -setlocal indentexpr= -setlocal indentkeys=0{,0},:,0#,!^F,o,O,e -setlocal noinfercase -setlocal iskeyword=@,48-57,_,192-255 -setlocal keywordprg= -setlocal nolinebreak -setlocal nolisp -setlocal nolist -setlocal makeprg= -setlocal matchpairs=(:),{:},[:] -setlocal nomodeline -setlocal modifiable -setlocal nrformats=octal,hex -set number -setlocal number -setlocal numberwidth=4 -setlocal omnifunc= -setlocal path= -setlocal nopreserveindent -setlocal nopreviewwindow -setlocal quoteescape=\\ -setlocal noreadonly -setlocal norightleft -setlocal rightleftcmd=search -setlocal noscrollbind -setlocal shiftwidth=4 -setlocal noshortname -setlocal nosmartindent -setlocal softtabstop=0 -setlocal nospell -setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+ -setlocal spellfile= -setlocal spelllang=en -setlocal statusline= -setlocal suffixesadd= -setlocal swapfile -setlocal synmaxcol=3000 -if &syntax != 'groovy' -setlocal syntax=groovy -endif -setlocal tabstop=4 -setlocal tags= -setlocal textwidth=0 -setlocal thesaurus= -setlocal nowinfixheight -setlocal nowinfixwidth -setlocal wrap -setlocal wrapmargin=0 -silent! normal! zE -let s:l = 1 - ((0 * winheight(0) + 33) / 66) -if s:l < 1 | let s:l = 1 | endif -exe s:l -normal! zt -1 -normal! 0 -wincmd w -argglobal -edit griffon-app/controllers/com/jdbernard/pit/swing/PITController.groovy -setlocal keymap= -setlocal noarabic -setlocal autoindent -setlocal nobinary -setlocal bufhidden= -setlocal buflisted -setlocal buftype= -setlocal nocindent -setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e -setlocal cinoptions= -setlocal cinwords=if,else,while,do,for,switch -setlocal comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:- -setlocal commentstring=/*%s*/ -setlocal complete=.,w,b,u,t,i -setlocal completefunc= -setlocal nocopyindent -setlocal nocursorcolumn -setlocal nocursorline -setlocal define= -setlocal dictionary= -setlocal nodiff -setlocal equalprg= -setlocal errorformat= -setlocal expandtab -if &filetype != 'groovy' -setlocal filetype=groovy -endif -setlocal foldcolumn=0 -setlocal foldenable -setlocal foldexpr=0 -setlocal foldignore=# -setlocal foldlevel=0 -setlocal foldmarker={{{,}}} -setlocal foldmethod=manual -setlocal foldminlines=1 -setlocal foldnestmax=20 -setlocal foldtext=foldtext() -setlocal formatexpr= -setlocal formatoptions=tcq -setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s* -setlocal grepprg= -setlocal iminsert=0 -setlocal imsearch=0 -setlocal include= -setlocal includeexpr= -setlocal indentexpr= -setlocal indentkeys=0{,0},:,0#,!^F,o,O,e -setlocal noinfercase -setlocal iskeyword=@,48-57,_,192-255 -setlocal keywordprg= -setlocal nolinebreak -setlocal nolisp -setlocal nolist -setlocal makeprg= -setlocal matchpairs=(:),{:},[:] -setlocal nomodeline -setlocal modifiable -setlocal nrformats=octal,hex -set number -setlocal number -setlocal numberwidth=4 -setlocal omnifunc= -setlocal path= -setlocal nopreserveindent -setlocal nopreviewwindow -setlocal quoteescape=\\ -setlocal noreadonly -setlocal norightleft -setlocal rightleftcmd=search -setlocal noscrollbind -setlocal shiftwidth=4 -setlocal noshortname -setlocal nosmartindent -setlocal softtabstop=0 -setlocal nospell -setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+ -setlocal spellfile= -setlocal spelllang=en -setlocal statusline= -setlocal suffixesadd= -setlocal swapfile -setlocal synmaxcol=3000 -if &syntax != 'groovy' -setlocal syntax=groovy -endif -setlocal tabstop=4 -setlocal tags= -setlocal textwidth=0 -setlocal thesaurus= -setlocal nowinfixheight -setlocal nowinfixwidth -setlocal wrap -setlocal wrapmargin=0 -silent! normal! zE -let s:l = 1 - ((0 * winheight(0) + 48) / 97) -if s:l < 1 | let s:l = 1 | endif -exe s:l -normal! zt -1 -normal! 0 -wincmd w -exe '1resize ' . ((&lines * 30 + 50) / 100) -exe 'vert 1resize ' . ((&columns * 140 + 139) / 279) -exe '2resize ' . ((&lines * 66 + 50) / 100) -exe 'vert 2resize ' . ((&columns * 140 + 139) / 279) -exe 'vert 3resize ' . ((&columns * 138 + 139) / 279) -tabedit griffon-app/models/com/jdbernard/pit/swing/ProjectPanelModel.groovy -set splitbelow splitright -wincmd _ | wincmd | -vsplit -1wincmd h -wincmd _ | wincmd | -split -1wincmd k -wincmd w -wincmd w -set nosplitbelow -set nosplitright -wincmd t -set winheight=1 winwidth=1 -exe '1resize ' . ((&lines * 36 + 50) / 100) -exe 'vert 1resize ' . ((&columns * 140 + 139) / 279) -exe '2resize ' . ((&lines * 60 + 50) / 100) -exe 'vert 2resize ' . ((&columns * 140 + 139) / 279) -exe 'vert 3resize ' . ((&columns * 138 + 139) / 279) -argglobal -setlocal keymap= -setlocal noarabic -setlocal autoindent -setlocal nobinary -setlocal bufhidden= -setlocal buflisted -setlocal buftype= -setlocal nocindent -setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e -setlocal cinoptions= -setlocal cinwords=if,else,while,do,for,switch -setlocal comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:- -setlocal commentstring=/*%s*/ -setlocal complete=.,w,b,u,t,i -setlocal completefunc= -setlocal nocopyindent -setlocal nocursorcolumn -setlocal nocursorline -setlocal define= -setlocal dictionary= -setlocal nodiff -setlocal equalprg= -setlocal errorformat= -setlocal expandtab -if &filetype != 'groovy' -setlocal filetype=groovy -endif -setlocal foldcolumn=0 -setlocal foldenable -setlocal foldexpr=0 -setlocal foldignore=# -setlocal foldlevel=0 -setlocal foldmarker={{{,}}} -setlocal foldmethod=manual -setlocal foldminlines=1 -setlocal foldnestmax=20 -setlocal foldtext=foldtext() -setlocal formatexpr= -setlocal formatoptions=tcq -setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s* -setlocal grepprg= -setlocal iminsert=0 -setlocal imsearch=0 -setlocal include= -setlocal includeexpr= -setlocal indentexpr= -setlocal indentkeys=0{,0},:,0#,!^F,o,O,e -setlocal noinfercase -setlocal iskeyword=@,48-57,_,192-255 -setlocal keywordprg= -setlocal nolinebreak -setlocal nolisp -setlocal nolist -setlocal makeprg= -setlocal matchpairs=(:),{:},[:] -setlocal nomodeline -setlocal modifiable -setlocal nrformats=octal,hex -set number -setlocal number -setlocal numberwidth=4 -setlocal omnifunc= -setlocal path= -setlocal nopreserveindent -setlocal nopreviewwindow -setlocal quoteescape=\\ -setlocal noreadonly -setlocal norightleft -setlocal rightleftcmd=search -setlocal noscrollbind -setlocal shiftwidth=4 -setlocal noshortname -setlocal nosmartindent -setlocal softtabstop=0 -setlocal nospell -setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+ -setlocal spellfile= -setlocal spelllang=en -setlocal statusline= -setlocal suffixesadd= -setlocal swapfile -setlocal synmaxcol=3000 -if &syntax != 'groovy' -setlocal syntax=groovy -endif -setlocal tabstop=4 -setlocal tags= -setlocal textwidth=0 -setlocal thesaurus= -setlocal nowinfixheight -setlocal nowinfixwidth -setlocal wrap -setlocal wrapmargin=0 -silent! normal! zE -let s:l = 1 - ((0 * winheight(0) + 18) / 36) -if s:l < 1 | let s:l = 1 | endif -exe s:l -normal! zt -1 -normal! 0 -wincmd w -argglobal -edit griffon-app/views/com/jdbernard/pit/swing/ProjectPanelView.groovy -setlocal keymap= -setlocal noarabic -setlocal autoindent -setlocal nobinary -setlocal bufhidden= -setlocal buflisted -setlocal buftype= -setlocal nocindent -setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e -setlocal cinoptions= -setlocal cinwords=if,else,while,do,for,switch -setlocal comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:- -setlocal commentstring=/*%s*/ -setlocal complete=.,w,b,u,t,i -setlocal completefunc= -setlocal nocopyindent -setlocal nocursorcolumn -setlocal nocursorline -setlocal define= -setlocal dictionary= -setlocal nodiff -setlocal equalprg= -setlocal errorformat= -setlocal expandtab -if &filetype != 'groovy' -setlocal filetype=groovy -endif -setlocal foldcolumn=0 -setlocal foldenable -setlocal foldexpr=0 -setlocal foldignore=# -setlocal foldlevel=0 -setlocal foldmarker={{{,}}} -setlocal foldmethod=manual -setlocal foldminlines=1 -setlocal foldnestmax=20 -setlocal foldtext=foldtext() -setlocal formatexpr= -setlocal formatoptions=tcq -setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s* -setlocal grepprg= -setlocal iminsert=0 -setlocal imsearch=0 -setlocal include= -setlocal includeexpr= -setlocal indentexpr= -setlocal indentkeys=0{,0},:,0#,!^F,o,O,e -setlocal noinfercase -setlocal iskeyword=@,48-57,_,192-255 -setlocal keywordprg= -setlocal nolinebreak -setlocal nolisp -setlocal nolist -setlocal makeprg= -setlocal matchpairs=(:),{:},[:] -setlocal nomodeline -setlocal modifiable -setlocal nrformats=octal,hex -set number -setlocal number -setlocal numberwidth=4 -setlocal omnifunc= -setlocal path= -setlocal nopreserveindent -setlocal nopreviewwindow -setlocal quoteescape=\\ -setlocal noreadonly -setlocal norightleft -setlocal rightleftcmd=search -setlocal noscrollbind -setlocal shiftwidth=4 -setlocal noshortname -setlocal nosmartindent -setlocal softtabstop=0 -setlocal nospell -setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+ -setlocal spellfile= -setlocal spelllang=en -setlocal statusline= -setlocal suffixesadd= -setlocal swapfile -setlocal synmaxcol=3000 -if &syntax != 'groovy' -setlocal syntax=groovy -endif -setlocal tabstop=4 -setlocal tags= -setlocal textwidth=0 -setlocal thesaurus= -setlocal nowinfixheight -setlocal nowinfixwidth -setlocal wrap -setlocal wrapmargin=0 -silent! normal! zE -let s:l = 1 - ((0 * winheight(0) + 30) / 60) -if s:l < 1 | let s:l = 1 | endif -exe s:l -normal! zt -1 -normal! 0 -wincmd w -argglobal -edit griffon-app/controllers/com/jdbernard/pit/swing/ProjectPanelController.groovy -setlocal keymap= -setlocal noarabic -setlocal autoindent -setlocal nobinary -setlocal bufhidden= -setlocal buflisted -setlocal buftype= -setlocal nocindent -setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e -setlocal cinoptions= -setlocal cinwords=if,else,while,do,for,switch -setlocal comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:- -setlocal commentstring=/*%s*/ -setlocal complete=.,w,b,u,t,i -setlocal completefunc= -setlocal nocopyindent -setlocal nocursorcolumn -setlocal nocursorline -setlocal define= -setlocal dictionary= -setlocal nodiff -setlocal equalprg= -setlocal errorformat= -setlocal expandtab -if &filetype != 'groovy' -setlocal filetype=groovy -endif -setlocal foldcolumn=0 -setlocal foldenable -setlocal foldexpr=0 -setlocal foldignore=# -setlocal foldlevel=0 -setlocal foldmarker={{{,}}} -setlocal foldmethod=manual -setlocal foldminlines=1 -setlocal foldnestmax=20 -setlocal foldtext=foldtext() -setlocal formatexpr= -setlocal formatoptions=tcq -setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s* -setlocal grepprg= -setlocal iminsert=0 -setlocal imsearch=0 -setlocal include= -setlocal includeexpr= -setlocal indentexpr= -setlocal indentkeys=0{,0},:,0#,!^F,o,O,e -setlocal noinfercase -setlocal iskeyword=@,48-57,_,192-255 -setlocal keywordprg= -setlocal nolinebreak -setlocal nolisp -setlocal nolist -setlocal makeprg= -setlocal matchpairs=(:),{:},[:] -setlocal nomodeline -setlocal modifiable -setlocal nrformats=octal,hex -set number -setlocal number -setlocal numberwidth=4 -setlocal omnifunc= -setlocal path= -setlocal nopreserveindent -setlocal nopreviewwindow -setlocal quoteescape=\\ -setlocal noreadonly -setlocal norightleft -setlocal rightleftcmd=search -setlocal noscrollbind -setlocal shiftwidth=4 -setlocal noshortname -setlocal nosmartindent -setlocal softtabstop=0 -setlocal nospell -setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+ -setlocal spellfile= -setlocal spelllang=en -setlocal statusline= -setlocal suffixesadd= -setlocal swapfile -setlocal synmaxcol=3000 -if &syntax != 'groovy' -setlocal syntax=groovy -endif -setlocal tabstop=4 -setlocal tags= -setlocal textwidth=0 -setlocal thesaurus= -setlocal nowinfixheight -setlocal nowinfixwidth -setlocal wrap -setlocal wrapmargin=0 -silent! normal! zE -let s:l = 1 - ((0 * winheight(0) + 48) / 97) -if s:l < 1 | let s:l = 1 | endif -exe s:l -normal! zt -1 -normal! 0 -wincmd w -exe '1resize ' . ((&lines * 36 + 50) / 100) -exe 'vert 1resize ' . ((&columns * 140 + 139) / 279) -exe '2resize ' . ((&lines * 60 + 50) / 100) -exe 'vert 2resize ' . ((&columns * 140 + 139) / 279) -exe 'vert 3resize ' . ((&columns * 138 + 139) / 279) -tabedit griffon-app/models/com/jdbernard/pit/swing/NewIssueDialogModel.groovy -set splitbelow splitright -wincmd _ | wincmd | -vsplit -1wincmd h -wincmd _ | wincmd | -split -1wincmd k -wincmd w -wincmd w -set nosplitbelow -set nosplitright -wincmd t -set winheight=1 winwidth=1 -exe '1resize ' . ((&lines * 31 + 50) / 100) -exe 'vert 1resize ' . ((&columns * 140 + 139) / 279) -exe '2resize ' . ((&lines * 65 + 50) / 100) -exe 'vert 2resize ' . ((&columns * 140 + 139) / 279) -exe 'vert 3resize ' . ((&columns * 138 + 139) / 279) -argglobal -setlocal keymap= -setlocal noarabic -setlocal autoindent -setlocal nobinary -setlocal bufhidden= -setlocal buflisted -setlocal buftype= -setlocal nocindent -setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e -setlocal cinoptions= -setlocal cinwords=if,else,while,do,for,switch -setlocal comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:- -setlocal commentstring=/*%s*/ -setlocal complete=.,w,b,u,t,i -setlocal completefunc= -setlocal nocopyindent -setlocal nocursorcolumn -setlocal nocursorline -setlocal define= -setlocal dictionary= -setlocal nodiff -setlocal equalprg= -setlocal errorformat= -setlocal expandtab -if &filetype != 'groovy' -setlocal filetype=groovy -endif -setlocal foldcolumn=0 -setlocal foldenable -setlocal foldexpr=0 -setlocal foldignore=# -setlocal foldlevel=0 -setlocal foldmarker={{{,}}} -setlocal foldmethod=manual -setlocal foldminlines=1 -setlocal foldnestmax=20 -setlocal foldtext=foldtext() -setlocal formatexpr= -setlocal formatoptions=tcq -setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s* -setlocal grepprg= -setlocal iminsert=0 -setlocal imsearch=0 -setlocal include= -setlocal includeexpr= -setlocal indentexpr= -setlocal indentkeys=0{,0},:,0#,!^F,o,O,e -setlocal noinfercase -setlocal iskeyword=@,48-57,_,192-255 -setlocal keywordprg= -setlocal nolinebreak -setlocal nolisp -setlocal nolist -setlocal makeprg= -setlocal matchpairs=(:),{:},[:] -setlocal nomodeline -setlocal modifiable -setlocal nrformats=octal,hex -set number -setlocal number -setlocal numberwidth=4 -setlocal omnifunc= -setlocal path= -setlocal nopreserveindent -setlocal nopreviewwindow -setlocal quoteescape=\\ -setlocal noreadonly -setlocal norightleft -setlocal rightleftcmd=search -setlocal noscrollbind -setlocal shiftwidth=4 -setlocal noshortname -setlocal nosmartindent -setlocal softtabstop=0 -setlocal nospell -setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+ -setlocal spellfile= -setlocal spelllang=en -setlocal statusline= -setlocal suffixesadd= -setlocal swapfile -setlocal synmaxcol=3000 -if &syntax != 'groovy' -setlocal syntax=groovy -endif -setlocal tabstop=4 -setlocal tags= -setlocal textwidth=0 -setlocal thesaurus= -setlocal nowinfixheight -setlocal nowinfixwidth -setlocal wrap -setlocal wrapmargin=0 -silent! normal! zE -let s:l = 1 - ((0 * winheight(0) + 15) / 31) -if s:l < 1 | let s:l = 1 | endif -exe s:l -normal! zt -1 -normal! 0 -wincmd w -argglobal -edit griffon-app/views/com/jdbernard/pit/swing/NewIssueDialogView.groovy -setlocal keymap= -setlocal noarabic -setlocal autoindent -setlocal nobinary -setlocal bufhidden= -setlocal buflisted -setlocal buftype= -setlocal nocindent -setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e -setlocal cinoptions= -setlocal cinwords=if,else,while,do,for,switch -setlocal comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:- -setlocal commentstring=/*%s*/ -setlocal complete=.,w,b,u,t,i -setlocal completefunc= -setlocal nocopyindent -setlocal nocursorcolumn -setlocal nocursorline -setlocal define= -setlocal dictionary= -setlocal nodiff -setlocal equalprg= -setlocal errorformat= -setlocal expandtab -if &filetype != 'groovy' -setlocal filetype=groovy -endif -setlocal foldcolumn=0 -setlocal foldenable -setlocal foldexpr=0 -setlocal foldignore=# -setlocal foldlevel=0 -setlocal foldmarker={{{,}}} -setlocal foldmethod=manual -setlocal foldminlines=1 -setlocal foldnestmax=20 -setlocal foldtext=foldtext() -setlocal formatexpr= -setlocal formatoptions=tcq -setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s* -setlocal grepprg= -setlocal iminsert=0 -setlocal imsearch=0 -setlocal include= -setlocal includeexpr= -setlocal indentexpr= -setlocal indentkeys=0{,0},:,0#,!^F,o,O,e -setlocal noinfercase -setlocal iskeyword=@,48-57,_,192-255 -setlocal keywordprg= -setlocal nolinebreak -setlocal nolisp -setlocal nolist -setlocal makeprg= -setlocal matchpairs=(:),{:},[:] -setlocal nomodeline -setlocal modifiable -setlocal nrformats=octal,hex -set number -setlocal number -setlocal numberwidth=4 -setlocal omnifunc= -setlocal path= -setlocal nopreserveindent -setlocal nopreviewwindow -setlocal quoteescape=\\ -setlocal noreadonly -setlocal norightleft -setlocal rightleftcmd=search -setlocal noscrollbind -setlocal shiftwidth=4 -setlocal noshortname -setlocal nosmartindent -setlocal softtabstop=0 -setlocal nospell -setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+ -setlocal spellfile= -setlocal spelllang=en -setlocal statusline= -setlocal suffixesadd= -setlocal swapfile -setlocal synmaxcol=3000 -if &syntax != 'groovy' -setlocal syntax=groovy -endif -setlocal tabstop=4 -setlocal tags= -setlocal textwidth=0 -setlocal thesaurus= -setlocal nowinfixheight -setlocal nowinfixwidth -setlocal wrap -setlocal wrapmargin=0 -silent! normal! zE -let s:l = 1 - ((0 * winheight(0) + 32) / 65) -if s:l < 1 | let s:l = 1 | endif -exe s:l -normal! zt -1 -normal! 0 -wincmd w -argglobal -edit griffon-app/controllers/com/jdbernard/pit/swing/NewIssueDialogController.groovy -setlocal keymap= -setlocal noarabic -setlocal autoindent -setlocal nobinary -setlocal bufhidden= -setlocal buflisted -setlocal buftype= -setlocal nocindent -setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e -setlocal cinoptions= -setlocal cinwords=if,else,while,do,for,switch -setlocal comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:- -setlocal commentstring=/*%s*/ -setlocal complete=.,w,b,u,t,i -setlocal completefunc= -setlocal nocopyindent -setlocal nocursorcolumn -setlocal nocursorline -setlocal define= -setlocal dictionary= -setlocal nodiff -setlocal equalprg= -setlocal errorformat= -setlocal expandtab -if &filetype != 'groovy' -setlocal filetype=groovy -endif -setlocal foldcolumn=0 -setlocal foldenable -setlocal foldexpr=0 -setlocal foldignore=# -setlocal foldlevel=0 -setlocal foldmarker={{{,}}} -setlocal foldmethod=manual -setlocal foldminlines=1 -setlocal foldnestmax=20 -setlocal foldtext=foldtext() -setlocal formatexpr= -setlocal formatoptions=tcq -setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s* -setlocal grepprg= -setlocal iminsert=0 -setlocal imsearch=0 -setlocal include= -setlocal includeexpr= -setlocal indentexpr= -setlocal indentkeys=0{,0},:,0#,!^F,o,O,e -setlocal noinfercase -setlocal iskeyword=@,48-57,_,192-255 -setlocal keywordprg= -setlocal nolinebreak -setlocal nolisp -setlocal nolist -setlocal makeprg= -setlocal matchpairs=(:),{:},[:] -setlocal nomodeline -setlocal modifiable -setlocal nrformats=octal,hex -set number -setlocal number -setlocal numberwidth=4 -setlocal omnifunc= -setlocal path= -setlocal nopreserveindent -setlocal nopreviewwindow -setlocal quoteescape=\\ -setlocal noreadonly -setlocal norightleft -setlocal rightleftcmd=search -setlocal noscrollbind -setlocal shiftwidth=4 -setlocal noshortname -setlocal nosmartindent -setlocal softtabstop=0 -setlocal nospell -setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+ -setlocal spellfile= -setlocal spelllang=en -setlocal statusline= -setlocal suffixesadd= -setlocal swapfile -setlocal synmaxcol=3000 -if &syntax != 'groovy' -setlocal syntax=groovy -endif -setlocal tabstop=4 -setlocal tags= -setlocal textwidth=0 -setlocal thesaurus= -setlocal nowinfixheight -setlocal nowinfixwidth -setlocal wrap -setlocal wrapmargin=0 -silent! normal! zE -let s:l = 1 - ((0 * winheight(0) + 48) / 97) -if s:l < 1 | let s:l = 1 | endif -exe s:l -normal! zt -1 -normal! 0 -wincmd w -exe '1resize ' . ((&lines * 31 + 50) / 100) -exe 'vert 1resize ' . ((&columns * 140 + 139) / 279) -exe '2resize ' . ((&lines * 65 + 50) / 100) -exe 'vert 2resize ' . ((&columns * 140 + 139) / 279) -exe 'vert 3resize ' . ((&columns * 138 + 139) / 279) -tabedit griffon-app/conf/Application.groovy -set splitbelow splitright -wincmd _ | wincmd | -vsplit -1wincmd h -wincmd w -set nosplitbelow -set nosplitright -wincmd t -set winheight=1 winwidth=1 -exe 'vert 1resize ' . ((&columns * 140 + 139) / 279) -exe 'vert 2resize ' . ((&columns * 138 + 139) / 279) -argglobal -setlocal keymap= -setlocal noarabic -setlocal autoindent -setlocal nobinary -setlocal bufhidden= -setlocal buflisted -setlocal buftype= -setlocal nocindent -setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e -setlocal cinoptions= -setlocal cinwords=if,else,while,do,for,switch -setlocal comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:- -setlocal commentstring=/*%s*/ -setlocal complete=.,w,b,u,t,i -setlocal completefunc= -setlocal nocopyindent -setlocal nocursorcolumn -setlocal nocursorline -setlocal define= -setlocal dictionary= -setlocal nodiff -setlocal equalprg= -setlocal errorformat= -setlocal expandtab -if &filetype != 'groovy' -setlocal filetype=groovy -endif -setlocal foldcolumn=0 -setlocal foldenable -setlocal foldexpr=0 -setlocal foldignore=# -setlocal foldlevel=0 -setlocal foldmarker={{{,}}} -setlocal foldmethod=manual -setlocal foldminlines=1 -setlocal foldnestmax=20 -setlocal foldtext=foldtext() -setlocal formatexpr= -setlocal formatoptions=tcq -setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s* -setlocal grepprg= -setlocal iminsert=0 -setlocal imsearch=0 -setlocal include= -setlocal includeexpr= -setlocal indentexpr= -setlocal indentkeys=0{,0},:,0#,!^F,o,O,e -setlocal noinfercase -setlocal iskeyword=@,48-57,_,192-255 -setlocal keywordprg= -setlocal nolinebreak -setlocal nolisp -setlocal nolist -setlocal makeprg= -setlocal matchpairs=(:),{:},[:] -setlocal nomodeline -setlocal modifiable -setlocal nrformats=octal,hex -set number -setlocal number -setlocal numberwidth=4 -setlocal omnifunc= -setlocal path= -setlocal nopreserveindent -setlocal nopreviewwindow -setlocal quoteescape=\\ -setlocal noreadonly -setlocal norightleft -setlocal rightleftcmd=search -setlocal noscrollbind -setlocal shiftwidth=4 -setlocal noshortname -setlocal nosmartindent -setlocal softtabstop=0 -setlocal nospell -setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+ -setlocal spellfile= -setlocal spelllang=en -setlocal statusline= -setlocal suffixesadd= -setlocal swapfile -setlocal synmaxcol=3000 -if &syntax != 'groovy' -setlocal syntax=groovy -endif -setlocal tabstop=4 -setlocal tags= -setlocal textwidth=0 -setlocal thesaurus= -setlocal nowinfixheight -setlocal nowinfixwidth -setlocal wrap -setlocal wrapmargin=0 -silent! normal! zE -let s:l = 16 - ((15 * winheight(0) + 48) / 97) -if s:l < 1 | let s:l = 1 | endif -exe s:l -normal! zt -16 -normal! 01l -wincmd w -argglobal -edit griffon-app/conf/Config.groovy -setlocal keymap= -setlocal noarabic -setlocal autoindent -setlocal nobinary -setlocal bufhidden= -setlocal buflisted -setlocal buftype= -setlocal nocindent -setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e -setlocal cinoptions= -setlocal cinwords=if,else,while,do,for,switch -setlocal comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:- -setlocal commentstring=/*%s*/ -setlocal complete=.,w,b,u,t,i -setlocal completefunc= -setlocal nocopyindent -setlocal nocursorcolumn -setlocal nocursorline -setlocal define= -setlocal dictionary= -setlocal nodiff -setlocal equalprg= -setlocal errorformat= -setlocal expandtab -if &filetype != 'groovy' -setlocal filetype=groovy -endif -setlocal foldcolumn=0 -setlocal foldenable -setlocal foldexpr=0 -setlocal foldignore=# -setlocal foldlevel=0 -setlocal foldmarker={{{,}}} -setlocal foldmethod=manual -setlocal foldminlines=1 -setlocal foldnestmax=20 -setlocal foldtext=foldtext() -setlocal formatexpr= -setlocal formatoptions=tcq -setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s* -setlocal grepprg= -setlocal iminsert=0 -setlocal imsearch=0 -setlocal include= -setlocal includeexpr= -setlocal indentexpr= -setlocal indentkeys=0{,0},:,0#,!^F,o,O,e -setlocal noinfercase -setlocal iskeyword=@,48-57,_,192-255 -setlocal keywordprg= -setlocal nolinebreak -setlocal nolisp -setlocal nolist -setlocal makeprg= -setlocal matchpairs=(:),{:},[:] -setlocal nomodeline -setlocal modifiable -setlocal nrformats=octal,hex -set number -setlocal number -setlocal numberwidth=4 -setlocal omnifunc= -setlocal path= -setlocal nopreserveindent -setlocal nopreviewwindow -setlocal quoteescape=\\ -setlocal noreadonly -setlocal norightleft -setlocal rightleftcmd=search -setlocal noscrollbind -setlocal shiftwidth=4 -setlocal noshortname -setlocal nosmartindent -setlocal softtabstop=0 -setlocal nospell -setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+ -setlocal spellfile= -setlocal spelllang=en -setlocal statusline= -setlocal suffixesadd= -setlocal swapfile -setlocal synmaxcol=3000 -if &syntax != 'groovy' -setlocal syntax=groovy -endif -setlocal tabstop=4 -setlocal tags= -setlocal textwidth=0 -setlocal thesaurus= -setlocal nowinfixheight -setlocal nowinfixwidth -setlocal wrap -setlocal wrapmargin=0 -silent! normal! zE -let s:l = 56 - ((55 * winheight(0) + 48) / 97) -if s:l < 1 | let s:l = 1 | endif -exe s:l -normal! zt -56 -normal! 0 -wincmd w -exe 'vert 1resize ' . ((&columns * 140 + 139) / 279) -exe 'vert 2resize ' . ((&columns * 138 + 139) / 279) -tabedit griffon-app/lifecycle/Initialize.groovy -set splitbelow splitright -set nosplitbelow -set nosplitright -wincmd t -set winheight=1 winwidth=1 -argglobal -setlocal keymap= -setlocal noarabic -setlocal autoindent -setlocal nobinary -setlocal bufhidden= -setlocal buflisted -setlocal buftype= -setlocal nocindent -setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e -setlocal cinoptions= -setlocal cinwords=if,else,while,do,for,switch -setlocal comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:- -setlocal commentstring=/*%s*/ -setlocal complete=.,w,b,u,t,i -setlocal completefunc= -setlocal nocopyindent -setlocal nocursorcolumn -setlocal nocursorline -setlocal define= -setlocal dictionary= -setlocal nodiff -setlocal equalprg= -setlocal errorformat= -setlocal expandtab -if &filetype != 'groovy' -setlocal filetype=groovy -endif -setlocal foldcolumn=0 -setlocal foldenable -setlocal foldexpr=0 -setlocal foldignore=# -setlocal foldlevel=0 -setlocal foldmarker={{{,}}} -setlocal foldmethod=manual -setlocal foldminlines=1 -setlocal foldnestmax=20 -setlocal foldtext=foldtext() -setlocal formatexpr= -setlocal formatoptions=tcq -setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s* -setlocal grepprg= -setlocal iminsert=0 -setlocal imsearch=0 -setlocal include= -setlocal includeexpr= -setlocal indentexpr= -setlocal indentkeys=0{,0},:,0#,!^F,o,O,e -setlocal noinfercase -setlocal iskeyword=@,48-57,_,192-255 -setlocal keywordprg= -setlocal nolinebreak -setlocal nolisp -setlocal nolist -setlocal makeprg= -setlocal matchpairs=(:),{:},[:] -setlocal nomodeline -setlocal modifiable -setlocal nrformats=octal,hex -set number -setlocal number -setlocal numberwidth=4 -setlocal omnifunc= -setlocal path= -setlocal nopreserveindent -setlocal nopreviewwindow -setlocal quoteescape=\\ -setlocal noreadonly -setlocal norightleft -setlocal rightleftcmd=search -setlocal noscrollbind -setlocal shiftwidth=4 -setlocal noshortname -setlocal nosmartindent -setlocal softtabstop=0 -setlocal nospell -setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+ -setlocal spellfile= -setlocal spelllang=en -setlocal statusline= -setlocal suffixesadd= -setlocal swapfile -setlocal synmaxcol=3000 -if &syntax != 'groovy' -setlocal syntax=groovy -endif -setlocal tabstop=4 -setlocal tags= -setlocal textwidth=0 -setlocal thesaurus= -setlocal nowinfixheight -setlocal nowinfixwidth -setlocal wrap -setlocal wrapmargin=0 -silent! normal! zE -let s:l = 1 - ((0 * winheight(0) + 49) / 98) -if s:l < 1 | let s:l = 1 | endif -exe s:l -normal! zt -1 -normal! 0 -tabnext 1 -if exists('s:wipebuf') - silent exe 'bwipe ' . s:wipebuf -endif -unlet! s:wipebuf -set winheight=1 winwidth=20 shortmess=filnxtToO -let s:sx = expand(":p:r")."x.vim" -if file_readable(s:sx) - exe "source " . fnameescape(s:sx) -endif -let &so = s:so_save | let &siso = s:siso_save -doautoall SessionLoadPost -unlet SessionLoad -" vim: set ft=vim : diff --git a/pit-swing/stacktrace.log b/pit-swing/stacktrace.log deleted file mode 100644 index e69de29..0000000 diff --git a/pit-swing/test/fest/com/jdbernard/pit/swing/NewIssueDialogTestTests.groovy b/pit-swing/test/fest/com/jdbernard/pit/swing/NewIssueDialogTestTests.groovy deleted file mode 100644 index c865a7c..0000000 --- a/pit-swing/test/fest/com/jdbernard/pit/swing/NewIssueDialogTestTests.groovy +++ /dev/null @@ -1,33 +0,0 @@ -package com.jdbernard.pit.swing - - - -import org.fest.swing.fixture.* -import griffon.test.FestSwingTestCase - -import javax.swing.JDialog - -class NewIssueDialogTestTests extends FestSwingTestCase { - // instance variables: - // app - current application - // window - value returned from initWindow() - // defaults to app.appFrames[0] - - JDialog newIssueDialog - - void testSomething() { - - } - - protected void onSetUp() throws Exception { - println app.appFrames - } - - protected void onTearDown() throws Exception { } - - /* - protected FrameFixture initWindow() { - return new FrameFixture(app.appFrames[0]) - } - */ -} diff --git a/pit-swing/test/integration/NewIssueDialogTests.groovy b/pit-swing/test/integration/NewIssueDialogTests.groovy deleted file mode 100644 index 6dbfb11..0000000 --- a/pit-swing/test/integration/NewIssueDialogTests.groovy +++ /dev/null @@ -1,10 +0,0 @@ -import griffon.util.IGriffonApplication - -class NewIssueDialogTests extends GroovyTestCase { - - IGriffonApplication app - - void testSomething() { - - } -} diff --git a/pit-swing/test/integration/PITTests.groovy b/pit-swing/test/integration/PITTests.groovy deleted file mode 100644 index 67250cd..0000000 --- a/pit-swing/test/integration/PITTests.groovy +++ /dev/null @@ -1,10 +0,0 @@ -import griffon.util.IGriffonApplication - -class PITTests extends GroovyTestCase { - - IGriffonApplication app - - void testSomething() { - - } -} diff --git a/pit-swing/test/integration/PitSwingTests.groovy b/pit-swing/test/integration/PitSwingTests.groovy deleted file mode 100644 index a2a1f8c..0000000 --- a/pit-swing/test/integration/PitSwingTests.groovy +++ /dev/null @@ -1,10 +0,0 @@ -import griffon.util.IGriffonApplication - -class PitSwingTests extends GroovyTestCase { - - IGriffonApplication app - - void testSomething() { - - } -} diff --git a/pit-swing/test/integration/ProjectPanelTests.groovy b/pit-swing/test/integration/ProjectPanelTests.groovy deleted file mode 100644 index 5a71def..0000000 --- a/pit-swing/test/integration/ProjectPanelTests.groovy +++ /dev/null @@ -1,10 +0,0 @@ -import griffon.util.IGriffonApplication - -class ProjectPanelTests extends GroovyTestCase { - - IGriffonApplication app - - void testSomething() { - - } -} diff --git a/pit-swing/test/integration/pit/swing/NewIssueDialogTests.groovy b/pit-swing/test/integration/pit/swing/NewIssueDialogTests.groovy new file mode 100644 index 0000000..f80ceff --- /dev/null +++ b/pit-swing/test/integration/pit/swing/NewIssueDialogTests.groovy @@ -0,0 +1,20 @@ +package pit.swing + +import griffon.core.GriffonApplication +import griffon.test.* + +class NewIssueDialogTests extends GriffonUnitTestCase { + GriffonApplication app + + protected void setUp() { + super.setUp() + } + + protected void tearDown() { + super.tearDown() + } + + void testSomething() { + + } +} diff --git a/pit-swing/test/integration/pit/swing/PITests.groovy b/pit-swing/test/integration/pit/swing/PITests.groovy new file mode 100644 index 0000000..94994a6 --- /dev/null +++ b/pit-swing/test/integration/pit/swing/PITests.groovy @@ -0,0 +1,20 @@ +package pit.swing + +import griffon.core.GriffonApplication +import griffon.test.* + +class PITests extends GriffonUnitTestCase { + GriffonApplication app + + protected void setUp() { + super.setUp() + } + + protected void tearDown() { + super.tearDown() + } + + void testSomething() { + + } +} diff --git a/pit-swing/test/integration/pit/swing/PitSwingTests.groovy b/pit-swing/test/integration/pit/swing/PitSwingTests.groovy new file mode 100644 index 0000000..2744ef3 --- /dev/null +++ b/pit-swing/test/integration/pit/swing/PitSwingTests.groovy @@ -0,0 +1,20 @@ +package pit.swing + +import griffon.core.GriffonApplication +import griffon.test.* + +class PitSwingTests extends GriffonUnitTestCase { + GriffonApplication app + + protected void setUp() { + super.setUp() + } + + protected void tearDown() { + super.tearDown() + } + + void testSomething() { + + } +} diff --git a/pit-swing/test/integration/pit/swing/ProjectPanelTests.groovy b/pit-swing/test/integration/pit/swing/ProjectPanelTests.groovy new file mode 100644 index 0000000..2eb3471 --- /dev/null +++ b/pit-swing/test/integration/pit/swing/ProjectPanelTests.groovy @@ -0,0 +1,20 @@ +package pit.swing + +import griffon.core.GriffonApplication +import griffon.test.* + +class ProjectPanelTests extends GriffonUnitTestCase { + GriffonApplication app + + protected void setUp() { + super.setUp() + } + + protected void tearDown() { + super.tearDown() + } + + void testSomething() { + + } +} diff --git a/pit-swing/wrapper/griffon-wrapper.jar b/pit-swing/wrapper/griffon-wrapper.jar new file mode 100644 index 0000000..93aa4fd Binary files /dev/null and b/pit-swing/wrapper/griffon-wrapper.jar differ diff --git a/pit-swing/wrapper/griffon-wrapper.properties b/pit-swing/wrapper/griffon-wrapper.properties new file mode 100644 index 0000000..734a3d6 --- /dev/null +++ b/pit-swing/wrapper/griffon-wrapper.properties @@ -0,0 +1,8 @@ +distributionBase=GRIFFON_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRIFFON_USER_HOME +distributionVersion=0.9 +zipStorePath=wrapper/dists +urlRoot=http\://dist.codehaus.org/griffon +distributionName=griffon +distributionClassifier=bin diff --git a/version.properties b/version.properties index 3b976ed..9d9db1b 100644 --- a/version.properties +++ b/version.properties @@ -1 +1 @@ -application.version=2.5.0 +application.version=2.5.1