RadixWare Programmer Guide/RadixWare Designer User Interface

From RadixWiki
Jump to: navigation, search

Introduction

Starting up RadixWare Designer invokes the application main window that looks as follows:

Designer.jpg

RadixWare Designer main window contains several panes. The following panes are the most frequently used:

  • Projects. Displays the complete navigation tree of the project being opened.
  • Files. Displays the tree of directories and files the project consists of. This tree replicates the project structure in many ways except for the service files which are not displayed in the navigation tree.
  • Navigator. Displays a part of the project tree that is child towards the currently selected definition.

The pane reorientation is supported.

In the central part of the main window, several pages with the definition editor can be displayed.

Standard Control Elements

In addition to the standard control elements (buttons, flags, etc.), several specific elements are used in RadixWare Designer:

Select Definition

The Select <definition> control element is used to specify parameters that determine the definition (for example, the base table for the entity class).

select-definition.png

The control element contains:

  • Caption. Defines the purpose of the control element.
  • Text field. Displays the name of the currently selected definition. Clicking the field opens the dialog box for selecting the definition (refer to Select Definition Dialog Box).
  • Command button. The available buttons are described in the following table. Depending on the context, some buttons can be absent.

Button

Name

Description

dots.jpg

Choose <parameter>

Opens the dialog box for selecting another definition. The button is absent if it is impossible to select another definition in this context.

remove-all.png

Reset <parameter>

Selects the default definition.

open-dfn.png

Open

Opens the selected definition in the editor.

select-in-tree-small.png

Select in Tree

Highlights the selected definition in RadixWare Designer navigation tree.

Multilanguage String

The Multilanguage String control element is used to define the localized caption (for example, an object title).

edit-title.png

The control element contains:

  • The <parameter> flag. The caption next to the flag defines the function of the control element. If the flag is not set, the parameters stated below are not displayed.
  • The parameters defining the translation of the caption into supported languages.
  • The spell-check.png toggle button. If the button is released, RadixWare Designer spellchecks the translation of the caption. Otherwise, the spelling is not checked. The unknown words are marked with a red wavy line.

Multilanguage String with Inheritance

The Multilanguage String with Inheritance control element is used to define the localized captions (for example, object titles) that can be inherited according to some mechanism.

edit-title-inherit.png

The control element contains:

  • The Inherit <parameter> flag. If the flag is set, the property value will be inherited (the inheritance order depends on the certain definition).
  • The Define flag. If the flag is set, the parameters below will display the translation of the string into supported languages. The flag is not available if the Inherit <parameter> flag is set.
  • The parameters defining the translation of the caption into supported languages.
  • The spell-check.png toggle button. If the button is released, RadixWare Designer spellchecks the translation of the caption. Otherwise, the spelling is not checked. The unknown words are marked with a red wavy line.

Optional Parameter

The control elements used to define the optional parameters contain the additional flag. If the flag is set, the parameter will be defined. If the flag is not set, the parameter will not be defined. The parameter is editable only if the flag was set.

checkbox-attribute.png

The copy.png button copies the parameter value to the clipboard.

For the parameters defining the object names in the database, the Auto flag is displayed next to them.

auto-db-name.png

If the Auto flag is set, the object name in the database will be set automatically. The parameter is editable if the Auto flag is not set.

Select Access Mode

The Select Access Mode control element is used to define the access mode to the definition.

accessibility.png

The control element contains the following parameters:

  • Accessibility. The access mode to the definition. Available values:
    • Public. Corresponds to Java public class visibility. The definition is available for the current layer.
    • Protected. The definition is available within the module containing it and for the descendants of the definition owner (for the embedded definitions). It cannot be used for the upper layer definitions in the ADS segment. This option is available for not all types of definitions.
    • Internal. The definition is available within the module containing it.
    • Private. The definition is available only for its owner (parent definition). Not all types of definitions display the option.
  • Published. If the flag is set, this definition can be used by the upper layer definitions and by the user-defined functions.
  • Final. The flag is similar to the respective key word in Java.
  • Abstract. The flag is similar to the respective key word in Java. Not all types of definitions display the flag.
  • Deprecated. If the flag is set, it is not recommended to use this definition (for example, the definition is deprecated). When compiling, the system will display a warning message each time such definition is used. The flag is available for not all types of definitions.

