• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: is there a way to determine if an NSButton is toggleable ?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: is there a way to determine if an NSButton is toggleable ?


  • Subject: Re: is there a way to determine if an NSButton is toggleable ?
  • From: Jeff Nadeau <email@hidden>
  • Date: Mon, 20 Aug 2018 16:39:06 -0700

NSButton is interesting in that it separates out the state (e.g.
`isHighlighted` and `state`) from the presentation of that state. The state
manipulation behavior is totally uniform, i.e. the `state` property always
toggles between Off and On when any button is clicked. Most buttons aren't
configured to draw differently when On, so you don’t notice it.

Subclassers often just ignore this and implement whatever drawing behavior they
want, but if you want to be sensitive to the configuration, you’ll want to
check the showsStateBy mask on the cell.

• For a Toggle button, which exchanges contents based on state, the
NSContentsCellMask bit will be set.
• For a On/Off button, which reflects the state in the button artwork, the
NSChangeBackgroundCellMask bit will be set.

It’s legal for a button cell to have any combination of bits configured, but
none of the built-in NSButtonTypes set both at once.

- Jeff

> On Aug 20, 2018, at 3:04 AM, Guillaume Laurent <email@hidden>
> wrote:
>
> Hi all,
>
>
> For a custom UI I’ve had to write a custom control deriving from NSButton,
> which highlights itself in a special way on mouse-over. In the method which
> does the highlighting, I check if the button’s state is either .on or .off,
> so I know which title or alternateTitle to display. But I realized that, no
> matter the button's type, the state is always toggled on click. That is, even
> if the button’s type is set to MomentaryPushIn, the button’s state is toggled
> after a click. I’d have thought that this was the case only for
> OnOff/Toggle/Switch… types.
>
> Since there is no NSButton.type getter, is there a way to determine if the
> button’s type is toggleable or not ? And what is the reason for switching
> state for types like MomentaryPushIn ?
>
>
> Thanks,
>
> Guillaume.
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden

_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: is there a way to determine if an NSButton is toggleable ?
      • From: Guillaume Laurent <email@hidden>
References: 
 >is there a way to determine if an NSButton is toggleable ? (From: Guillaume Laurent <email@hidden>)

  • Prev by Date: Re: Custom keyboard with search bar not behaving
  • Next by Date: Re: Carbon -> Cocoa
  • Previous by thread: Re: is there a way to determine if an NSButton is toggleable ?
  • Next by thread: Re: is there a way to determine if an NSButton is toggleable ?
  • Index(es):
    • Date
    • Thread