Smart Mobile Studio 1.1

From Smart Mobile Studio
Jump to: navigation, search

Notes

  • Remember to update the css and html in your projects after updating (right click file in the ide, click “revert to default”)
  • Remember to back-up any units you have stored in either the RTL or Libraries folder before you install
  • Remember to re-build the RTL index database after installation to examine the new classes and units in the classbrowser
  • Since all controls now exist in their own RTL units, some projects might require you to alter the uses section manually (the easiest way is to drop a control onto the designer, as this will add the unit automatically for you).
  • You can now use curley brackets in ASM sections

Changelog

  • Fixed: TW3Canvas.toDataURL
  • Added: L-System Fiddle demo
  • Added: URI functions
  • Fixed: installer script backs up libs + RTL
  • Fixed: Allow adjusting tab height
  • Added: Active property to pause animation
  • Added: w3Elements.pas  &  elements controls to toolbar
  • Improved JS SetLength for arrays of simple types
  • Re-committed latest WebIDL code
  • Fixed: browser render bug. Was in fact the onNeedsInclude event that needed a modification
  • Added: registered various controls
  • Fixed: unit parser
  • Added: some automatic Web IDL translations (manual work necessary!)
  • Fix: empty names for anonymous methods in unitparser
  • Clarified error messages
  • Initial version of unit test demo (text runner)
  • Updated unit test framework. Unpublished methods that didn’t need published status (now)
  • Fixed: CTRL+V missing from SearchAndReplaceDialog -> ComboBoxSearch
  • Added unit tests
  • SmartUnit now reached initial working state
  • Added time properties
  • TestFramework initial version
  • Added property read write syntax with automatic anonymous field declaration
  • Fixed case for strict hints
  • FastInt64ToStr RTTIMethodAttribute.Call MultByPowerOfTwo expression
  • Minor codegen improvements & cleanup
  • Fixed case for strict hints
  • Added missing units
  • Fixed case for strict hints
  • Updated: CSS theme for latest components + cleanup
  • Added “case of boolean” optimization to if/then/else Improved if..then condExpr optimization for the CodeGen
  • Reintroduced as unit namespace, please complete with missing units from former W3Ctrls unit!
  • Fixed name case
  • Fixed case for strict hints
  • Extended if then optimization to if then else
  • Added RelIntIs(Not)
  • Zero optimization Fixed for non-prototypable fields in external classes
  • Added initial RTTI for methods
  • Improved error reporting when crash occurs during optimization
  • Improved CodeGen for
  • “if” on assigned & int<>0 checks
  • Layout and widget updates
  • Updated: Added check and callback timer to scrollbox so that it initializes when the form is ready (if the contentbox holds elements).
  • Added: childadded + childremoved methods to TW3Component
  • Added: W3_DOMReady function in W3System.pas
  • Altered: cleaned up the use of w3ctrls in various RTL units
  • Altered: All components are now in their seperate units
  • All controls seperated into units
  • Fixed minor memory leak
  • Fixed json array clear
  • Altered: Basecompiler changes Lost: vertical scrollbar (!) damn svn?
  • Fixed external form issue in background compiler & some refactorings in compiler unit
  • Fixed missing initial background compilation for new projects
  • Added: *.inc files to repository
  • RTL Backup before splitting components into their own unit
  • Added: debug logging of background compiler error messages &  added more user warnings in case such errors appear.
  • JSON.Stringify did not work with obfuscation
  • Accept initialization/finalization as end markers for a type declaration block
  • Added: simplified helper syntax
  • Delete unused file (QR code was used as test)
  • Added: QR code generation for server window
  • Moved remaining forms to source directory (below new subdirectory ‘window’, as these are no dialogs)
  • Removed unused dependency WIP on new flowing components
  • Fixed smart-linking not properly filtering the main program, initialization & finalization sections (relevant when types or functions where declared there, but not used)
  • Fixed codegen for multi-dimensional dynamic arrays
  • Improved symbol dictionary discrimination between forwards & declarations
  • Fixed requestAnimationFrame support for IE8-9 and others
  • Fixed hints for strict mode
  • Added: TW3CustomScrollBar Class
  • Added: TW3VerticalScrollbar
  • Altered: Tweaked CSS, more firefox styles
  • Altered: Added css for scrollbar
  • Improved unit test coverage
  • Test manual execution of the automatic build #2
  • Test manual execution of the automatic build
  • Added: The switch control is now added to the toolbar palette
  • Altered: The TW3ToggleSwitch transition now uses the w3_CSSPrefix so it also works on other browsers
  • Altered: minor changes to the toggle-switch. Delayed event callback more in sync with the css animation + destructor
  • Added: TW3ToggleSwitch control
  • Altered: Updated the CSS stylesheet with toggle css classes
  • Added: requestAnimFrame added to drivers
  • Improved unit test coverage
  • Support asm blocks with curlies in them
  • Add support for deactivating curly comments in Pascal tokenizer
  • Tokenizer tests moved to own unit
  • Fix for anonymous symbols acquire in a class var ExprBase
  • Fixed: Adjustment error in TW3HeaderControl fixed
  • Improved errors for null read/write expressions
  • Fixed: Layout difference between offline & online rendering
  • Fixed: Added callback for control adjustment (important!)
  • Added: supportAdjustment method to TW3MovableControl
  • Altered: AdjustToParentBox now checks supportAdjustment
  • Altered: TW3ProgressBar is not affected by AdjustToParentBox
  • Fixed: missing adjustToparentBox
  • Added: internet explorer driver
  • Added: requestAnimationFrame in driver API
  • Disabled trigger and delayed start for code templates (should never work this way)
  • Added Layout.Center
  • Added: script to flush the target RTL folder when updating
  • Added NoRTTI option and slightly rearranged options dialog (compiler options contain only compiler options now, etc.), also added new tab for the linker (as there will be more options in the future for sure)

Smart Mobile Studio 1.0.1 Changes Some of the fixes have been really time-consuming, so we haven’t finished all the issues we planned to. These will be included in the mid-August release. Head over to our roadmap to see what we plan for the future.  

The IDE (and the installer):

  • Hi-res application icon
  • Shortcut to RTL-, Demos- and Libraries folders in the Windows Start Menu
  • Shortcut to the project’s folder from the project structure’s context menu
  • Fixed TToolbar skinning-bug
  • Fixed missing support for spaces in the project’s application title
  • Added simple mouse-over information
  • Added CTRL+Click feature (goto declaration)
  • Added RemObjects SDK wizard
  • Fixed size issue and font issue for the CTRL+Space window
  • Fixed problem with unit scanner not listing all methods
  • Added preference settings for unit scanner
  • Added unit wrappers for WebGl
  • Fixed problem with include files in projects folder
  • Updated Chromium Embedded browser (removed exception when closing a media project)
  • Added support for customizable preview sizes (in preferences)
  • Added several demos
  • Applied the Pascal Language Coding Style Guidelines to (most of) the RTL, most Demos and the “new code” generators

Language features:

  • External classes
  • Partial classes
  • DateTime functions
  • Static arrays with negative bounds
  • Inline record constants
  • Support publishing records as JSON
  • Fields initialization
  • Anonymous records
  • Adding static array to dynamic array
  • Operator overloads scoped and supported in units
  • Helper properties
  • Defined() for variants, classes and connectors
  • Dynamic anonymous records
  • Source map support
  • Tolerate, but ignore, “of object” and “reference to”
  • CodeGen improvements
  • Record expr optimization
  • Helper methods for operator overloading