[flexcoders] Any way to remove or style the bottom border of the TabBar?
Do you know of any way to change the bottom border of the TabBar so the active tab blends seamlessly with the box below? (I'm trying to manually construct a TabNavigator; the standard one doesn't quite work with my layout.) The easiest way to see what I'm talking about is to take a look at the demo here: http://quinthar.com/TabDemo.swf The code follows: http://www.adobe.com/2006/mxml"; xmlns="*"> .activetab { backgroundColor: #FF } Any ideas? Thanks! -david
[flexcoders] Re: What is the most permissive crossdomain.xml policy file?
Ok, so I've learned that if I host the SWF on an HTTPS server, then it works. Which brings me to two questions: 1) Is there any way to have an HTTP-hosted SWF access HTTPS resources? 2) Is there any way to have a filesystem-hosted SWF access HTTPS resources? If so, what are the compiler and crossdomain settings I need to use to accomplish this? Thanks! -david PS: I'm posting my lessons as I go to http://bottomupflash.com; feel free to follow along. --- In flexcoders@yahoogroups.com, "David_M_Barrett" <[EMAIL PROTECTED]> wrote: > > What need I do to allow a SWF to access my web service? I have a web service > here: > > https://data.expensify.com > > I've configured it to respond with the absolute maximally-permissive > crossdomain.xml: > > https://data.expensify.com/crossdomain.xml > > HTTP/1.1 200 OK > Content-Type: text/x-cross-domain-policy > X-Permitted-Cross-Domain-Policies: all > Content-Length: 299 > > > http://www.w3.org/2001/XMLSchema-instance"; > xsi:noNamespaceSchemaLocation="http://www.adobe.com/xml/schemas/PolicyFile.xsd";> > > > > > I have a SWF I'm hosting on http://127.0.0.1/Expensify.swf. I've configured > my mm.cfg to > enable policy-file logging, and it logs: > > OK: Root-level SWF loaded: http://127.0.0.1/Expensify.swf > OK: Policy file accepted: https://data.expensify.com/crossdomain.xml > Error: Request for resource at https://data.expensify.com/x by > requestor from > http://127.0.0.1/Expensify.swf is denied due to lack of policy file > permissions. > > Any clues what I need to do? It was working just fine before, but now is > broken with the > switch to the latest Flash player. > > Basically, how can I configure data.expensify.com to say "really, seriously, > *ANYBODY* > from *ANYWHERE* at *ANY TIME* can call me. *REALLY*." > > -david >
[flexcoders] What is the most permissive crossdomain.xml policy file?
What need I do to allow a SWF to access my web service? I have a web service here: https://data.expensify.com I've configured it to respond with the absolute maximally-permissive crossdomain.xml: https://data.expensify.com/crossdomain.xml HTTP/1.1 200 OK Content-Type: text/x-cross-domain-policy X-Permitted-Cross-Domain-Policies: all Content-Length: 299 http://www.w3.org/2001/XMLSchema-instance"; xsi:noNamespaceSchemaLocation="http://www.adobe.com/xml/schemas/PolicyFile.xsd";> I have a SWF I'm hosting on http://127.0.0.1/Expensify.swf. I've configured my mm.cfg to enable policy-file logging, and it logs: OK: Root-level SWF loaded: http://127.0.0.1/Expensify.swf OK: Policy file accepted: https://data.expensify.com/crossdomain.xml Error: Request for resource at https://data.expensify.com/x by requestor from http://127.0.0.1/Expensify.swf is denied due to lack of policy file permissions. Any clues what I need to do? It was working just fine before, but now is broken with the switch to the latest Flash player. Basically, how can I configure data.expensify.com to say "really, seriously, *ANYBODY* from *ANYWHERE* at *ANY TIME* can call me. *REALLY*." -david
[flexcoders] Right way to customize drag/drop between two DataGrids?
I have two DataGrids, the "menu" and the "receipt". I want to be able to: 1) Add items to the receipt by dragging from the menu 2) Remove items from the receipt by dragging back to the menu With the following constraints: a) The menu should never change b) A receipt can never contain more than one of a given item This seems like it should be really straightforward, but I can't figure it out. What would you suggest? What I think should work (but doesn't) is the following: Set "dragEnabled" and "dropEnabled" to "true" on both the menu and receipt DataGrids. This accomplishes requirement (1) above, but fails all the other. Next, set "dragMoveEnabled" on the receipt. This accomplishes requirements (1) and (2) above (ie, dragging from the menu to the receipt correctly adds it to the receipt without modifying the menu, dragging from the receipt correctly removes it, and dragging from the receipt to itself does nothing), but fails the two constraints (nothing prevents adding the same item to the receipt multiple times, and items dragged from the receipt to the menu modify the menu). So, we're most of the way there with only a couple changes. But I can't find any way to enforce these constraints. Some options I've tried/considered for the first constraint: i) Override whatever function on the menu actually does the "adding" to simply make it do nothing. Unfortunately, it appears that the "add" code is actually some secret part of the DataGrid itself, and can't be overridden. Overriding "dragDrop" doesn't do it, because it's added after "dragDrop" actually runs. 2) Override "dragDrop" on the menu to remove the item right after it's added. Unfortunately, "dragDrop" runs *before* the item has been added, so it can't remove what doesn't yet exist. 3) Override "dragComplete" on both the receipt and the menu to determine if the item is being added to the menu, and if so remove it. However, the "dragEvent" passed in to "dragComplete" doesn't seem to have any awareness of the drop target -- "currentTarget" and "dragInitiator" both point to the *source* of the drag (ie, the receipt) not the *destination* (the menu). Thus it has no way of knowing if we're dragging from a receipt to the menu, or between receipts. 4) Skip all this drag/drop junk entirely and add a listener to the menu's DataProvider that simply watches for any ADD CollectionEvent and immediately removes it. But this complicates actually adding things to the menu via other means (the menu can be modified, just not by the drag/drop). The best I can come up with is overriding "dragDrop" on the menu to set some sort of global variable saying "the last drop operation went to me, at location X". Then override "dragComplete" on both menu and receipt to check "if the last drop operation went to the menu, erase whatever was added from location X". Alternatively, override the menu's "dragDrop" to set a global "please delete whatever was added" variable, and then check this in the CollectionEvent listener -- if set, delete any additions and clear the variable. But ug, those are pretty nasty. Surely there must be a better way? As for the second constraint (a receipt can contain only one of a given item), I'm not even sure where to start. I considered overriding "dragEnter" to simply refuse the drag/drop operation if the receipt already contained the item, but I couldn't get anything to work on that, so I'll focus on the first constraint first. Any suggestions? Thanks! -david