AS3 :: IDE : CellRenderer - Components Don't Show Up
Apr 15, 2010
I'm used to item renderers in Flex but inexperienced with Flash AS3 components.I want to create a List that renderers items like this:
1) a slider
2) a couple of text fields that my designer can place and style as he likes
It's a survey form. I expect to grab the _listData.owner and dispatch the user inputs and bubble them up to the form.
1) drag a list onto the stage
2) create a symbol in the library with the base class of com.blah.skins.renderers.SurveyItemRenderer
3) Export this class as SurveyItemRenderer
4) set the list's cellRenderer style to SurveyItem renderer
5) give the list data to show
I tried using CellRenderer, but the class seems to reject being associated with a symbol (and I could not find any examples of CellRenderer being used that way), so SurveyItemRenderer implements ICellRenderer.When I run it, other library symbols and graphics shows up in the renderer--WITH THE EXCEPTION of the slider. Other Flash components that I put on the stage do not show up either, until you roll over (Button), or if they have text in the them (Label). Slider never shows up.
Components will show up on the stage, just not in the SurveyItemRenderer. WHY NOT? I feel like I'm missing something basic. Here is the class, minimal because I'm still testing:
Code:
public class SurveyItemRenderer extends MovieClip implements ICellRenderer
{
protected var _listData:ListData;
protected var _data:Object;
protected var _selected:Boolean;
I'm building a multiplayer game which when connecting to the server, the server sends back a list of available rooms (each room has MaxPlayers,MinRank,TableId,TableName,Password) so everytime I recieve these 5 strings, I create an instance of Mxml UI Component I have created and fill it with the relevant details. In the main.MXML i've added an AS3 script variable to hold the GameInstances object i've created when rcvd data back from the server: private var gameInstances:ArrayCollection = new ArrayCollection(); GameInstance.mxml is a component that has UI components in it and AS3 script to set some data. When rcving data from the server in main.mxml :
I am working on an application where I need to basically have 2 separate screens and I need to be able to switch between them. I am a total noob to Flex & Flash and I have not found anything on how to do this in my 2 days of Googling. It really shouldn't be this hard to do!
Here is what I have tried. I created a Flex Project and added 2 MXML Component files called Test1 & Test2 and each simply have a button in them which have a label of Button1 & Button2 so I can see if the correct component is showing. Below is the button code in the Test1 MXML Component file[code]...
I'm having some problem with my masked components. These are the components in my fla file.
A static text. a TextInput a button
I converted all these 3 components into a movie clip call form.
I tried adding on a mask, i added an actions layer into the movie clip:form. In the actions layer i added the code submit.setStyle("embedFonts", true);
Result :
I still can't see my submit buttons text. I also did the same thing to my text input and the same problem occurs.
i installed a few components (gaia framework, flash eff 2 demo and a rain drop water effect) to use in Flash. in the Adobe Extension Manager they are all enabled , however, i dont see anything in Window -> Other Panels neither in the Components panel.
I have quite some experience with Flex and I am just starting to write my first AIR application and would like to use as much Spark as possible here. So I started withe a simple Hello World application:
[Code].....
Unfortunately this simple example shows no child components and even none of the initialize handlers is triggered. However as soon as I change the root tag to mx:WindowedApplication everything behaves as expected: The label and the button are shown and the console shows the output of the two trace statements.
I have a Main.swf application that loads another application called GridServices.swf. The GridServices.swf contains a DataGrid that has a custom CellRenderer class associated with ithen I run GridServices.swf by itself, it runs just fine and uses the wordWrapCellRenderer class that I made.hen I load the GridServices.swf file into Main.swf, I'm getting this error all of the time:
TypeError: Error #2007: Parameter child must be non-null. at flash.display:isplayObjectContainer/addChildAt() at fl.controls::BaseButton/drawBackground()
which I can't seem to solve. I'm using a cellRenderer to display icons in a dataGrid. All works fine until I type in the command myDg.hScrollPolicy = "auto". Once I issue that command, the icons stop displaying. If I remove that line, all works well once more.
I need to put a combobox in a column of a datagrid. The user just need to select a value from the existing combox items.I know I need to use a custom cellrenderer. Please see my current attempt below.This attempt successfully inserts a combobox into the datagrid, BUT without any data in the combobox. In fact, when I click on the combobox in the datagrid, it is the same as a normal combobox on the stage without a dataProvider. In other words, it doesn't even open.Thus, I need to know how to modify my cellrenderer to correctly add the data to the combo and accept changes made by the user when selecting a value from the combobox.[code]
The following test code adds an asterisk in front of the node labels of a Tree component.It works in a trivial Flash document but displays blank labels in a much more complex one. In both cases the library contains a Movie Clip with name, linkage identifier and AS 2.0 class all set to "MyTreeCell".
The following code is the cell renderer for for a ComboBox in a DataGridColumn. It works fine when setting the comboBox's data in the constructor. There's a problem using the red code below. If the DataGrid row is not already selected the dropdown list appears but is empty.Any ideas? If the row is not already selected, the selectedItem is being set causing a STATE invalidation after the list a created. I'm not sure how to prevent this.
I have a Game-sprite representing a game room with up to 3 players, it works ok. And would like to populate a List component with those Game's, based on an XML data coming from a socket.I've prepared a simple test case demonstrating my problem -ListTest.fla (should have a List component in its Library):
I have a combobox that I need to style with colors from xml. I call this XML file in the same class that has my combobox instance and break out the color I need to a var.
I then use MyCellRenderer (a class that extends CellRenderer) to style the drop down list items like so:
This all works perfectly with a hardcoded color already inside the MyCellRenderer class.
My problem is when I instantiate MyCellRenderer and try to pass the color through I get the following error when I click the combobox open:
Code: ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller. at flash.display::DisplayObjectContainer/removeChild() at fl.controls::List/drawList() at fl.controls::List/draw() at fl.core::UIComponent/callLaterDispatcher()
Is it possible to instantiate a class that extends CellRenderer? If not why not?
how can I pass a variable to my custom CellRenderer class?
I have a datagrid whose data keeps updating quite frequently.On every update, I need to change the cell color of only those cells whose data has changed.That too, if the updated value is less than the older value then the cell color should change to RED else, GREEN.
I have tried using labelFunction, cellrenderer, etc. But to no avail.By no means, I am able to access the present data in the cells to compare it with the new data.I have added the sample classes in the attachment. To get them to work, just create an fla with a DataGrid & a Button components in its library & mention 'del' as its document class.Just run the fla & click on the two buttons on stage to see the values in the price column changing.
I recently used fl.controls.List to implement a list with custom CellRenderer.I did it by implementing ICellRenderer:[code]Inside MyRenderer I added a fl.controls.Button, then set its label. However, when the List is rendered (by dynamically adding item into its dataProvider), the button body is not rendered, only the label is rendered. When I move my mouse over it, the button is then properly rendered.I found this strange, then tried use myButton.drawNow() in constructor. The problem seem to be solved. Now the button is rendered, but the label is not at the very center of the button (it's a bit towards right). Then, when I move my mouse over it again, the label move to the center, and everything's ok.This may be a minor problem, but I just wonder why this is happening. Why must drawNow() to be called? Why the label is not properly placed even when drawNow() is called?
I am developing an application and making use of a list component. I have set the List to use a custom cellrenderer.I need the list to have rounded corners but the problem is that where my custom cell corners are transparent I can see a default white cell underneath instead of the background.I found this discussion seemed to be relevant http:[url]......But when I add this function to my cellrenderer class I get compiler error
override public function set data(data:Object):void{ super.data = data;
Set the default skin to be invisible. This is a bit easier than creating a new skin, if your goal is to hide the white background.
this.skin.visible = false; }
1119: Access of possibly undefined property skin through a reference with static type MarksCellRenderer.
how I can manage to give single words inside a DataGrid-CellRenderer a different color than defined by the TextFormat for that CellRenderer? It's not how to get these single words, it's how to use more than one color inside one cell...
The code below sets up a List object in the main controller class that uses a custom cell renderer (CustomListCell class). the CustomListCell class creates a Button object for the cell that will be used to delete itself from the List's DataProvider. How can I properly access the parent List object from its custom cell renderer?
//Controller Class private function createList():void { provider = new DataProvider(data); list = new List(); list.width = 200; list.height = 400; [Code] .....
Not to certain how many people may need this script, but lo and behold I had need of it for my project. So, here's my script on how to add a movie clip to a Datagrid Cell via CellRenderer1) Create an Actionscript file (*.as) and call it IconCellRenderer2) Put the following code inside that file:
I am created a dynamically adding a VBox, that contains two images. Into a Custom Component that is derived from UIComponent. The problem is the Vbox that contains the two image is only a really tiny size. I would like the VBox stretch to the size of the two images. This is how I am creating the Vbox....
I am attempting to combine two AS files that are acting as cellRenderers individually but not simultaneously for cells in a datagrid in a Flash document I have created. The first styles the cells to have alternating row colors and the second allows for non-text content to be rendered. The issue is whenever I attempt to combine them the document reports errors with "super" and "override" among others.
Is it bad practice/design to nest components inside components using Flex 4? Should I simply be creating components and inserting them into my main application as below, or doesn't it matter?
how i can use actionscript component code in mmxl components,as in actionscript components we use classes ,but in mmxl component we can not use classes function, so how i can use actionscript component code in mmxl component
[Code]...
but i cant use this code in mmxl components how i can use public class DialogTitle extends HBox implements IBindingClient in mmxl component code,what are the way to use it,sorry i am newbie if it is silly question
In my flex datagird i have a checkbox and a datgrid with seven columns. im populating values in first five column(remaining two column no values) of datgrid by an Arraycollection. now,By clicking the checkbox i want to show all seven column values and if i uncheck five columns has to show... how its possible?? heres my code
I'm fairly new to ActionScript and was wondering if anyone had an idea how this effect was done:[URL]..Click on a show date and the link zooms up and fills the screen giving show info. Then when you click the back button it shrinks back to where it was on the calendar.
In my asp.net application,I want to show the .ppt file using the slide show manner.
That's to say,user can upload .ppt file to my server side,then other people can browser these ppts in the page ..
Since I have googled "embed powerpoint in web page" ,it seems that there is not a good idea to implement this and support the cross browser,so I thought the flash.
This is a slide show using the flash: [URL]
What I want is show the contents of the .ppt in this manner(it would be better if it support the animations in the ppt)?
I have one MC that he has an gray color, when I compel it, it is gray, everything is fine so far. I had to create one param in the HTML pra to be able to change at any time of the MC color ex:"meuFlash.swf?&cf1=ff3300>...", any time that I change this MC color , my MC change too. I create this. [AS]new Color (fundo_mc.fundos_mc).setRGB (parseInt (cf1, 16));[/AS] My problem is the following one, when I speak in the HTML that I do not want to use this color "ff3300", I only want to use "meuFlash.swf?...", mine MC are all black, it are not of the gray color that I already had left, I do not know because it is all black.