+ 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
+ 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)
+ 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)
+ 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
+ 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
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.
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.
+ 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
+ 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
* 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
+ 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
+ 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)
+ 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
+ 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
+ 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