About two years ago a detailed article about how to use Cordova has been published here. As times are changing quickly, an update for this becomes necessary. This article is about building hybrid web-apps with Cordova with Smart Mobile Studio.
We are very proud to present the release candidate for Smart Mobile Studio version 1.1 (build number v184.108.40.2060). If you would like to give this groundbreaking product a test drive before we officially release it, then you can download the installer directly from SmartMobileStudio.com/download/setup_v1_1_0_400_rc.exe
(The context menu is replaced with Ctrl+Shift+R (start/stop recording) and Ctrl+Shift+P (replay the recorded macro).
We have done a lot of improvements in the IDE, the editor, the RTL and the Smart Pascal language. Below is a list of some of the improvements that have been done since version 1.0 (see full manifest of changes for beta 1 here).
- Added: Support for external form files
- Added: Navigate to ancestor from class-browser
- Added: Components are now organized in more tabs
- Added: RTL source proxy, speeds up compilation and dependency chain
- Added: Syntax hints and improved code insight
- Added: The IDE now uses threading to handle background compilation
- Added: Dependencies for controls are automatically added to the uses clause
- Fixed: Resizer bugs for nested controls
- Fixed: Scrolling issue fixed ([CTRL] + [Up]/[Down])
- Fixed: Disabled unit structure flickering
- Fixed: LineCount issue
- Fixed: Case fix for strict hints
- Fixed: A label “mistake” in the baseframe (it was renamed further up the chain).
- Fixed: modified [CTRL]+/ to work the same as in Delphi:
- if a single line is changed, caret is moved to the next line (current column is preserved)
- if multiple lines are selected, comment is toggled for the whole block and caret is move to the line following the block (current column is set to 1)
- modification is placed into the undo buffer so that it can be undone
- Altered: [CTRL]+[/] is replaced by [CTRL]+[#] for systems where [/] is only accessible via [SHIFT]
- Altered: Minor changes on compiler output (bulk output of errors, warnings and hints).
- Altered: Search and replace dialog remembers the last states
- Altered: improved code proposal (insert item highlight)
- Altered: dialogs are centered
- Altered: Recent file on welcome tab now supports to show unlimited entries if desired (by default limited to 10 items)
- Added: Pascal “Gabelou” StyleCop (see prefrences->misc. to enable it).
- Added: Rename refactoring (including closed files)
- Added ‘Format Keywords’ action (see popup menu), which translates all keywords to lowercase.
- Added: Simplified BrowserAPI
- Added: possibility to filter log messages from the console output (filtered ‘event.layerX and event.layerY are broken and deprecated …’ by default). Select a certain text to filter and right click -> Ignore Message to filter out all messages containing this particular string. The filter will be resetted on restart.
- Updated: Remobjects headers
- Updated: WebGL headers
- Updated: Sprite3d
- Added: DrawTo, DrawPart and misc CODEF functions added to TW3Canvas
- Added: TW3Progressbar control
- Added: TW3ListBox control
- Added: Unit for complex numbers (w3complex.pas)
- Minor formating and added overload function for CreateImageData
- Added fast sequential read text file loaders
- Applied the new ‘Format Keywords’ to the remaining RTL files
- Removed duplicate & tweaked hash function
- Improved hashing function
- dialogs need custom initialization
- modal dialog support integrated into TW3CustomApplication (ShowModal, HideModal)
- modal dialog is re-centered if application is resized (for example when orientation of a mobile device changes)
- added TW3CustomApplication.CreateOpaqueMask
- TW3CustomControl.getMaxZIndex is now public
- modal dialogs triggered from modal dialogs are now supported
- Fixed: zIndex issues with modal dialogs
- Fixed: opaque layer has high z-index to cover all controls on the form
- Fixed: SendToBack
- Altered: dialogs are centered on the form
- Altered: event handlers are only called when assigned
- Altered: W3ModalDialog made external for easier reuse
- Altered: updated Remobjects interface
- Altered: Changed default Mouse event X,Y coordinates
- Added: W3ModalDialog uses opaque div to block owner form (tnx to Eric)
- Added: PixelRatio info
- Added TVariant.Properties + OwnProperties
- Added HorzLine/VertLine
- Added: New FillRectF/StrokeRectF overloads
- Added: TW3CustomApplication.FormByName, TW3Component.ChildByName, TW3Component.EnumChildrenAltered: SetSize now virtual
- Added: PhoneGapAPI is now complete
- Added: Support for RTTI (!)
- Added: Support for property expressions
- Added: Support for interface expressions
- Fixed: Case fixes for strict mode
- Fixed: an issue where compiler would accept method implementations in a different unit the class was declared
- Fixed: Lambdas don’t have a “var”/”const”/etc. section
- Fixed: issue with invalid symbol table in suggestions in case of fatal error in a lambda
- Fixed: SymbolDictionary bug for forwarded overloaded methods
- Fixed: calling overloaded inherited constructors
- Fixed: codegen for assignments of a function’s result to a var param
- Fixed: timestamp is now up to date
- Updated: now uses latest compiler core
- Updated: tokenizer updated to latest revision
- Altered: Compile speed optimizations
- Added: Missing semi-colon no longer a stopping error
- Added: JSON to reserved names
- Added: JSON static class
- Added: Preparation for source maps
- Fixed: style bug in smartflow
- Fixed: bug in spartacus
- Fixed: bug in box2d wrapper
- Altered: Tested all demos (with exception of gyro). All demos now compile.
- Altered: formatting of Archimedes Spiral
- Added: frames demo
- Added: modal dialog example
Jon Lennart Aasenden
The Smart Mobile Studio Team
February is upon us and so is our announced graphics competition! This is the first competition out of four this year. So this is your chance to win some exciting prices by showing off your Object Pascal skills!
The topic of this round is: graphics programming (eg. demo-scene, fractal art, visualizations etc).
The rules are as follows:
- Registration before the 10th of February (registration at firstname.lastname@example.org)
- Deliver your contribution before 1st of March
- Games are not accepted this round (that’s scheduled for a later date)
- User interaction is allowed (but not mandatory)
- Porting of retro demos is allowed (providing it is a clean rewrite)
First prize is a tablet device of your own choice (up to USD 750). So have your pick between
- iPad mini
- Windows Tablet
- Windows phone
- Android tablet or phone
Developer of various open source projects. Among these, the popular Delphi ASIO & VST Project for professional audio related development. Another focus of his work is Graphics, which is reflected in projects such as the modernized AggPas implementation, an independent object pascal png library and a native object pascal interface to TrueType fonts (called PascalType). He is also contributor and maintainer of Graphics32.
Currently he is working on the Smart Mobile Studio IDE and RTL.
All contributions must be delivered in full source and binary with no missing pieces. The project must compile on the current version of Smart Mobile Studio (1.1 branch).