CS112 Scientific Computation Department of Computer Science Wellesley College Interactive Programs Graphical User Interfaces.

Slides:



Advertisements
Similar presentations
1 Chapter 8 Objects and Classes Lecture 2 Prepared by Muhanad Alkhalisy.
Advertisements

Why ROOT?. ROOT ROOT: is an object_oriented frame work aimed at solving the data analysis challenges of high energy physics Object _oriented: by encapsulation,
CS112 Scientific Computation Department of Computer Science Wellesley College Geese honk, but they don’t wave Sinusoidal waves.
A graphical user interface (GUI) is a pictorial interface to a program. A good GUI can make programs easier to use by providing them with a consistent.
Graphics in MATLAB Week 15 – 5/5/09 Kate Musgrave
1 How to create GUI's in MatLAB Rigo Dicochea. 2 Introduction Graphical User Interface (GUI) MatLab provides Graphical User Interface Development Environment(GUIDE)
CS112 Scientific Computation Department of Computer Science Wellesley College Interactive Programs Graphical User Interfaces.
Matlab GUIs Making Matlab Interactive. Today’s topics What is a GUI? How does a GUI work? Where do you begin? Ways to build MATLAB GUIs.
Chapter 3 Working with Symbols and Interactivity.
Programming a GUI Hanan sedaghat pisheh. For calling GUI, we need a function with no inputs or outputs First We create a m.file m file has the same name.
MATLAB Second Seminar. Previous lesson Last lesson We learnt how to: Interact with MATLAB in the MATLAB command window by typing commands at the command.
Database-Driven Web Sites, Second Edition1 Chapter 8 Processing ASP.NET Web Forms and Working With Server Controls.
Java Programming, 3e Concepts and Techniques Chapter 3 Section 65 – Manipulating Data Using Methods – Java Applet.
Department of Mechanical Engineering, LSUSession VII MATLAB Tutorials Session VIII Graphical User Interface using MATLAB Rajeev Madazhy
A short intermission about function handles and cell arrays A MATLAB function may be referenced by a handle. >> sphere(100)
Introduction to the Graphical User Interface (GUI) in MATLAB
Matlab GUIs GUIDE.
CS 170 – INTRO TO SCIENTIFIC AND ENGINEERING PROGRAMMING.
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
Introduction to Matlab & Data Analysis
Java Software Solutions Lewis and Loftus Chapter 10 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Graphical User Interfaces --
© 2011 Delmar, Cengage Learning Chapter 3 Working with Symbols and Interactivity.
Chapter 8: Writing Graphical User Interfaces Visual Basic.NET Programming: From Problem Analysis to Program Design.
GUI development with Matlab: GUI Front Panel Components 1 GUI front panel components In this section, we will look at -GUI front panel components -Programming.
Basic Controls & Properties Chapter 2. Overview u VB-IDE u Basic Controls  Command Button  Label  Text Box  Picture Box u Program Editor  Setting.
Adobe Flash CS3 Revealed Chapter 3 - WORKING WITH SYMBOLS AND INTERACTIVITY.
Introduction to Matlab’s Graphical User Interface (GUI) Type “guide” “Guide” creates interface on a Figure window and code in an M-file. Some hidden code.
Computational Methods of Scientific Programming Lecturers Thomas A Herring, Room , Chris Hill, Room ,
Graphical User Interfaces I The central station is the bubble gum planet with 280 pounds of clay and three head phone lines that come out and orbit the.
function varargout = MovieJoiner(varargin) % MOVIEJOINER M-file for MovieJoiner.fig % MOVIEJOINER, by itself, creates a new MOVIEJOINER or raises the.
Graphical User Interfaces Tonga Institute of Higher Education.
1 Computer Science of Graphics and Games MONT 105S, Spring 2009 Session 20 Graphical User Interface (GUI)
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
Graphic User Interfaces (GUI) GUI provides a way to interact friendly with possibly complex programs. There are two types of GUI: - MDI: multiple document.
CS112 Scientific Computation Department of Computer Science Wellesley College Building your own Functions.
1 Creating Windows GUIs with Visual Studio. 2 Creating the Project New Project Visual C++ Projects Windows Forms Application Give the Project a Name and.
Introduction to Matlab & Data Analysis 2015 In this tutorial we will: Build a practical application using GUIDE Learn more about graphical user interface.
MATLAB for Engineers 4E, by Holly Moore. © 2014 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. This material is protected by Copyright.
Visual Basic Programming Introduction VB is one of the High level language VB has evolved from the BASIC language. BASIC stands for Beginners All-purpose.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
Building the Events Components– Lesson 111 Building the Events Components Lesson 11.
SEEM3460 Tutorial GUI in Java. Some Basic GUI Terms Component (Control in some languages) the basic GUI unit something visible something that user can.
GUI development with Matlab: GUI Front Panel Components GUI development with Matlab: Other GUI Components 1 Other GUI components In this section, we will.
Macromedia Flash 8 Revealed WORKING WITH SYMBOLS AND INTERACTIVITY.
Copyright © 2015 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 13 GUI Programming.
EGR 106 Lecture 6 2-D Plotting Graphical presentation has become the standard method to show technical information. Engineers use plots to analyze, visualize,
Video in Macromedia Flash (Optional) – Lesson 121 Video in Macromedia Flash (Optional) Lesson 12.
EGR 115 Introduction to Computing for Engineers
EGR 115 Introduction to Computing for Engineers Graphical User Interface Design in MATLAB - Part 2 Monday 24 Nov 2014 EGR 115 Introduction to Computing.
Introduction to Matlab Module #10 Page 1 Introduction to Matlab Module #10 – Creating Graphical User Interfaces Topics 1.Overview of GUI Development using.
CS112 Scientific Computation Department of Computer Science Wellesley College Blind to change More on GUIs.
Graphical User Interfaces I The central station is the bubble gum planet with 280 pounds of clay and three head phone lines that come out and orbit the.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 14 Event-Driven Programming with Graphical User Interfaces.
Lecture (7) Introduction to GUI Eng. Osama Talaat 1.
CS112 Scientific Computation Department of Computer Science Wellesley College Building your own Functions.
MATLAB and SimulinkLecture 61 To days Outline Graphical User Interface (GUI) Exercise on this days topics.
PATTERN RECOGNITION LAB 8 TA : Nouf Al-Harbi::
Integrating Components and Dynamic Text Boxes with the Animated Map– Lesson 101 Integrating Components and Dynamic Text Boxes with the Animated Map Lesson.
Reading and Writing Image Files
Topics Graphical User Interfaces Using the tkinter Module
Graphical User Interface in MATLAB
Chapter Topics 15.1 Graphical User Interfaces
Chap 7. Building Java Graphical User Interfaces
More on Graphical User Interfaces
Graphical User Interfaces -- Introduction
funCTIONs and Data Import/Export
Topics Graphical User Interfaces Using the tkinter Module
Chapter 15: GUI Applications & Event-Driven Programming
Electrical and Computer Engineering Department SUNY – New Paltz
Presentation transcript:

