250 likes | 352 Views
FormBuilder and AppBuilder BASIS RAD Tools. Nico Spence, Chief Marketing Officer Jon Bradley, Software Engineer BASIS International Ltd. Overview. Introducing FormBuilder and AppBuilder Using the RAD tools Building a font chooser Creating code blocks Customizing code profiles
E N D
FormBuilder and AppBuilderBASIS RAD Tools Nico Spence, Chief Marketing OfficerJon Bradley, Software EngineerBASIS International Ltd.
Overview • Introducing FormBuilder and AppBuilder • Using the RAD tools • Building a font chooser • Creating code blocks • Customizing code profiles • Creating a file management utility • Binding record sets to controls • Incorporating validation • Enabling the pre-processor • Summary
Introduction • FormBuilder creates/edits .arc files • Functional super-set of ResBuilder • Resource file presents a GUI interface to the user with graphical controls • AppBuilder creates/edits .gbf files • Functional super-set of GUIBuilder • .gbf files specify code blocks linked to event handlers • Generates BBj program source and tokens • Integrated with each other
Advantages • Integrated • Simultaneous edit of GUI screen controls and code fired by their events • Cross Platform • Edit .arc and .gbf files anywhere BBj runs • WYSIWYG Interface • What You See Is What You Get • Child Windows rendered in TopLevelWindows • Look and feel of IDE or Visual PRO/5 legacy L&F
Using the Tool • Building a Font Chooser • Build the form with child windows and tabs • Add code blocks • Create a menu • Add Events and associate code with Code Editor • Save file • Build source and tokens • Run program
Code Profiles • Code pre-pended to code block for event handler • Specified in the Default Code Profile • Profile can automatically add an event handler for specific events on a given control type
Record Sets • BBjRecordSet • Set of records • From a data file via a string template • SQL select query • Maintains a pointer to the current record • Provides method to insert, update, delete, and move between records • Often bound to one or more data-aware GUI controls
File Maintenance Utility • Use new RAD tools to create a simple file maintenance utility • Uses record sets • Navigator control • Apply validation rules – special circumstance • Fields • Forms • Enabling the mouse scroll event • Adding Images – the image bucket
Extending the RAD FMUMouse Scroll Code gb__event! = bbjapi().getSysGui().getLastEvent() gb__control! = gb__event!.getControl() direction = gb__event!.getScrollDirection() if(direction) navigator!.getTargetRecordSet().next(err=*next) else navigator!.getTargetRecordSet().previous(err=*next) endif
Image Bucket • Resolves the Development vs. Deployment directory structure problem • Develop with your images in one place • Deploy with the images in your prefix • Image Bucket has no effect on .arc or .gbf file; exists to display images at development time
Pre-Processor • AppBuilder provides a pre-processor • User programmable in BBj • Example of easy string-literal substitutions by adding a pre-processed MessageBox • Add KEY_PRESS event to Form 101 • Add code to switch • Edit pre-processor source file <install>/appbuilder/app_gb_pre_processor.src
Review • Introduced FormBuilder and AppBuilder • Used the RAD tools • Built a font chooser • Created code blocks • Customized code profiles • Created a file management utility • Bound record sets to controls • Incorporated validation • Enabled the pre-processor
Summary • Added function and integrated tools • Benefits • Tenfold reduction in development time • Investment in old code preserved • Backward compatible • Intuitive interface • Facilitates rapid application prototyping • Employee satisfaction enhanced