Garen Torikian
2357f46761
Fix block comments in src
2013-05-01 16:58:43 -07:00
Kevin Sawicki
f417e898f6
Only call save on active item when it exists
...
Closes #529
2013-04-30 22:02:46 -07:00
Garen Torikian
e478d9b7a0
Add more corrections off of the #Internal syntax
2013-04-18 13:38:26 -07:00
Garen Torikian
4c56e8bb57
Merge branch 'master' into api/docs
2013-04-14 09:43:06 -07:00
Garen Torikian
0c5e38680d
Internalize a bunch of methods
2013-04-12 14:37:21 -05:00
Chris Wanstrath
6c4294dda9
fix typo
2013-04-10 16:59:12 -07:00
Kevin Sawicki
09b7fe72eb
Detach instead of remove when moved item is the view
...
Moving an item that extended the jQuery object between panes
was previously wiping out all jQuery data since remove() was being
called on the view item instead of detach().
2013-04-08 18:22:58 -07:00
Kevin Sawicki
2f67312a80
Don't prompt to save if buffer is opened elsewhere
...
This corrects a regression where closing an edit session that
is opened somewhere else should not prompt to save since it
won't be lost if closed immediately since it is still open in
another pane.
2013-04-08 16:30:35 -07:00
Kevin Sawicki
e3b381f638
Add RootView.eachPane(callback)
2013-04-08 13:04:50 -07:00
Nathan Sobo
38924f5bb8
Upgrade to latest space pen, as an NPM
2013-03-27 11:06:49 -04:00
Corey Johnson
44d4dc7e60
Use URI in prompt message if pane item doesn't have a title
2013-03-12 15:55:30 -07:00
Corey Johnson
9860f32d4c
Add cancel callback to promptToSaveItem
2013-03-12 15:55:30 -07:00
Corey Johnson & Nathan Sobo
06c9a3ac86
Remove empty panes when PaneContainer deserializes
2013-03-08 11:45:20 -08:00
Corey Johnson & Nathan Sobo
d84614866a
Add Pane.getNextPane
2013-03-07 14:32:10 -08:00
Corey Johnson & Nathan Sobo
4f0bf9020b
Fix pane focus and active item serialization
...
Also: Un-x root view serialization specs
2013-03-07 09:30:29 -08:00
Corey Johnson & Nathan Sobo
d4fc718e8e
Update window title when a pane item's title changes
2013-03-07 09:30:29 -08:00
Corey Johnson & Nathan Sobo
5ad53bb32c
Add restoreItem to Pane container
2013-03-07 09:30:29 -08:00
Nathan Sobo
f2e5fcc902
Move autosave from editor into panes
2013-03-07 09:30:29 -08:00
Nathan Sobo
d97e91bdcb
Make meta-# bindings work with new panes
2013-03-07 09:30:29 -08:00
Nathan Sobo
f23d9091f2
Add pane:close-other-items
2013-03-07 09:30:29 -08:00
Nathan Sobo
48c693d756
Add 'pane:close' event, which destroys all pane items.
...
Still have some issues with the presentation order of dialogs with
multiple unsaved buffers and no paths. But for the 99% case this works
as is.
2013-03-07 09:30:28 -08:00
Nathan Sobo
bb15389b66
Add 'Pane.saveItems' and corresponding event
2013-03-07 09:30:28 -08:00
Nathan Sobo
3f9ee08e76
Handle save-as on pane. Replace 'editor:save-as' w/ 'core:save-as'
...
Pane will only show the saveAs dialog if the item has a `saveAs` method.
2013-03-07 09:30:28 -08:00
Nathan Sobo
699e780e99
Handle save in panes with new 'core:save' event
2013-03-07 09:30:28 -08:00
Nathan Sobo
9f7b804a6c
Panes prompt to save modified items before destroying them
2013-03-07 09:30:27 -08:00
Corey Johnson & Nathan Sobo
ae95c04bbc
Focus next pane when removing the last pane item of a focused pane
...
Previously, removing the last pane item also ruined our ability to
determine if the pane had focus. Now, if we're removing the last item,
we instead just go ahead and remove the entire pane. Remove contains
logic to switch focus to the next pane if its active view is focused,
which works as intended if we leave the active view in place.
2013-03-07 09:30:26 -08:00
Corey Johnson & Nathan Sobo
52b649dca5
Preserve focus when switching between pane items
...
If the pane is currently focused, when showing a view associated with
a new item, focus that view.
2013-03-07 09:30:26 -08:00
Nathan Sobo
fab3b4564e
Add Pane.moveItemToPane specs. Fix bug moving the last edit session.
2013-03-07 09:30:25 -08:00
Nathan Sobo
0238061fa2
Make tab drag & drop work with new panes system
2013-03-07 09:30:25 -08:00
Nathan Sobo
7aba839dac
Fix exception when pane items with no view are removed from the pane
2013-03-07 09:30:24 -08:00
Nathan Sobo
2e2ff3a1d0
Add Pane.destroyItem and rename removeActiveItem -> destroyActiveItem
...
Pane.removeItem removes an item, but no longer tries to call destroy
on it. This will facilitate moving items between panes.
2013-03-07 09:30:24 -08:00
Nathan Sobo
4a7e5b74c6
Make sure a pane view is showing before assigning its model object
2013-03-07 09:30:24 -08:00
Nathan Sobo
887b5ea007
Add Pane.moveItem(item, index)
...
This is the precursor to supporting drag/drop of tabs within and
between panes.
2013-03-07 09:30:24 -08:00
Nathan Sobo
5240d9989f
Pane emits 'pane:item-removed' events
2013-03-07 09:30:23 -08:00
Nathan Sobo
dd120663b7
Pane emits 'pane:item-added' events
2013-03-07 09:30:23 -08:00
Nathan Sobo
a40d05f6ee
Rename Pane.currentItem/View to activeItem/View
2013-03-07 09:30:23 -08:00
Nathan Sobo
15d8a6cada
Simplify pane:active-item-changed events
...
Panes now trigger an event every time their active item changes,
regardless of whether the pane itself is active. Panes also trigger
events when the become active and when they are removed. The rootView
now scopes its active-item-changed event listener only to active panes,
and also listens to listens to pane activation and removal events to
update the title when switching active panes and removing the last
pane.
2013-03-07 09:30:23 -08:00
Nathan Sobo
892ff0c51f
Add PaneContainer.eachPane
...
It calls the given callback with all current and future panes
2013-03-07 09:30:23 -08:00
Kevin Sawicki & Nathan Sobo
3ae9c10ff5
Trigger 'pane:active-item-changed' w/ null when last pane is removed
2013-03-07 09:30:22 -08:00
Kevin Sawicki & Nathan Sobo
161ed69ef0
When a pane is removed, focus/activate the next pane
2013-03-07 09:30:22 -08:00
Kevin Sawicki & Nathan Sobo
4a6f05ae4e
Trigger 'pane:active-item-changed' on Pane
...
This event is triggered when the item changes on the active pane, or
when a different pane becomes active.
Also: Pane now sets itself as the active pane, rather than letting
PaneContainer handle the focusin event.
2013-03-07 09:30:22 -08:00
Kevin Sawicki & Nathan Sobo
ad62f896bc
Make Pane maintain a currentView pointer based on its current item
2013-03-07 09:30:21 -08:00
Nathan Sobo
486baa393b
PaneContainer.getActivePane returns the most recently focused pane
2013-03-07 09:28:52 -08:00
Nathan Sobo
2ba63e608f
Don't allow core:close event to bubble out of Pane
2013-03-07 09:28:52 -08:00
Nathan Sobo
bd8ec81b1e
Make Pane close the current item when handling 'core:close' event
2013-03-07 09:28:52 -08:00
Nathan Sobo
11a702a2a6
Remove pane when its last item is removed
2013-03-07 09:28:52 -08:00
Nathan Sobo
7d147dd2ce
Make Pane handle split commands instead of Editor
2013-03-07 09:28:52 -08:00
Nathan Sobo
fee835f899
Add a PaneContainer subview for RootView
...
PaneContainer is responsible for all pane-related logic. Laying them
out, switching focus between them, etc. This should help make RootView
simpler and keep pane-layout related tests in their own focused area.
2013-03-07 09:28:52 -08:00
Nathan Sobo
0c2a5f273c
Enhance pane split methods. Spec them in pane-spec.
...
When a pane is split, it attempts to make a copy of its current item
if no items are passed to the split method. When splitting, multiple
items can also be passed to the constructor of the new pane.
2013-03-07 09:28:52 -08:00
Nathan Sobo
568fcf441e
Pane serializes its serializable items
2013-03-07 09:28:52 -08:00