Difference between revisions of "Category:Framework Classes"

From Lianjapedia
Jump to: navigation, search
(PHP usage)
 
(47 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Lianja includes an extensive array of built-in classes that are cross platform and cross device.
+
{{DISPLAYTITLE:Lianja Framework Classes Reference}}
 +
Lianja includes an extensive array of built-in classes that are cross platform and cross device. If you need to build a custom Form UI these  are for you.
  
 
If you are a VFP developer you will recognize some of these as Lianja has a powerful UI framework which is a superset of the VFP 9 base classes.
 
If you are a VFP developer you will recognize some of these as Lianja has a powerful UI framework which is a superset of the VFP 9 base classes.
  
<div style="height:38px;margin-top:15px;padding:5px;border:0px solid orange;border-left:5px solid orange;background:#fff8dc;vertical-align:middle;position:relative;">
+
<div style="height:58px;margin-top:15px;padding:5px;border:0px solid orange;border-left:5px solid orange;background:#fff8dc;vertical-align:middle;position:relative;">
 
[[File:bm-noteicon.png|top|40px|link=]]<div style="position:absolute;top:7px;bottom:5px;margin-left:50px;">
 
[[File:bm-noteicon.png|top|40px|link=]]<div style="position:absolute;top:7px;bottom:5px;margin-left:50px;">
 
The Lianja UI Framework is client agnostic. Desktop, Web and Mobile.  
 
The Lianja UI Framework is client agnostic. Desktop, Web and Mobile.  
Line 11: Line 12:
 
If you are familiar with the VFP UI classes and you want to develop in JavaScript, TypeScript, Python or PHP you will feel right at home with a minimum learning curve compared to other App platforms.
 
If you are familiar with the VFP UI classes and you want to develop in JavaScript, TypeScript, Python or PHP you will feel right at home with a minimum learning curve compared to other App platforms.
  
<div style="height:80px;margin-bottom:5px;padding:5px;border:0px solid orange;border-left:5px solid orange;background:#fff8dc;vertical-align:middle;position:relative;">
+
<div style="height:100px;margin-bottom:5px;padding:5px;border:0px solid orange;border-left:5px solid orange;background:#fff8dc;vertical-align:middle;position:relative;">
 
[[File:bm-noteicon.png|top|40px|link=]]<div style="position:absolute;top:3px;margin-bottom;bottom:5px;margin-left:50px;"><b> Pro Tip</b>
 
[[File:bm-noteicon.png|top|40px|link=]]<div style="position:absolute;top:3px;margin-bottom;bottom:5px;margin-left:50px;"><b> Pro Tip</b>
 
We recommend you use [[Understanding_UI_Layouts|Lianja UI Layouts]] to help you build a responsive UI. These can be used in any of the supported scripting languages.
 
We recommend you use [[Understanding_UI_Layouts|Lianja UI Layouts]] to help you build a responsive UI. These can be used in any of the supported scripting languages.
Line 18: Line 19:
 
</div>
 
</div>
  
The following Base classes are built into Lianja. These are not specific to the Lianja/VFP scripting language but rather they can be used by all of the supported scripting languages. For case sensitive scripting languages use lowercase names for properties, methods and events.
+
The following Base classes are built into Lianja. These are not specific to the LianjaScript/VFP scripting language but rather they can be used by all of the supported scripting languages. For case sensitive scripting languages use lowercase names for properties, methods and events.
  
== Lianja/VFP usage ==
+
Notice how the usage is consistent across all supported scripting languages.
 +
 
 +
We recommend using the Lianja built-in bootstrap compatible classes to consistently skin your UI.
 +
See [[CSS_built-in_classes|Built-in CSS classes]] for details.
 +
 
 +
== LianjaScript usage ==
  
 
<code lang="recital">
 
<code lang="recital">
Line 27: Line 33:
 
oCont.addObject("oLabel", "label")
 
oCont.addObject("oLabel", "label")
 
oLabel.caption = "Hello World!"
 
oLabel.caption = "Hello World!"
 +
 +
// example event assignment. Event handlers can be assigned to an object
 +
proc click()
 +
    // your event handler code
 +
endproc
 +
 +
oLabel.click = click
 
</code>
 
</code>
  
== JavaScript usage ==
+
See also:
 +
 
 +
[[A_Lianja_Primer|LianjaScript Primer]]
 +
 
 +
[[:Category:Commands|LianjaScript Commands Reference]]
 +
 
 +
[[:Category:Functions|LianjaScript Functions Reference]]
 +
 
 +
[[Lianja|Lianja System Object Reference]]
 +
 
 +
[[Working_with_the_Lianja_Object_Model|Working with the Lianja Object Model]]
 +
 
 +
[[Understanding_UI_Layouts|Lianja UI Layouts]]
 +
 
 +
[[Developing_Lianja_Custom_Sections_in_Visual_FoxPro| Developing Custom Sections in LianjaScript]]
 +
 
 +
[[Developing_Lianja_Custom_Gadgets_in_Visual_FoxPro| Developing Custom Gadgets in LianjaScript]]
 +
 
 +
== JavaScript/TypeScript usage ==
  
 
<code lang="javascript">
 
<code lang="javascript">
Line 36: Line 67:
 
oCont.addObject("oLabel", "label");
 
oCont.addObject("oLabel", "label");
 
oLabel.caption = "Hello World!";
 
oLabel.caption = "Hello World!";
 +
 +
// example event assignment. Event handlers can be assigned to an object
 +
function click()
 +
{
 +
    // your event handler code
 +
}
 +
 +
oLabel.click = click;
 +
 
</code>
 
</code>
 +
 +
See also:
 +
 +
[[JavaScript_built-in_Lianja/VFP_functions|JavaScript built-in LianjaScript functions]]
 +
 +
[[Lianja|Lianja System Object Reference]]
 +
 +
[[Working_with_the_Lianja_Object_Model|Working with the Lianja Object Model]]
 +
 +
[[Understanding_UI_Layouts|Lianja UI Layouts]]
 +
 +
[[Developing_Lianja_Custom_Sections_in_JavaScript| Developing Custom Sections in JavaScript]]
 +
 +
[[Developing_Lianja_Custom_Gadgets_in_JavaScript| Developing Custom Gadgets in JavaScript]]
  
 
== Python usage ==
 
== Python usage ==
Line 45: Line 99:
 
oCont.addObject("oLabel", "label")
 
oCont.addObject("oLabel", "label")
 
oLabel.caption = "Hello World!"
 
oLabel.caption = "Hello World!"
 +
 +
# example event assignment. Event handlers can be assigned to an object
 +
def click():
 +
    # your event handler code
 +
 +
oLabel.click = click
 +
 
</code>
 
</code>
 +
 +
See also:
 +
 +
[[Python_built-in_Lianja/VFP_functions|Python built-in LianjaScript functions]]
 +
 +
[[Lianja|Lianja System Object Reference]]
 +
 +
[[Working_with_the_Lianja_Object_Model|Working with the Lianja Object Model]]
 +
 +
[[Understanding_UI_Layouts|Lianja UI Layouts]]
 +
 +
[[Developing_Lianja_Custom_Sections_in_Python| Developing Custom Sections in Python]]
 +
 +
[[Developing_Lianja_Custom_Gadgets_in_Python| Developing Custom Gadgets in Python]]
  
 
== PHP usage ==
 
== PHP usage ==
Line 54: Line 129:
 
oCont->addObject("oLabel", "label");
 
oCont->addObject("oLabel", "label");
 
oLabel->caption = "Hello World!";
 
oLabel->caption = "Hello World!";
 +
 +
// example event assignment. Event handlers can be assigned to an object
 +
function click()
 +
{
 +
    // your event handler code
 +
}
 +
 +
oLabel->click = click;
 +
 
</code>
 
</code>
  
 +
See also:
  
 +
[[Lianja|Lianja System Object Reference]]
 +
 +
[[Working_with_the_Lianja_Object_Model|Working with the Lianja Object Model]]
 +
 +
[[Understanding_UI_Layouts|Lianja UI Layouts]]
 +
 +
[[Developing_Lianja_Custom_Sections_in_PHP| Developing Custom Sections in PHP]]
 +
 +
[[Developing_Lianja_Custom_Gadgets_in_PHP| Developing Custom Gadgets in PHP]]
 +
 +
==Classes==
 
{| class="wikitable" width="100%"
 
{| class="wikitable" width="100%"
 
!width="20%"|Class
 
!width="20%"|Class
Line 69: Line 165:
 
|valign="top"|Control
 
|valign="top"|Control
 
|valign="top"|Control for embedded ActiveX component (Windows desktop)
 
|valign="top"|Control for embedded ActiveX component (Windows desktop)
 +
|-
 +
|valign="top"|[[Camera]]
 +
|valign="top"|Control
 +
|valign="top"|Control to use the webcam on your machine to capture and store images
 +
|-
 +
|valign="top"|[[Chart]]
 +
|valign="top"|Control
 +
|valign="top"|Chart control with support for Google Charts
 
|-
 
|-
 
|valign="top"|[[Checkbox]]
 
|valign="top"|[[Checkbox]]
Line 249: Line 353:
 
|valign="top"|ScrollPanel
 
|valign="top"|ScrollPanel
 
|valign="top"|Reference class for a scrollable container
 
|valign="top"|Reference class for a scrollable container
 +
 +
|-
 +
|valign="top"|[[Serialport]]
 +
|valign="top"|Non-UI
 +
|valign="top"|Send and receive data from a serial port
 +
 
|-
 
|-
 
|valign="top"|[[Section]]
 
|valign="top"|[[Section]]

Latest revision as of 02:19, 19 May 2024

Lianja includes an extensive array of built-in classes that are cross platform and cross device. If you need to build a custom Form UI these are for you.

If you are a VFP developer you will recognize some of these as Lianja has a powerful UI framework which is a superset of the VFP 9 base classes.

Bm-noteicon.png

The Lianja UI Framework is client agnostic. Desktop, Web and Mobile.

If you are familiar with the VFP UI classes and you want to develop in JavaScript, TypeScript, Python or PHP you will feel right at home with a minimum learning curve compared to other App platforms.

Bm-noteicon.png
Pro Tip

We recommend you use Lianja UI Layouts to help you build a responsive UI. These can be used in any of the supported scripting languages.

The following Base classes are built into Lianja. These are not specific to the LianjaScript/VFP scripting language but rather they can be used by all of the supported scripting languages. For case sensitive scripting languages use lowercase names for properties, methods and events.

Notice how the usage is consistent across all supported scripting languages.

We recommend using the Lianja built-in bootstrap compatible classes to consistently skin your UI. See Built-in CSS classes for details.

LianjaScript usage

oCont = createObject("container")
oCont.layout = "Vertical"
oCont.addObject("oLabel", "label")
oLabel.caption = "Hello World!"
 
// example event assignment. Event handlers can be assigned to an object
proc click()
    // your event handler code
endproc
 
oLabel.click = click

See also:

LianjaScript Primer

LianjaScript Commands Reference

LianjaScript Functions Reference

Lianja System Object Reference

Working with the Lianja Object Model

Lianja UI Layouts

Developing Custom Sections in LianjaScript

Developing Custom Gadgets in LianjaScript

JavaScript/TypeScript usage

oCont = createObject("container");
oCont.layout = "Vertical";
oCont.addObject("oLabel", "label");
oLabel.caption = "Hello World!";
 
// example event assignment. Event handlers can be assigned to an object
function click()
{
    // your event handler code
}
 
oLabel.click = click;

See also:

JavaScript built-in LianjaScript functions

Lianja System Object Reference

Working with the Lianja Object Model

Lianja UI Layouts

Developing Custom Sections in JavaScript

Developing Custom Gadgets in JavaScript

Python usage

oCont = Lianja.createObject("container")
oCont.layout = "Vertical"
oCont.addObject("oLabel", "label")
oLabel.caption = "Hello World!"
 
# example event assignment. Event handlers can be assigned to an object
def click():
    # your event handler code
 
oLabel.click = click

See also:

Python built-in LianjaScript functions

Lianja System Object Reference

Working with the Lianja Object Model

Lianja UI Layouts

Developing Custom Sections in Python

Developing Custom Gadgets in Python

PHP usage

oCont = Lianja::createObject("container");
oCont->layout = "Vertical";
oCont->addObject("oLabel", "label");
oLabel->caption = "Hello World!";
 
// example event assignment. Event handlers can be assigned to an object 
function click()
{
    // your event handler code
}
 
oLabel->click = click;

See also:

Lianja System Object Reference

Working with the Lianja Object Model

Lianja UI Layouts

Developing Custom Sections in PHP

Developing Custom Gadgets in PHP

Classes

Class Type Description
Actionbar Container Toolbar container pre-loaded with action buttons
ActiveX Control Control for embedded ActiveX component (Windows desktop)
Camera Control Control to use the webcam on your machine to capture and store images
Chart Control Chart control with support for Google Charts
Checkbox Control Control for boolean state - True (checked) or False (unchecked)
Collection Non-UI Non-UI container used to group objects
Column Control Column in a Grid
Combobox Control Control combining a TextBox and a ListBox
Commandbutton Control Button control
Commandgroup Container Container used to group buttons
Container Container UI container used to contain other Containers and Controls
Control Container/Control Reference class for container or control within a Container
CursorAdapter Non-UI Connection to a data source
Database Non-UI Connection to a database
DataEnvironment Non-UI Container for the non-UI data objects
Datetextbox Control Control combining a date TextBox and a popup calendar
Datetimetextbox Control Control combining a date/time TextBox and a popup calendar
Editbox Control Editor control
Editor Control Reference class for the Lianja system object's current Editor
Empty Non-UI Empty class
Field Non-UI Reference class for field in a Recordset
Form Container Form container
FormItem Control Reference class for the Lianja system object getElementByID() method
Gadget Container Gadget container
Grid Container Column based container
Header Control Column header in a Grid
HTTPServer Non-UI Embedded custom web server that listens for requests on a port of your choice to expose information by web services. Desktop App only.
Hyperlink Control Hyperlink label control
Image Control Control for displaying images
Imagestrip Container Container for displaying multiple images with navigational controls
Label Control Textual label control
Lcdnumber Control Numeric label control with LCD-like digits
Lianja Non-UI System object
Line Control Line control
Listbox Control Control with a single column list
Menu Container Container for MenuItem controls
MenuBar Container Container for Menu containers
MenuItem Control Control in a Menu
NetworkRequest Non-UI Control supporting http/https/ftp read/write of data
Optionbutton Control Control to select/deselect an option
Optiongroup Container Container used to group OptionButtons
Page Container Tab page container
PageBuilder Container Reference class for the Page Builder
Pageframe Container TabView style container
Popupmenu Container Container for MenuItem controls
Progressbar Control Bar control for minimum, current (%) and maximum numeric values
Recordset Non-UI Connection to a set of data records/rows
Richeditbox Control Rich text editor control
ScrollPanel ScrollPanel Reference class for a scrollable container
Serialport Non-UI Send and receive data from a serial port
Section Container Container in a PageBuilder Page
Separator Control Separator label control
Shape Control Shape label control
SharedMemory Non-UI Connection to a shared memory segment
Slider Control Vertical or horizontal numeric slider with minimum and maximum values
Spinner Control Numeric TextBox control with increment/decrement controls
Splitter Container Container for sub-dividing a parent container
SystemSemaphore Non-UI Connection to a semaphore
SystemTrayIcon Container Container providing an icon for an application in the system tray
Textbox Control Textbox control
Timer Non-UI Control to trigger a timeout after a specified interval
Toolbar Container Container for controls and action buttons
Tree Container Container grid for TreeItems
Treeitem Control Multi-column control in a Tree container
Videoplayer Control Video Player Control (desktop Apps only)
Webview Control Embedded WebKit Control

Subcategories

This category has the following 3 subcategories, out of 3 total.