From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
Mike_King

HTML/CSS UI elements

Status: New

The web is miles ahead of LabVIEW for its UIs.  LabVIEW should support embedding HTML5/CSS containers as content for VI front panels, that can be bound to any data type or class preferrably to enable more capable UIs.

7 Comments
Sam_Sharp
Trusted Enthusiast

Agree totally that it would be pretty cool, however, I would imagine that converting LabVIEW to display front panels that contain web elements isn't going to happen any time soon (can you do it in *any* other language? I'm not sure?). The alternative, which should be possible right now, is to embed a browser control on your front panel and display whatever HTML/CSS/JS UI elements you want inside it.

 

It's something I really want to be able to devote some more time to but with WebSockets allowing low-latency TCP/IP data transfer with a browser and general improvements for web type stuff with LabVIEW (e.g. JSON, Web Services) it's possible to create web-based user interfaces for LabVIEW applications (that can run in LV applications with a browser control).

 


LabVIEW Champion, CLA, CLED, CTD
(blog)
Darren
Proven Zealot

Mike, I think your idea is close enough to the following idea that I'd like to close yours as a Duplicate. Do you agree?


http://forums.ni.com/t5/LabVIEW-Idea-Exchange/HTML-Control/idi-p/1633360

Mike_King
Member

Sam,  embedded browsers don't exist.   Embedded Internet explorer does, but that is not a capable browser by today's standards.  The events capabilities are weak at best as well with the active X control for an embedded IE.  

 

I'm talking about a real browser supported component (ala Chrome or FF) that is HTML5/CSS/JS supporting so you can actually build capable UIs in it that link back into LabVIEW with native events / propeties, instead of activeX frames.

 

Interacting with popups, frames, sliders and components would be nice already on the LabVIEW UI to make it more seamless, as separate web apps now are difficult to seamlessly integrate. Binding data to IDs in the HMLT display from other LabVIEW memory elements could make this a seamless integration.  Now, we have to do that manually through websockets, and it works fine with it, but would be nice to have natively for binding.

 

 

Darren, I think that other post is talking only about some simple formatting engine for HTML, not a full capable and functional block that supports browser capabilities with HTML5/CSS/JS.

Darren
Proven Zealot

Ok, I'll leave your idea open then.

Sam_Sharp
Trusted Enthusiast

Mike - I've actually had a small amount of success in trying to insert renderers for other browsers in LabVIEW. There are .NET wrappers for Chromium and Webkit if I remember correctly. I don't really have anything to share on that front but I was able to get a renderer to load/display a webpage although I didn't really do much more with it to see what the full capabilities were.

 

Here's a screenshot of a little demo I put together with a Webkit based .NET browser control:

2014-12-10_10-26-16.png

 

I would have assumed that the embedded browser control matches the IE version installed on the PC? In which case...modern versions of IE are much more compliant than their very very long history of workarounds and frustrations for web designers / developers in versions of the past. In doing a little digging I found out that you can specify which version of IE the control the should use: http://weblog.west-wind.com/posts/2011/May/21/Web-Browser-Control-Specifying-the-IE-Version

 

Yes - it would be great to have a better supported web browser control such as one based on Chromium/Webkit and I like your idea of having it natively bind to elements on the page.


LabVIEW Champion, CLA, CLED, CTD
(blog)
Mike_King
Member

Thanks Sam, I didn't know there was a .net container for Chromiam, I'll take a look.  Not great for our linux deployments, but an option for some environments nonetheless.

 

Thanks for the idea and link.

JacobsCSD
Member

 Sam,

Not to derail the idea, but do you have some example code for the WebKit .NET embedded browser example you have in your screenshot?

 

Mike

Did you explore the Chromium .NET bindings and find a way to embed that in LabVIEW?

 

I'm trying to embed a browser using the Chromium .NET, but I'm not having any success.  Please feel free to respond to my question on the forums rather than cluter up this idea.

 

Thanks!