Still updating pit-swing.

This commit is contained in:
Jonathan Bernard 2010-03-09 00:28:26 -06:00
parent cd8cdf02a4
commit fcec66de70
8 changed files with 742 additions and 50 deletions

View File

@ -1,5 +1,8 @@
package com.jdbernard.pit.swing package com.jdbernard.pit.swing
import com.jdbernard.pit.Category
import com.jdbernard.pit.Status
class NewIssueDialogController { class NewIssueDialogController {
// these will be injected by Griffon // these will be injected by Griffon
def model def model

View File

@ -66,18 +66,17 @@ class PITController {
newMVC.model.id = projectDir.canonicalPath newMVC.model.id = projectDir.canonicalPath
// still not unique? // still not unique?
if (projectPanelMVC[(newMVC.model.id)]) { if (model.projectPanelMVCs[(newMVC.model.id)]) {
// first time this has happened? // first time this has happened?
if (!projectIdMap[(newMVC.model.id)]) if (!model.projectIdMap[(newMVC.model.id)])
projectIdMap[(newMVC.model.id)] = 0 model.projectIdMap[(newMVC.model.id)] = 0
// no? increment // no? increment
else projectIdMap[(newMVC.model.id)] = else model.projectIdMap[(newMVC.model.id)] =
projectIdMap[(newMVC.model.id)] + 1 model.projectIdMap[(newMVC.model.id)] + 1
// use our new, unique id // use our new, unique id
newMVC.model.id = projectDir.name + newMVC.model.id += "-" + model.projectIdMap[(newMVC.model.id)]
projectIdMap[(newMVC.model.id)]
} }
} }
@ -85,6 +84,12 @@ class PITController {
view.mainTabbedPane.addTab(newMVC.model.id, newMVC.view.panel) view.mainTabbedPane.addTab(newMVC.model.id, newMVC.view.panel)
} }
def closeProject = { evt = null ->
model.projectPanelMVCs.remove(view.mainTabbedPane.getTitleAt(
view.mainTabbedPane.selectedIndex))
view.mainTabbedPane.remove(view.mainTabbedPane.selectedComponent)
}
def shutdown = { evt = null -> def shutdown = { evt = null ->
app.shutdown() app.shutdown()
} }

View File

