Return-Path: X-Original-To: apmail-incubator-flex-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-flex-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9AB13923E for ; Tue, 24 Jan 2012 07:06:15 +0000 (UTC) Received: (qmail 34657 invoked by uid 500); 24 Jan 2012 07:06:14 -0000 Delivered-To: apmail-incubator-flex-dev-archive@incubator.apache.org Received: (qmail 34218 invoked by uid 500); 24 Jan 2012 07:06:01 -0000 Mailing-List: contact flex-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: flex-dev@incubator.apache.org Delivered-To: mailing list flex-dev@incubator.apache.org Received: (qmail 34152 invoked by uid 99); 24 Jan 2012 07:05:58 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 24 Jan 2012 07:05:58 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of flex.programming@gmail.com designates 209.85.210.175 as permitted sender) Received: from [209.85.210.175] (HELO mail-iy0-f175.google.com) (209.85.210.175) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 24 Jan 2012 07:05:53 +0000 Received: by iabz21 with SMTP id z21so6370927iab.6 for ; Mon, 23 Jan 2012 23:05:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=Kq+JFCz4Z6V/gP9h65tGmWxs3JOaZR7lPEQ1oYzymvQ=; b=xSJhq5TSYcw+NyG10/J82XZCOSx23AgZGmWWMsD4sSmnrIg7bC24+BA6mVyYVgxVQC XiAbkw1qjaHL8jtJT1Ft3MAMOdcWxQFcdmZBz72cLwi11QHi51rhHvEuvXm17qGdWUC5 S8AnAufEUH2Dh8W42PE4y8+iZmsIyT4o/sEIw= MIME-Version: 1.0 Received: by 10.50.15.161 with SMTP id y1mr15972932igc.4.1327388732920; Mon, 23 Jan 2012 23:05:32 -0800 (PST) Received: by 10.231.204.70 with HTTP; Mon, 23 Jan 2012 23:05:32 -0800 (PST) In-Reply-To: References: Date: Tue, 24 Jan 2012 09:05:32 +0200 Message-ID: Subject: Re: Flex 5 UIComponent - Behavior Pattern From: Bogdan DINU To: flex-dev@incubator.apache.org Content-Type: multipart/alternative; boundary=14dae9340c59e793dc04b740c597 --14dae9340c59e793dc04b740c597 Content-Type: text/plain; charset=ISO-8859-1 Hi Tink, with all the feedback I've got, I'm now thinking that we should make behaviors out of things that can be considered secondary, like scrolling, mouse input, re-sizing, tool-tip (and all your list). A good way would be to separate core aspects from secondary ones and those extras to become behaviors. However, I think this will start a new debate : what's core and what's not. Also, I agree with removing the need for Skinnable components to be DisplayObjects. Best regards, Bogdan On Tue, Jan 24, 2012 at 12:32 AM, Tink wrote: > On 23 Jan 2012, at 17:08, Bogdan DINU wrote: > > Hey Jonathan, >> >> I'm convinced about my idea. However, I cannot start developing while I >> don't have the whole picture, a plan and a road map. And having a whole >> picture is everything. Look at how Doug challenged me as Devil's advocate >> :) >> >> > A bit of planning before developing wouldn';t go a miss, so maybe we could > start with what you would remove from UIComponent and replace with a > behavior and why (i.e. what components don't require the behavior), as Doug > said it would be pointless doing all the work to always implement the > behaviours. I can think of a few > > 1. Styling - The core containers really need any styling. Styling is very > rarely used in the case of Groups. > 2. Focus - Only low level components require focus. Containers, > application views, and complex composite components generally don't need to > handle focus, just lets their children handle it. > 3. Validation - Only input controls generally require validation. > 4. States - I generally only try and use states in skins, although I do > use them elsewhere, if there is a significant amount of overhead added to > Groups etc when I'm not using them I'd rather them be removed by default, > with the ability to add the behavior. Not sure how this would be handled in > MXML. > > Anything else you'd add to the list? > > I know I have mentioned this before, but removing the need for Skinnable > components to be DisplayObjects surely would reduce overhead significantly, > although agreed would reduce the large amount of code in UIComponent. > > > Tink > > > -- http://www.badu.ro --14dae9340c59e793dc04b740c597--