Select Icon

The Select Icon control element contains a button displaying the currently selected icon.

set-icon.png

Clicking the button opens the dialog box for selecting an image (refer to Select Image).

In some editors, the control element contains the Inherit icon flag as well. If the flag is set, the icon will be inherited (the mechanism of inheritance depends on the definition type). At that, the button becomes inactive.

JML Editor

To edit the code in JML, the JML Editor is used in RadixWare.

jml-editor.png

JML Editor contains:

  • a text input field where JML syntax is highlighted
  • a toolbar

Some toolbar buttons are used to insert a tag into a code. For the description of supported tag types, refer to Tags.

The table below provides the toolbar buttons:

Button

Name

Description

insert-id.png

Definition Identifier

Inserts a tag of the "Definition Identifier" type. Clicking the button opens the menu for selecting the definition type. In the dialog box that will open, select the definition the ID of which it is required to insert.

db-name.png

Definition Database Name

Inserts a tag of "Object Name into Database" type. Clicking the button opens the menu for selecting the type of the database object (table, table column, index, relation, sequence, data type, stored procedure). In the dialog box that will open, select the definition the name of which it is required to insert into the code.

type-decl.png

JML Type Declaration

Inserts a tag of the "RadixWare Type" type. Clicking the button opens the dialog box for specifying the type the description of which it is required to insert into the code. Both Java and RadixWare types are supported.

ml-string.png

Multilingual String

Inserts a tag of the "Multilingual String" type. Clicking the button opens the dialog box for entering the text in the supported languages. If the Tag value is string set (IMultilingualString instance) flag is set, the inserted tag will represent an instance of the class implementing the MultilingualString interface (defined in the Kernel segment). Therefore, the value of the string in different languages will be available in the code. If the flag is not set, the tag of the "Multilingual String" type will be inserted. Instead of the tag of the "Multilingual String" type, the value in the language corresponding to the current user language will be substituted. The GUID button copies GUID of the multilingual string being created to the clipboard. The GUID can be used to call the string from the Kernel segment.

event-code.png

Event Code

Inserts a tag of the "Event Code" type.

invoke-method.png

Invocation of Method, Property, etc

Inserts a tag of the "Method or Property" type.

task.png

Task

Inserts a tag of the "Task" type.

internal-value.png

Internal Property Value

Inserts "Internal Property Value" tag . It is available only in the editors of the get/set methods.

read_lic_tag.png

Insert Read License Tag

Inserts "Read License data" tag. Clicking the button opens the dialog box for selecting the license position from the list of available positions for the current layer (for details, refer to Edit Layer).

check_lic_tag.png

Insert Check License Tag

Inserts the "Check License data" tag. The tag can be inserted only after the Read License tag.

find-selection.png

Find Selection

Finds the text selection in the code.

find-prev.png

Find Previous Occurrence

Finds the previous occurrence of the selection.

find-next.png

Find Next Occurrence

Finds the next occurrence of the selection.

search-hl.png

Toggle Highlight Search

Highlights all the occurrences of the required selection (the toggle button).

cut.png

Cut

Cuts the selection to the clipboard.

copy.png

Copy

Copies the selection to the clipboard.

paste.png

Paste

Pastes the text from the clipboard to the current cursor position.

unindent.png

Shift Line Left

Decreases the indent of the selected strings.

indent.png

Shift Line Right

Increases the indent of the selected strings.

comment.png

Comment

Comments the selected strings (put "//" at the start of each string).

uncomment.png

Uncomment

Uncomments the selected strings (deletes "//" from the start of the strings).