CS112 Scientific Computation Department of Computer Science Wellesley College Interactive Programs Graphical User Interfaces

GUIs2 Properties of graphics objects All plotting and graphics functions create graphic objects Each graphics object is identified by a unique number call a handle that can be assigned to a variable: p1 = plot([0 1 2], [2 1 3]); Graphics objects have properties that control their appearance on the screen and can be viewed with the Property Inspector: inspect(p1)

GUIs3 Accessing properties with MATLAB code Graphics object properties can be accessed with the get function: get(object, property) For example, >> get(p1, 'LineWidth'); 0.5

GUIs4 Graphics object properties can be set* by … editing the value in the Property Inspector window … specifying the property name and value when creating the graphics object: p1 = plot([0 1 2], [2 1 3], 'LineWidth', 1);... using the set function: set(object, property, value) >> set(p1, 'LineWidth', 1); * true for any graphics function, e.g. figure, fill, scatter, surf

GUIs5 Subfunctions An M-file can only contain one function that can be called from the Command Window or from another code file This function must be placed at the beginning of the file and its name must be the same as the file name Other subfunctions can be defined in an M-File, but can only be called by functions in the same M-File

GUIs6 Subfunctions for a ferris wheel movie function ferrisWheel % displays an animation of a rotating ferris wheel for frame = 1:36 drawBase; hold on spokeCoords = drawWheel(10*frame); drawCars(spokeCoords); hold off end function drawBase % draw the blue base of the ferris wheel function spokeCoords = drawWheel (angle) % draw the black spokes at the input angle and return % the coordinates of the endpoints of the spokes function drawCars (spokeCoords) % draw a colored car at each location in spokeCoords

