SkinState vs. component state

I wrote some Gumbo prototypes recently and found it confusing that skinStates are independent of component states (currentState). I tried to imagine scenario when host component state should be different than its skin state but I cant find any.
I have found that component states are used in item renderes, which in my opinion violates of skinning concept (see ARB http://opensource.adobe.com/wiki/display/flexsdk/Gumbo+Updated+Item+Renderer )
What do you think about syncing surrentState with skinState?
In such a case it would be easier for developer to migrate from MXML inline item renderer to fully skinnable one as states of both, inline MXML component and MXML skin, will be the same.

You write your state implementations the same way.  SkinStates is just a formal mechanism for saying that your skin should support those states.   But since your skin is just like an MXML component, what you end up writing is the same. For your application components you’re simply declaring them to meet “business” rules, while in skins you’re doing it more for interaction rules.
Matt
On 3/24/09 7:37 AM, "Haykel Ben Jemia" <
[email protected]> wrote:
A new message was posted by Haykel Ben Jemia in
Developers --
  skinState vs. component state
I have used skin states and thought it was the new way of using states. I was not aware that the 'old' component states are still available and can be used. Some examples on using both would probably help understand how both state types can be used together. I'll see if I can find some interesting use cases.
Haykel Ben Jemia
Allmas
Web & RIA Development
http://www.allmas-tn.com
On Mon, Mar 23, 2009 at 5:20 PM, Greenfield Eliot <
[email protected]> wrote:
A new message was posted by Greenfield Eliot in
Developers --
  skinState vs. component state
We had them coupled originally. Surprisingly, if you’ve written a Spark app, you’ve already run into this.  Any time you use a skinned spark component as the root tag of your MXML file (including FxApplication), and add your own states, you’re creating component states that are separate from any skin states.
Ely.
On 3/23/09 3:50 AM, "Tom Chiverton" <
[email protected] <
http://[email protected]> > wrote:
A new message was posted by Tom Chiverton in
Developers --
  skinState vs. component state
 On Friday 20 Mar 2009, Iwo Banas wrote:
> What do you think about syncing surrentState with skinState?
I'm trying to think of use cases where the internal state of the component may
be detached from the showing of that state, and I've come up with one:
Suppose a component has two skin states - OK and FAIL, and it has to call an
external service to check something to computer the state (i.e. state
transitions are asynchronous). There might be OK, UNKNOWN and FAIL states,
but only two skins (UNKNOWN being the same as FAIL).
View/reply at skinState vs. component state <
http://www.adobeforums.com/webx?13@@.59b85be2/1>
Replies by email are OK.
Use the unsubscribe <
http://www.adobeforums.com/webx?280@@.59b85be2%21folder=.3c060fa3>  form to cancel your email subscription.
View/reply at skinState vs. component state <
http://www.adobeforums.com/webx?13@@.59b85be2/4>
Replies by email are OK.
Use the unsubscribe <
http://www.adobeforums.com/webx?280@@.59b85be2!folder=.3c060fa3>  form to cancel your email subscription.

Similar Messages

  • Using a different default component state within each page state

    I am using a custom component in multiple page states but would like to have a different default state (for the same custom component) within each page state.
    Is there anyway to use a different default component state within each page state .
    When I change the default state at a component level it seems to go across all my page states.  Any solutions?
    Thank you

    I guess I can just add that interaction for that component!
    I think my brain is just catching up

  • Cairngorm 3 - Best practice for component states

    Hi,
    I have here small question.
    I have some component states (eq: application state, some component states, atp.) in my Application.
    I'm not sure if is best practise to save component states in Presentation Models, they hold current state only. So, i create ApplicationState class, which holding all possible application states. And here is my problem, i'm not sure, where should be this "State" class stored. In application directory or create another "states" directory  name ?
    Well, i'm not sure.
    Thx.

    Hi,
    I have here small question.
    I have some component states (eq: application state, some component states, atp.) in my Application.
    I'm not sure if is best practise to save component states in Presentation Models, they hold current state only. So, i create ApplicationState class, which holding all possible application states. And here is my problem, i'm not sure, where should be this "State" class stored. In application directory or create another "states" directory  name ?
    Well, i'm not sure.
    Thx.

  • Issues with interactivity between component states and page states

    Hi there, I recently downloaded the trial of Catalyst 5.5 and am encountering the following problem:-
    I have many screens in my application and am attempting to get around the 20 state limit by creating custom components that contain multiple states that can be used as screens. So, I have created button links between the component states which work fine but have also created button links to and from the standard states of the application, which dont work upon running/publishing. I'm not quite sure whats wrong here as the button commands are pointing to the right place, i.e. they are pointing firstly to the specific custom component and then the state within the component, but its just not working.
    Is this a trial issue or something deeper?
    I really hope someone can help as apart from this issue I have been very happy with the application but if I can not find a solution theres no point in purchasing it.
    Cheers.

    Ive had the same problem. Im trying to create an interactive e-book but im having problmes with the limit of states. I have now worked out that i have to create custom components to create a sub-state but im finding it difficult to go between sub states. Help anyone?

  • Flex4 : Component state vs skin state

    Hello,
    I still can't quite figure the difference between the two ( if there is even a difference )
    component state : Defined by UIComponent's current state
    skin state : Determined by SkinnableComponent->getCurrentSkinState.
    Now, when should one use these 2 different mechanisms ?
    My first thought was that skin state was used for small variations ( selected effects, small controls appearing, etc ) and that component state was more for application state, like a view representing a form would change drammatically if currentState became FORM_BEING_SUBMITTED. But a skin could very well be applied to a huge and complex view so this reasonning fails.
    ->  Another interpretation is that you would use a skin only if flexibility is required, or else just use the old component state mechanism.
    Is that correct?

    Hi,
    It can be a bit confusing, no worries.  Not sure if this will help but here goes...
    A Flex 4 "skin" is itself a component - e.g. Skin is derived from UIComponent and as such supports view states.   So when you see the term 'skin state' all it really means is that it is the 'currentState' of the Flex 4 skin.   The 'currentState' of a Skin is controlled automatically by the SkinnableComponent the skin is associated with (based on what getCurrentSkinState returns at a given point in time).
    There really is no functional difference between how view states work for a Flex 4 Skin vs. how they work for say any other MXML component (like Application) - other than who is responsible for changing the state over time.  It's just that in the case of Application where (as in your example) you may define 3 different orientations of your application for example - you'd be responsible for setting currentState when appropriate.
    The one thing to remember (and I'm sure is the reason for most folk's confusion) is that for a SkinnableComponent instance, there really aren't any "states" for the component itself - the 'currentState' and states array are unused in this case.
    A simple example:
    Button. The actual Button class has no states itself, but its Skin does.  The Button is responsible for putting the Skin in one of the possible view states at runtime based on user interaction over time (e.g. up, over, down, disabled).  e.g. getCurrentSkinState is called on Button and depending on what is returned, the Button will (behind the scenes) set 'currentState' of the Skin component to one of the 4 states.
    Setting 'currentState' on a Button itself has no affect, because the Button has no actual states defined (as far as the states API is concerned), even though it happens to also be a UIComponent.
    -Corey

  • EX13 Server Component State for 'proxy' inactive

    Hi All,
    I've just ran a Get-ServerComponentState and its showing that all the 'proxy' components are Inactive, I have tried the Set-ServerComponentState but this doesn't help. Has anyone had this before by any chance or know a way to activate them?
    Thanks,
    R182

    I haven't done so intentionally, how do I check this or revert the changes back so they're active again as I think this is causing connection issues.
    Thanks!
    R182
    Run this:
    $MM = Get-ServerComponentState -id EX13 -Component  ServerWideOffline
    $MM.localstates
    ...to check what requester that put the components in a Inactive state.
    During an upgrade or Exchange security patch install - Exchange itself use the requester
    Functional and if you see that in the output you get running the above,  run:
    Set-ServerComponentState -id SERVERNAME -Component  ServerWideOffline -state Active -Requester Functional
    For more information, See:Server Component States in Exchange 2013
    http://blogs.technet.com/b/exchange/archive/2013/09/26/server-component-states-in-exchange-2013.aspx
    Martina Miskovic

  • How Do I Link to Custom Component States From Scrolling Content Buttons?

    Hi there, I'm in need of some help as i've got a deadline to meet within the next few weeks and im stuck!
    Basically what I've done is i've made a scrolling content lists, containing about 10 products in each one, my plan was to turn each product into a button so that users could click on that product, and take them to a new page containing more detailed information on that product; when they've finished looking at that product they can click a button to return them to the list they were on previously. However I can't just make a brand new state for each product as there is a limit to 20 states, and I will need around 50 of them.
    So, from what i've read I will need to create custom components. the only trouble with doing this is that I can't link to the custom component on a different main timeline state (I dont get the option to link to the states of the custom component).
    If i put the image of the detailed product into the scroll panel I am able to link to it, however, it's inside the scrolling content and it just scrolls around and stuff which isn't what I want; as it makes it look messy.
    - Basically I just need to link from the buttons in the scrolling list, to a more detailed page for that product. Then be able to return to the list using a button.
    If anybody has any input on how to achieve this, please help me out. Starting to panic now as this needs to be finished before september :s
    Btw i'm happy to share my .fxp file it that helps.
    Thanks alot, Hoping for some helpful replies on this topic
    - Tom

    Hi Tom,
    Adding this back here to share my wireframe with the community.
    Have put a quick .fxp together based on the 'product' section of your project.
    Take a look at how the product lists are linking into the product detail pages within their custom components. 
    Using this model you should be able to expand out to infinite product detail states.  If a particular product area has more than the maximum allowed states, just start a new custom component (part 2 for that product section).
    Let me know if you have any questions. Hope this sets you on a path to getting your project complete.  It's looking nice.
    Tanya

  • ADF 11g - persist users component state to database - af:panelCollection

    Hi all
    We have a case where we require the state of a component, an af:panelCollection in this instance, to be saved to the database for each user of the application. This data is then retrieved upon application startup when it will be used to set the initial state of the af:panelCollection.
    The logic to achieve the above is outlined in the following post:
    http://technology.amis.nl/blog/4595/adf-11g-persisted-run-time-user-ui-personalization-or-impatient-mans-mds
    We have used the above resource to implement the manipulation of the af:panelCollection accordingly but we now wish to persist this data to the database, it is currently hard coded.
    Any help is greatly appreciated
    Regards
    Tony

    Hi,
    the next release of JDeveloper 11g (planned for summer) provides MDS, which helps you with a repository based approach for end user personalization. I think that if you can wait then it makes sense to do so instead of implementing functionality on your own that sooner or later you find in the product.
    If you can't wait then all you can do is to setup listeners that detect changes (attribute listener work in many cases) and persist the information for the page, component ID and user
    Frank

  • MXML Component State Question

    Hey guys,
    I am trying to simplify my code and break out different parts of the app into different MXML Component files.  I have taken my login info and created the LoginScreen.mxml file which calls the doLogin function in its (parent) mxml file FlexCMS.  It properly sets the state to 'LoggedIn' but then the LoginScreen.mxml file doesnt hide...
    Any ideas?
    <!-- FlexCMS.mxml file -->
    <s:states>
              <s:State name="Login" />
              <s:State name="LoggedIn" />
         </s:states>
    <fx:Script>
              <![CDATA[
    public function doLogin($username:String, $password:String):void {
                        loginResult.token = customUserClass.login($username, $password);
                   protected function loginResultEvent(event:ResultEvent):void {
                        //Alert.show(event.result.toString(), 'loginResult');
                        trace(event.result.toString());
                        if (event.result == true) {
                             currentState = 'LoggedIn';
                        trace('currentState: ' + currentState);
         ]]>
         </fx:Script>
    <components:LoginScreen includeIn="Login" />
    ... More code for rest of app that hasnt been broken out to other mxml files yet
    <!-- LoginScreen.mxml -->
    <?xml version="1.0" encoding="utf-8"?>
    <s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:local="*">
         <s:layout>
              <s:BasicLayout/>
         </s:layout>
         <s:states>
              <s:State name="Login" />
              <s:State name="LoggedIn" />
         </s:states>
         <fx:Declarations>
              <!-- Place non-visual elements (e.g., services, value objects) here -->
         </fx:Declarations>
         <fx:Script>
              <![CDATA[
                   private var flexCMS:FlexCMS = new FlexCMS(); //get reference to main class
                   protected function loginClick(event:MouseEvent):void {
                        flexCMS.doLogin(username_txt.text, password_txt.text);
              ]]>
         </fx:Script>
         <s:Panel height="140"
                    horizontalCenter="0"
                    title="Login"
                    includeIn="Login"
                    verticalCenter="0"
                    width="250">
              <s:TextInput id="username_txt" text="testuser" width="151" x="87" y="10" />
              <s:TextInput id="password_txt" text="test" width="151" x="87" y="40" />
              <s:Label fontSize="14" text="Username:" x="10" y="10" />
              <s:Label fontSize="14" text="Password:" x="10" y="44" />
              <s:CheckBox label="Remember Me" x="10" y="68" />
              <s:Button click="loginClick(event)" id="login" label="Login" x="168" y="69" />
              <!-- <local:FlexCMS -->
         </s:Panel>
    </s:Group>

    I did something similar in the past for a few of my apps.
    The login screen was a custom TitleWindow component that contained the normal username field, password field and login button and could communicate with the server for authentication purposes. If the authentication was successful then I'd call the PopUpManager's removePopUp method on the login window and change the current state to the authenticated state.

  • Declarative Component State

    If I define a decl component the docs indicate the associated bean should have backingBean scope so that if there
    are multiple instances of the component on the same page requests are routed correctly. backingBean scope
    appears to be request scope for decl components.
    If a decl component contains adf components such as a menu that has state that must be saved across requests
    what strategies are available to get/set this state when there are multiple decl components on a page?
    Thanks,
    -Dave

    Hi Venkat, thanks for your response.
    I have tried jsff. It is useful if I have only one address component on the page. but in my case we have two address components (mailing & permanent) on my page. In this case, I wanted to change the value attribute bindings for both the components and not LOV modal attributes for country and state.
    Thanks,
    Viswa.

  • Change BPEL component state in composite

    hi,
    I have a composite which has 5 bpel components and i want to change state of two components to off, is there a way to change the state of an individual component from em console. i m using SOA suite 11.1.1.5.0.

    Login in to em console, click on the composite that you want to turn off.
    Click on the retire button, on the right side of the window, next to test button.
    This will turn off the composite, after retire button is activated there wont be any new instances created.
    Thanks,
    Vijay

  • Creator2 component state question

    I am new to JSF and Creator. I am using a page fragment for navigation on all pages of my site. The page fragment contains a tabset, with sub-tabs. I would like the tab set to maintain its state (which tab is highlighted) between pages. I cannot get this to work. Is this possible with JSF and Creator and if so how? Thanks.

    Hi,
    There is a relevant topic on EA discussion.
    Topic:TabSet navigation on a page fragment
    https://feedbackprograms.sun.com/project/forum/thread.html?cap={3F4DA363-16D3-4D4C-920C-992ECB054B6D}&forid={CC6B8562-F896-4A44-ACB6-4684BDD05E19}&topid={DFA961CF-157A-4E7C-9BBC-FDB69D982E9E}
    Hope this helps.
    Please post messages related to Creator 2 EA at the feedbacks programs portal. The URL is:
    https://feedbackprograms.sun.com/login.html
    Thanks,
    RK.

  • Creating a button that leads back into the main Pages/States from a custom component

    Hello Y'all! isnt F.C. awesome!
    BUT... just cant get a button that leads from a custom component ive made back into the main bulk of pages and states ive created to work.
    it runs a bit like this:
    Main title page...
                            Photography...
                                                 Nature (on which theres a Custom Component which when clicked leads to...)
                                                            20 different custom component states each with different pics, linked via buttons
    from each of which id love a button that led back to Photography, exiting the custom component
    ive tried the basics:      Add interaction.. when clicked.. play transition to.. state: Photography
    but to no avail
    any ideas? im at a loss!
    thanks in advance,
    Tom

    Cross component communications are an issue in Flash Catalyst 1.0. Thankfully, in Flash Catalyst 5.5 the team addressed some of those issues.
    The only idea I have for remove the 'return' button from within the component, then it should be able to get you back to the home state.
    Or, you might be able to wait a few weeks for the new version of Flash Catalyst to ship (or you can play with the older preview release on labs.adobe.com)
    Chris

  • How Do You Set the State Of a Custom Compent's Child Custom Compent?

    I'm starting to build very complex interface 'widgets' built by taking simple custom compents and creating more complex custom compents from these compents and then again grouping those to create custom components. However, I'm starting to lose access in Catalyst to set these sub custom compents. It maybe just a noob issue.
    Am I looking at this wrong?
    Should I not be nesting compents?
    Other wise how do I access these?
    I haven't jumped into the code part of FLEX yet but I figured it would be very OOP like, so... (psuedo code)
    myParentCustomComponent.my1stChild.state = myChildsStateOn;
    //( myChildsStateOn, myChildsStateOff, myChildsStateNotVisited )
    myParentCustomComponent.my2ndChild.state = myChildsStateOn;
    //( myChildsStateOn, myChildsStateOff, myChildsStateNotVisited )
    I hope I can set this in Catalyst so that I don't have to do a shallow and very wide state setup like ... (psuedo code)
    myCustomCompent.state = my1stChildIsOn;
    myCustomCompent.state = my1stChildIsOff;
    myCustomCompent.state = my1stChildIsNotVisited;
    myCustomCompent.state = my2ndChildIsOn;
    myCustomCompent.state = my2ndChildIsOff;
    myCustomCompent.state = my2ndChildIsNotVisted;
    PLEASE ADVISE, thank you.
    Best Regards,
    -Truce

    Hi Truce,
         Thank you for your feedback. You have run into a current limitation with the "play transition to state" interaction and the "Set Component State" action in the timeline. Currently the UI that allows you to pick a state only "sees" components that are direct children of your current context. The state picker doesn't allow picking states of components that are more deeply nested.
    We are aware of this issue and how it impacts user's ability to author more complex projects, so we are looking at ways to allow users to pick states deeper within the hierachy when creating interactions.
    One work around that works in *some* cases is to set the state of sub components in a parent component using the PI rather than using interactions.
    If you have a structure like this
    Application
        WidgetA (with state1 and state2)
              WidgetB (with state1 and state2)
              WidgetC (with state1 and state2)
    You can record what state WidgetB and WidgetC are in for each state of WidgetA. To do this double-click WidgetA, select WidgetB and change the current state in the properties editor for WidgetB. That state will be remember for each state of Widget A. Then when you have an interaction at the application level that changes the state of WidgetA, then WidgetB will change state as well. This works well if WidgetB is in the same state for each state of WidgetA. If you want to change WidgetB and WidgetC states directly from the Application level, there isn't currently a way to do this.
    - Ty

  • Custom TitleWindow Skin State Problem

    Hi everyone, I've got a problem:
    I have a TitleWindow with a skin made by me.
    Everything is perfect but when I change to a certain state (in this case is called "AuctionWon").
    When  I get to that state the skin completely disappear showing a transparent  background and the components I placed in that state aren't right.
    Here  is screenshot of component state in flash builder design mode (when  running I can't see the background and the green button):
    http://dl.dropbox.com/u/4064417/panelStateError.JPG
    Here the screenshot when I run the program
    http://dl.dropbox.com/u/4064417/panelStateError2.JPG
    Do you find something strange in the code?
    Component code:
    http://pastebin.com/A2XtZKxs
    Code where I manage the component (I change the state at 73):
    http://pastebin.com/su2878Zu
    here is the skin definition:
    http://pastebin.com/8XXP7pa3
    making  some test I found out that sometime, if I manage to find the title bar  in the panel and I drag it, the skin magically appears but the buttons  are still wrong...
    unfortunately it appears just sometimes...
    It also appears magically if I bring the window application to icon and then reopen it...
    I really just can't figure out the problem =S
    Can someone help me please?
    Thank you in advance

    Thank you Kevinklee for the quick answer =)
    Changing the TextArea's background alfa brings to nothing =\
    But I saw a change when I applied the image component of my skin in all the states
    Here is the new skin code (yellow line is the edited part)
    http://pastebin.com/grgAQLRW
    The change I see is this: now I can't see my image in Design mode as well and in all the states of my TitleWindow
    Screenshot:
    http://dl.dropbox.com/u/4064417/panelStateError3.JPG
    In the skin design mode anyway I can see my image. Now what I have to do to make it visible everywhere?

Maybe you are looking for

  • Share Media Browser - "Unable to prepare project ... error occurred (-108)"

    Finally got my sequence rebuilt after discovering bug/quirk with iMovie (details later). When sharing movie either via/Media Browser or "Export Movie" option after 10-15 min. get this exact message: "Unable to prepare project for publishing. The proj

  • Custom Purchase Oder Report Printing

    Hi All, We have custom purchase order report XML with Default Output Type as PDF, the report as such has no issues with it. We would like to capture the print count on the po_headers_all each time the custom report is printed by the user. I would be

  • Media card will not format

    I have not been able to format my media card. My phone does recognize it. But will not format for the blackberry pearl 8120 . HELP, I have done everything, and cant get it to format. I know I have the correct disk It is a scandisk 1.0gb Micro SD.

  • BP is a duplicate

    Hello everyone, While replicating a BP from R3 to CRM, I get the BDoc error "BP is a duplicate". I checked in the ADRC table of CRM. There were 4 entries with the same city, telephone number, country, street, name, etc. Considering this, its logical

  • Design issue: which is better?

    In the situation like below public class Foo{     public Foo(){          Foo1 f1 = new Foo1();          //other code to start the thread //Foo1 class public class Foo1(){      public synchronized void setData(String s){            //codes that adds t