From: Foster T. B. <fbr...@ad...> - 2005-03-11 20:14:32
|
On Mar 10, 2005, at 11:40p, Ralph Thomas wrote: > Are you planning on making the toolkit interface exactly the same for > Windows and MacOS (so that the same eve files could be used on both > platforms)? Yes. We are trying to do more than provide a common API for all platforms. A point we are trying to achieve is to distill the semantics of these widgets down to their minimum requirements, completely separated from platform-specific UI APIs. We then want to conform the ui_core API to those semantic needs instead of tying it to a specific platform and forcing the other platforms to "catch up". In this sense, then, all the platforms are playing "catch up", because there are varying degrees of functionality across them, and all should strive to achieve good implementations for these semantics. Obtaining the ideal dimensions of a widget is a good example of this-- neither platform does it perfectly, and yet ultimately that is the behavior you are striving for. What we have found is that the client has a specific intention and purpose for a widget. With APIs that let clients set various attributes of a widget (font size and style, event handlers, etc) the client will set these various attributes for each to match this intention. For example, buttons in palettes will have a certain "look and feel", as will buttons in a standard dialog, though the "looks and feels" could be very different between the two. What we are doing with ui_core is coding the API to the "look and feel" and not to the minutiae of achieving that look. More formally, we are writing the API to the behavior requirements (semantics) of the widget, instead of forcing the client to define those semantics implicitly through their tweaking of the widget's minor attributes (font size and style, event handlers, etc). As a specific API example, we do not have "set_font_size" anywhere in the ui_core API. But we do have a more general "set_theme" (which even now is still not where we want it). Please keep in mind the ui_core API is in need of a lot of work, but I hope this gives you a general idea of the direction we are interested in taking it. It is a start, we believe a good start, but only a start... Blessings, Foster -- Foster T. Brereton <}}}>< Romans 3:21-26 A d o b e S o f t w a r e T e c h n o l o g y L a b "What 99 percent of programmers need to know is not how to build components but how to use them." -- Alexander Stepanov |