Missing features + updates #119

avaidyam opened this Issue Jun 16, 2012 · 3 comments


None yet
3 participants

What features are we missing (as in, total lack thereof, or partial lack) in TwUI? I've brought CoreLayout as a partially functioning addition to TwUI (think Cocoa AutoLayout, but somewhat CAConstraint related API without ASCII, but that'll change). Here's what I think right now we need/only have a partial implementation of:


  • A standard look and feel. I believe we should implement something like the UIAppearance and have default styles: Cocoa, Cocoa Touch, HUD.
  • A standard set of controls and controllers. This one's a big PITA, but I'm working on it, again.
  • Block handlers for mouse up/down, dragging, enter/exit to avoid subclassing where possible. I'm going to be adding this one shortly.


  • Core Layout (Think Cocoa's Auto Layout feature...) I'll be maintaining and updating this one.
  • Text Engine. Let's face it- the one in TwUI is PRETTY borked. Sadly, I have no idea where to start... (perhaps Undo?)
  • A good adapter pair (TUINSView should be renamed something like TUIAdapterView, and we need the inverse too....)
  • Proper documentation. Looks like this is being done by jparishy and myself.
  • A good window class that lets us handle custom windows well.

I'll be working more on CoreLayout support, windows, and the adapter pair. Maybe some API compatibility and the look and feel...


jwilling commented Jun 17, 2012

There are some good ideas in here, but I somewhat disagree on making the API exactly the same as UIKit. Of course without examples I have no clue exactly which aspects you're talking about, but definitely I think pretty much everyone involved in this project wants to avoid the Chameleon route as much as possible. Definitely this project was inspired by UIKit, but maintaing one-to-one compatibility isn't necessary.

However, I speak for my own opinion and I know this is highly subjective.

It's already 90 percent compatible. Of course I don't mean to make TwUI a Chameleon (haha, puns?), but mostly compatible:

  • Keep mouse-related events and scheme the same.
  • Add more standard UIKit-like controls.
  • Add AppKit like interaction TO these controls.
  • This keeps the API mostly the same, but allows a near-native Cocoa feel.

I mean, that's the dream here isn't it? Core Animation + UIKit programming ease of use + Cocoa interaction. Well, mostly...

ujjwalt commented Jun 18, 2012

Before anything please document it properly - am having a tough time !

@avaidyam avaidyam closed this Sep 4, 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment