Commit Graph

259 Commits

Author SHA1 Message Date
Ian Gilman
e2e235da48 + We're now keeping track of item locations independently of their divs
+ Renamed Group._container to .container (which it now inherits from Item)
+ Added Item.debug flag which turns on rectangles for debugging item locations
+ further unified dragging tabs vs dragging groups
+ Further unified the Group and TabItem objects under Item
2010-04-01 17:20:59 -07:00
Dan Walkowski
e08eafa5e9 added drop feedback when creating a new group, which looks like a group, and then animates into the final arranged shape. 2010-04-01 17:19:21 -07:00
Ian Gilman
b1a40eb037 + merge from depot 2010-03-31 17:26:12 -07:00
Ian Gilman
8069990044 + font size for tab names now scales properly
+ tabs now return to their proper size when you pull them out of a group
+ you can now nest groups inside of other groups (though all of the funky repercussions haven't been sorted out yet)
2010-03-31 17:24:16 -07:00
Dan Walkowski
96b96cbc69 cleaned up drag/drop code 2010-03-31 16:16:42 -07:00
Ian Gilman
5609479f4b + Cleaned up various close and remove routines (the close group feature wasn't working properly)
+ Improved Tabs.tab() (though it's still kind of a hack); new tabs weren't being hooked up properly
2010-03-30 11:05:53 -07:00
Ian Gilman
37d91cbe03 + The Grid and Sites features now work properly 2010-03-29 17:23:35 -07:00
Ian Gilman
e01094fc6f + Group and TabItem now inherit from Item (currently the pushAway routine and isAnItem property)
+ Group._children is now an array of Items (rather than DOM elements)
+ Groups and tabs now push other items away when they're moved, and groups also do so when resized
+ The Groups object now keeps an array of groups. This is more robust than counting DOM elements, for instance when a group is fading away (you want to act like it doesn't exist, even though its DOM element is still on the screen)
+ Documented the Item interface in items.js
+ lots of miscellaneous refinements to the code
2010-03-29 16:08:48 -07:00
Ian Gilman
2317d8a07b + Removed Group.create() and made it the constructor instead
+ Added Group to window
+ Moved window.Items into items.js
+ Moved window.TabItem into tabitems.js and added a window.TabItems, which is largely the mod routine pulled from ui.js
2010-03-29 11:55:13 -07:00
Ian Gilman
0217c353db + Branched the shared groups stuff into copies just for revision-a; we've got a bunch of work to do, and it's not worth trying to keep all of the other candies compatible at the moment.
+ Added jquery.lint to revision-a. Haven't caught anything yet, but seems like it could be helpful.
+ More fiddling with the resizer css

--HG--
rename : browser/themes/pinstripe/browser/tabcandy/shared/resizer.png => browser/themes/pinstripe/browser/tabcandy/resizer.png
2010-03-29 11:16:18 -07:00
Aza Raskin
7ce7aa8ddd + Made the resizer graphic URL absolute instead of relative so that it works in any candy.
+ Removed some vestigial code.
2010-03-26 14:43:58 -07:00
Ian Gilman
bd1e148191 + First working draft of tabs and groups getting pushed out of the way by the creation of a new group
+ The grid feature now removes all the tabs from their groups beforehand; it doesn't restore tab sizes properly yet
+ You can now rearrange tabs inside a group
+ More geometry:
++ The Rect constructor now accepts either coordinates or another Rect
++ Rect.inset now accepts either coordinates or a Point
++ New functions: Rect.offset and Rect.equals
2010-03-26 11:34:09 -07:00
Ian Gilman
721d8fb727 + moved groups.js and resizer.png to shared locations
+ more work on groups pushing things out of the way
+ some steps toward having groups and tabs share an interface
+ more geometry: we now have a point class, and the rect class now has center and intersect routines

--HG--
rename : content/candies/zoomgroups/gfx/resizer.png => browser/themes/pinstripe/browser/tabcandy/shared/resizer.png
2010-03-25 17:22:45 -07:00
Ian Gilman
2a8a83ae4b + merged aza's merge of my merge 2010-03-24 16:55:45 -07:00
Ian Gilman
25674dab26 + Removed the margin from the tabs; we need to handle buffers more explicitly
+ You can no longer launch into a tab by right clicking it
+ A group's close box now works
+ A group's title bar now works again (silly css misunderstanding)
+ Added a basic Rect object to utils.js, and a getBounds routine for retrieving the bounds of a DOM element
+ The Utils logging routines no longer expand functions (instead just saying that it's a function)
2010-03-24 16:54:48 -07:00
aza@host-7-5.mv.mozilla.com
929cab0570 + Merged Ian's code into our local files
+ Added position-dependent additions to gropus.
2010-03-24 16:27:56 -07:00
Ian Gilman
42c71cfed7 + finally doing an old merge that's been waiting
--HG--
rename : content/candies/original/index.html => content/candies/revision-a/index.html
2010-03-24 15:00:30 -07:00
Ian Gilman
d808f74d98 + Attempting to merge 2010-03-24 14:46:10 -07:00
Ian Gilman
d7fba2f71d + Removed search box
+ It's no longer possible to accidentally launch into a tab by dragging the mouse and ending up on a tab. Same for close boxes
+ It's no longer possible to add a tab to a group twice (by dragging it around inside the group)
+ When a tab inside a group is closed, it's removed from the group. If it's the last in the group, the group goes away
+ Refactored mirror code to make mirror objects first-class citizens
+ Added a utility routine for determining if an object is a jQuery object (couldn't find one in jQuery itself)
2010-03-24 14:38:23 -07:00
aza@host-7-5.mv.mozilla.com
83a9abc787 Updated the group code to have a sane arrangement algorithm. 2010-03-24 14:17:05 -07:00
Ian Gilman
fac7d26de4 + Created "revision-a" candy, mostly based on original, but with some additions from ian1
--HG--
rename : content/candies/original/index.html => content/candies/revision-a/index.html
2010-03-24 10:34:25 -07:00
aza@localhost
7e1eaa41df + Added the ability for Groups to assume any shape 2010-03-23 18:16:19 -07:00
aza@localhost
f1f5e4e00f + Reverted from CSS-Transitions to jQuery Animations. There were just too many errors using Firefox 3.7 (like that new tabs stopped appearing, and closed tabs stopped dissapearing!)
+ Removed some un-needed code that dealt with old-style animations from both of the ui.js implementations (from ian1 and original)
+ Added code that handles zIndex went zooming
2010-03-22 19:19:40 -07:00
Ian Gilman
e4acac1338 + moved a number of the group-related styles into css/shared/groups.css. Unfortunately, I wasn't able to move everything I wanted to; Firefox 3.7 screwed up the relative URL in the resizer style, and somehow killed the position:absolute in close style (neither of those problems showed up in Firefox 3.6). At any rate, it's a step in the right direction.
+ Moved the pretty new group title bar into the original and ian1 candies, updating the close style so it works in both the tab and group contexts
+ Added forceCanvasSize and unforceCanvasSize functions to tab mirrors
+ Used the new canvas size forcing functions to make the zoom in and out happen in high resolution. Not convinced it's an improvement, especially in the reverse zoom.
+ Brought additional changes from the original candy to the ian1 candy
2010-03-22 17:12:32 -07:00
aza@More-Better-Internet.local
070d3b2780 Original Flavour: Changed animation type from jQuery to css-transition. Doesn't seem to make that much different.
Also, fixed a bug where I didn't remove the "transitionend" event handler which was causing all sorts of strange things (like zooming in on a tab when the search-box was used.
2010-03-20 11:01:45 -07:00
aza@More-Better-Internet.local
fcb47be1af ORIGINAL: Added the reverse zoom animation (for when switching back to tabcandy).
TODO: How do we get a prettier original image to zoom? How do you force a redraw?
2010-03-19 16:10:43 -07:00
aza@More-Better-Internet.local
085cb08e64 Added Tabs.onFocus back into tabs.js 2010-03-19 15:21:12 -07:00
aza@More-Better-Internet.local
05cdfebdc6 I incorrectly called css-transitions css-transforms. Fixed that. 2010-03-19 13:51:05 -07:00
aza@More-Better-Internet.local
44b3f3c637 Added a check to see if Firefox 3.7+ is being used. It is required
for css-transforms.
2010-03-19 13:46:22 -07:00
aza@More-Better-Internet.local
de1d6c1803 + Added a zoom animation using CSS transitions.
When you click on a page (both in zoomgroups and original)
  the page zooms to the foreground before the tab switch happens
  giving the appearance of having the tab zoom to life.
  Just after the switch the page resumes its normal size and
  position.

  It is so very pretty.

+ TODO: Add the reverse animation when switching back from
  a tab.
2010-03-19 13:21:21 -07:00
aza@More-Better-Internet.local
7237e2a4af Added the concept of a menu bar on mouseover.
We are now part of the way towards getting namable spaces, as well as spaces that close a number of tabs.
2010-03-18 21:49:24 -07:00
Ian Gilman
9514806be0 IAN1 CANDY:
+ Cleaned up the text location when shrunk down
+ Gave the groups rounded corners on all but the resize corner
+ Liberal use of overflow:hidden
+ Removed lasso (for now)
+ The "site" feature now uses grouping. Each site that has multiple pages gets its own group; the remaining pages are grouped together (unless there's only one remaining page, in which case it's just left alone (though maybe it should get a group too))

GROUPS:
+ Although the animation is chunky to non-existent, the Groups object now has an arrange() function that breaks the window into equal sections
+ Fixed a bug where dragging a tab within a group and dropping it again would add it  a second time. Related to this bug, found that tabs were being added to the Group._children sometimes as DOM elements and sometimes as jQuery objects. Standardized on DOM objects
+ The Group class is now available from the Groups object, so outside code can create new groups
2010-03-17 17:32:49 -07:00
Ian Gilman
0f51be4770 + merge from depot 2010-03-17 14:21:29 -07:00
Ian Gilman
2252eb8f1e + Moved my work on the stacks candy to the ian1 candy, and added groups to it
+ added automatic thumbnail repainting for resized thumbnails
+ updated the original and ian1 candies so the thumbnail scales automatically with the jquery animation of the whole tab
2010-03-17 14:06:07 -07:00
aza@More-Better-Internet.local
2ac981fad4 * Groups are now resizable!
* Added a stop-gap measure for scaling tabs better. (Ian has a better, automatic solution?)
* Ported changes over to the original candy
** TODO: the .arrange() method doesn't work all that well in the original candy
2010-03-17 11:53:03 -07:00
aza@More-Better-Internet.local
8d4138496e Added a new style of interaction called a zoom group. It is rather hot. I believe this is how we will be doing all future designs. 2010-03-17 01:07:00 -07:00
aza@More-Better-Internet.local
01fc3968c9 Merge. 2010-03-16 22:32:05 -07:00
aza@More-Better-Internet.local
5cc84ad85a Adds Utils.ilog(...) for "interactive log".
The first time you use the function, it embeds Firebug Lite and then uses that console. This makes it easy to introspect objects, etc. All-around good stuff.
2010-03-16 22:25:00 -07:00
Ian Gilman
9ddda5bd7e + More major cleanup in mirror.js (especially in the painting code)
+ New tabs in the stacks candy now find an empty hole rather than piling up at the top
+ The stacks candy now has a "site" feature (upper right) that groups the tabs by domain
+ TabMirror now has a feature to allow pausing paint updates. This allows you to fly things around the screen without getting stutter from paint calls. The stacks candy is currently the only candy that takes advantage of this.
+ The stacks candy was not visually deselecting a group that had been lassoed once the menu went away; it is now.
+ Added assert() to Utils
2010-03-15 17:15:27 -07:00
Ian Gilman
3e30a427d5 + Took out old paint throttling (which may have been causing more trouble than good) in prep for new paint throttling (some of which is already in) 2010-03-12 10:04:03 -08:00
Ian Gilman
34ef70446a + merge from depot 2010-03-11 16:15:23 -08:00
Ian Gilman
a2370577a0 + Added getMilliseconds() to Utils
+ Utils.error() now identifies the error as coming from tabcandy
+ Added a getMilliseconds() to mirror.js (for some reason, it wasn't liking the one in Utils) to replace the use of new Date(), which doesn't work in all situations
+ Added a heartbeat to TabMirror, where all painting happens now. This allows us to control when and how frequently painting happens, throttling when there are a lot of items on the screen.
+ Additional clean-up in TabMirror
2010-03-11 16:14:50 -08:00
aza@More-Better-Internet.local
bd9b446f74 (1) Added Firebuglite to the add-on, making it a much more pleasent debugging experience.
(2) Greatly increased the functionality of the group candy.
2010-03-11 15:45:58 -08:00
Ian Gilman
ee3583bc86 + debugging paint issues 2010-03-09 17:15:01 -08:00
Ian Gilman
0a2def0557 + Grouping now works in the original candy
+ Updated to jQuery 1.4.2
+ Nice menu fadeout behavior in the stacks candy (fades out faster for a click than a mouse out; pops back in if you mouse back over while it's fading out)
2010-03-09 15:46:39 -08:00
Ian Gilman
a63b35a2a2 + merge from depot 2010-03-09 14:22:04 -08:00
Ian Gilman
7d4ca3c9cc + Added a "close" feature to the group menu in the stacks candy
+ Added a tab() feature to window.Tabs, to get a tab object from one of the tab's elements
+ Stacks now pile up directly on top of each other in the stacks candy (rather than being offset a little)
+ Added Utils.isRightClick() for weeding out right clicks in mousedown
+ The Lasso now only starts for left clicks, not both left or right
2010-03-09 14:21:08 -08:00
aza@More-Better-Internet.local
5dba1508be Added a TODO to fix a very strange behavior in the customization of new tabs added. 2010-03-09 13:50:26 -08:00
Ian Gilman
22c3ea5eb1 + Just debugging (adding logging) 2010-03-05 17:21:38 -08:00
Ian Gilman
b35ffc4337 + merged from Aza
--HG--
rename : browser/base/content/tabcandy/app/jquery.lasso.js => browser/base/content/tabcandy/shared/jquery.lasso.js
rename : content/ian1/ui.js => content/candies/ian1/js/ui.js
rename : content/tab.html => content/candies/original/index.html
2010-03-05 15:31:45 -08:00
Ian Gilman
2dc93f4dff + temporarily adding a file back in, so the merge can happen 2010-03-05 15:18:15 -08:00
Ian Gilman
49ab3130ad + Major reorg: moved all visualizations into "candies" folder, moved core js files into "core" folder, and js files shared by a couple of visualizations into "shared" folder
+ the top level index.html now automatically grabs all the different visualizations and lists them
+ Added a visualization switcher that can be dropped into any visualization; drop down in the upper left of the window
+ The Utils routines log(), trace() and error() now take in any number of parameters. If a parameter is an object, its first level is automatically expanded
+ Fixed lasso in the "original" visualization

--HG--
rename : browser/base/content/tabcandy/jquery-ui.js => browser/base/content/tabcandy/app/jquery-ui.js
rename : browser/base/content/tabcandy/jquery.js => browser/base/content/tabcandy/core/jquery.js
rename : browser/base/content/tabcandy/app/jquery.lasso.js => browser/base/content/tabcandy/shared/jquery.lasso.js
rename : content/ian1/index.html => content/candies/ian1/index.html
rename : content/ian1/ui.js => content/candies/ian1/js/ui.js
rename : content/line/index.html => content/candies/line/index.html
rename : content/line/js/jquery.line.js => content/candies/line/js/jquery.line.js
rename : content/line/js/jquery.select.js => content/candies/line/js/jquery.select.js
rename : content/tab.html => content/candies/original/index.html
rename : content/select/index.html => content/candies/select/index.html
rename : content/stacks/index.html => content/candies/stacks/index.html
rename : content/stacks/js/jquery.select.js => content/candies/stacks/js/jquery.select.js
rename : content/stacks/js/ui.js => content/candies/stacks/js/ui.js
2010-03-05 15:14:10 -08:00
aza@More-Better-Internet.local
4558077b80 Fixed the lasso selection for my tab.html page. And added functionality that let you say if the lasso colors in or not. 2010-03-04 12:06:37 -08:00
Ian Gilman
26aae8dbe5 + Got rid of Utils.logger and replaced it with Utils.log, Utils.trace and Utils.error
+ Fixed "new tabs create 2 thumbnails" bug
2010-03-03 17:21:44 -08:00
Ian Gilman
cecacb40f3 + added 2 new experiences: stacks and line
+ updated main index.html to point to all experiences
+ did some file reorganization

--HG--
rename : content/select/js/jquery.lasso.js => browser/base/content/tabcandy/app/jquery.lasso.js
rename : browser/base/content/tabcandy/overlay.js => browser/base/content/tabcandy/app/overlay.js
rename : browser/base/content/tabcandy/pixastic.js => browser/base/content/tabcandy/app/pixastic.js
2010-03-01 17:11:51 -08:00
aza@173-138-80-177.pools.spcsdns.net
3539ad9bec Added some presentations about the goals for this project. 2010-03-01 01:16:58 -08:00
Ian Gilman
bbb53b9dc5 + initial messing around; started a new page for my experiments, as well as a branching page to get between experiments 2010-02-26 10:25:20 -08:00
aza@70-7-150-98.pools.spcsdns.net
e2ac5bb1f7 Fixed a bug whereby the Tabs object was empty if Jetpack wasn't also installed.
Fixed a bug where weird errors would appear if there was nothing in the search box.
2010-02-24 02:41:27 -08:00
aza@70-7-150-98.pools.spcsdns.net
127762a4a5 First commit. 2010-02-24 01:47:55 -08:00