RAPID: THE RAPID ADA PORTABLE INTERFACE DESIGNER Martin Carlisle Department of Computer Science US Air Force Academy.

Slides:



Advertisements
Similar presentations
Introduction to Java 2 Programming
Advertisements

OO Programming in Java Objectives for today: Overriding the toString() method Polymorphism & Dynamic Binding Interfaces Packages and Class Path.
1 Chapter 8 Objects and Classes Lecture 2 Prepared by Muhanad Alkhalisy.
COMP 6703 Project A GUI Interface to the Gene Microarray Data Analysis Program SigMotif. Student: Ye Luo (u ) Clients: Professor Susan Wilson and.
A Guide to Oracle9i1 Creating an Integrated Database Application Chapter 8.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Chapter 13: Object-Oriented Programming
Introduction to Visual Basic Chulantha Kulasekere.
Access Tutorial 10 Automating Tasks with Macros
Visual Basic 2008 Express Edition The IDE. Visual Basic 2008 Express The Start Page Recent Projects Open an existing project Create a New Project.
McGraw-Hill© 2007 The McGraw-Hill Companies, Inc. All rights reserved. 1-1.
Tutorial 11 Introduction to Visual Basic zLanguage developed for special-purpose Windows applications – 1991 zUses IDE – Integrated Development Environment.
The NetBeans IDE CSIS 3701: Advanced Object Oriented Programming.
Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and Elizabeth Drake Chapter 8: More About OOP and GUIs.
Department of Mechanical Engineering, LSUSession VII MATLAB Tutorials Session VIII Graphical User Interface using MATLAB Rajeev Madazhy
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
Chapter 8: Writing Graphical User Interfaces
Tcl/Tk package in R Yichen Qin
CSCI 171 Presentation 1. Computer Software System Software –Operating systems –Utility programs –Language compilers Application Software.
Creating Multimedia Interaction with Windows Media Technologies 7.
Tutorial 111 The Visual Studio.NET Environment The major differences between Visual Basic 6.0 and Visual Basic.NET are the latter’s support for true object-oriented.
Computing Science 1P Lecture 18: Friday 2 nd March Simon Gay Department of Computing Science University of Glasgow 2006/07.
Advanced BioPSE NCRR SCIRun GUI Guidelines J. Davison de St. Germain Chief Software Engineer SCI Institute December 2003 J. Davison de St.
Tutorial 11 Five windows included in the Visual Basic Startup Screen Main Form Toolbox Project Explorer (Project) Properties.
CS699: Professional Seminar in CS / Professor V. Riabov Keith Armentrout Presentation #3 : Portable GUI in Ada and GtkAda 2005 March 12Keith Armentrout1.
Lection №5 Modern integrated development environment.
Visual Basic.NET BASICS Lesson 1 A First Look at Microsoft Visual Basic.NET.
CNS 1410 Graphical User Interfaces. Obectives Students should understand the difference between a procedural program and an Event Driven Program. Students.
Microsoft Visual Basic 2005 BASICS Lesson 1 A First Look at Microsoft Visual Basic.
CS324e - Elements of Graphics and Visualization Java GUIs - Event Handling.
How the Session Works Outline Practical on arrival Talk 1 Reflect on practical Clarify concepts Practical exercises at your own pace Talk 2: Further concepts.
Graphical User Interface You will be used to using programs that have a graphical user interface (GUI). So far you have been writing programs that have.
Copyright © Curt Hill More Components Varying the input of Dev-C++ Windows Programs.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
Copyright © 2015 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 13 GUI Programming.
Object-Oriented Application Development Using VB.NET 1 Chapter 10 VB.NET GUI Components Overview.
9-Nov-97Tri-Ada '971 TASH An Alternative to the Windows API TRI-Ada ‘97 Terry J. Westley
TCL TK. Tcl/Tk C functions can become Tcl commands that are invoked interactively Tk = scriptable, portable user interface –Windows, X (Unix), MacOS,
Setting up your computer’s microphone Begin by double clicking on the volume icon within the task bar.
Innovation Intelligence ® 1 Chapter 4: Using TCL to Control the HyperMesh Session.
CMPF114 Computer Literacy Chapter 3 The Visual Basic Environment 1.
Computer Science [3] Java Programming II - Laboratory Course Lab 4 -1 : Introduction to Graphical user interface GUI Components Faculty of Engineering.
Chapter 3 I Need a Tour Guide (Introduction to Visual Basic 2010) Clearly Visual Basic: Programming with Visual Basic nd Edition.
COMPUTER PROGRAMMING I 3.01 Apply Controls Associated With Visual Studio Form.
COMPUTER PROGRAMMING I 3.01 Apply Controls Associated With Visual Studio Form.
Visual Basic/ Visual Studio Brandon Large. Connecting to prior knowledge In your notes write down what the two main parts of the computer are. The “software”
Topics Graphical User Interfaces Using the tkinter Module
Advanced User Interfaces
Chapter Topics 15.1 Graphical User Interfaces
Address Book Example
Henning Schulzrinne Advanced Programming
Predefined Dialog Boxes
Development The Foundation Window.
Electronics II Physics 3620 / 6620
Topics Graphical User Interfaces Using the tkinter Module
You can please some of the people some of the time…
Chapter 15: GUI Applications & Event-Driven Programming
Constructors, GUI’s(Using Swing) and ActionListner
Zhen Jiang West Chester University
To insert this slide into your presentation
To insert this slide into your presentation
To insert this slide into your presentation
You can please some of the people some of the time…
The University of Texas – Pan American
To insert this slide into your presentation
To insert this slide into your presentation
To insert this slide into your presentation
To insert this slide into your presentation
To insert this slide into your presentation
TA: Nouf Al-Harbi NoufNaief.net :::
Presentation transcript:

