modernizing client/server apps with uniface 9.6

28
Modernization of the C/S GUI Berry Kuijer Saat Solution Consultant January 24, 2013

Upload: uniface

Post on 26-Jun-2015

1.248 views

Category:

Technology


3 download

DESCRIPTION

Modernizing existing applications is frequently the most cost-effective and productive way for an organization to meet the demand for enhanced and innovative applications. Uniface 9.6 will allow you to take your client/server apps to an entirely new level. Uniface 9.6 will enable you to achieve a modern, functional user experience, which is now a critical application feature.

TRANSCRIPT

Page 1: Modernizing Client/Server Apps with Uniface 9.6

Modernization of the C/S GUI

Berry Kuijer Saat

Solution Consultant

January 24, 2013

Page 2: Modernizing Client/Server Apps with Uniface 9.6

Agenda

� Image Enhancements� Menu and Panels Enhancements� GUI Controls� Containers

Page 3: Modernizing Client/Server Apps with Uniface 9.6

PNG Images in UnifaceAdded Image support for PNG

� Higher, better resolution images GDI+

� Graduated levels of opacity (Alpha Channel)

� Is loss less (Edits well without loss of quality)

� Flexible and multiple graphic edge options

� Interlacing support (Fuzzy loading big images, slow connections)

Free background images for buttonshttp://www.altawebworks.com/free-buttons.htmlBackground transparency, gradients, other effects gimp (free) http://www.gimp.org/

Page 4: Modernizing Client/Server Apps with Uniface 9.6

Menus and PanelsImages in Menus and panels

� Font� BackColor� BackColorSelect� BackColorSelectBorder� BackColorSidebar� BackColorFill� ForeColor� ForeColorSelect� ForeColorDisabled� Image Properties� ImgSelect� ImgSidebar� ImgSize

User defined characteristics

Page 5: Modernizing Client/Server Apps with Uniface 9.6

MenusSet via “ini” fileThe addition or absence of “menu” setting turns

images and formatting on/off

[application]

; Example of a menu definition

