UI Interest Group Documents

cancel
Showing results for 
Search instead for 
Did you mean: 

Windows 8 Style UI demo

I finally had time this afternoon to post a back burner project I've been working on on and off (mostly off) for a couple of months.  Some things are still rough around the edges but rather than wait for it to be perfect I figured I'd put it out there just in case someone finds it useful.  Hopefully I'll find time to continue to work on it.

My goal was to create an application in LabVIEW that looks and feels like a Windows 8 style application.  I also hoped to build such an application on top of the Actor Framework in such a way that others could use some of my base classes in their applications. 

The code is attached - unzip and run "Launcher.vi" in the Win8uiDemo folder. [LabVIEW 2012 - I'm relying on Actor Framework (I used 4.1 but it should work with 4.0) so I don't plan to back-save to any previous versions.]

Quick Video Demo

Win8uiFramework quasi-UML Class Diagram

Win8uiFramework.png

Win8uiDemo quasi-UML Class Diagram

Win8uiDemo.png

Comments
Active Participant Thoric Active Participant
Active Participant

That's astonishing! I can't wait to get my proverbial teeth into this!

Well done sir!

Thoric (CLA, CLED, CTD and LabVIEW Champion)


Active Participant pallen
Active Participant

The video is really impressive.  Can't wait to check out the code. 

---------------------
Patrick Allen: FunctionalityUnlimited.ca
Active Participant battler.
Active Participant

Code is broken for me.  Using LV 2012 on Win 7 64.

Active Participant David_Staab
Active Participant

Do you care to elaborate? Won't compile? Missing dependencies? Incorrect behavior? Errors getting thrown?

Not applicable

I ran the Launcher.vi from C:\Users\David\Desktop\Working\Simons Windows 8 UI Demo\Win8uiDemo and got the following missing dependency:

Actor Framework Debug.png

Opening the LabVIEW Project shows the following files as missing:

Win 8 Project.png

Active Participant David_Staab
Active Participant

David, you probably need this: https://decibel.ni.com/content/docs/DOC-23398

Not applicable

Thanks for the link David. Still getting lots of errors, as shown below. I'll try and sort through them later, and see what may be causing the problems on my PC (Wiindows 8 - 64bit).

LV W8 Error.png

Active Participant Thoric Active Participant
Active Participant

Oh dear, I'm afraid it's broken for me too. I've got Actor Framework 4.1.0, and when I load this project all the Launch Actor VIs appear to be being called with an extra (invalid) input. I'm not yet familiar with the Actor Framework so I'm not really in a position to investigate this, but does this snapshot help?

Launch_Actor_extra_input.jpg

Thoric (CLA, CLED, CTD and LabVIEW Champion)


Member Drew.Rankin
Member

Same here. Broken. Looks like the XControl is the culprit for the most part. It is also looking for files in the Emission Monitoring UI Working Copy.

BrokenArrow.PNG

I have gotten the demo to work by disconnecting the following VI's from their library:

Does It Fit.vi

Draw Text with Subscripts.vi

Find Max Font Size.vi

Find Subscript Text.vi

Find Text Origin.vi

Also, I had to replace the String XControl in the SensorViewSmall and SensorViewDetailed classes with the XControl in the project along with removing the property nodes for the string control in the Actor Core.vi's of those classes. The strings in the XControls don't look quite right now because of the missing functionality, but the demo does work!

Drew

SimonH
NI Employee

Hmmm, looks like my SCC might have exported an older revision -- I thought I had fixed all these things.  Don't waste any time getting it to work, I'll figure it out and repost.

SimonH
NI Employee

OK should be fixed now folks. I tested by moving from one VM to another so hopefully it's good.

Sorry for the bad post.

@Thoric - that's an artifact of me switching from the Debug AF to the release AF.  Launcher.vi in the Win8uiFramework library (i.e. not the one to run for the demo) is probably still broken like that.  Just delete the broken wire and it will run fine if you want to play with that one.

@DavidCorney, @Drew.Rankin - at some point in development I messed up the library association of the XControl.  Apparently I exported the messed up version.  It should be fixed in the zip file now.

Active Participant DanyAllard Active Participant
Active Participant

wow, it's a realy good example of using Actor Framework

Thank you Simon for this

Dany Allard

Member vishots.com
Member

Simon, I'm impressed. Great Job!

Member Brandyn
Member

This is awesome! Great job!!!!!

Certified LabVIEW Architect
Certified Professional Instructor
Active Participant Thoric Active Participant
Active Participant

This is truly inspirational - thank you muchly for sharing this with us all !

Thoric (CLA, CLED, CTD and LabVIEW Champion)


Active Participant crelf Active Participant
Active Participant

Mmmmmmmm coffee...





Copyright © 2004-2018 Christopher G. Relf. Some Rights Reserved. This posting is licensed under a Creative Commons Attribution 2.5 License.
Member OwenGomsh
Member

Thanks

Active Participant Edjsch
Active Participant

Is there supposed to be audio? There is none for me which makes it difficult to understand what's going on.

Member ~Samuli
Member

Really nice job Simon!

Style is Everything
Trusted Enthusiast
Trusted Enthusiast

Hey Simon,

This week I had an Application Assistance with a customer that had made a small demo where he integrated your "Windows 8 UI" in combination with a Measurement Abstraction Layer..

Just to let you know that customers seem to be very eager to use this..

