ABAP GUI designer for Prototyping and more
Yggdrasill is an immense mythical tree that connects the nine worlds in Norse cosmology. It holds together everything in the world. It's the beginning of all. If yggdrasill will die, the world will die.
Wikipedia: https://en.wikipedia.org/wiki/Yggdrasil
The project name guidrasil shall indicate that the SAPGUI is still the center of everything. If SAPGUI will die, the world ends.
See blog post about guidrasil at http://blogs.sap.com.
guidrasil is a GUI-Designer which I started to build with a former colleague. The idea is that every control can be generically managed. You just need a unique, standardized shell wrapped around the controls so that they can be created all the same.
For placing the controls we created a framework that provides functions for selecting the type of container and inside the container functions for selecting the controls.
Controls and container are similar. The great difference is, that containers can held more containers (splitter container) and controls can have different attributes.
Each control can be created with a method CREATE. Inside this method everything will be done for creating the neccessary things. The container has a function to change the name of the controls and set attributes (show/ hide status bar in TextEditControl or the picture in PictureControl.
All controls have a defined structure for managing these attributes. But the attributes will be saved with one generic function using serialization.
Start report ZGUIDRASIL_INI_CONTROLS to initialize the controls custom table. This report will add the existing control classes in table ZGUIDRASIL_CTLS where ZGUIDRASIL_ADM selects the usable controls and containers from.
this project starts with following containers:
- docking container
- custom container
- dialogbox container
- splitter container These two controls can be used for start:
- icons (picture control)
- text (textedit control)
- calendar (calendar control)
You can see a detailed overview in this prezi-presentation that I held 2017 at sitwdf: http://prezi.com/rhil_uifj7rn/?utm_campaign=share&utm_medium=copy
With guidrasil you can prototype an application as easy as never before. You just need to click the controls you want and save the project.
As every object in its shell knows what to do to display the control, it can provide the code for creation. The guidrasil manager class knows where the containers are placed and which controls are in there. So you can generate a complete genuine ABAP program for displaying these controls.
The application provides a GUI for you to select all the containers and controls. But the application can display all controls also without the drop down functions. And the manager also knows the names of the controls. So you are able to just create the project with the manager class and then get the reference of objects by their names. Afterwards you can manipulate the object in the way you are used to it.
All the settings of a control can be customized. For example you can set the attribute "hide statusbar" in the TextEditControl via listbox. At least you could define the complete fieldcatalog of an alv grid in the dialog.
initial screen placing docking containers, custom container and dialogbox
Empty custom container on the left
Add a splitter container
Add an icon control
Select number of columns and rows for new splitter container
attributes window with documentation for TextEditControl
some controls and dialog box (design mode)
Some controls and dialog box (preview)
hierarchical Tree view
icon selection
Change name of control