11-08-2014 12:28 AM
I came across a base LabVIEW application that is cloned and customised to fit the needs of the different applications.
Since the result (a multi-client distributed system to get info on the status of the process) is judged on stability and appealing look, a lot of time gets in the process of building the User Interface (> 10 item windows), sorting out the right signalsource to the indicator with the right unit, exactly alligned etc.
Is there a way of speeding up the often not that difficult but time consuming art of User Interface building, possibly using a generic process?
11-08-2014 07:44 PM
Not exactly what you're asking for but may be helpful and maybe it'll generate some discussion.
Part of the UI on a bigger app is screen to screen navigation and this can take a lot of time, too. I recently made a VI that had 8 buttons, a string indicator, and a picture indicator. I gave my customer an Excel template with which they could specify the button text they wanted for each of the 1-8 buttons and what menu item they wanted the button to take the user to. The "destination" they indicated for each button would go to that corresponding row in the excel file and pull the new button texts, etc. If there was no text for a given button it was made visible="F". There is a place in the Excel file for them to specify an image filename that my program will pick up and show as a background or as a mockup of the screen layout they wanted. I keep track of the menu button presses using an array and a shift register so if they hit "back" I just pop one element off the array and load that menu row from the Excel file. The customer can now optimize the navigation, see screen shots of layouts in context, and modify to their heart's content while freeing me up to program their other application.
Because all of the screens use the same buttons/indicators to show different information, there's no issue with screen-to-screen alignment and spacing issues, etc.
Inspiration for this was something I used to do in MS ACCESS a loooonnnng time ago. I think it was called a "switchboard" in their terminology and if I recall they used a DB table to store the button names and destinations and tree level. There's probably a really cool way to do this (and your idea) with OO, but I've only just sipped that Kool-Aid so far.