GAB Code Editor v4 Controls
< Back to main GAB Code Editor v4 Page
This GAB update contains a number of new and updated controls. Here are the changes:
Contents
New controls
AccordionControl
The AccordionControl is a docked control with a list of groups and items that act like buttons when clicked. It is used as the Left and Right docks in the new Screen Standards Properties
Events
Available Functions AddElement(ElementName as String, Caption as String, [SvgPicture as v.Enum.Image], [SvgPictureWidth as Long], [SvgPictureHeight as Long], [Picture as String], [HookNo as Long], [InternationalID as Long], [ParentElementName as String], [BeginsGroup as Boolean], [Visible as Boolean], [ElementStyle as v.Enum.AccordionElementStyle]) UpdateElement(ElementName as String, Caption as String, SvgPicture as v.Enum.Image, SvgPictureWidth as Long, SvgPictureHeight as Long, Picture as String, HookNo as Long, InternationalID as Long, ParentElementName as String, BeginsGroup as Boolean, Visible as Boolean, ElementStyle as v.Enum.AccordionElementStyle) RemoveElement(ElementName as String) SetElementMetadata(ElementName as String, MetaDataN as Array) ClearElementMetadata(ElementName as String) SetElementCollapsed(ElementName as String, Collapsed as Boolean) SetElementVisible(ElementName as String, Visible as Boolean) |
BarDock
The BarDock is a menu bar that the programmer can place anywhere in their application. It acts just like the main menu bar, and supports Buttons (with SVG images), TextBoxes, ComboBoxes, and Dividers. It also has an optional left aligned "Caption". Properties
Available Functions BarAddButton(name as string, caption as string, [svgImage as v.Enum.Image], [parentMenu as string], [beginsGroup as boolean]) BarAddTextBox(name as string, caption as string, width as long, [emptyPrompt as string], [beginsGroup as boolean]) BarAddComboBox(name as string, caption as string, width as long, [initialValue as string], [disableEditor as boolean], [beginsGroup as boolean]) BarAddComboBoxItem(comboBoxName as string, itemName as string, itemDisplayValue as object, [itemDataValue as long]) BarAddComboBoxItems(comboBoxName as string, collectionType as "Dictionary", dictionaryName as string) BarAddComboBoxItems(comboBoxName as string, collectionType as "DataTable", dataTableName as string, keyColumn as string, valueColumn as string) BarAddComboBoxItems(comboBoxName as string, collectionType as "DataView", dataTableName as string, dataViewName as string, keyColumn as string, valueColumn as string) BarRemoveButton(name as string) BarRemoveTextBox(name as string) BarRemoveComboBox(name as string) BarRemoveComboBoxItem(comboBoxName as string, itemOrdinal as long) |
Flow Frame
The Flow Frame is an implementation of the FlowLayoutPanel. Controls within it do not have settable positions. Instead, they appear one after another in the set direction. Just add the flow frame, set its properties, and then add controls to it like you would a normal frame. To set the control order click the control menu (right arrow button) on the child control, and type the desired index, then hit enter to confirm. Properties
|
Hyperlink
The Hyperlink is a new control that works like a website's hyperlink. It appears colored, and underlined, and has an OnClick event so that it can act like a button. For lesser functions on your screen, hyperlinks should be used in lieu of buttons. Buttons should be reserved for the most important class of function |
KeyLabel
The KeyLabel is a Label control that allows the programmer to set a specified color. This color is shown as a colored dot next to the label text. This control can be used to create a Key/Legend for a grid (until GridKey is added to GAB). Properties
|
Lookup
See the Lookup Article for details on the new Lookup Control.
Navigation Frame (and Pages)
The Navigation Frame is a container control with multiple pages. It is similar to a tab control, in that you can have multiple layouts on a single form, but unlike a tab control, there is no visible way to change pages. Use a Navigation Frame Links control for user page changes. The navigation frame also has a slide and fade animation that occurs during navigation. For new projects, the Navigation Frame should be used over the Tab Control for primary navigation, though a Tab Control is acceptable within a Navigation Page for sub-controls.
To use the Navigation Frame:
- Drag a Navigation Frame from the toolbox onto your form.
- Clicking the control will select the auto-generated first page.
- Right click the control and select "nav#" from the menu to select the primary Navigation Control.
- Open the Navigation Pages property collection editor to add and organize pages.
- Each page has a caption and image that will appear in the Navigation Frame Links control.
Navigation Pages cannot be added/deleted directly, and should be managed using the Navigation Frame's "Navigation Pages" property. To switch pages, select the Navigation Frame, then click the menu button at the top right of the control. The pages will be listed in the menu under the heading "Go to page". Select a page to perform the navigation. This does not affect which page is shown initially at runtime.
Navigation Pages act like a frame for adding controls. Set the control's parent property to the desired Navigation Page. They also support Layout Controls.
Properties
- AnimationLengthInMS - Gets or sets the page navigation time in milliseconds.
- UseAnimations - Gets or sets if the navigation frame uses animations, or immediately displays the new page.
- NavigationPages - A collection of pages shown in the control.
- SelectedIndex - Gets or sets which page is displayed at runtime.
Progress Panel
The Progress Panel is a new style of progress indicator. It can be used to cover large parts of the form, so that you can indicate which parts are being loaded, or not show a control before it's ready. It features a Caption (title), Detail, and Offset (the distance between the edge and the loading icon) properties. Just drag it on the form to use. Alternately (and most likely more useful), you can automatically convert any control into a Progress Panel while it's loading.
Properties
|
Split Container
The final new control is the Split Container. This acts like two side by side Frames with a splitter between them. The splitter allows the user to resize the two containers at runtime, or collapse/expand one of the panels. To use the Split Container, just drag it to the form from the Toolbox, and then set other controls' Parent property to the desired Split Panel. The two panels support Layout Controls. Properties:
|
Updated Controls
General Changes
In addition to new controls, several changes have been applied to many of the already existing controls.
- Many controls had already supported properties that did not appear in the designer. These have been added for ease of use.
- All controls have been replaced with DevExpress controls, instead of the base WinForms controls to support better theming.
- New Properties on many (or all) controls
- UseLayout [DockPanel, Frame, NavigationPage, SplitContainer, TabPage] - Converts the internal layout of the container control to use the Layout Control.
- LayoutItem [All Controls] - If the control is a child of a container control with "UseLayout" turned on, the layout item can be modified here.
- Dock [All Controls] - In addition to Anchor, controls can now be docked for better layout reflow.
- Picture [Button, DockPanel, Hyperlink, Label, NavigationPage, PictureBox] - The picture property didn't work before. It does now, but requires the G2P file format.
- Exclude From Undo [CheckBox, ComboBox, DatePicker, DropdownList, GsGridControl, Multiline Text Box, Radio Button, Rich Text Box, Slider, Text Box] - When set to true, this control will not be monitored for the Undo System.
- Padding [Most controls] - Sets the amount of space within the content area of the control that the content should be offset.
- Margin [All controls] - Sets the amount of space outside the control bounds. Used in the FlowFrame.
- Flow Break - [All Controls] - Sets whether the next control will be forced to wrap when included within a FlowFrame.
Specific Changes
Rich Text Box
The Rich Text Box has been changed to the much more in depth DevExpress Rich Text Editor. The functionality could be substantially different. It is basically a fully featured text editor like you'd find in Microsoft Word.
Button
New properties SvgPicture/SvgPictureSize allow the programmer to specify an icon used on the button from a set of pre-defined GSS standard icons.
Label
New properties SvgPicture/SvgPictureSize allow the programmer to specify an icon used on the button from a set of pre-defined GSS standard icons.
Frame
The older Frame Border style has been replaced by four options:
- NoBorder - The frame has no caption and no border
- Title - The frame has a colored title area (set by the Theme and Accent Color) and white caption text.
- Light - The frame has a gray title area and black/white text (set by the Theme and Accent Color).
- Card - Should not often be used - Like the Light border style, but with a single pixel gray border around the whole frame.