[haiku-bugs] Re: [Haiku] #7921: Control Look lost in child view

  • From: "Pete" <trac@xxxxxxxxxxxx>
  • Date: Wed, 17 Aug 2011 01:11:50 -0000

#7921: Control Look lost in child view
----------------------------------+-----------------------
   Reporter:  Pete                |      Owner:  axeld
       Type:  bug                 |     Status:  new
   Priority:  normal              |  Milestone:  R1
  Component:  Kits/Interface Kit  |    Version:  R1/alpha3
 Resolution:                      |   Keywords:
 Blocked By:                      |   Blocking:
Has a Patch:  0                   |   Platform:  All
----------------------------------+-----------------------

Comment (by Pete):

 Replying to [comment:6 axeld]:
 > The description wasn't really correct. The button is drawn just fine,
 only that it has no visible background. This is because BControl actually
 inherits the background color from its parent.

 Unfortunately this isn't quite correct either.  A button in a ''child
 view'' (of the window's own inaccessible view) uses the background colour
 of that child view, but a button added to the window itself uses
 B_PANEL_BACKGROUND_COLOR.  (Without be_control_look they all use
 B_PANEL_BACKGROUND_COLOR.)

 It may have sounded like a neat addition to derive from the view, but I
 think it doesn't work in a lot of situations.  In BeOS, my app looks good
 (to me anyway(:-)) with grey buttons in white panels.


 >
 > Since any good UI should just use the defaults (ie.
 B_PANEL_BACKGROUND_COLOR) as background, it usually doesn't make a
 difference.

 Should it?  I think an app should have the freedom to set its own
 appropriate colour scheme.  I just discovered the capabilities of the
 Appearance preference, and also see that a 'set_ui_color()' has been
 added, but these settings are all global.  In fact I'm very happy with the
 defaults for the general look, but an app may well have special needs: a
 red 'Panic' button, say.  And I'd say it's very common to want buttons to
 stand out a bit from the background.  There should be some application-
 specific, even individual control specific, way of setting such things.

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/7921#comment:7>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: