Predefined classes

 

In this Topic Hide

Classes assigned to the elements with certain display attributes

Front-end classes

OS-based classes

Classes which can be applied to the application

Classes which can be applied to application windows and their bars

Classes which can be applied to containers, widgets, and fields

Classes which can be applied to objects and elements in compatibility mode

Other classes

Predefined identifiers

 

In Lycia, there is a number of predefined classes which can be used to manipulate the appearance and runtime behavior of groups of elements.

These predefined classes differ from the custom (user-defined) classes by the fact that they are included to Lycia (e.g. in the system theme) and need not to be introduced in the program source code.

For the proper runtime behavior, these class names must correspond to the value of the classNames property (set in Lycia Form Designer) or the identifier for the With class and Apply class filters (provided in Lycia Theme Designer).

 

For the sake of better performance, we recommend using the With class filter instead if setting the classNames property.

 

 

 

 

 

 

Classes assigned to the elements with certain display attributes

 

attribute_default

attribute_normal

attribute_bold

attribute_underline

attribute_reverse

attribute_blink

attribute_invisible

attribute_dim

attribute_black

attribute_white

attribute_red

attribute_green

attribute_blue

attribute_magenta

attribute_cyan

attribute_yellow

 

Display attributes are set for the elements in 4gl code:

 

DISPLAY "Display text" TO widget_id ATTRIBUTE(GREEN)

 

After the display,  the element to which the text was displayed is assigned with the class name attribute_green. This class name can be later used to manipulate the widget, e.g. to specify its other properties:

 

4gl code

DISPLAY "attribute_green" TO lb ATTRIBUTE(GREEN)

 

lycia theme designer

runtime appearance

 

Every new display to the widget will change its class name, and the properties specified for the old class name will not be applied.

 

 

 

 

 

 

Front-end classes

 

lycia_normal

can be applied to any application run via a desktop client or a browser (but not a mobile device)

lycia_desktop

can be applied to any application run via a desktop client

lycia_web

can be applied to any application run via a browser (as opposed to the applications run via LyciaDesktop or LyciaTouch) regardless of the definite browser

lycia_touch

can be applied to any application run via LyciaTouch (as opposed to the applications run via LyciaDesktop or LyciaWeb) regardless of the operation system

lycia_mobile

can be applied to any application run via LyciaWeb and LyciaTouch (as opposed to the applications run via LyciaDesktop) for enabling the mobile mode regardless of the operation system

lycia_html5

can be applied to any application run via any HTML client including LyciaDesktop, LyciaWeb, and LyciaMobile

 

 

 

 

 

OS-based classes

 

lycia_mobile

can be applied to any application run via LyciaTouch regardless of the operation system installed on the mobile device

lycia_iphone

can be applied to any application run on a mobile device with iOS

lycia_android

can be applied to any application run on a mobile device with Android OS

 

 

 

 

 

Classes which can be applied to the application

 

full_screen

 

enables running the application in the full-screen mode

For greater details on how to run applications in a full-screen mode via different Lycia clients, refer here, here, and here.

single

enable closing all open applications when the new one is launched

 

 

 

 

 

Classes which can be applied to application windows and their bars

 

center

opens a window in the middle of the screen (by default, windows are opened in the top left corner)

no_position_restore

prevents saving and reusing the size and position of the window when applied to MDI and SDI containers

By default, LyciaDesktop remembers the size and position of the application window with which it was closed and will open it again with the remembered size and position (regardless of the size and position specified, e.g., for the window by the environment variables or for the form in Lycia From Designer).

no_position_restore class must be set for the application if you want its windows to be opened with the definite size and at the definite position regardless of the size and position it was closed with.

tabbed_container

enables that every child container is opened in a new tab when the applications are run in the MDI mode

LYCIA_ActionsToolBar

can be applied to toolbars with automatically generated action toolbar buttons

LYCIA_FormToolBar

can be applied to toolbars of the currently opened form

LYCIA_CommentLine

can be applied to the label which displays comments to a window (except for status bars and message boxes)

LYCIA_ErrorLine

can be applied to the label which displays error messages to a window (except for status bars and message boxes)

LYCIA_MessageLine

