====== Release Notes 0.9.1 ====== ===== Changes (17-04-2019) ===== * new way to launch delayed process with org.adichatz.engine.common.DelayedThread class. * add postSelection listener: viewer.addPostSelectionChangedListener(...). * add postCreatePart listener: triggered at the end of the BoundedPart creation process. * Add [[controllers:multichoicecontroller|MultiChoiceController]] controller to select an array of values. * Add [[controllers:starratingcontroller|StarRatingController]] controller which provides a rating notation. * Add [[controllers:gmapcontroller|GMapController]] controller which provides ways to display google map from coordinates or address. * Add [[controllers:rgbtextcontroller|RGBTextController]] controller for choosing color. * Add [[controllers:fonttextcontroller|FontTextController]] controller for choosing font. * Add [[controllers:checktablecontroller|CheckTableController]] extension of [[controllers:tablecontroller|TableController]] controller using a **CheckboxTableViewer** viewer. * Provides a way to easily manage Array of strings type in pojo (e.g. for **PostgreSQL** database). * Provides a way to easily manage Enum type in pojo (e.g. for **PostgreSQL** database). * Full text clause on **PostgreSQL** database is supported. * Geometry point type on **MySQL** database is supported. * Customization xml file can be merge to current **Scenario.xml** file. This is an easy and efficient way to customize scenarios. * Several Callback classes (server side) or Callfore classes (client side) can be associated to an entity. * Super pojo classes can be used e.g. for adding entity listener (@PreUpdate or @PreInsert). * Preferences for queries are split into 2 items QueryPreference and ControllerPreference. * Port for communication between IDE and application is dynamically determined. * Add copy/paste feature in ImageViewerController controller when image has DATA type (image is stored in database). * [[tutorial:css|CSS Themes]] can be defined for styling your application. ===== BugFixes ===== |< 100% 80px>| ^ Bug Id ^ Summary ^ | @#F5F6CE:**0.9.1-01** | in org.adichatz.tool.ToolActivator class, instance of org.adichatz.tool.ToolNavigatorContent could be null when Navigator is minimized at startup.| | @#F5F6CE:**0.9.1-02** | in org.adichatz.engine.widgets.extratext.ExtraText.setFormattedText(String) method, Caret could be invalid when cancelling changes.| | @#F5F6CE:**0.9.1-03** | in NullPointerException occcured in org.adichatz.tool.ToolNavigatorContent.removeOpenMenuController(INavigator) method when having navigator minimized and restoring editor part (navigator variable is not initialized).| | @#F5F6CE:**0.9.1-04** | In RefTextController controller, style of control waw not determined by the Style property bu was hard-coded.| | @#F5F6CE:**0.9.1-05** | When closing eclipse with a open **Scenario.xml** file editor, if you restart eclipse and try to reopen the same file and if active editor is not the editor of this file, a new editor is open. Thats means there are two editor for the same file \\ this comes because, partName (displayed name of the editor) = "{projectName} - {fileName}" is different of FileInputEditor#getName() wich is equals to "**Scenario.xml**". // // In AdiParlistener#partClosed, add line [setPartName(fileEditorInput.getFile().getName());].| | @#F5F6CE:**0.9.1-06** | entitySetType must not extend propertyFieldType but must extend filedType.| | @#F5F6CE:**0.9.1-07** | org.adichatz.engine.controller.AWidgetController.removeListener(AListener) doesn't work because listener key is not correct.| | @#F5F6CE:**0.9.1-08** | When using a seconde perspective, Development and Testing tools do not work: org.adichatz.engine.e4.resource.E4SimulationTools.getSelectedNavigator() must consider different perpspectives option.| | @#F5F6CE:**0.9.1-09** | 'Valid' clause is not intepreted by MenuGenerator.| \\ ===== TODO List ===== |< 100% 80px>| ^ Issue ^ Summary ^ | @#F5F6CE:**0.9.1-01** | Improve entity injection when opening a new Editor. Search for all needed lazy relationship to be loaded for all entities and then, query the server. (Today the server is queried once by entity). | | @#F5F6CE:**0.9.1-02** | When adding controllerClassName to TableColumnWrapper or GridColumnWrapper, class declaration and method must be parameterized (e.g. “extends TableColumnController<Film>”). |