Download presentation
Presentation is loading. Please wait.
1
User experience Framework
By Inraz Ltd.
2
The Challenge Complete separation between GUI and Development
C/C++ developers unaware of the UI platform (C# WPF or Web technology) Using UI functions and libraries is simple as calling win32 API
3
Anatomy Complete separation between designers and developers divisions
Requirements FRS ORS Operational Design Development Functionality
4
System Overview
5
Working modes and interfaces
Two separated processes (good for debugging) TCP/IP Shared memory Single process includes App & FEApp Direct functions call
6
Working modes and interfaces
Async Sync configuration Type Single process Multi process TCP UDP Direct API call Share memory
7
Control definition (WPF example)
metadata [notify{mouse};] type{button | toggle | tab | check | imagebutton | stateImage | image}; defines default behavior [group{all buttons name participate in the group including this one};] Only for type=check states{ 1=.\Bitmaps\btn-new_enable.bmp, 1(hot)=.\Bitmaps\btn-new_hot.bmp, 2=.\Bitmaps\btn-new_selected.bmp, 2(hot)=.\Bitmaps\btn-new_selectedhot.bmp, 3=.\Bitmaps\btn-new_disable.bmp, 3(hot)=.\Bitmaps\btn-new_disableHot.bmp, 4=“text on button”, 4(hot)=“hot text on button”, 5=#NAME_CTRL_TXT, 5(hot)=#NAME_CTRL_TXT enable=1, click=2, notclick=1[checkbox only], disable=3, MouseLeftButtonDown=2}; named state [defaultState={any state above or empty to hide the control};] default state and visibility on startup [ statesMachine{MouseLeftButtonDown:1=2,2=3,3=1| MouseRightButtonDown:1=2,2=3,3=1 | MouseEnter: ... | MouseLeave: ... | MouseLeftButtonUp: ... | MouseRightButtonUp: ... }; ]
8
State machine Each and Every GUI control is always in a well defined state button, slider, textbox, label For simplicity and uniformity: changing state is via SetState function for all controls Each control can be configured to report it’s new state Reporting a new state includes the state change and the initiator: user or application
9
Control definition in C++ Application
10
Calling methods from App
Function and object parsed from string Methods and properties get/set parsed from string
11
Debugging and Profiling
Debugging levels: Notifications Warnings Errors Software errors Profiling GUI-App send/receive messages load GUI input messages GUI output messages
12
Summary Proposed system as a core solution
System architecture defines separation between designers and developers Scalability Fast and simple MMI updates Debugging capabilities
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.