RAPID: THE RAPID ADA PORTABLE INTERFACE DESIGNER Martin Carlisle Department of Computer Science US Air Force Academy

Objectives u Provide an intuitive GUI designer for Ada that is u Low cost u Readily extensible u Portable

Outline u RAPID development secrets u Demonstration u Questions

Compiler theory to the rescue u Bootstrapping u Created file format for RAPID GUIs u Created generators for widgets u GUI for RAPID was designed using RAPID u 40% of RAPID source was automatically generated u As new widgets were added, they could quickly be used in RAPID itself

Portion of GUI file WINDOW "." MENUBAR MENU "File" 0 ITEM "New" 0 "File_Menu.New_Choice" Ctrl+N ITEM "Open" 0 "File_Menu.Open_Choice" Ctrl+O ENDOF MENU ENDOF MENUBAR WIDGETS PICTUREBUTTON newButton "File_Menu.New_Choice" "new_gif" ENDOF WIDGETS ENDOF WINDOW

OO big win for widgets u GUI widgets naturally lend themselves to an inheritance hierarchy: Widget Button TextPicture

OO big win for widgets u Check button required only 101 new lines of code u 8 methods associated with a widget-- often much of work can be done by calling the parent method

Using OO to reduce code size procedure Write_Widget(Widget : Check_Button; File : File_Type) is begin -- Write_Widget Gui_Enum.Io.Put(File,Gui_Enum.Checkbutto n); Ada.Text_Io.Put(File," "); Write_Widget(Gui_Widget(Widget),File); Ada.Text_Io.Put_Line(File,Widget.Text.all); end Write_Widget;

Common Dialogs provided u File Open u File Save u Quit (are you sure?) u Yes/No u OK

Widgets (and their utilities) u Text Label u change text u Text Entry u Set text u Get text (as string, integer, float) u Clear u Text button u Picture button

More widgets u Check box u Select u Deselect u Is selected? u Radio button (creates an enumeration type) u Select u Which is selected?

Other utilities u Destroy window u Compare file times u Get value of Tcl variable (advanced user)

Demonstration u Overall u Sort demo

Conclusions u Project was successful, currently being used to design ground station software for USAFA Falconsat satellite u Compiler techniques (bootstrapping, intermediate language) support u faster development u easier “cross-compilation” to different GUI libraries

Future Work u Use JVM Swing components instead of Tcl/Tk u Additional widgets u Portable Ada IDE