GUIs7 Graphical User Interface (GUI) For our programs to date, we called a function or script from the Command Window and the program was executed with minimal input from the user GUI-based programs put the user in the driver’s seat through interactions with components of a graphical display

GUIs8 MATLAB’s Graphical User Interface Development Environment (GUIDE)

GUIs9 Saving the GUI layout When our energyGUI layout is saved the first time, MATLAB generates two files: energyGUI.fig: Layout Editor window with the developing GUI, which can be modified later by entering >> guide energyGUI.fig energyGUI.m: file that contains code to create the GUI display

GUIs10 Functions defined in energyGUI.m energyGUI: top-level function at the beginning of the file that is called from the Command Window. This function initializes the GUI program and opens the GUI window. We will not modify this function energyGUI_OpeningFcn: executed just before the GUI window is made visible. We will modify this function to set up data for the program energyGUI_OutputFcn: returns outputs to the Command Window. We will not modify this function

GUIs11 Callback functions For each component, the header of a Callback function is created. These functions are invoked automatically when the user interacts with the corresponding component Invokes closeButton_Callback when clicked by user

GUIs12 Inputs to GUI functions hObject is a number, the graphics handle, that uniquely identifies the GUI component and its associated properties eventdata is not used in the current version of MATLAB handles is a structure that contains information that needs to be shared between functions in this file. Initially it contains a field for each GUI component created, using Tag property as name: handles.axes1 handles.sourceMenu handles.sourceToggle handles.titleLabel handles.titleBox handles.widthCheckbox handles.plotButton handles.closeButton handles.figure1 Value of each field is the graphics handle for that component

GUIs13 Adding actions function energyGUI_OpeningFcn (hObject, eventdata, handles, varargin) % setup data to use for plotting [handles.years handles.produce handles.consume] = setupEnergy; function sourceToggle_Callback (hObject, eventdata, handles) % use state of toggle button to set text label on button if (get(hObject, 'Value') == 0) set(hObject, 'String', 'produce'); else set(hObject, 'String', 'consume'); end guidata(hObject, handles); copy changes to global handles structure

GUIs14 More action function plotButton_Callback (hObject, eventdata, handles) % setup data source requested by user from state of toggle button if (get(handles.sourceToggle, 'Value') == 0) dataSource = handles.produce; else dataSource = handles.consume; end % get index of selected energy source sourceIndex = get(handles.sourceMenu, 'Value'); % use state of checkbox to determine line width linewidth = get(handles.widthCheckbox, 'Value') + 1; % plot the data with the requested properties plot(handles.years, dataSource(sourceIndex, :), 'Linewidth’, linewidth); xlabel('years') ylabel('quadrillion btu') title(get(handles.titleBox, 'String'))

GUIs15 Time for you to leave function closeButton_Callback (hObject, eventdata, handles) % close GUI figure window delete(handles.figure1);