It is also possible to insert a tag into a code by dragging the definition from RadixWare Designer navigation tree to the required location of the code. At that, the system will display a menu for selecting the tag type (for example, "Method Call" or "Definition Identifier").


The JML editor supports code autocompletion. To use the autocompletion, enter the name of the required definition and then press Ctrl+Space. The required definition can be selected from the drop-down list by double-clicking or by pressing the arrow keys and Enter on the keyboard.

SQML Editor

To edit the text in SQML, use the SQML Editor in RadixWare.

sqml-editor.png

The SQML editor contains:

  • a text input field where SQML syntax is highlighted
  • a toolbar

Some toolbar buttons are used to insert a tag into a code. For the description of supported tag types, refer to Tags.

The table below provides the toolbar buttons:

Button

Name

Description

cursor-field.png

Insert Cursor Field Tag

Inserts a tag for the SQL cursor field.

table-name.png

Table SQL Name

Inserts a tag for the table name (current one or any other).

property-name.png

Property SQL Name

Opens a menu for inserting a tag for the table column (current one or any other one).

insert-xpath.png

Insert XPath Tag

Inserts a tag for the xPath expression (it can be used when the XML documents are stored in the column of the database table). It offers to select a definition of the XML schema and an element from the schema.

enum-item.png

Insert Enumeration Item Value tag

Inserts a tag for the enumeration item.

call_sql_func.jpg

SQL Function Call

Inserts the SQL call tag.

insert-preprocessor-tag.png

Insert Preprocessor by Parameter

Inserts a tag of the "Preprocessor Directive" type. It is available only in the editors of the SQL classes. It is used to insert a condition based on one of the parameters of the class.

preview-sql.png

Preview SQL

The toggle button. If the button is active, the editor will display the SQL code that will be generated by the current SQML code. When executing the command, the SQML code is pre-processed. To set up the pre-processor, specify the following parameters in the dialog box that will open: DB type and version, list of the required values of the additional options.

Some SQML editors contain the buttons that are effective only in the current context.

Moreover, the toolbar of some SQML editors contains the following elements:

  • Connection parameter. Clicking dots.jpg opens the dialog box for selecting or creating the connection to database. For the description of this dialog box, refer to NetBeans documentation.
  • Run SQL Script button (run-sql.png). Runs SQL code using the selected connection to the database.

Other toolbar buttons are similar to the respective buttons in the JML Editor. The SQML editor supports code autocompletion. If the SQML editor is used to define hints for the SQL query optimizer, the entered SQML at a query creation will be automatically surrounded by the "/*+" and "*/" characters.

Visual Editor of Dialog Boxes

The visual editor of dialog boxes is used to define the appearance and behavior of forms, dialog boxes, presentation pages of the editor, etc.

visual-editor-big.png

The central panel of the editor displays the dialog box being created. To resize the dialog box, drag its right or bottom edge.

The table below provides the toolbar buttons of the visual editor:

Element

Description

Control Elements of Access Mode

Refer to Select Access Mode.

vert-layout.png

Uses the arrangement of widgets in one line by default.

hor-layout.png

Uses the arrangement of widgets in one column by default.

grid-layout.png

Uses the arrangement of widgets as a table by default.

snap.png

The toggle button. Enables / disables snapping of control elements to the grid.

Edit JavaScript Code

Opens a dialog box for editing the code in JavaScript used for the form. It is displayed only for the editors of Web forms.

Language (drop-down list)

Selects a language for captions to be displayed in the dialog box when editing.

When using the visual editor, two additional panes are displayed: Palette and Widget Properties.

The Palette pane contains a list of all available widgets grouped by purpose. The Custom Widgets group contains user widgets defined in the current scope.

To add a widget to the form, drag it from the Palette pane.

  • Properties. The page displays a table of the selected widget property values grouped by classes where they are defined. For some values in the table, dots.jpg is displayed. Clicking the button opens a special dialog box for editing a property value.
  • Events. The page contains a list of events (signal in Qt terminology) defined by the selected widget. The events are grouped by classes where they are defined. If the flag next to the event is set, a method is created in the Model child definition; its method will be called if the event occurs.