;menu=umenu(backcolorselect=#aecff7;Backcolorfill=gradient)

menu=umenu(imgsize=IMG_MEDIUM;font=SansLarge;[email protected];backcolor=lightyellow;forecolor=red;forecolorselect=green;backcolorselect=lightskyblue;[email protected])

Page 6: Modernizing Client/Server Apps with Uniface 9.6

PanelsNew ‘user’ setting in setup to define toolbar style

Along with existing settings

Defined in ‘ini’ file under section [Application]

panel=upanel(font=SansLarge;backcolor=green;forecolor=red;forecolorselect=green;backcolorselect=lightskyblue;Backcolorfill=gradient)

Page 7: Modernizing Client/Server Apps with Uniface 9.6

Menus

Page 8: Modernizing Client/Server Apps with Uniface 9.6

GUI Controls - Command Button

Enhanced “Uniface” type command buttonButton State indicated by Color or Images

States are:� Default (Unselected)� Hover (Mouse over)� Selected (Mouse down)� Active (Field has focus)

Page 9: Modernizing Client/Server Apps with Uniface 9.6

Defining ButtonsColors:

Define color of “Text” button type stringBackground ForegroundActive textHover ForegroundFocus Text

Images: Define image Representation “Uniface”

Default – Image background normalActive – Image on mouse-down or clickHover – Image on mouse-overFocus – Image when field has focus

Dynamic properties

$fieldproperties(field) = “[email protected];[email protected];[email protected];[email protected]

Page 10: Modernizing Client/Server Apps with Uniface 9.6

Defining ButtonsCan combine Image and text/label for different effects

Standard button no Images, text message: burgundy background color white forground

Button with image background text message

Button with Image background and Image type overlay

Button with Image Background and Image type overlay with additional ‘text’ label merged to right of button

Page 11: Modernizing Client/Server Apps with Uniface 9.6

Buttons

Page 12: Modernizing Client/Server Apps with Uniface 9.6

GUI Controls - Enhanced TabNew widget utabex but existing utab stays

Multiple Representation

Horizontal (Regular Tab)Accordion (Skype options)

Stacked (Outlook Style)

Page 13: Modernizing Client/Server Apps with Uniface 9.6

Enhanced Tab

� Tab Position � Tab Orientation� Tabs Alignment� Label Alignment� Label Image Alignment� Image Size� Default Image� Hover Image� Active Image� Tab Strip Image� Background Color � Gradient� Foreground Color� Active Tab Background

Color� Active Foreground Color� Hover Background Color� Hover Foreground Color� Tab Line Color� Frame Color� Tab Colors

Properties:� Frame� Multiple Rows � Fixed Tab Width� Justified Tab � Attach to Window Border � Page Name and Tab Label

Text � Widget Font � Label Font � Style � Tab Width� Tab Height� Tab Offset� Tab Space� Tab Line Width� Frame Width

You can do a lot with this new widget!

Page 14: Modernizing Client/Server Apps with Uniface 9.6

Enhanced Tab uses

Page 15: Modernizing Client/Server Apps with Uniface 9.6

Enhanced Tab

Page 16: Modernizing Client/Server Apps with Uniface 9.6

GUI Controls – Form Types

Form Types have changed

Old Tabform is now ‘contained’

New form type ‘popup’

Page 17: Modernizing Client/Server Apps with Uniface 9.6

GUI Controls POP-ups� A temporary form “pops up” and can “autoclose”

� Usually associated with a Button or field

� “popup” location configurable� Left, right, up, down, bottom,top

� Or set your own position/field

� $fieldproperties(Field) = "popuprect=5,1,100px,10px“

� Form types� Normal – Can create a popup ‘window’

instantiated via newinstance extension “windowtype=popup”� InheritWinProps=T inherits form properties.

� Popup – Simple undecorated form

Page 18: Modernizing Client/Server Apps with Uniface 9.6

POP-ups

Page 19: Modernizing Client/Server Apps with Uniface 9.6

Form Container

A field that is a container for other forms

Unlike a Tab can ‘blend’ with existing form

Acts like Uniface TAB

Can be nested

Can be moved and resized ($paintedfieldproperties)

Page 20: Modernizing Client/Server Apps with Uniface 9.6

HTML5 Container

Rendering engine for HTML5

‘Webkits’ engine

Bi-directional control� Reference and pass parameters to JavaScript

� JavaScript call-out to Uniface extended trigger with parameters

Page 21: Modernizing Client/Server Apps with Uniface 9.6

HTML5 Container

Can load entire web pages or ‘snippits’ of html

Example use of animated Gifs or png sprites

Widget operations Loadurl, loadhtml, and JS

Supports JavaScript

New $fieldhandle to reference field

Example:

$fieldhandle(GE)->$widgetoperation("JS:UNavto", Location)

Will cause the html5 widget called ‘GE’ to invoke the JavaScript function

‘UNavto’ pasing the contents of the field ‘location’ as a parameter.

Page 22: Modernizing Client/Server Apps with Uniface 9.6

Responds to JavaScript via extended triggers

Example:

In JavaScript this function:

function CallUnifaceTrigger(ButtonClicked)

{

var vid = ButtonClicked.id;

window.unifaceTriggers('ButtonClick', vid);

}

calls a ‘trigger’ named ‘ButtonClick’ in the extended trigger field passing parameter ‘vid’

HTML5 Container

Page 23: Modernizing Client/Server Apps with Uniface 9.6

HTML5 Container

Page 24: Modernizing Client/Server Apps with Uniface 9.6

Additional EnhancementsColor Inheritance

Inherit parent colors

Applies to Labels and Edit boxes

$fieldproperties(MyField)= "InheritColors=true“

foreground/background colors of entity to be used

If foreground/background colors of form are used

Page 25: Modernizing Client/Server Apps with Uniface 9.6

Modernization following Microsoft

Page 26: Modernizing Client/Server Apps with Uniface 9.6

Putting it all together9.6 Enhancements enable you to create

functional and visually appealing applications.

Page 27: Modernizing Client/Server Apps with Uniface 9.6

http://unifaceinfo.com/samples/

Page 28: Modernizing Client/Server Apps with Uniface 9.6

Thanks

[email protected]