ebook img

MATLAB App Building PDF

476 Pages·2022·5.377 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview MATLAB App Building

MATLAB® App Building R2022b How to Contact MathWorks Latest news: www.mathworks.com Sales and services: www.mathworks.com/sales_and_services User community: www.mathworks.com/matlabcentral Technical support: www.mathworks.com/support/contact_us Phone: 508-647-7000 The MathWorks, Inc. 1 Apple Hill Drive Natick, MA 01760-2098 MATLAB® App Building © COPYRIGHT 2000–2022 by The MathWorks, Inc. The software described in this document is furnished under a license agreement. The software may be used or copied only under the terms of the license agreement. No part of this manual may be photocopied or reproduced in any form without prior written consent from The MathWorks, Inc. FEDERAL ACQUISITION: This provision applies to all acquisitions of the Program and Documentation by, for, or through the federal government of the United States. By accepting delivery of the Program or Documentation, the government hereby agrees that this software or documentation qualifies as commercial computer software or commercial computer software documentation as such terms are used or defined in FAR 12.212, DFARS Part 227.72, and DFARS 252.227-7014. Accordingly, the terms and conditions of this Agreement and only those rights specified in this Agreement, shall pertain to and govern the use, modification, reproduction, release, performance, display, and disclosure of the Program and Documentation by the federal government (or other entity acquiring for or through the federal government) and shall supersede any conflicting contractual terms or conditions. If this License fails to meet the government's needs or is inconsistent in any respect with federal procurement law, the government agrees to return the Program and Documentation, unused, to The MathWorks, Inc. Trademarks MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders. Patents MathWorks products are protected by one or more U.S. patents. Please see www.mathworks.com/patents for more information. Revision History November 2000 Online Only New for MATLAB 6.0 (Release 12) June 2001 Online Only Revised for MATLAB 6.1 (Release 12.1) July 2002 Online Only Revised for MATLAB 6.6 (Release 13) June 2004 Online Only Revised for MATLAB 7.0 (Release 14) October 2004 Online Only Revised for MATLAB 7.0.1 (Release 14SP1) March 2005 Online Only Revised for MATLAB 7.0.4 (Release 14SP2) September 2005 Online Only Revised for MATLAB 7.1 (Release 14SP3) March 2006 Online Only Revised for MATLAB 7.2 (Release 2006a) May 2006 Online Only Revised for MATLAB 7.2 September 2006 Online Only Revised for MATLAB 7.3 (Release 2006b) March 2007 Online Only Revised for MATLAB 7.4 (Release 2007a) September 2007 Online Only Revised for MATLAB 7.5 (Release 2007b) March 2008 Online Only Revised for MATLAB 7.6 (Release 2008a) October 2008 Online Only Revised for MATLAB 7.7 (Release 2008b) March 2009 Online Only Revised for MATLAB 7.8 (Release 2009a) September 2009 Online Only Revised for MATLAB 7.9 (Release 2009b) March 2010 Online Only Revised for MATLAB 7.10 (Release 2010a) September 2010 Online Only Revised for MATLAB 7.11 (Release 2010b) April 2011 Online Only Revised for MATLAB 7.12 (Release 2011a) September 2011 Online Only Revised for MATLAB 7.13 (Release 2011b) March 2012 Online Only Revised for MATLAB 7.14 (Release 2012a) September 2012 Online Only Revised for MATLAB 8.0 (Release 2012b) March 2013 Online Only Revised for MATLAB 8.1 (Release 2013a) September 2013 Online Only Revised for MATLAB 8.2 (Release 2013b) March 2014 Online Only Revised for MATLAB 8.3 (Release 2014a) October 2014 Online Only Revised for MATLAB 8.4 (Release 2014b) March 2015 Online Only Revised for MATLAB 8.5 (Release 2015a) September 2015 Online Only Revised for MATLAB 8.6 (Release 2015b) March 2016 Online Only Revised for MATLAB 9.0 (Release 2016a) September 2016 Online Only Revised for MATLAB 9.1 (Release 2016b) March 2017 Online Only Revised for MATLAB 9.2 (Release 2017a) September 2017 Online Only Revised for MATLAB 9.3 (Release 2017b) March 2018 Online Only Revised for MATLAB 9.4 (Release 2018a) September 2018 Online Only Revised for MATLAB 9.5 (Release 2018b) March 2019 Online Only Revised for MATLAB 9.6 (Release 2019a) September 2019 Online Only Revised for MATLAB 9.7 (Release 2019b) March 2020 Online Only Revised for MATLAB 9.8 (Release 2020a) September 2020 Online Only Revised for MATLAB 9.9 (Release 2020b) March 2021 Online Only Revised for MATLAB 9.10 (Release 2021a) September 2021 Online Only Revised for MATLAB 9.11 (Release 2021b) March 2022 Online Only Revised for MATLAB 9.12 (Release 2022a) September 2022 Online Only Revised for MATLAB 9.13 (Release 2022b) Contents Introduction to Creating Apps About Apps in MATLAB Software 1 Ways to Build Apps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Build an App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Build a Live Editor Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 How to Create a App with GUIDE 2 Files Generated by GUIDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 Code Files and FIG-Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 Code File Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 Adding Callback Templates to an Existing Code File . . . . . . . . . . . . . 2-3 About GUIDE-Generated Callbacks . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 App Designer App Designer Basics 3 Create and Run a Simple App Using App Designer . . . . . . . . . . . . . . 3-2 Run the Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 Tutorial Steps for Creating the App . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 GUIDE Migration Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 Export GUIDE App to MATLAB File . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 Migrate GUIDE App to App Designer . . . . . . . . . . . . . . . . . . . . . . . . 3-8 Display Graphics in App Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 App Designer Graphics Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 Display Graphics on Existing Axes . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 Display Graphics in Container . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16 Create Axes Programmatically . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16 v Use Functions with No Target Argument . . . . . . . . . . . . . . . . . . . . 3-17 Use Functions That Don't Support Automatic Resizing . . . . . . . . . . 3-17 Unsupported Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18 App Designer Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19 Component Choices and Customizations 4 App Building Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 Common Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 Axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6 Containers and Figure Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 Dialogs and Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9 Instrumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12 Extensible Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13 Toolbox Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14 Display Tabular Data in Apps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15 Logical Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15 Categorical Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15 Datetime Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16 Duration Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16 Nonscalar Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17 Missing Data Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18 Example: App That Displays a Table . . . . . . . . . . . . . . . . . . . . . . . . 4-18 Add UI Components to App Designer Programmatically . . . . . . . . . 4-20 Create the Component and Assign the Callback . . . . . . . . . . . . . . . 4-20 Write the Callback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20 Example: Confirmation Dialog Box with a Close Function . . . . . . . . 4-21 Example: App that Populates Tree Nodes Based on a Data File . . . . 4-21 Create HTML File That Can Trigger or Respond to Data Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23 Include Setup Function in Your HTML File . . . . . . . . . . . . . . . . . . . 4-23 Sample HTML File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23 Debug an HTML File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25 Add Tables to App Designer Apps . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27 Create Table and Configure Table Behavior . . . . . . . . . . . . . . . . . . . 4-27 Populate Table Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-28 Example: App That Displays a Table . . . . . . . . . . . . . . . . . . . . . . . . 4-29 App Layout 5 Lay Out Apps in App Designer Design View . . . . . . . . . . . . . . . . . . . . 5-2 Customize Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3 vi Contents Align and Space Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4 Group Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6 Reorder Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6 Modify Tab Focus Order of Components . . . . . . . . . . . . . . . . . . . . . . 5-7 Arrange Components in Containers . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 Create and Edit Context Menus in App Designer . . . . . . . . . . . . . . . . 5-9 Manage Resizable Apps in App Designer . . . . . . . . . . . . . . . . . . . . . 5-12 Resizing Graphics Objects with Normalized Position Units . . . . . . . 5-12 Alternatives to Default Auto-Resize Behaviors . . . . . . . . . . . . . . . . . 5-12 Use Grid Layout Managers in App Designer . . . . . . . . . . . . . . . . . . . 5-14 Add and Configure Grid Layout Manager . . . . . . . . . . . . . . . . . . . . 5-14 Convert Components from Pixel-Based Positions to Grid Layout Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14 Convert Components from Grid Layout Manager to Pixel-Based Positions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15 Example: Convert Components to Use Grid Layout Manager Instead of Pixel-Based Positions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16 Apps with Auto-Reflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18 What is Auto-Reflow? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18 Create New App with Auto-Reflow . . . . . . . . . . . . . . . . . . . . . . . . . 5-19 Convert Existing App to Use Auto-Reflow . . . . . . . . . . . . . . . . . . . . 5-19 Remove Auto-Reflow Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20 Example: App with Auto-Reflow . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20 App Programming 6 Manage Code in App Designer Code View . . . . . . . . . . . . . . . . . . . . . . 6-2 Manage Components, Functions, and Properties . . . . . . . . . . . . . . . . 6-2 Identify Editable Sections of Code . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 Program Your App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 Fix Code Problems and Run-Time Errors . . . . . . . . . . . . . . . . . . . . . . 6-6 Personalize Code View Appearance . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7 Startup Tasks and Input Arguments in App Designer . . . . . . . . . . . . 6-8 Create a startupFcn Callback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8 Define Input App Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8 Create Multiwindow Apps in App Designer . . . . . . . . . . . . . . . . . . . . 6-11 Overview of the Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11 Send Information to the Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . 6-12 Return Information to the Main App . . . . . . . . . . . . . . . . . . . . . . . . 6-13 Manage Windows When They Close . . . . . . . . . . . . . . . . . . . . . . . . 6-14 Example: Plotting App That Opens a Dialog Box . . . . . . . . . . . . . . . 6-14 Callbacks in App Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16 Create Callback Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16 Program Callback Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-18 Share Callbacks Between Multiple Components . . . . . . . . . . . . . . . 6-19 vii Create and Assign Callbacks Programmatically . . . . . . . . . . . . . . . . 6-19 Search for Callbacks in Your Code . . . . . . . . . . . . . . . . . . . . . . . . . 6-20 Change or Disconnect Callbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-20 Delete Callbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-21 Example: App with a Slider Callback . . . . . . . . . . . . . . . . . . . . . . . . 6-22 Reuse Code Using Helper Functions . . . . . . . . . . . . . . . . . . . . . . . . . 6-23 Create a Helper Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23 Managing Helper Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24 Example: Helper Function That Initializes Plots and Displays Updated Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24 Share Data Within App Designer Apps . . . . . . . . . . . . . . . . . . . . . . . 6-26 Define a Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-26 Access a Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-27 Example: Share Plot Data and a Drop-Down List Selection . . . . . . . 6-27 Compatibility Between Different Releases of App Designer . . . . . . 6-29 Save Copy As Versus Save As . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-30 Opening Apps for Editing in a Newer Release . . . . . . . . . . . . . . . . . 6-30 Use One Callback for Multiple App Designer Components . . . . . . . 6-31 Example of a Shared Callback . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-31 App Designer Examples 7 App That Calculates and Plots Data Based on Numerical Input . . . . 7-2 App with Auto-Reflow That Updates Plot Based on User Selections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 App That Uses Grid Layout to Manage Component Positions and Resizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4 App That Displays Data in a Hierarchy Using Tree . . . . . . . . . . . . . . . 7-5 Create App That Uses Multiple Axes to Display Results of Image Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6 Create Polar Axes Programmatically in an App . . . . . . . . . . . . . . . . . 7-7 Create App with a Table That Can Be Sorted and Edited Interactively . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8 Create App with Timer Object Configured Programmatically . . . . . . 7-9 Create App with Timer Object That Queries Website Data . . . . . . . 7-11 Share Data in Multiwindow Apps . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13 viii Contents Display HTML Elements Styled by a Cascading Style Sheet . . . . . . 7-14 Advanced App Designer Examples 8 Organize App Data Using MATLAB Classes . . . . . . . . . . . . . . . . . . . . . 8-2 Open App Designer App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3 Write a MATLAB Class to Manage App Data . . . . . . . . . . . . . . . . . . . 8-3 Test Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5 Share Data with App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6 Pulse Generator App That Stores Data in a Class . . . . . . . . . . . . . . . 8-6 Create Responsive Apps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8 Improve Startup Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8 Improve Update Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8 Improve Resize Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9 Improve Responsiveness to User Input . . . . . . . . . . . . . . . . . . . . . . 8-10 Improve Performance of Graphics in Your App . . . . . . . . . . . . . . . . 8-11 Improve App Startup Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12 Improve Startup Time in Apps with Multiple Tabs . . . . . . . . . . . . . . 8-12 Improve Startup Time in Apps with Large Trees . . . . . . . . . . . . . . . 8-12 Find and Create UI Components and Charts . . . . . . . . . . . . . . . . . . . 8-15 Find Community-Authored Components and Charts . . . . . . . . . . . . 8-15 Create Your Own Components and Charts . . . . . . . . . . . . . . . . . . . . 8-15 Keyboard Shortcuts 9 App Designer Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2 Shortcuts Available Throughout App Designer . . . . . . . . . . . . . . . . . 9-2 Component Browser Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2 Design View Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3 Code View Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7 Create UIs Programmatically Lay Out a Programmatic UI 10 Lay Out Apps Programmatically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2 Manage Figure Size and Location . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2 ix Lay Out UI Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3 Change Front-to-Back Component Order . . . . . . . . . . . . . . . . . . . . 10-7 Manage App Resize Behavior Programmatically . . . . . . . . . . . . . . 10-10 Use a Grid Layout Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10 Write Code to Manage Resize Behavior . . . . . . . . . . . . . . . . . . . . . 10-12 Turn Off Resizing of Specific Components . . . . . . . . . . . . . . . . . . . 10-15 Turn Off App Resizing Entirely . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-16 DPI-Aware Behavior in MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-17 Visual Appearance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-17 Using Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-19 Using print, getframe, and publish Functions . . . . . . . . . . . . . . . . 10-20 Create and Manage Callbacks Programmatically 11 Create Callbacks for Apps Created Programmatically . . . . . . . . . . . 11-2 Callback Function Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2 Specify a Callback Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3 Share Data Among Callbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-9 Store App Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-9 Access App Data From Callback Functions . . . . . . . . . . . . . . . . . . . 11-9 Access Data in UserData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-10 Pass Input Data to Callbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-12 Create Nested Callback Functions . . . . . . . . . . . . . . . . . . . . . . . . 11-13 Interrupt Callback Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-15 Interrupted Callback Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-15 Control Callback Interruption Behavior . . . . . . . . . . . . . . . . . . . . 11-15 Developing Classes of UI Component Objects 12 Develop Custom UI Components Programmatically . . . . . . . . . . . . . 12-2 Structure of a UI Component Class . . . . . . . . . . . . . . . . . . . . . . . . . 12-2 Constructor Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-3 Public and Private Property Blocks . . . . . . . . . . . . . . . . . . . . . . . . . 12-3 Event Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-4 Setup Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-5 Update Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-5 Example: Color Selector UI Component . . . . . . . . . . . . . . . . . . . . . 12-6 Manage Properties of Custom UI Components Programmatically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-9 Initialize Property Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-9 Validate Property Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-9 Customize the Property Display . . . . . . . . . . . . . . . . . . . . . . . . . . 12-10 x Contents

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.