Standard Dialog Boxes

Select Definition Dialog Box

The dialog box is used to select different types of definitions.

Choose-definition.png

The string in the upper part of the dialog box enables a quick search of the required definition. To start searching, enter the definition name. At that, it is possible to use mask symbols:

  • "?" - corresponds to any single symbol
  • "*" - corresponds to any sequence of symbols

If the string ends with a space character, the system will search for the definitions with names identical to the defined one. Otherwise, the system will search for the definitions with the names that start from the defined string. If the Case sensitive flag is set, the search will be case-sensitive. Otherwise, the search will be case-insensitive The Definitions found list located below contains all definitions matching the search condition. Opposite each definition, there is a module where the definition is defined.

Select Image

The dialog box is used to select an icon of the definition or image displayed in the branch.

Choose-image-dialog.png

The Find parameter in the upper part of the dialog box enables a quick search of images. To start searching, enter the image name in this parameter. Buttons to the right of the Find parameter are used to define the modules to search in:

Button Name Description
Current-module.png Show Current Module Shows images only from the current module.
Dependent-modules.png Show Dependent Modules Shows images from the current module and from the modules specified as its dependencies.
Worldwide.png Show All Modules Shows images from all modules.

The found images are displayed in the center of the dialog box and grouped by modules. The buttons to the right of the list of images are similar to the respective elements in the editor of the set of module images (for description, refer to Editor of Set of Images).

Edit Type

The dialog box is used to edit data type for the class properties, argument of methods, method return values, etc.

Choose-type-dialog.png

The dialog box contains the following parameters:

  • Nature. Nature of the type. Available values:
  • Radix type. The data type defined in the RadixWare platform or in one of the available product layers. This option includes both the embedded RadixWare data types (Num, Bool, etc.) and RadixWare classes.
  • Java primitive type. Such Java primitive types as boolean, int, etc.
  • Java class. Java class defined in the Kernel segment or in one of the connected Java package.
  • Java array.

Clicking the parameter or Dots.jpg opens the Type Choose Wizard dialog box on the page for selecting the nature of the type.

  • Type. Data type. The available values depend on the nature of the type specified in the Nature parameter. Clicking the parameter or Dots.jpg opens the Type Choose Wizard dialog box on the page of selecting the nature of the type.
  • Dimension. Array dimension. It is available only for the array types.
  • Generic’s parameter(s). Typical arguments. It is available only for the generic types.

If the Show Last Used Types flag is set, the list below displays several types that were last selected in this dialog box.

Access to Definition

The dialog box is used to set up the roles access to the definitions.

Configure-roles.jpg

The dialog box contains a list of roles and a toolbar to manage this list. If the Allow Execution column contains a flag opposite to the role, the latter will be granted access to this definition. The toolbar is described in the following table:

Button Name Description
Add-anc.png Grant to Role Invokes a dialog box of selecting a definition role to add it to the list.
Remove-anc.png Revoke from Role Removes the selected definition from the list.
Remove-all.png Revoke from All Roles Clears the list.
Select-in-tree.png Select Role in Tree Highlights the selected in the list role in RadixWare Designer navigation tree.

Assign Definition to Domain

The dialog box is used to assign the definition to domains.

Configure-domains.png

The dialog box contains a list of all domains available for this definition taking into account their nesting. The definition belongs to the domains with a set flag in the Select column.

Edit Development Branch

To open the dialog box for editing the development branch, use one of the following ways:

  • double-click the root element of RadixWare Designer navigation tree
  • select the Edit item from the context menu of RadixWare Designer navigation tree

The editor of the branch looks as follows:

Branch-editor.jpg