Kind Regards,
Thierry C - CLA, CTA - Staff R&D Engineer, RF Semiconductor Test - National Instruments
If someone helped you, let them know. Mark as solved and/or give a kudo. Smiley Wink
SimonH
NI Employee

ThiCop,

That's great to hear.  With some of the more complicated posts I make I'm never sure if people are able to use the code I post.  The old adage of "it's easier to write code than read code" definitely kicks in with larger projects like this one.

Not applicable

I can't see any code attachement. The only attachment I see is a  "socialgroup_image_small (4.3 K)? I'm logged in with my NI profile, but I don't think I'm a "member" of the UI interest group.

When I click "log in or register" and enter my NI profile user name and password, I get logged in as a "restAPI" in this group, and still no download link to the code?

NOTE: I am NOT "restapi" and I do not know where it came from or the NI e-mail address that is associated with it. I use my own e-mail and password to log in.. this is really weird.

SimonH
NI Employee

It looks like our website is experiencing some issues.  All of the images on this thread are missing and have been replaced by odd images.

Member Robert_J_Loomis_III
Member

Nice job! Looking forward to looking through the code

Member Cube404
Member

Just for your project, I am installing Labview 2012 DS, which I delayed over 3 months.

Keep it up Simon

Member matt.baker
Member

Great example!

Haha, love the Pac-Man 'Error Eater' icon.

I have managed to port the actor framework and message maker tool to LV 2009 and get some of this working.

Thanks.



Using LV2018 32 bit

Highly recommended open source screen capture software (useful for bug reports).

https://getsharex.com/
Member Prash_32
Member

Its Superb.. Great work..Smiley Happy

Active Participant cirrusio
Active Participant

This is very nice, Simon.  I am currently looking at how we can use a similar architecture for a project that I am working on.

I have one question though related to the implementation: in Stop Core.vi of the Viewable Actor, you fire the user event Stop to kill the viewable Actor Cores and then immediately destroy the user event; is there any possiblility that you will run into a race condition with this (i.e. is it possible to destroy the event before the event handler can get to it)?  I do something similar but have always had the actual UI handle the destruction of the event.  Your method looks a lot cleaner, but I have always been concerned about the main UI not receiving the event.

Cheers, Matt

SimonH
NI Employee

Matt,

There's no danger of a race condition. Once the event is generated, all the event structures registered for it will get the event, even if it takes them a while to get back around to processing the event. You are safe to immediately destroy the event refnum without impacting the event structures.

I'll be honest though -- I did need to check in with R&D to make sure this was the case. You had me worried for a few minutes there.

~Simon

Member andremakoski
Member

wonderfull!!!

Is it possible to generate a 2011 version?

Member TomFantasia
Member

Just came across this.  Absoluteley amazing. 

Member kwkengineer
Member

Simon - I'm attempting to re-use your framework, but hit a snag while incorporating the Sensor Definition library.  It is coupled to your uiDemo lib.  I found the methods in Sensor.lvclass which sends messages to the uiDemo. If you have time to improve the framework, maybe consider removing this coupling.

Good work!

Active Participant battler.
Active Participant

Hi Simon,

What resources (hopefully brief) did you use for designing UI to Windows 8 style?  What fonts and layout style etc..

The Windows 8 User Experiences guideline I found is very long..

Thanks.

Active Participant nolsqn
Active Participant

amazing work man thumbs up

Regards
Member MyLabSQL
Member

Good job simon!

I finally managed to create an application using this code.

Thank you for sharing here.

http://www.produkweb.com/images/wolsmotion-trial.jpg

Member Aventador
Member

Pure Excellence ! Mind blowing work. . . Hats Off. .

-------------------------------------------------------------------------------
Subramanian
LabVIEW Developer


Life may control my car, but I steer it ! !
Member eokeefe
Member

Thanks for posting this, Simon, I've been struggling with AF for a very long time Between this and NI's Hands-On tutorial there aren't really any better ways of learning AF! Thanks again Simon.

Member Amiri
Member

Great demo, thank you.  I've seen this before, did you present this at an NI Week?

What tools did you use to create the UML? 

Is there one (or two) UML tools that LabVIEW developers out there prefer? 

I'm trying to get into this UML stuff, but am not sure where to start, open to suggestions.  GOOP? Symbio? StarUML?

Member egraham
Member

I've heard that NI uses yEd for diagrams and UML. I've grown particularly fond of Gliffy.

Member VenuGopal@57
Member

Mindblowing example i didnt know we can do this sort of vi's in Labview. can i take this example as a jump start to Actor Framework?  Guide me Folks  Thanking You All,  Venu

Venugopal
Member Ajayvignesh_MV
Member

Man..! That's really astonishing... I didn't get a chance to look at this for almost 2+ years though I use Win 8/10.  Even after then, it I said "huwoohh.." when I saw the video..

Member xband
Member

This is very nice.  I opened it with no problems in Lv2013.  Though I have no idea how to exploit this structure for my Crio project.  I'm looking for UI examples for touchscreen computers with a CRio-9081.

Would also like to use something similar for a 9035.

Thanks for any insight.

Jim

Member AliA15
Member

Amazing work

Member ewaqas
Member

Great Work !  Can someone explain the development flow if it is not restricted?

thank you

Waqas

Member rupesh.v
Member

its very awesome designed...thanks for sharing .... 

Contributors