1
World Headquarters
Cincinnati, Ohio
Cincom® ObjectStudio®
New Native GUI
Implementation Preview:
A Technical Overview
Overview
• Intention and Goals
• Some Windows™ Definitions
• Architectural Overview
• Announcements
• Sample Code
3
Intention and Goals
• Modernize the UI Controls / Widgets
• Eliminate Primitives and use DLLCC
• Easy to Maintain and Exte...
Some Windows™ Definitions
• Window Classes
• Window Procedure
• Window Messages
5
Window Classes
A window class is a set of attributes that the system uses
as a template to create a window. Every window i...
Window Procedure
Every window class has an associated window
procedure — a function that processes all messages
sent or po...
Window Messages
Each window has a function, called a window procedure,
that the system calls whenever it has input for the...
Architectural Overview
• UIView
 UITransparentWindow
 UIChildWindow
 UIControl
• Windows GDI
• GDI+
9
UIView
• UIView class
 registerClass
 WndProc
 MessageMap
 Message Handling
• UIView
 privateCreate
10
UIView class>>registerClass
11
UIView class>>WndProc
12
UIView class>>MessageMap
13
UIView>>WM_CHAR:msg:wParam:lParam
14
UIView>>privateCreate
15
UIChildWindow
• Superclass for all child windows
• Subclasses are window classes
like
 UITabPage
 UIDrawPad
 UIImgDispl...
UIControl
• Superclass for all Controls /
Widgets
• Subclasses are Controls / Widgets
like
 UITreeView
 UIListView
 UIE...
Windows GDI
The Microsoft Windows graphics device interface (GDI)
enables applications to use graphics and formatted text
...
Windows GDI
With the introduction of Windows XP, GDI was
deprecated in favor of its successor, the C++ based
GDI+ subsyste...
GDI+
―GDI+ adds anti-aliased 2D graphics, floating point
coordinates, gradient shading, more complex path
management, intr...
GDI+
Windows GDI+ exposes a flat API
that consists of about 600
functions
The functions are mapped into
Smalltalk classes,...
Used In
• UIBitmapDisplay
• UIImgDisplay
• UIDrawPad
• UIChart
 UILineGraph
 UIBarChart
 UIPieChart
22
Announcements
Announcement is the core of
class-based event notification
framework superseding the older
symbol-based trig...
Class TestUI
• Singleton
• Implements a test for every
UI class implemented
• Controlled by class side
methods
 Each line...
Sample Code
• TestUI
• TestGdipClock
• TestPathGradient
• (…)
25
Some Controls / Widgets
26
27
If you want to know more, get your hands on the
code and tell us what you think, please register for
our OST-DEV progra...
Contact Information
Star Team (Smalltalk Strategic Resources)
– Suzanne Fortman (sfortman@cincom.com)
Cincom Smalltalk Pro...
Thanks for listening
Cincom® ObjectStudio® New Native GUI Implementation Preview
Upcoming SlideShare
Loading in...5
×

Cincom® ObjectStudio® New Native GUI Implementation Preview

690

Published on

Cincom® ObjectStudio® New Native GUI Implementation Preview

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
690
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Cincom® ObjectStudio® New Native GUI Implementation Preview

  1. 1. 1 World Headquarters Cincinnati, Ohio Cincom® ObjectStudio® New Native GUI Implementation Preview: A Technical Overview
  2. 2. Overview • Intention and Goals • Some Windows™ Definitions • Architectural Overview • Announcements • Sample Code 3
  3. 3. Intention and Goals • Modernize the UI Controls / Widgets • Eliminate Primitives and use DLLCC • Easy to Maintain and Extend “A user interface is well-designed when the program behaves exactly how the user thought it would.” 4
  4. 4. Some Windows™ Definitions • Window Classes • Window Procedure • Window Messages 5
  5. 5. Window Classes A window class is a set of attributes that the system uses as a template to create a window. Every window is a member of a window class. All window classes are process specific. 6
  6. 6. Window Procedure Every window class has an associated window procedure — a function that processes all messages sent or posted to all windows of the class. All aspects of a window's appearance and behavior depend on the window procedure's response to these messages. 7
  7. 7. Window Messages Each window has a function, called a window procedure, that the system calls whenever it has input for the window. Windows do not make explicit function calls to obtain input. Instead, they wait for the system to pass input to them. The system passes all input for an application to the various windows in the application. 8
  8. 8. Architectural Overview • UIView  UITransparentWindow  UIChildWindow  UIControl • Windows GDI • GDI+ 9
  9. 9. UIView • UIView class  registerClass  WndProc  MessageMap  Message Handling • UIView  privateCreate 10
  10. 10. UIView class>>registerClass 11
  11. 11. UIView class>>WndProc 12
  12. 12. UIView class>>MessageMap 13
  13. 13. UIView>>WM_CHAR:msg:wParam:lParam 14
  14. 14. UIView>>privateCreate 15
  15. 15. UIChildWindow • Superclass for all child windows • Subclasses are window classes like  UITabPage  UIDrawPad  UIImgDisplay  (…) 16
  16. 16. UIControl • Superclass for all Controls / Widgets • Subclasses are Controls / Widgets like  UITreeView  UIListView  UIEdit • UIMultilineEdit • UIRichEdit  (…) 17
  17. 17. Windows GDI The Microsoft Windows graphics device interface (GDI) enables applications to use graphics and formatted text on both the video display and the printer. • Negatives  No support for modern image formats (JPG/PNG)  No anti-aliasing • Positive  fast 18
  18. 18. Windows GDI With the introduction of Windows XP, GDI was deprecated in favor of its successor, the C++ based GDI+ subsystem. 19
  19. 19. GDI+ ―GDI+ adds anti-aliased 2D graphics, floating point coordinates, gradient shading, more complex path management, intrinsic support for modern graphics-file formats like JPEG and PNG, and support for composition of affine transformations in the 2D view pipeline.‖ 20
  20. 20. GDI+ Windows GDI+ exposes a flat API that consists of about 600 functions The functions are mapped into Smalltalk classes, that reflect the C++ hierarchy 21
  21. 21. Used In • UIBitmapDisplay • UIImgDisplay • UIDrawPad • UIChart  UILineGraph  UIBarChart  UIPieChart 22
  22. 22. Announcements Announcement is the core of class-based event notification framework superseding the older symbol-based trigger-event framework and the changed/update mechanism. 23
  23. 23. Class TestUI • Singleton • Implements a test for every UI class implemented • Controlled by class side methods  Each line in the class method contain a single operation  Execute line by line to see the effect 24
  24. 24. Sample Code • TestUI • TestGdipClock • TestPathGradient • (…) 25
  25. 25. Some Controls / Widgets 26
  26. 26. 27 If you want to know more, get your hands on the code and tell us what you think, please register for our OST-DEV program. See our Product Manager Arden Thomas (athomas@cincom.com) for more information
  27. 27. Contact Information Star Team (Smalltalk Strategic Resources) – Suzanne Fortman (sfortman@cincom.com) Cincom Smalltalk Program Director – Arden Thomas (athomas@cincom.com) Cincom Smalltalk Product Manager – Jeremy Jordan (jjordan@cincom.com) Cincom Smalltalk Marketing Manager http://www.cincomsmalltalk.com
  28. 28. Thanks for listening
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×