can be applied to the label which displays messages to a window (except for status bars and message boxes)

 

 

 

 

 

Classes which can be applied to containers, widgets, and fields

 

queryEditable

allows editing combo boxes provided that a CONSTRUCT statement is executed

classic

enables classic appearance of a GroupBox container

no-toggle

prevents expanding/collapsing the content of a GroupBox container

LYCIA_PromptLine

can be applied to the StackPanel container which contains a label (displaying prompt messages) and a text field (providing prompt input) for the PROMPT statement

LYCIA_TreeEditColumn

can be applied to a table column of a Table or TreeTable container if this column can be edited

trusted

enables displaying Internet pages (for the Browser widget)

By default, the Browser widget does not allow displaying inner pages, running scripts, and submitting forms, as this can lead to data loss. By applying the trusted class, you disable the security restrictions and will be able to run scripts, etc.

The expected - trusted - behavior will not be obtained if it is prohibited by the IFRAME tag in the site itself because the Browser widget uses the IFRAME tag and does not depend on the browser version installed on the user's machine. In such a case (when it is prohibited), you need an additional reverse proxy .

FileUpload

opens the Open file dialog which makes it possible to open files to text fields for applications run via LyciaWeb (when applied to a TextField)

ActiveField

can be applied to any active field which is included the current statement (for CONSTRUCT, DIALOG, DISPLAY, DISPLAY ARRAY, INPUT, INPUT ARRAY, and PROMPT statements)

LYCIA_CurrentRow

can be applied to every field which is in current row of the SCREEN ARRAY statement (for all containers except for a GridPanel)

LYCIA_Display_At

can be applied to labels created by the DISPLAY AT statement

no-direct-link

disables the direct-link logic for StartProgramEventHandler (when applied to MenuCommands)

By default, if a new application is launched, the previous application is closed (you get a new one application instead of the previous one application).

If the no-direct-link class is applied to the MenuCommand which starts the new application, the direct-link logic will be disabled, and after opening a new application you'll get two applications running - the new application + the previous one.

history-link

enables changing browser URL (when applied to MenuCommands)

By default, when a new application is run with the direct-link logic, the browser URL of the application is not changed (you get the new application and the previous URL).

If the history-link class is applied to the MenuCommand which starts the new application, the browser URL is changed together with the application (you get the new application and its - the new - URL):

 

 

 

 

 

 

 

Classes which can be applied to objects and elements in compatibility mode

 

LYCIA_ConvCompatGridPanel

ensures the correct work of ring menus in forms with the GridPanel container in Informix4GL compatibility mode.

LYCIA_MenuHelpLine

can be applied to the label which displays help messages for ring menus in Informix4GL compatibility mode

 

 

 

 

 

Other classes

 

lycia_pager

can be applied to mobile applications for which the possibility of easy switching between applications is enabled

lycia_debug

can be applied to application for which debug logging is enabled

no-layout

if this class is applied to an element, this element will not be subject to common layout rules but to the layout rules specified directly to this class (and this element)

 

 

 

 

 

Predefined identifiers

 

Besides predefined classes, Lycia provides 4gl developers with a number of predefined identifiers which can be used to manipulate the corresponding elements in the source code and in Lycia Theme Designer.

 

Application Menu Launcher

can be used for menus created by the create_menu function

SCREEN

can be used for screen windows of applications

Prompt Field

can be used for text fields if they are used for input with the PROMPT statement

Prompt

can be used for StackPanel containers which contain a label (displaying prompt messages) and a text field (providing prompt input) for the PROMPT statement

Menu

can be used for a ring menu without a title

Menu Comment

can be applied to the label which displays help messages for ring menus in Informix4GL compatibility mode

ContextMenu

can be used for a context menu of a window

ToolBar

can be used for toolbars with automatically generated action toolbar buttons

ToolbarGroup

can be used for toolbar groups within action toolbars

StatusBar

can be used for status bar of a window

TemplateInstance

can be used for TemplateInstance inside the status bar

TopMenu

can be used for a top menu of a window

Row

can be used for a TableRow

 

 

Related articles:

Filters

With class

classNames

Applying Global Properties to Form Elements Using Class Filters