"General" Page

  • Type. The type of the development branch (trunk, offshoot, etc.).
  • Branch Title
  • Branch Name*
  • Base Development Layer URI. URI of the lowest available development layer.
  • Source Branch*. The name of source branch for the current one.
  • Base Release Version*. The release version the branch is based on.
  • Last Release Version*. The version of the last release.
  • Branch Directory. The path to the directory containing the development branch.
  • Distributable Layers. Clicking Dots.jpg opens a dialog with a tree of all product layers. The layers with the set flags will be included in the releases being built. If the Exclude from release flag next to the layer name is set, the layer will be excluded from the product built.

Note.jpgThe parameters marked with the symbol "*" are not editable.


"Debug" Page

The upper part of the page contains:

  • Profile. The parameter defines current settings for the debugging mode.
  • Duplicate. The button creates new settings based on the selected elements.
  • Delete. The button deletes the selected settings.

The Server and Explorer pages are located below. They define RadixWare Server and RadixWare Explorer startup parameters used in the debugging mode. Each page contains the following parameters:

  • JVM arguments. JVM startup parameters (refer to JVM documentation).
  • Starter arguments (except layer URI). RadixWare Starter startup parameters (refer to RadixWare Starter. Administrator Guide) except for the parameter defining URI of the specified layer. It makes sense to specify the -workDir or -svnHomeUrl startup parameter.
  • Top layer URI(s). The top layer used at startup (the value of the startup parameter - topLayerUri). Clicking Dots.jpg opens the dialog box with a tree of all product layers. The layers with the set flags will be used at startup.
  • Application arguments. The startup parameters of the application. A list of possible parameters is displayed below the parameter. For the description of the startup parameters of applications, refer to RadixWare Server. Administrator Guide and RadixWare Explorer. User Guide.
  • Classpath. The additional classpath. The parameter must be defined if the external libraries are used in the product.
  • Working directory. The application working directory. It is a root directory for searching of files required while the application functions.

Edit Layer

To open the dialog box for editing the layer, use one of the following ways:

  • double-click the branch of the layer in RadixWare Designer navigation tree
  • click the Edit item from the branch context menu of the layer in RadixWare Designer navigation tree

The editor of the layer looks as follows:

Layer-setup.jpg


"General" Page

  • Name. The name of the layer to be displayed in RadixWare Designer navigation tree. The parameter is editable only for the development layers.
  • URI. URI of the layer. The parameter is not editable.
  • Title. The title of the layer. The parameter is editable only for the development layers.
  • Enclosing branch. The title of the development branch where this layer is located. The parameter is not editable.
  • Base layers. URI of the layers that are a base for this one. To edit the list of layers, use the Choose Base Layers dialog box opened by clicking the Configure... button next to parameter.
  • Release. The number of the release the current development branch is based on. The parameter is not editable.
  • Copyright. Copyright for the layer. The parameter is editable only for the development layers.
  • Languages. A list of languages supported by the layer. To edit the list, open a special dialog box by clicking the Configure… button next to the parameter.
  • Extensions. The list of additional external libraries (presented as jar files) that can be used to extend the layer functionality. The list is edited by means of special dialog box opened by clicking the Configure… button next to parameter.
  • Accessible roots. The list of the current layer branches that can be specified as the root one. The list of languages is edited by means of the special dialog box opened by clicking the Configure… button next to parameter.
  • DB name restriction. The restrictions on the names of database and its tables.


"Licenses" page

The page is used to define a list of license positions of the layer. The license positions are presented as a tree where the root element is the URI of the current layer. The license positions can be used to implement a license protection for the current and upper layers. Use the following buttons to manage the list of license positions:

Button Description
Add-button.jpg Adds the child license position.
Remove-button.jpg Deletes the license positions selected in the list.
Dependencies-button.jpg Opens the dialog box with a list of license position dependencies.
Find-usages.jpg Shows a list of the license position usages in the current layer. The list appears on the Usages panel.


"Target Databases" Page

The page contains a list of DB types supported by layer. To create a list, use the Add and Remove buttons. To edit the DB parameters of a certain type, use the Target Database Parameters dialog box opened by clicking the Edit button.


Layer Context Menu

The following table describes the specific commands of the layer context menu:

Menu Item Name Description
Multilanguage strings editor Opens the multilanguage strings pane for the current layer.
Hide Hides the layer. The hidden layers are not shown in the project tree. To show / hide the layers, use the Hidden Nodes branch in the navigation tree.

Choose Base Layers

The dialog box is used to select the list of base layers for the current layer. The dialog box looks as follows:

Choose-base-layers.jpg

The dialog box contains the following elements:

  • A list of all product layers with the base layers. The layers with the set flags are the base one for the current layer.
  • A table with a list of base layers. The Min Version / Max Version columns show a range of versions of the base layer the current layer is compatible with. Use the Move Up and Move Down buttons to define the order of base layers inheritance.


Set up Target Database Parameters

The dialog box is used to define the parameters of the DB of the certain type. The dialog box looks as follows:

Target database parameters.jpg

The dialog box contains the following elements:

  • Database type. The parameter is not editable.
  • Supported versions(comma-separated list). In the parameter, specify the DB minimum version and, optionally, newer versions (comma-separated).
  • Options area. A list of supported additional DB parameters. The parameter values will be specified by the user when installing the system and used to select the required variant of SQL codes for further system operation. To manage the list, use the Add, Remove, Edit buttons. The parameter editor contains the following settings:
    • Name. The additional parameter name.
    • Description. The description of the additional parameter.
    • Default value. The default value. Available values: ENABLED, DISABLED.
  • Base Options area. The list of values of the additional DB parameters. These parameters are defined in the base layers and required for the current layer operation. The following settings are provided for each parameter:
    • Override. If the flag is set, the specified parameter from the base layer must have the fixed value that is defined in the Value column.
    • Value. The additional parameter value. The setting is editable if the Override flag is set.

Hidden Layers / Modules

To manage the visibility of the layers / layer modules in the project navigation tree, use the editor of hidden layers modules (Hidden Nodes branch). The Hidden Nodes branch is displayed in the navigation tree if the project contains the hidden layers / modules and can be located in various branches of the project tree:

  • editor of hidden layers located in the branch context
  • editor of hidden modules - in the layer context

The editor looks as follows:

hidden_nodes.jpg

The editor of hidden layers / modules contains:

  • Visible nodes area. It contains a list of visible layers / modules.
  • Hidden nodes area. It contains a list of hidden layers / modules.
  • Command buttons. Use these buttons to add and delete the layers / modules.
  • Mark Unused button. The layer / module is considered unused if they contain less than 5% of previously opened objects according to the statics.
  • Reset Statistics button. Reset the statistics of objects opened in the current branch layer.


Branch Context Menu

The context menu of the Hidden Nodes branch contains the Restore All specific command. When executing the command, all the hidden layers / modules are restored.

Definition Context Menu

The definition context menu in RadixWare Designer navigation tree is described in the following table. For certain definition types, the context menu may contain not all given items or include additional items. The specific context menu items of definitions are provided in the sections describing the editors of definitions.

Menu Item

Description

New

Opens a submenu containing the items for creating all possible child definitions.

Edit

Opens the definitions editor.

Rename…

Opens the dialog box for renaming the definition.

Check

Checks the definition for syntax and other errors.

Save

Saves the definition.

Reload

Reloads the definition from the drive.

Compile

Opens the dialog box of compiling the definition (refer to Dialog Box of Compiling Definition).

View … source

Opens the submenu containing the commands used to view the generated texts for all environments.

Configure domains…

Opens the dialog box for assigning the definition to domains (refer to Assign Definition to Domain).

Cut

Cuts the definition to the clipboard.

Copy

Copies the definition to the clipboard.

Paste

Pastes the definition from the clipboard.

Find usages…

Opens the dialog box for searching references to this definition (refer to Find Definition).

Delete

Deletes the definition. The user is asked to confirm the action.

Subversion

Opens the submenu containing the commands for the supported actions with SVN (refer to Managing Versions).

API…

Opens the API inspector for the current definition (refer to API Inspector).