Manipulation in App Builder

Posted: 2017-01-19 in Manipulation in App Builder

So there is no way to use the GUI to “copy and paste” forms from one app to another?
This functionality is what the MetaType Editor will provide

it was quite annoying to have to close an App to be able to quickly deploy small changes for testing as it causes you to lose focus and concentration on what you were doing before the “Deploy”. So, in 2.1, you can now deploy Apps in the “Deploy” workspace while an App is open.

new “Quick Deploy” dialog which lets you deploy from the workspace you are working in without interrupting your workflow. Look for the cloud icon in the HeaderBar.

In v2.1, when you run the App Builder it will now restore the previous development session.
It will open the previously opened App and all of the editor files are re-opened then positioned on the last line that was selected.

This can be disabled in the App “Settings”. If you have any problems opening an App just start the App Builder with –reset on the command line.

added a context sensitive help panel at the bottom of the attributes panel too in both the slide-in and the app inspector attributes panel.
There is a hook to let you provide help rather than take the defaults.

If you place a file in the library directory like this, then it will be used as a helper to provide help text.

// uihook_lookuphelptext.prg
parameter helptype    // Always passed as value "attribute"
parameter type        // "page", "section" or "formitem"
parameter category    // Caption of the panel category in the attributes e.g. "footer", "header" etc
parameter name        // The attribute name
return helptext

added an action bar beneath the “live attributes” in the app inspector. This has three buttons. “Refresh”, “Undo” and “Redo”. So now you can play around with changing attributes and “undo” the changes.

Lianja 3.0 is all about productivity and performance.
It now includes LiveCode editing in the editor and the debugger for Lianja/VFP.
Move the mouse cursor over a variable/field name to see its datatype and value. You can toggle this functionality on and off by pressing Ctrl+/.

Note that if the cursor is over an the value of that property will be displayed.

As you move the mouse over a variable or an in the script editor, the value/datatype/size of that variable will be displayed in a popup tooltip. If no variable exists nothing will be displayed.

Tip: Declaring your main application variables public and assigning an initial value to them will provide coding hints in the editor.

Tip: In Lianja v3.0 to edit files in a floating window use Ctrl+DblClick in the sidebar files menu for “Apps”, “Library” and “Data”.

I clicked on Page and tried to drag a table onto the form section – per the video; and that is when a big blue bar appears that tells me I have to close the app first to do this???
It sounds like you are selecting the Data Files tab in the App Inspector. They belong to the Data workspace not the Pages workspace.

That would account for the message you see regarding “You must close the app before performing this operation.
There is no issue with dragging and dropping fields onto sections.

I want to show a web page in the same way its done in the lianjaCustomCanvas demo.
It seems to be a canvas section with a set of different field types on it; one of them being the field named “SupWebview”.
Trying to implement this, I get the message “You cannot perform this operation on a ‘canvas’ section” when I click on the Field icon (or any other icon).
For a canvas section, you would used the Advanced menu controls.

Monaco as the code editor. VSCode, which uses Monaco, has been getting rave reviews. JSDoc integration with Monaco (if it is used) will give us the ability to have our .prg (and other language) files represented in Intellisense, etc., with a first-rate editing experience.

All I want is a blank page, 4 entry fields, a button for ‘loging in’, and a lable, of which I can programatically change the caption with either a successful, or unsuccessful login message. In VFP it is the simplest thing to do, but here it goes completely against what the development team states above. Can we actually program in Lianja, or is it just a drag and drop tool for desktop users wanting to visually see what data they have?
In Lianja that are many ways to skin the cat, from Drag and Drop to doing almost everything via code.
It’s so flexible, that it can sometimes be daunting or confusing.

For what you are trying to accomplish, try the following.

Add a page and call it page1
Add a canvas section to the page and call it section1.
Note* – To add items to a canvas, you use the advanced menu on the bottom of the app builder.
Add a label to the page. Make sure it is highlighted, then double click it to get the field attributes and name it label1. Change it’s caption to “test”. Move it to where you like.
Add a textbox the same way. Change its name to textbox1. You can keep or hide the caption.
Add a commandbutton the same way. Make sure you click the edge of the commandbutton until it is highlighted, then double click it to see the field attributes.

scroll down the custom delegates until you see the click event. Click on the two dots on the right. An editor will open for you to add your code


It will look like this.

// Event delegate for 'click' event
proc page1_section1_field3_click()
// insert your code here

change it to look like this

// Event delegate for 'click' event
proc page1_section1_field3_click()
//get references to your object
myTextbox = Lianja.get("page1.section1.textbox1")
myLabel = Lianja.get("page1.section1.label1")

//Assign the value from the textbox to the label
myLabel.caption = myTextbox.text

Then when you save and run the application, it will replace the label with the value from the textbox.

This was a cool surprise in v2.1RC17

I have the app inspector docked (which I love, BTW).
I needed to select “Stretch last section” for the page.
So I just selected the app inspector and typed “S” until I got to “Stretch last section”

How can I list the fields in a table in the console
available as a headerbar toolbutton in the Console workspace.
The three outlined buttons are:

list status
list memory
list structure




Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s