Nathan Sobo
bb8b3782b9
Serialize package states independently of RootView
...
Previously, package specs needed to deactivate the root view to test
their package serialization. Now, specs can just deactivate and then
reactivate the package, relying on serialization infrastructure that's
independent of the lifecycle of the RootView.
2013-03-26 17:35:42 -06:00
Nathan Sobo
f5774972e9
Add atom.deactivatePackage(id)
...
It serializes the package state to the atom.packageStates hash when
the package is deactivated, which means we will be able to test
package serialization independent of the overall window lifecycle by
just deactivating and re-activating the package.
2013-03-26 17:35:42 -06:00
Kevin Sawicki & Nathan Sobo
501dc9b76c
Merge remote-tracking branch 'origin/master' into cefode
...
Conflicts:
native/v8_extensions/native.mm
spec/app/config-spec.coffee
spec/app/window-spec.coffee
spec/spec-helper.coffee
spec/stdlib/fs-utils-spec.coffee
src/app/atom-package.coffee
src/app/config.coffee
src/app/window.coffee
src/packages/fuzzy-finder/lib/load-paths-handler.coffee
src/packages/markdown-preview/lib/markdown-preview-view.coffee
src/packages/tree-view/spec/tree-view-spec.coffee
src/stdlib/require.coffee
2013-03-20 10:46:50 -06:00
Corey Johnson
d916962a80
Defer window close events until all modified pane items are handled
...
If the user presses cancel, the close event is canceled
2013-03-12 15:55:30 -07:00
Kevin Sawicki & Nathan Sobo
1d1ba5f6d1
Use node's require instead of internal require
2013-03-12 10:38:05 -07:00
Kevin Sawicki
2212222c47
Use underscore node module
2013-03-11 11:22:36 -07:00
Corey Johnson & Nathan Sobo
0f1ffdaee8
Set the window title to 'untitled' when the active item has no title
2013-03-07 15:34:28 -08:00
Corey Johnson & Nathan Sobo
91b5c3e9c7
Make refresh work again by fixing version in RootView.serialize
2013-03-07 11:07:03 -08:00
Corey Johnson & Nathan Sobo
dba7c08f59
Add serialization version to root view
2013-03-07 09:30:30 -08:00
Corey Johnson & Nathan Sobo
6257bcf0f5
Rename root view serialization keys
2013-03-07 09:30:30 -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
c1d19c4c5c
Rename restoreItem to reopenItem on pane container
2013-03-07 09:30:29 -08:00
Corey Johnson & Nathan Sobo
ffb8bcd71d
Add pane:reopen-closed-item command
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
7ebce683c6
Move saveAll and specs to PaneContainer
...
And simplify the specs… we don't *really* need to save. We can just
ensure that save is called on everything.
2013-03-07 09:30:29 -08:00
Nathan Sobo
da986b6a6c
Fix RootView.saveAll()
2013-03-07 09:30:28 -08:00
Corey Johnson & Nathan Sobo
3bf31e440d
Remove code for setting the active editor from root view
...
Supplanted by "active pane"
2013-03-07 09:30:26 -08:00
Corey Johnson & Nathan Sobo
6157a75868
Spec changeFocus option of RootView.open and default it to true
2013-03-07 09:30:26 -08:00
Nathan Sobo
a2ddd10d31
Get fuzzy-finder specs passing w/ new panes
...
Could still probably use some cleanup and I'm not sure everything is
working correctly with regards to focus.
2013-03-07 09:30:25 -08:00
Nathan Sobo
279ebc0958
Make RootView.getModifiedBuffers work w/ new system
...
Eventually, this should probably become getModifiedPaneItems so that
all kinds of items are given an opportunity to participate in the
saving system.
2013-03-07 09:30:25 -08:00
Nathan Sobo
61fa393e03
Add indexOfPane and paneAtIndex to PaneContainer
2013-03-07 09:30:24 -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
6304bac233
Remove RootView.getActiveEditor / getActiveEditSession
...
There's a bunch broken because of this… to be continued.
2013-03-07 09:30:22 -08:00
Kevin Sawicki & Nathan Sobo
d6b85cf7e8
Base title updates on pane:active-item-changed events
2013-03-07 09:30:22 -08:00
Kevin Sawicki & Nathan Sobo
517c5022d3
Provide a default param for RootView@content when not deserializing
2013-03-07 09:30:22 -08:00
Kevin Sawicki & Nathan Sobo
80e736d4ee
Add RootView.getActiveView and .getActivePaneItem
...
They will replace getActiveEditor/getActiveEditSession
2013-03-07 09:30:22 -08:00
Kevin Sawicki & Nathan Sobo
58228f7ff7
Remove RootView.activeKeybindings method. It was dead code.
2013-03-07 09:30:22 -08:00
Nathan Sobo
4e12882478
Delegate getActivePane to the PaneContainer in RootView
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
45eec6a8ff
Get more specs passing. Failing specs due to missing features.
2013-03-07 09:28:52 -08:00
Nathan Sobo
bee1efed5c
Make RootView.open work with new Pane behavior
...
Still a bit of a WIP. Panes don't yet take the "active" class
correctly when focused.
2013-03-07 09:28:51 -08:00
Nathan Sobo
77bf3e4d74
Get root view pane specs passing
2013-03-07 09:28:51 -08:00
Nathan Sobo
beaeac4425
Rename buildEditSessionForPath to buildEditSession
...
Since this is the more external method, having a shorter name
is more convenient. The former `buildEditSession` method took a
Buffer, and is now called `buildEditSessionForBuffer`.
2013-03-07 09:28:51 -08:00
probablycorey
57b0151cd2
Remove the dev-mode css style, for now 🔜
2013-03-05 16:10:03 -08:00
probablycorey
9331b3beed
Add .dev-mode class to root view
2013-03-05 16:10:02 -08:00
Corey Johnson
44680ad50c
Revert " 💄 "
...
This reverts commit c2c4d03c2d .
2013-02-27 10:11:02 -08:00
Corey Johnson
c2c4d03c2d
💄
2013-02-27 08:51:51 -08:00
Corey Johnson & Nathan Sobo
9e8831f710
RootView.initialize no longer assigns window.rootView or calls open
2013-02-19 18:26:50 -07:00
Corey Johnson & Nathan Sobo
0b5ea8578f
Eliminate rootView.project references.
2013-02-19 18:26:50 -07:00
Nathan Sobo
7f2747ead0
Make project a global and refactor startup process
2013-02-19 18:26:50 -07:00
Nathan Sobo
7bdd51b456
Rename deserializeView to deserialize
...
In additional, rename `registerViewClass(es)` to `registerDeserializer(s)`.
This moves us to a situation where any kind of object may want to be
deserialized, not just views.
2013-02-19 09:48:40 -07:00
Nathan Sobo
d3c2623b61
Make deserializeView a global method
...
…along with `registerViewClass(es)`
2013-02-18 18:08:18 -07:00
Kevin Sawicki
07c5a94613
Remove unused packages ivar
2013-02-12 15:47:31 -08:00
Justin Palmer
b2ce4ca6d5
merge dev, fix conflicts from package rewrite
2013-02-09 20:17:29 -08:00
Justin Palmer
a1a663cd30
implement indexOfPane in RootView to get array index
...
We need something like this because jquery's el.index() doesn't work
when multiple panes are spread out among different rows and columns.
2013-02-09 19:38:55 -08:00
Corey Johnson & Kevin Sawicki
4619e1847f
Manage package lifecycle in Atom instead of in RootView
2013-02-08 17:28:08 -08:00
Corey Johnson & Kevin Sawicki
bb5778b659
Move package related data to Atom from RootView
2013-02-08 17:28:08 -08:00
Corey Johnson & Kevin Sawicki
c27489f608
Remove name parameter from RootView.activatePackage
2013-02-08 17:28:08 -08:00
Corey Johnson & Kevin Sawicki
ed0ced205b
Store packages in array instead of a hash by name
2013-02-08 17:28:08 -08:00