+ All Categories
Home > Technology > Cincom® ObjectStudio® New Native GUI Implementation Preview

Cincom® ObjectStudio® New Native GUI Implementation Preview

Date post: 07-Jul-2015
Category:
Upload: esug
View: 695 times
Download: 4 times
Share this document with a friend
Description:
Cincom® ObjectStudio® New Native GUI Implementation Preview
Popular Tags:
29
1 World Headquarters Cincinnati, Ohio Cincom® ObjectStudio® New Native GUI Implementation Preview: A Technical Overview
Transcript
Page 1: Cincom® ObjectStudio® New Native GUI Implementation Preview

1

World Headquarters

Cincinnati, Ohio

Cincom® ObjectStudio® New Native GUI

Implementation Preview:

A Technical Overview

Page 2: Cincom® ObjectStudio® New Native GUI Implementation Preview
Page 3: Cincom® ObjectStudio® New Native GUI Implementation Preview

Overview

• Intention and Goals

• Some Windows™ Definitions

• Architectural Overview

• Announcements

• Sample Code

3

Page 4: Cincom® ObjectStudio® New Native GUI Implementation Preview

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

Page 5: Cincom® ObjectStudio® New Native GUI Implementation Preview

Some Windows™ Definitions

• Window Classes

• Window Procedure

• Window Messages

5

Page 6: Cincom® ObjectStudio® New Native GUI Implementation Preview

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

Page 7: Cincom® ObjectStudio® New Native GUI Implementation Preview

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

Page 8: Cincom® ObjectStudio® New Native GUI Implementation Preview

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

Page 9: Cincom® ObjectStudio® New Native GUI Implementation Preview

Architectural Overview

• UIView

UITransparentWindow

UIChildWindow

UIControl

• Windows GDI

• GDI+

9

Page 10: Cincom® ObjectStudio® New Native GUI Implementation Preview

UIView

• UIView class

registerClass

WndProc

MessageMap

Message Handling

• UIView

privateCreate

10

Page 11: Cincom® ObjectStudio® New Native GUI Implementation Preview

UIView class>>registerClass

11

Page 12: Cincom® ObjectStudio® New Native GUI Implementation Preview

UIView class>>WndProc

12

Page 13: Cincom® ObjectStudio® New Native GUI Implementation Preview

UIView class>>MessageMap

13

Page 14: Cincom® ObjectStudio® New Native GUI Implementation Preview

UIView>>WM_CHAR:msg:wParam:lParam

14

Page 15: Cincom® ObjectStudio® New Native GUI Implementation Preview

UIView>>privateCreate

15

Page 16: Cincom® ObjectStudio® New Native GUI Implementation Preview

UIChildWindow

• Superclass for all child windows

• Subclasses are window classes

like

UITabPage

UIDrawPad

UIImgDisplay

(…)

16

Page 17: Cincom® ObjectStudio® New Native GUI Implementation Preview

UIControl

• Superclass for all Controls /

Widgets

• Subclasses are Controls / Widgets

like

UITreeView

UIListView

UIEdit

• UIMultilineEdit

• UIRichEdit

(…)

17

Page 18: Cincom® ObjectStudio® New Native GUI Implementation Preview

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

Page 19: Cincom® ObjectStudio® New Native GUI Implementation Preview

Windows GDI

With the introduction of Windows XP, GDI was

deprecated in favor of its successor, the C++ based

GDI+ subsystem.

19

Page 20: Cincom® ObjectStudio® New Native GUI Implementation Preview

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

Page 21: Cincom® ObjectStudio® New Native GUI Implementation Preview

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

Page 22: Cincom® ObjectStudio® New Native GUI Implementation Preview

Used In

• UIBitmapDisplay

• UIImgDisplay

• UIDrawPad

• UIChart

UILineGraph

UIBarChart

UIPieChart

22

Page 23: Cincom® ObjectStudio® New Native GUI Implementation Preview

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

Page 24: Cincom® ObjectStudio® New Native GUI Implementation Preview

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

Page 25: Cincom® ObjectStudio® New Native GUI Implementation Preview

Sample Code

• TestUI

• TestGdipClock

• TestPathGradient

• (…)

25

Page 26: Cincom® ObjectStudio® New Native GUI Implementation Preview

Some Controls / Widgets

26

Page 27: Cincom® ObjectStudio® New Native GUI Implementation Preview

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

([email protected]) for more information

Page 28: Cincom® ObjectStudio® New Native GUI Implementation Preview

Contact Information

Star Team (Smalltalk Strategic Resources)

– Suzanne Fortman ([email protected])

Cincom Smalltalk Program Director

– Arden Thomas ([email protected])

Cincom Smalltalk Product Manager

– Jeremy Jordan ([email protected])

Cincom Smalltalk Marketing Manager

http://www.cincomsmalltalk.com

Page 29: Cincom® ObjectStudio® New Native GUI Implementation Preview

Thanks for listening


Recommended