@ -16,7 +16,9 @@ class ProjectPanelController {
def view def view
void mvcGroupInit(Map args) { void mvcGroupInit(Map args) {
view.projectTree.model = new DefaultTreeModel(makeNodes(model.rootProject)) //model.rootProject = args.rootProject
view.projectTree.model = new DefaultTreeModel(
makeNodes(model.rootProject))
} }
/** /**
@ -91,13 +93,13 @@ class ProjectPanelController {
} }
def newIssue = { evt = null -> def newIssue = { evt = null ->
newIssueDialogMVC.controller.show() model.newIssueDialogMVC.controller.show()
if (newIssueDialogMVC.model.accept) { if (model.newIssueDialogMVC.model.accept) {
def nidmodel = newIssueDialodMVC.model def nidModel = model.newIssueDialogMVC.model
def issueText = "" def issueText = nidModel.text
if (model.templates[(nidModel.category)]) { if (model.mainMVC.model.templates[(nidModel.category)]) {
issueText = model.templates[(nidModel.category)] issueText = model.mainMVC.model.templates[(nidModel.category)]
issueText = issueText.replaceFirst(/TITLE/, issueText = issueText.replaceFirst(/TITLE/,
nidModel.text) nidModel.text)
} }

View File

@ -6,25 +6,22 @@ import com.jdbernard.pit.Project
import groovy.beans.Bindable import groovy.beans.Bindable
class ProjectPanelModel { class ProjectPanelModel {
def mainMVC
// other GUI components
def mainMVC
def newIssueDialogMVC
// data owned by this panel
String id
@Bindable Project rootProject @Bindable Project rootProject
@Bindable Project popupProject = null
@Bindable Project selectedProject = null
@Bindable Issue popupIssue = null
// cache the ListModels // cache the ListModels
def projectListModels = [:] def projectListModels = [:]
@Bindable Project popupProject = null
@Bindable Project selectedProject = null
@Bindable Issue popupIssue = null
// filter for projects and issues
Filter filter
def newIssueDialogMVC
String id
def issueCellRenderer def issueCellRenderer
// local filter for projects and issues
Filter filter
} }

View File

@ -15,8 +15,7 @@ dialog = dialog(title: 'New Task...', modal: true, pack: true,
insets: [5, 5, 0, 5], fill: GBC.HORIZONTAL)) insets: [5, 5, 0, 5], fill: GBC.HORIZONTAL))
titleTextField = textField( titleTextField = textField(
constraints: gbc(gridx: 0, gridy: 1, gridwidth: 3, constraints: gbc(gridx: 0, gridy: 1, gridwidth: 3,
insets: [0, 10, 0, 5], fill: GBC.HORIZONTAL), insets: [0, 10, 0, 5], fill: GBC.HORIZONTAL))
keyTyped: { model.text = titleTextField.text })
label('Category:', label('Category:',
constraints: gbc(gridx: 0, gridy: 2, insets: [5, 5, 0, 0], constraints: gbc(gridx: 0, gridy: 2, insets: [5, 5, 0, 0],
@ -26,7 +25,7 @@ dialog = dialog(title: 'New Task...', modal: true, pack: true,
fill: GBC.HORIZONTAL), fill: GBC.HORIZONTAL),
model: new DefaultComboBoxModel(Category.values()), model: new DefaultComboBoxModel(Category.values()),
editable: false, editable: false,
itemStateChanged: { model.category = categoryComboBox.selectedValue }) itemStateChanged: { model.category = categoryComboBox.selectedItem })
label('Status:', label('Status:',
constraints: gbc(gridx: 0, gridy: 3, insets: [5, 5, 0, 0], constraints: gbc(gridx: 0, gridy: 3, insets: [5, 5, 0, 0],
@ -36,7 +35,7 @@ dialog = dialog(title: 'New Task...', modal: true, pack: true,
fill: GBC.HORIZONTAL), fill: GBC.HORIZONTAL),
model: new DefaultComboBoxModel(Status.values()), model: new DefaultComboBoxModel(Status.values()),
editable: false, editable: false,
itemStateChanged: { model.status = statusComboBox.selectedValue }) itemStateChanged: { model.status = statusComboBox.selectedItem })
label('Priority (0-9, 0 is highest priority):', label('Priority (0-9, 0 is highest priority):',
constraints: gbc(gridx: 0, gridy: 4, insets: [5, 5, 0, 0], constraints: gbc(gridx: 0, gridy: 4, insets: [5, 5, 0, 0],
@ -56,6 +55,7 @@ dialog = dialog(title: 'New Task...', modal: true, pack: true,
anchor: GBC.EAST)) anchor: GBC.EAST))
button('Create Issue', button('Create Issue',
actionPerformed: { actionPerformed: {
model.text = titleTextField.text
model.accept = true model.accept = true
dialog.visible = false dialog.visible = false
}, },

View File

@ -26,6 +26,13 @@ actions {
closure: controller.openProject closure: controller.openProject
) )
action(
id: 'closeProject',
name: 'Close',
enabled: bind { projectPanelMVCs.size() > 0 },
closure: controller.closeProject
)
action( action(
id: 'shutdown', id: 'shutdown',
name: 'Exit', name: 'Exit',
@ -62,6 +69,8 @@ frame = application(title:'Personal Issue Tracker',
menuBar() { menuBar() {
menu("File") { menu("File") {
menuItem(openProject) menuItem(openProject)
menuItem(closeProject)
separator()
menuItem(shutdown) menuItem(shutdown)
} }

View File

@ -37,7 +37,7 @@ actions {
id: 'deleteProject', id: 'deleteProject',
name: 'Delete Project', name: 'Delete Project',
closure: controller.deleteProject, closure: controller.deleteProject,
enabled: bind {model.selectedProject != null } enabled: bind { model.selectedProject != null }
) )
action ( action (
@ -47,6 +47,7 @@ actions {
closure: controller.deleteProject, closure: controller.deleteProject,
enabled: bind { model.popupProject != null } enabled: bind { model.popupProject != null }
) )
action ( action (
id: 'deleteIssue', id: 'deleteIssue',
name: 'Delete Issue', name: 'Delete Issue',
@ -75,7 +76,7 @@ issuePopupMenu = popupMenu() {
menuItem(deleteIssuePop) menuItem(deleteIssuePop)
separator() separator()
menu('Change Category') { menu('Change Category', enabled: bind { model.popupIssue != null }) {
Category.values().each { category -> Category.values().each { category ->
menuItem(category.toString(), menuItem(category.toString(),
icon: model.mainMVC.model.categoryIcons[(category)], icon: model.mainMVC.model.categoryIcons[(category)],
@ -88,7 +89,7 @@ issuePopupMenu = popupMenu() {
} }
} }
menu('Change Status') { menu('Change Status', enabled: bind { model.popupIssue != null }) {
Status.values().each { status -> Status.values().each { status ->
menuItem(status.toString(), menuItem(status.toString(),
icon: model.mainMVC.model.statusIcons[(status)], icon: model.mainMVC.model.statusIcons[(status)],
@ -122,6 +123,7 @@ issuePopupMenu = popupMenu() {
// main split view // main split view
panel = splitPane(orientation: JSplitPane.HORIZONTAL_SPLIT, panel = splitPane(orientation: JSplitPane.HORIZONTAL_SPLIT,
// dividerLocation: bind(source: model.mainModel, property: dividerLocation), // dividerLocation: bind(source: model.mainModel, property: dividerLocation),
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)) { weightx: 2, weighty: 2)) {
@ -161,9 +163,6 @@ panel = splitPane(orientation: JSplitPane.HORIZONTAL_SPLIT,
evt.x, evt.y) evt.x, evt.y)
} }
}) })
projectTree.model = new DefaultTreeModel(
new DefaultMutableTreeNode())
projectTree.rootVisible = false
projectTree.selectionModel.selectionMode = projectTree.selectionModel.selectionMode =
TreeSelectionModel.SINGLE_TREE_SELECTION TreeSelectionModel.SINGLE_TREE_SELECTION
@ -217,6 +216,7 @@ panel = splitPane(orientation: JSplitPane.HORIZONTAL_SPLIT,
sourceValue: { issueList.selectedValue != null })) sourceValue: { issueList.selectedValue != null }))
} }
scrollPane(constraints: "bottom") { scrollPane(constraints: "bottom") {
issueTextArea = textArea( issueTextArea = textArea(
wrapStyleWord: true, wrapStyleWord: true,

View File

@ -40,7 +40,10 @@ badd +1 griffon-app/conf/Application.groovy
badd +1 griffon-app/conf/Config.groovy badd +1 griffon-app/conf/Config.groovy
badd +3 src/com/jdbernard/pit/swing/IssueListCellRenderer.groovy badd +3 src/com/jdbernard/pit/swing/IssueListCellRenderer.groovy
badd +15 src/main/com/jdbernard/pit/swing/IssueListCellRenderer.groovy badd +15 src/main/com/jdbernard/pit/swing/IssueListCellRenderer.groovy
badd +0 griffon-app/lifecycle/Initialize.groovy badd +1 griffon-app/lifecycle/Initialize.groovy
badd +1 griffon-app/models/com/jdbernard/pit/swing/NewIssueDialogModel.groovy
badd +0 griffon-app/controllers/com/jdbernard/pit/swing/NewIssueDialogController.groovy
badd +0 griffon-app/views/com/jdbernard/pit/swing/NewIssueDialogView.groovy
args griffon-app/models/com/jdbernard/pit/swing/PITModel.groovy args griffon-app/models/com/jdbernard/pit/swing/PITModel.groovy
edit griffon-app/models/com/jdbernard/pit/swing/PITModel.groovy edit griffon-app/models/com/jdbernard/pit/swing/PITModel.groovy
set splitbelow splitright set splitbelow splitright
@ -56,9 +59,9 @@ set nosplitbelow
set nosplitright set nosplitright
wincmd t wincmd t
set winheight=1 winwidth=1 set winheight=1 winwidth=1
exe '1resize ' . ((&lines * 14 + 30) / 60) exe '1resize ' . ((&lines * 21 + 40) / 81)
exe 'vert 1resize ' . ((&columns * 91 + 91) / 182) exe 'vert 1resize ' . ((&columns * 91 + 91) / 182)
exe '2resize ' . ((&lines * 42 + 30) / 60) exe '2resize ' . ((&lines * 56 + 40) / 81)
exe 'vert 2resize ' . ((&columns * 91 + 91) / 182) exe 'vert 2resize ' . ((&columns * 91 + 91) / 182)
exe 'vert 3resize ' . ((&columns * 90 + 91) / 182) exe 'vert 3resize ' . ((&columns * 90 + 91) / 182)
argglobal argglobal
@ -157,7 +160,7 @@ setlocal nowinfixwidth
setlocal wrap setlocal wrap
setlocal wrapmargin=0 setlocal wrapmargin=0
silent! normal! zE silent! normal! zE
let s:l = 1 - ((0 * winheight(0) + 7) / 14) let s:l = 1 - ((0 * winheight(0) + 10) / 21)
if s:l < 1 | let s:l = 1 | endif if s:l < 1 | let s:l = 1 | endif
exe s:l exe s:l
normal! zt normal! zt
@ -261,7 +264,7 @@ setlocal nowinfixwidth
setlocal wrap setlocal wrap
setlocal wrapmargin=0 setlocal wrapmargin=0
silent! normal! zE silent! normal! zE
let s:l = 40 - ((0 * winheight(0) + 21) / 42) let s:l = 40 - ((0 * winheight(0) + 28) / 56)
if s:l < 1 | let s:l = 1 | endif if s:l < 1 | let s:l = 1 | endif
exe s:l exe s:l
normal! zt normal! zt
@ -365,16 +368,687 @@ setlocal nowinfixwidth
setlocal wrap setlocal wrap
setlocal wrapmargin=0 setlocal wrapmargin=0
silent! normal! zE silent! normal! zE
let s:l = 11 - ((0 * winheight(0) + 28) / 57) let s:l = 11 - ((0 * winheight(0) + 39) / 78)
if s:l < 1 | let s:l = 1 | endif if s:l < 1 | let s:l = 1 | endif
exe s:l exe s:l
normal! zt normal! zt
11 11
normal! 04l normal! 04l
wincmd w wincmd w
exe '1resize ' . ((&lines * 14 + 30) / 60) exe '1resize ' . ((&lines * 21 + 40) / 81)
exe 'vert 1resize ' . ((&columns * 91 + 91) / 182) exe 'vert 1resize ' . ((&columns * 91 + 91) / 182)
exe '2resize ' . ((&lines * 42 + 30) / 60) exe '2resize ' . ((&lines * 56 + 40) / 81)
exe 'vert 2resize ' . ((&columns * 91 + 91) / 182)
exe 'vert 3resize ' . ((&columns * 90 + 91) / 182)
tabedit 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 * 29 + 40) / 81)
exe 'vert 1resize ' . ((&columns * 91 + 91) / 182)
exe '2resize ' . ((&lines * 48 + 40) / 81)
exe 'vert 2resize ' . ((&columns * 91 + 91) / 182)
exe 'vert 3resize ' . ((&columns * 90 + 91) / 182)
argglobal
setlocal keymap=
setlocal noarabic
setlocal autoindent
setlocal balloonexpr=
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=2
setlocal imsearch=2
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) + 14) / 29)
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/PITView.groovy
setlocal keymap=
setlocal noarabic
setlocal autoindent
setlocal balloonexpr=
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=2
setlocal imsearch=2
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 = 18 - ((17 * winheight(0) + 24) / 48)
if s:l < 1 | let s:l = 1 | endif
exe s:l
normal! zt
18
normal! 0
wincmd w
argglobal
edit griffon-app/controllers/com/jdbernard/pit/swing/PITController.groovy
setlocal keymap=
setlocal noarabic
setlocal autoindent
setlocal balloonexpr=
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=2
setlocal imsearch=2
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) + 39) / 78)
if s:l < 1 | let s:l = 1 | endif
exe s:l
normal! zt
1
normal! 0
wincmd w
exe '1resize ' . ((&lines * 29 + 40) / 81)
exe 'vert 1resize ' . ((&columns * 91 + 91) / 182)
exe '2resize ' . ((&lines * 48 + 40) / 81)
exe 'vert 2resize ' . ((&columns * 91 + 91) / 182)
exe 'vert 3resize ' . ((&columns * 90 + 91) / 182)
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 * 24 + 40) / 81)
exe 'vert 1resize ' . ((&columns * 91 + 91) / 182)
exe '2resize ' . ((&lines * 53 + 40) / 81)
exe 'vert 2resize ' . ((&columns * 91 + 91) / 182)
exe 'vert 3resize ' . ((&columns * 90 + 91) / 182)
argglobal
setlocal keymap=
setlocal noarabic
setlocal autoindent
setlocal balloonexpr=
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=2
setlocal imsearch=2
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) + 12) / 24)
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 balloonexpr=
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=2
setlocal imsearch=2
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) + 26) / 53)
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 balloonexpr=
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=2
setlocal imsearch=2
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) + 39) / 78)
if s:l < 1 | let s:l = 1 | endif
exe s:l
normal! zt
1
normal! 0
wincmd w
2wincmd w
exe '1resize ' . ((&lines * 24 + 40) / 81)
exe 'vert 1resize ' . ((&columns * 91 + 91) / 182)
exe '2resize ' . ((&lines * 53 + 40) / 81)
exe 'vert 2resize ' . ((&columns * 91 + 91) / 182) exe 'vert 2resize ' . ((&columns * 91 + 91) / 182)
exe 'vert 3resize ' . ((&columns * 90 + 91) / 182) exe 'vert 3resize ' . ((&columns * 90 + 91) / 182)
tabedit griffon-app/conf/Application.groovy tabedit griffon-app/conf/Application.groovy
@ -485,7 +1159,7 @@ setlocal nowinfixwidth
setlocal wrap setlocal wrap
setlocal wrapmargin=0 setlocal wrapmargin=0
silent! normal! zE silent! normal! zE
let s:l = 16 - ((15 * winheight(0) + 28) / 57) let s:l = 16 - ((15 * winheight(0) + 39) / 78)
if s:l < 1 | let s:l = 1 | endif if s:l < 1 | let s:l = 1 | endif
exe s:l exe s:l
normal! zt normal! zt
@ -589,13 +1263,14 @@ setlocal nowinfixwidth
setlocal wrap setlocal wrap
setlocal wrapmargin=0 setlocal wrapmargin=0
silent! normal! zE silent! normal! zE
let s:l = 56 - ((55 * winheight(0) + 28) / 57) let s:l = 56 - ((55 * winheight(0) + 39) / 78)
if s:l < 1 | let s:l = 1 | endif if s:l < 1 | let s:l = 1 | endif
exe s:l exe s:l
normal! zt normal! zt
56 56
normal! 0 normal! 0
wincmd w wincmd w
2wincmd w
exe 'vert 1resize ' . ((&columns * 91 + 91) / 182) exe 'vert 1resize ' . ((&columns * 91 + 91) / 182)
exe 'vert 2resize ' . ((&columns * 90 + 91) / 182) exe 'vert 2resize ' . ((&columns * 90 + 91) / 182)
tabedit griffon-app/lifecycle/Initialize.groovy tabedit griffon-app/lifecycle/Initialize.groovy
@ -700,12 +1375,13 @@ setlocal nowinfixwidth
setlocal wrap setlocal wrap
setlocal wrapmargin=0 setlocal wrapmargin=0
silent! normal! zE silent! normal! zE
let s:l = 1 - ((0 * winheight(0) + 29) / 58) let s:l = 1 - ((0 * winheight(0) + 39) / 79)
if s:l < 1 | let s:l = 1 | endif if s:l < 1 | let s:l = 1 | endif
exe s:l exe s:l
normal! zt normal! zt
1 1
normal! 0 normal! 0
2wincmd w
tabnext 3 tabnext 3
if exists('s:wipebuf') if exists('s:wipebuf')
silent exe 'bwipe ' . s:wipebuf silent exe 'bwipe ' . s:wipebuf