Nathan Sobo
9aefafb831
Use PaneContainerModel::$activePaneItem for 'active-item-changed' events
...
Yay behaviors
2014-01-09 18:58:01 -07:00
Nathan Sobo
5a3353ec28
Add PaneContainer view to deserializers
2014-01-09 18:35:16 -07:00
Nathan Sobo
e87b8dc463
Remove focusNext/PreviousPane methods from PaneContainer view
2014-01-09 18:35:01 -07:00
Nathan Sobo
60daa483e6
Include orientation when serializing PaneAxisModel
2014-01-09 18:34:09 -07:00
Nathan Sobo
cd699d8b9b
Transfer focus to the root view when the last focused pane is destroyed
2014-01-09 18:17:08 -07:00
Nathan Sobo
8647137952
Remove active status management from Pane view; rely on model instead
2014-01-09 18:00:54 -07:00
Nathan Sobo
5e1b2e2696
Manage the active pane at the model level
2014-01-09 18:00:19 -07:00
Nathan Sobo
4026e6ca5c
Properly serialize pane focus state
2014-01-09 16:09:22 -07:00
Nathan Sobo
964abd3141
Suppress blur when replacing a pane axis with its last child
...
If the pane axis contains a child pane, its temporary removal from the
DOM causes a blur event that we don't want to screw up our focused
state.
2014-01-09 16:08:52 -07:00
Nathan Sobo
5ca7ad3bce
Add spec for destroyed pane items getting removed at the model layer
2014-01-09 16:07:57 -07:00
Nathan Sobo
4dcba4bb27
Destroy remaining items when a pane is destroyed
2014-01-09 16:06:02 -07:00
Nathan Sobo
073ea84d69
Handle consequences of item removal in the model
2014-01-09 16:05:00 -07:00
Nathan Sobo
2965d2e974
Bind Pane view's focus to focus state on the model
...
It's a bit tricky… we don't want to blur the model when focusing the
pane's active view causes a focusout event on the pane, so we use
::suppressBlur on the model to prevent it from blurring as the focus
is transferred.
2014-01-09 16:01:52 -07:00
Nathan Sobo
a67f0d4d57
Make PaneModel::items an observable sequence
2014-01-09 15:53:52 -07:00
Nathan Sobo
5309d5f24d
Add ability to suppress blur on all focusable objects in a focus context
...
When a view receives a 'focusout' event, we relay that to the model by
calling ::blur. This is great for when users initiate the change in
focus, but 'focusout' events can *also* be caused by elements being
temporarily detached from the DOM.
The ::suppressBlur method gives the ability to ignore blur calls during
a certain operation. This is helpful, for example, when we want to
detach a model and reattach it somewhere else without changing its focus
state.
2014-01-09 15:46:32 -07:00
Nathan Sobo
af3ca57094
Make focus state distinct until changed on Focusable objects
2014-01-09 15:43:05 -07:00
Nathan Sobo
466868e639
Fix access to undefined root property
...
The ::filterDefined transform unfortunately doesn't prevent an undefined
initial value when applied to behaviors.
2014-01-09 12:19:01 -07:00
Nathan Sobo
2317c6835e
At the model layer: Focus next pane when a focused pane is destroyed
...
This incorporates the Focusable mixin into PaneModel and ensures that
all panes in the same pane container share a single focus context.
2014-01-09 12:19:01 -07:00
Nathan Sobo
4e99d003ee
Add Focusable mixin and FocusContext
...
Focusable objects have ::focus and ::blur methods and a ::focused
property. Focusable objects can be assigned a ::focusContext, and the
::focused property will only be true for at most one object with the
same context.
2014-01-09 12:19:01 -07:00
Nathan Sobo
1a5e10c1d2
Focus the new pane when splitting
2014-01-09 12:19:01 -07:00
Nathan Sobo
8efcb1abfa
Remove pane splitting/unsplitting logic from view
...
There's still some failing specs around focus management, but it's
getting closer.
2014-01-09 12:19:01 -07:00
Nathan Sobo
f031a9706d
Support unsplitting in the model layer
2014-01-09 12:19:01 -07:00
Nathan Sobo
eb7f3ff5af
Support splitting at the model layer
...
Splitting in the view will need to be removed and mapped to splits in
the model.
2014-01-09 12:19:00 -07:00
Nathan Sobo
bb595ab08a
Start adding PaneAxisModel
2014-01-09 12:19:00 -07:00
Nathan Sobo
101326a130
Upgrade theorist to 0.9.0 for sequences
2014-01-09 12:18:56 -07:00
Nathan Sobo
ad60594c13
Add mixto module
2014-01-09 12:12:22 -07:00
probablycorey
99a67ca1ab
Remove focused spec
2014-01-08 16:37:57 -08:00
Corey Johnson
9dc1758d76
Merge pull request #1378 from atom/cj-flexbox-panes
...
This replaces custom pane resizing with flexbox
2014-01-08 16:36:41 -08:00
probablycorey
196942d126
Rename .row and .column in pane specs
2014-01-08 16:31:56 -08:00
probablycorey
d908c8b026
Use absolute divs to limit repaints on keypresses
2014-01-08 14:31:46 -08:00
probablycorey
6f766acac8
Rename .row and .column to .pane-row and .pane-column
...
Bootstrap's .row and .column css was influencing our pane rows and
columns.
2014-01-08 14:30:33 -08:00
probablycorey
7eba9d3a23
Use flexbox to arrange panes
2014-01-08 14:29:32 -08:00
probablycorey
0471619269
Merge remote-tracking branch 'origin/master' into cj-ns-pane-models
2014-01-08 11:44:31 -08:00
probablycorey
d8ba8f13d8
Update dev-live-reload
2014-01-08 11:28:03 -08:00
Corey Johnson
c089429c14
Merge pull request #1367 from atom/cj-error-event
...
Add error event to atom global
2014-01-08 11:17:04 -08:00
probablycorey
b22f850e03
Update status bar
2014-01-08 11:16:08 -08:00
Kevin Sawicki
cf47ee5063
Only call _.isEqual when needed
...
Invert the logic to return if all are equal so we can fall through
on the first false call so only the minimum isEqual calls are made.
Also perform the boolean check first instead of last since it
cheaper than a Point comparison.
This showed up in the profile when profiling moving the cursor.
2014-01-08 10:59:39 -08:00
Kevin Sawicki
9d6a01d11c
Use slice to clone array
2014-01-08 10:59:39 -08:00
Nathan Sobo
bcf9dfd236
Merge pull request #1371 from atom/ns-text-buffer-cleanup
...
Clean up TextBuffer
2014-01-08 10:38:09 -08:00
Nathan Sobo
c281eb9596
Move serialization of focus into PaneModel
2014-01-08 11:23:06 -07:00
Nathan Sobo
2acde6a727
Call super
in constructor to assign PaneModel properties
...
The theorist model superclass constructor will automatically assign
all declared properties, or substitute the specified default value if
no param key is present for that property.
2014-01-08 11:21:00 -07:00
Nathan Sobo
ee9b78afb6
Move copyActiveItem to PaneModel
2014-01-08 11:14:02 -07:00
Nathan Sobo
a379d47230
Move methods related to item destruction and saving to PaneModel
2014-01-08 11:12:27 -07:00
Nathan Sobo
57c23e1b5f
Merge remote-tracking branch 'origin/master' into ns-text-buffer-cleanup
2014-01-08 10:53:19 -07:00
Nathan Sobo
f8d959ae16
Upgrade to text-buffer 0.12.0
...
* Drop deprecation of insert/append/delete. The method names will remain
short.
* Replace ::getLastPosition with ::getEndPosition
2014-01-08 10:53:07 -07:00
Kevin Sawicki
13abb28486
Upgrade to bracket-matcher@0.16.0
2014-01-07 19:54:39 -08:00
Kevin Sawicki
717704c8ed
Upgrade to tree-view@0.58.0
2014-01-07 19:54:12 -08:00
Nathan Sobo
17947d0f99
Enable harmony proxies
...
I want to use these in the pane-models branch, so it will be helpful
if they are enabled in atom stable since it's an atom-shell level
setting.
2014-01-07 19:22:22 -07:00
Nathan Sobo
626e22e4ae
Avoid exceptions when a live editor is compared with a destroyed one
2014-01-07 18:45:18 -07:00
Corey Johnson & Nathan Sobo
5837b7cfda
Move methods related to item movement to PaneModel
2014-01-07 18:39:39 -07:00