Commit Graph

68 Commits

Author SHA1 Message Date
Ray Greenwell b08f508349 Oh, fuck that. Let's just set the explicit width/height, because if
something's never measured then it never gets these set.
This might break something.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@615 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-08-08 03:32:57 +00:00
Ray Greenwell 2e9282a3e5 Make our measured size the size of the thing we're wrapping.
Half the places we use FlexWrapper we do something like this anyway.
Note that you can still override this by setting the width and height
(which sets the explicitWidth, explicitHeight).


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@614 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-08-08 02:17:33 +00:00
Nathan Curtis 2952d288fd Allow CommandMenu subclasses to provide their own item renderer.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@544 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-06-18 18:12:59 +00:00
Ray Greenwell 4148e90209 Added createLabel().
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@543 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-06-14 01:50:56 +00:00
Ray Greenwell 67cc68c1b6 Various Flex utils.
...like having a decent factory for Spacer.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@537 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-06-10 23:55:03 +00:00
Nathan Curtis 97c5206983 Added some notes about the facilities and ancestry of this class. Also modified it so that it
will scroll automagically if, even after doing its damnedest to make it fit, it still doesn't.  This
will only happen if the menu (or submenu) is so tall that the it stretches from the bottom of the 
bounds it's using, and extends past the top of the bounds.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@526 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-06-05 21:31:32 +00:00
Nathan Curtis 89fef8992b Bring back the scrollable menu. However, we leave the default as not scrolling, and only do
scrolling of any kind of the verticalScrollPolicy is set to ScrollPolicy.AUTO or ScrollPolicy.ON, 
and the maxHeight has been set.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@525 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-06-05 19:00:24 +00:00
Nathan Curtis 4b0f9e0c64 By properly using the nifty PopUpUtil, we can simplify and correct this code all at once.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@520 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-06-04 00:47:56 +00:00
Nathan Curtis 65e0f8015e Allow the creator to specify their own bounds if they don't want submenus to be constrained by the
stage.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@519 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-06-04 00:05:00 +00:00
Nathan Curtis 6b40089e52 Fixed some layout problems with _upping submenus. Also, the _fitting member variable was checked
in submenu layout, but it could never get set to anything but null.  So, now it just assumes that
it should be fitting to the stage and does that (it would previously just put the menu wherever
its broken math put it, and not checking against the bounds of anything).  I have a slight 
inclination to bring back a method for supplying a fitting Rectangle so that it can be fitting these
menus between the header bar and control bar.  Maybe I'll just do that next.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@518 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-06-03 23:35:34 +00:00
Ray Greenwell c243740190 - Allow the override dispatcher to be specified in our factory convenience method.
- Style changes.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@503 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-23 02:35:20 +00:00
Ray Greenwell 65ff4b70b9 Bad Nathan! Avoid "if true then true" coding. I need a snappier name for
this ugly pattern.
FYI, CommandButton also has buttonMode follow enabled-ness.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@493 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-14 00:29:43 +00:00
Nathan Curtis 0378cabcaa That last bug would have been a lot easier to track down if a disabled link button didn't still
look like it should be clickable.  Let's turn buttonMode off when we get disabled.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@492 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-13 23:41:32 +00:00
Nathan Curtis 9783a6a320 remove these two, as they've been moved.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@488 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-07 00:23:25 +00:00
Nathan Curtis db22e56c07 That was exciting to track down. If your supplied sort.compareFunction(...) returns a value other
than -1, 0 or 1, Sort.findItem() goes into an infinite loop.  Guard against that here. 


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@487 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-07 00:03:47 +00:00
Nathan Curtis 812ab955b4 Actually, the list creator can assign a style name to the specific instance. Internally we need
to assign a style name to the List instance.  Also made the default renderer always use a 
transparent background.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@486 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-06 22:13:30 +00:00
Nathan Curtis f09dd1f869 Give this a style name.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@485 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-06 22:05:39 +00:00
Nathan Curtis 2ba42867e4 expose the AmbidextrousList scrollBarOnLeft property
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@484 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-06 18:10:14 +00:00
Nathan Curtis 3dc2e34e7e I knew there was a reason I backed that by a HashMap intead of a Dictionary. The class that wants
to update and remove entries from the list may very well not have a reference to the same object
that is stored in the PlayerList (base case is Names in a DSet getting updated/added/removed).  By
using a HashMap, we just need to ensure the hashCode() is the same, which is especially handy in 
the display name update case where the MemberName.hashCode() is the memberId.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@483 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-06 17:35:18 +00:00
Nathan Curtis 7c7b4fdd10 Add clear() functionality
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@482 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-06 17:03:45 +00:00
Nathan Curtis ba06889b90 I had fallen into a sketchy pattern in GamePlayerList and my hashCode() implementation, and this
works fine (better, really) with a Dictionary and pure object equality, so lets just do that.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@481 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-06 00:11:49 +00:00
Nathan Curtis 4fa0e70ede I'm still fiddling with several subclasses, but I believe this is mostly nailed down, and it'll
simplify my testing to check it in, so let's do just that.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@480 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-01 20:05:09 +00:00
Ray Greenwell d62ed1884c AmbidextrousList, can have its scrollbar on the left or right side.
In fact, it can be swapped while the user is dragging it...


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@463 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-04-15 02:20:29 +00:00
Ray Greenwell aaaebc4a2f Flex does not support keybinding in any standard way.
That's because: flex is a pile of shit.
Created a basic KeyManager. This will probably change a lot, but it's
serving its purpose now.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@453 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-03-20 03:49:27 +00:00
Ray Greenwell d28031c91e Removed popUpIn().
Added popUpAtMouse(), which is like our show() (which shows at the mouse)
only also allows specifying popLeftwards and popUpwards.
Also, in our show(), just fit the damn menu onto the stage. Always.
Why have a special method for doing what should be the common case?
I suppose the old code was trying to fit the menu into the roomview bounds,
which might've been nice if it actually worked.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@452 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-03-17 23:02:04 +00:00
Ray Greenwell 11fd3858d1 PopUp utilities for centering or fitting a popup inside a rectangle
(or the stage).


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@451 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-03-17 22:58:27 +00:00
Michael Bayne 03dec963f1 Add an accessor for our chatInput field.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@446 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-03-14 01:04:07 +00:00
Ray Greenwell 5847ee1e99 Fix to work with Flex 3.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@428 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-02-23 01:41:51 +00:00
Ray Greenwell d3e447398e Should fix menus for flex 3.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@427 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-02-23 00:27:45 +00:00
Mark Johnson 7e804e60c5 Perform a better fitting for menu's in a bounded region, so they'll position themself for
maximum visibility even if they can't fully pop up/down, left/right.  (Menu's larger than 
the bounded area will still have some issues).


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@417 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-02-16 01:01:14 +00:00
Robert Zubeck d322b94545 Chat control's child elements can now have a different height than their container.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@412 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-02-13 22:34:28 +00:00
Ray Greenwell f58b0bdcba clarify
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@410 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-02-06 01:42:10 +00:00
Ray Greenwell 7d400e45f2 - Moved common code to internal static methods in CommandButton.
- Fixed CommandButton to turn off buttonMode when disabled.
- Created CommandCheckBox.
All CommandButtons that are toggle buttons will use their 'selected' state as
their arg if they have no regular arg. CommandCheckBoxes are of course always
toggles.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@409 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-02-06 01:41:10 +00:00
Ray Greenwell a6e1fbe468 Made my CommandButton factory method the constructor.
I had initially been hesitant to do this because of the parameter that
can be one of two things, and the Java side of me wanted to hold
on to compile-time checking, but the convenience is too damn convenient.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@408 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-02-06 01:03:55 +00:00
Ray Greenwell 1fb449b30b Added a long-overdue factory method.
I'm actually going to make this the constructor, but I'm just fixing
the build now.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@407 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-02-02 03:57:02 +00:00
Nathan Curtis 9748e422c7 Let the rest of the world use the FlexWrapper - this is pulled from LayeredContainer.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@404 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-01-28 22:57:13 +00:00
Ray Greenwell 7dbffa80cf Occam's razor.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@403 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-01-24 21:54:26 +00:00
Michael Bayne 4e50f81400 CommandMenu no longer scrolls. It now supports methods to display a menu inside
a visible area or to expliclty pop up or left which it correctly passes on to
its submenus.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@385 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-12-20 03:23:04 +00:00
Dave Hoover 8f2700dcc8 Keyword substitution.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@359 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-12-03 21:08:33 +00:00
Ray Greenwell 3b31fff153 TODO: stop hard-coding this width. This class used to live in msoy,
where this made a bit of sense, but now it doesn't.
However, I'm just going to change this here because I'm already
down a rabbit hole.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@356 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-29 02:14:11 +00:00
Ray Greenwell b9fce610da CommandLinkButton, just like CommandButton.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@355 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-29 02:08:37 +00:00
Ray Greenwell db23c89ec0 Don't use parentChanged() to track whether we're onscreen or not,
it's unreliable.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@352 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-21 19:47:32 +00:00
Nathan Curtis e5406c5786 Thats what I get for hoping around my source tree with no regard for file location. I had no idea
this was in Nenya.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@334 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-09 03:35:15 +00:00
Ray Greenwell bce057c307 Moved chat controls here.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@320 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-30 19:07:23 +00:00
Ray Greenwell 0250be64ac Don't turn on variableRowHeight for every menu, but do have submenus
inherit their parent's setting.

It turns out, it wasn't just a problem with MediaWrapper. Using any image-based
icon seems to cause flex internal boo-boos. Too weird.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@267 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-06-16 00:33:48 +00:00
Ray Greenwell 7a6d334a99 Allow an already-instantiated IFlexDisplayObject to be used as the icon
for a menu item. JFC, this is pretty straightforward but was a fiasco
to get right because I was using a MediaWrapper as the icon, and something
wasn't playing nicely (not yet debugged), but the error looked like
it was with the Menu superclass.

Also set all CommandMenus to have variableRowHeight.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@266 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-06-16 00:09:23 +00:00
Michael Bayne 46248c0354 All of our code should have headers, but our redistributable code should
definitely have headers.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@261 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-06-14 17:40:30 +00:00
Ray Greenwell 86298ca832 I've decided I like setCallback() better than setFunction().
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@217 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-01 16:32:27 +00:00
Michael Bayne c8ee262b7f Added popLeftwards. Only really useful for menus without submenus.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@198 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-04-14 01:45:04 +00:00
Nathan Curtis ab19cb897e Do something sensible when people set the width on this control
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@193 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-04-11 22:11:58 +00:00