User Tools

Site Tools


v-control_extras

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
v-control_extras [2019/02/28 09:58]
admin [Art-Net]
v-control_extras [2019/04/03 15:38] (current)
admin [Powerpoint Control]
Line 2: Line 2:
 V-Control Extras is a collection of programs that are commercial tools. Without license, all of them run in Demo Mode, which means that the software is fully operational,​ but terminates every 30 minutes. V-Control Extras is a collection of programs that are commercial tools. Without license, all of them run in Demo Mode, which means that the software is fully operational,​ but terminates every 30 minutes.
  
-=== Getting a License ===+===== Getting a License ​=====
 The software license is bound to a drive. If you want to use the software only on one computer, you can use the computer'​s hard drive. To use the software on different computers, use an inexpensive USB thumb drive to bind the license. To purchase a license, connect a USB drive to your computer (skip this if you want to use your hard drive). Then select //File -> Request License// in the main menu. The software license is bound to a drive. If you want to use the software only on one computer, you can use the computer'​s hard drive. To use the software on different computers, use an inexpensive USB thumb drive to bind the license. To purchase a license, connect a USB drive to your computer (skip this if you want to use your hard drive). Then select //File -> Request License// in the main menu.
  
Line 14: Line 14:
 copy the text in the //Key// field and send us the key with the purchasing process in our shop.You can use the Order Notes field for that. Alternatively you can send us a mail with the key. copy the text in the //Key// field and send us the key with the purchasing process in our shop.You can use the Order Notes field for that. Alternatively you can send us a mail with the key.
  
-===== V-Control Designer ===== +===== V-Control Designer ​=====
-V-Control Designer is software that is used to create Graphical (touch) User Interfaces for V‑Control. It communicates with the Remote Panel Server via TCP, and up to 5 V‑Control Designer instances can have simultaneous access to a Remote Panel Server. The Remote Panel Server has two connections to V-Control Devices, the RemotePanelReceiver and the RemotePanelSender. ​+
  
-Since the Remote Panel Server, ​V-Control Designer ​and V-Control ​communicate via TCPall applications ​can run on different computers or the same.+V-Control Designer ​is the application to create user interfaces for V-Control. It integrates an Editora show mode that can run in full screen mode and a web server.
  
-{{ ::howitworks.png |}}+{{ ::overview.png |}}
  
-While V‑Control and the Remote Panel Server is multi-platform ​software (Windows, MAC OSX and Linux) V‑Control Designer ​is Windows only at the moment. Nevertheless, ​VControl ​Designer can operate with Remote Panel Server operating on a Linux or MAC OS and Windows+Without a valid license key, the software ​runs in Demo mode. This means that every 30 minutes the software will exit the run mode (if running) ​and shows a message box that you are in demo mode. How to get a license key is explained in the [[v-control_extras|V-Control ​Extras]] section.
  
-==== Installation ==== +V-Control Designer uses three connections to communicate with V-Control and the Web Server. The //Sender// is sending commands to the V-Control instance such as Run Task. The //​Receiver//​ is used to receive messages from V-Control to update the GUI with new status informationThe //Web// is used to communicate with the Web Server. Because the communication with the Web Server is always local, there is no need (an possibility) to configure this.
-==== Remote Panel Server ​==== +
-Unzip the downloaded file and copy it to a directory ​with users write permissionsThen launch ​the exe file.+
  
-==== V-Control Designer ==== +{{ ::​senderreceiver.png |}}
-Unzip the downloaded file and copy it to a directory with users write permissions. **Then run vcredist_msvc2015_x64.exe** that is located in the V-Control Designer directory. ​ Then launch the exe file.+
  
-===== Remote Panel Server ===== 
-There is no direct communication between V-Control and V-Control Designer. The Remote Panel Server works as intermediary between the two programs. 
  
-First start the Remote Panel Server 
-{{ ::​remotepanelserver.png |}} 
  
-The Remote Panel Server opens 3 server ports. The Display Server Port is used by V-Control Designer (up to 5 at the same time)V-Control Sender Port and V-Control Receiver Port are used by V-Control devices.+If the connection ​is established, ​the label color becomes greenIf a connection fails the color becomes red.
  
-V-Control ​needs two new devicesThe RemoteScreenSender and RemoteScreenReceiverCreate TCP-Client channels with the IP Address of the Remote Panel Server ​and the ports for Sender and Receiver.+If V-Control ​Designer is launchedit opens a console window additionallyThis is the running Web Server ​instance. **Do not close this window if you want to use Web Pages, just minimize it.**
  
-{{ ::v-control_main.png |}}+{{ ::server.png |}}
  
 +==== Preferences ====
  
-===== Join Number Concept in Detail ​===== +{{ ::​designerpreferences.png |}} 
-To interact with the V-Control Designer widgets, (buttons, labels, sliders etc.) a concept of join numbers is used. Join numbers define a connection to / from a widget. There are three different types of join numbers:+//​Edit->​Preferences//​ opens the Preferences window. To select an Autoload project click the button with the three dots. 
 +==== Style Editor ​====
  
-  ​Digital Joins: They can have a value of 0 or 1. +In V-Control Designer, the look of the widgets is defined by stylesThis is comparable to CSS classes in web development. A style contains all the information that is needed to draw the widget, except it's size, position and Z-Order.
-  ​Integer Joins: Any Integer value  +
-  - String Joins: Any type of characters+
  
-Join numbers for each type can be between 1 and 999. So you have 999 digital joins, 999 integer joins and 999 string joins. All V-Control Designers connected to one Remote Panel Server share these join numbers. So if you have more then one Designer connected to the Remote Panel Server, and they show different GUI’s (Graphical User Interface), take care that the join numbers don’t overlap.+{{ ::​style_editor.png |}}
  
-But in some cases it can be useful to share some join numbers on different GUI’s. ​ If you have information that is needed on all displaysthen you can use a single string join number and have labels on all GUI’s with this numberThen the information appears everywhere.+There is only one type of style for all widgets. A Pagefor example, has only one design element that can change, the BackgroundIf a style is assigned to a page, only the Background Color is used to paint the Page, all other style elements are not used.
  
-Below there is a button with some of its propertiesNotice the second ​one, Digital JoinBecause a button ​can only have the state On or Off, the digital Join represent its state.+Buttons and Labels use much more style elements such as Text Color, Border Color etc. 
 +There is no limit to how many styles can be used. It is recommended to make style for each category ​of GUI elements For example ​one for menu buttons and one command buttonsCommand buttons ​can split into other groups such as Power On/Off buttons, Input switchingPreset calling etc.
  
-{{ :​button_join.png |}} 
  
-If the button is pressed, it sends a message with its type (Digital in this case), join number and 1 as value. If the button is released it sends the same message but 0 as value. ​+==== Undo / Redo ====
  
-In V-Control, there is a device RemoteScreenReceiver. Per default, this device ​has device variables D001..D100 for digital joinsI001-I100 for integer joins and S001..S100 for string joins. If more join numbers needed add them in the [[device_editor|Device Editor]]+V-Control ​Designer ​has 50 levels of Undo / Redo//CTRL + Z// is the Undo shortcut//CTRL + Y// is the redo shortcut.
  
 +==== Publish Join Numbers ====
  
-{{ ::receiver.png |}}+In a complex GUI project there might be a lot of Join Numbers used to update the GUI. V-Control Designer and V-Control will help to keep the overview. V-Control Designer can find a free Join Number automatically by pressing the //J// button right of a Join Number entry field. The //Publish Join Numbers// menu item distribute the numbers to V-Control'​s Join List.
  
-If V-Control Designer sends a message with a join number and a value, then the RemoteScreenReceiver updates a device variable (D013 in this example)This generates an event, and we can use this event to run a task.+{{ ::joinlist.png |}} 
 +==== Project Properties ==== 
 +{{::​projectproperties.png?200 |}}
  
-{{ ::event.png |}}+To edit the Project Properties click the //Project Properties//​ button. This dialog is used to setup the GUI project.
  
-A detailed description how events work in V-Control ​is at [[events|Events]] ​+**V-Control ​IP:** 
 +Enter the IP Address of the V-Control instance. ​
  
-Lets Do the other way.  Below is a label with the string String Join Caption 1.+**Use ALWAYS ​the ENTER key to apply changes, otherwise ​the value might not be overwritten.**
  
-{{ ::​label_join.png |}}+**Port Sender:** The port that is used by V-Control for remote connections (10101 by default)
  
-We can now use the device RemoteScreenSender ​to send a message to this join number. The content of this message will be shown in the label. ​+**Port Receiver:** The port that is used to receive commands from V-Control
  
-Maybe you notice that the label has additional string joinsString Join //Back Color//, String Join //Border Color// ​and String Join //Text Color// can receive messages to change the corresponding colors.+**Grid Size H and Grid Size V:** To align the GUI elements (Widgets) it might be useful to have a grid displayedThe horizontal ​and vertical space between grid lines is defined here.
  
-The RemoteScreenSender device has commands ​to send messages ​to the Remote Panel Server+**Snap ​to Grid:** If checked, widgets will snap to the grid to make position adjustments easier.
  
-{{ ::sendstring.png |}}+**Default Page:*** This is a **very important** property. If the Designer switches to Run Mode, it needs to know which page to show by default. If nothing is selected here, it might end in an empty page in Run Mode. This is also important if you want to use the Web Server.
  
-The command SendString send as message to string joinin this case join number 1 which we used for the caption join of the label. If we run this command, the label changes its caption.+**Autorun:​** If project is selected for Autoloadchecking ​this box will immediately switch to run mode after loading.
  
-{{ ::helloworld.png |}}+**Fullscreen:** If this box is checked, the GUI switch to Full Screen Mode if running. This does not work for Web Pages. If you use the Web Server, you have to set your browser to Kiosk mode to perform this.
  
-More Information about RemoteScreenReceiver and RemoteScreenSender can be found at [[device_drivers|Device Drivers]].+**License:​** Shows if you have a License or using Demo Mode.
  
-===== Manage Join Numbers ===== +**Page:** Select a page for editing.
-In large projects it is easy to lose track of the join numbers. For that reason, V-Control can help managing join numbers. In V-Control, click the Join List tool button.+
  
-{{ ::​joinlist.png |}}+**Add Page:** Adds a new Page to the project
  
-This list is used to make notes what a join number is used forIf you have a button with join number 1, and the //​RemoteScreenReceivers//​ device variable D001 change event is used to trigger a task that turns on a projector, edit the row with //D001// in the following way:+**Delete Page:** Deletes the shown page.
  
-{{ ::​joinlist1.png |}}+==== Creating a new Project ====
  
-It is good practice to give the widgets meaningful names. The task that handles the change event has the same name with prefixed “on”. Use the comment column for further useful information. +To start with a new project use the //​File->​New//​ menu commandBefore we beginwe need to prepare V-Control ​to work with V-Control DesignerAs mentioned before, we need two communication channels, one for sending and one for receiving data
-Because the list could be very longthe Search field helps to find a row of interestAnything typed in here that matches any row content works as a filter. Only rows that match the search field content are shown.+
  
-{{ ::​joinlist2.png |}}+=== Prepare V-Control ===
  
-At the bottom of the Join List, the Create Default List button creates a default list of join numbers (D001..D100, I001..I100 and S001..S100).  +To let V-Control accept commands from V-Control Designerit is necessary that the remote option for TCP communication is switched onSelect ​ //​Configure->​Options// ​in V-Control'​s main menu and select ​the //Remote Services// tab.
-If more join numbers are needed enter a new one in the Join Number field. The format is D101 for a new digital join number 101. I221 creates an integer join with number 221 and S123 a new string join with number 123. +
-Click the Add Row button to insert ​the new join number.+
  
-===== GUI Overview =====+{{ :​options1.png |}}
  
-{{ ::​gui_overwiew.png |}}+Select the //TCP// tab and make sure the //Enable TCP Remote Service// box is checked. If you want to change the Port or maximum number of clients you have to do this before.
  
-The Main Window is divided into three parts: +If you want to change ​GUI elements from a V-Control script or cuelist, a //Designer Sender// device ​is needed
-  - The Library (left) Here are the widgets that can be dropped ​to the page area. These widgets are used to build the GUI+
-  ​Page Area (center) This is the area where you drop and position your widgets. +
-  - Project Settings / Inspector (right) Here you can set up the project and customize the widgets.+
  
-Click the Run menu item to switch to run mode.+{{ ::​designersender.png |}}
  
-==== Project Settings ====+The Designer Sender Device Driver is the instance that connects to V-Control Designer //​Receiver//​. So status updates for the GUI are sent from this device.
  
-{{::​projectsettings.png |}} +==== Adding Widgets ====
  
-**Display Server IP:** +To add Widgetfirst create at least one Page by pressing ​the //Add Page// ButtonThen select a widget in the widget bar and click the //Add Widget// button.
-To establish ​connection between V‑Control Designer and Remote Panel Serveryou need to set up the TCP connectionDisplay Server IP contains ​the IP Address of the Remote Panel Server. If both, Remote Panel Server ​and V‑Control Designer running on the same system, this should be localhost (127.0.0.1). In other cases the use the real address.+
  
-**Port:** +{{ ::widgetlist.png?400 |}}
-The TCP port that is used by Remote Panel Server to connect to Displays (Display Server Port).+
  
-**Full Screen:** +A selected widget has a black frame and white corners. To drag a widget click and hold the left mouse button. To resize a widget click and hold one of the corners and drag it to the desired size.
-If checked, V‑Control Designer will cover the whole screen if switched to Run mode. There will be no window decoration. To exit the run mode if full screen view, press ESC.+
  
-**H Grid, V Grid:** +To move a group of widgets, select each widget by holding the CTRL key. **Do not release the CTRL key while moving**.
-In Edit Mode, the user can display a grid that helps to position and align the widgets. H Grid and V Grid determine the distance between the grid lines.+
  
-**Grid Color:** +==== Pages ====
-Determines the color of the grid.+
  
-**Show Grid:** +{{ ::page.png |}}
-If checked, the grid is shown+
  
-**Magnetic Grid:** +A Page is the basis that is needed to add widgets. Every widget belongs to a page. V-Control Designer uses a //Master Page// concept. It is possible to declare ​**ONE** page of the project as Master Page. A Master Page is shown on all pages
-If checked, widgets will allign to the grid if you change their position by dragging them.+
  
-**H Size, V Size:** +This is useful for menus for example. Declare one page with menu buttons as Master Page. Then create a new page for each menu button. The menu buttons are shown on all pages nowMake sure that the widgets of the non Master Pages do not use space that is used by widgets on the Master Page.
-Determines the size of all pages in a single projectUsually this should match the Display size if you want to run in Full Screen mode.+
  
-**Add Page, Delete Page** +To show a Page send use the //Designer Sender// device in V-Control ​and send a value of 1 to the //Page Show JoinNb//.
-V‑Control Designer can use multiple pages within one project. Here you can add new ones or delete existing ones. +
- +
-==== Settings ==== +
-Main Menu File → Settings +
- +
-{{ ::​settings.png |}} +
- +
-**Default Project** +
-Press the Select button to choose a project that is loaded at startup. +
- +
-**Autostart Default Project** +
-If a valid project is loaded by default, enabling this check box will initiate run mode at startup. +
- +
-==== Pages ==== +
-VControl ​Designer project consist ​of one or more pages. A page act as container for widgets and can use the entire screen in run mode if Full Screen is selected. +
- +
-To add or delete pages switch to Project Settings. +
- +
-**Page Properties:​** +
-{{ ::​page_properties.png |}} +
- +
-To access the page properties select the Inspector and click on an empty area in the page. Then you can change the page Name and Back Color. The name has to be unique.+
  
 +**Please keep in mind that there should be one page declared as default page in the //Project Properties//​.**
 ==== Buttons ==== ==== Buttons ====
-{{ ::​button.png |}} 
- 
-Button properties are: 
-  * Name: The name of the button. Try to use meaningful names, this will help in complex projects to keep the overview. 
-  * Digital Join: The join number for the button pressed and release event. If pressed, this join number will have the value 1, if released then 0. The A button automatically selects a free join number. 
-  * Caption On: Button caption in pressed state 
-  * Caption Off: Button caption in unpressed state 
-  * Radius: If > 0 then the button has round corners. 
-  * Back Color Off: The back color of the button in unpressed state 
-  * Border Color Off: The border color of the button in unpressed state 
-  * Text Color Off: The Text color of the button in unpressed state 
-  * Back Color On: The back color of the button in pressed state 
-  * Border Color On: The border color of the button in pressed state 
-  * Text Color On: The Text color of the button in pressed state 
-  * Align: Alignment of the caption 
-  * Top, Left, Width, Height: Position and size of the button 
-  * Z: The Z-Order of the button. The higher this value, the more on top the widget is displayed if overlapping with other widgets. 
-  * Resend Received: If a widget receive a message, then it can send the message back the message to the RemoteScreenReceiver. Imagine the button receives a message with value 0, the message was sent from the RemoteScreenSender. Then the RemoteScreenreceiver doesn’t know that the value has changed and does not update the corresponding device variable. 
-  * Font: The font of the Caption 
-  * Size: Font size of the caption 
-  * Bold, Italic, Underline: Style of the Caption 
-  * Image Off, Image On: Image to show in unpressed and pressed state 
-  * Scale to fit: Scales the image that it fits in the widgets dimensions. 
-  * Keep Aspect: Keep aspect ratio of the image 
-  * Goto Page: Switch to another Page 
-  * Mode: Normal: If pressed, it automatically gets unpressed. Toggle: If pressed, it stays pressed until it was pressed again. One Time: If pressed it stays pressed. The only way to reset is to send a message with value 0. 
- 
-==== Progress Bar ==== 
-{{ ::​progressbar.png |}} 
- 
-  * Name: The name of the widget. Try to use meaningful names, this will help in complex projects to keep the overview. 
-  * Integer Join: The join number to set the progress. The A button automatically selects a free join number. 
-  * String Join Back Color: The back color of the progress bar. Color values are in the format AA,​RR,​GG,​BB. AA = alpha (00..FF), 00 means transparent,​ FF full visible, RR = red (00..FF), GG= green (00..FF) and BB = blue (00..FF). All Color values are two digit hex numbers. 
-  * String Join Border Color: The border color of the progress bar 
-  * String Join Inner Color: The inner color of the progress bar. Use all the String Color Joins to change the color of the widget by V-Control. 
-  * Min: The minimum integer value that the progress bar can show (no progress) 
-  * Max: The maximum integer value that the progress bar can show (full progress) 
-  * Top, Left, Width, Height: Position and size of the button 
-  * Z: The Z-Order of the button. The higher this value, the more on top the widget is displayed if overlapping with other widgets. 
-  * Resend Received: If a widget receive a message, then it can send the message back the message to the RemoteScreenReceiver. Imagine the button receives a message with value 0, the message was sent from the RemoteScreenSender. Then the RemoteScreenreceiver doesn’t know that the value has changed and does not update the corresponding device variable. 
- 
-==== Label ==== 
- 
-{{ ::label.png |}} 
- 
-  * Name: The name of the widget. Try to use meaningful names, this will help in complex projects to keep the overview. 
-  * Caption: The text that is displayed 
-  * String Join Caption: The join number to set the Caption. 
-  * String Join Back Color: The back color of the label. Color values are in the format AA,​RR,​GG,​BB. AA = alpha (00..FF), 00 means transparent,​ FF full visible, RR = red (00..FF), GG= green (00..FF) and BB = blue (00..FF). All Color values are two digit hex numbers. 
-  * String Join Border Color: The border color of the label 
-  * String Join Text Color: The Text color of the label. Use all the String Color Joins to change the color of the widget by V-Control. 
-  * Back Color: The back color of the label. Color values are in the format AA,​RR,​GG,​BB. AA = alpha (00..FF), 00 means transparent,​ FF full visible, RR = red (00..FF), GG= green (00..FF) and BB = blue (00..FF). All Color values are two digit hex numbers. 
-  * Border Color: The border color of the label 
-  * Text Color: The Text color of the label. ​ 
-  * Align: Text alignment 
-  * Top, Left, Width, Height: Position and size of the button 
-  * Z: The Z-Order of the button. The higher this value, the more on top the widget is displayed if overlapping with other widgets. 
-  * Resend Received: If a widget receive a message, then it can send the message back the message to the RemoteScreenReceiver. Imagine the button receives a message with value 0, the message was sent from the RemoteScreenSender. Then the RemoteScreenreceiver doesn’t know that the value has changed and does not update the corresponding device variable. 
-  * Font: The font of the Caption 
-  * Size: Font size of the caption 
-  * Bold, Italic, Underline: Style of the Caption 
-  * Multilie: Show multiple lines of text 
- 
-==== Group Box ==== 
-{{ ::​groupbox.png |}} 
- 
-  * Name: The name of the button. Try to use meaningful names, this will help in complex projects to keep the overview. 
-  * Caption: The text that is displayed 
-  * Back Color: The back color of the label. Color values are in the format AA,​RR,​GG,​BB. AA = alpha (00..FF), 00 means transparent,​ FF full visible, RR = red (00..FF), GG= green (00..FF) and BB = blue (00..FF). All Color values are two digit hex numbers. 
-  * Border Color: The border color of the label 
-  * Text Color: The Text color of the label. ​ 
-  * Align: Text alignment 
-  * Top, Left, Width, Height: Position and size of the button 
-  * Z: The Z-Order of the button. The higher this value, the more on top the widget is displayed if overlapping with other widgets. 
-  * Font: The font of the Caption 
-  * Size: Font size of the caption 
-  * Bold, Italic, Underline: Style of the Caption 
- 
-==== Image ==== 
-{{ ::image.png |}} 
- 
-  * Name: The name of the widget. Try to use meaningful names, this will help in complex projects to keep the overview. 
-  * String Join (URL): Send the path of an image to change the image by V-Control 
-  * Back Color: The back color of the widger. Color values are in the format AA,​RR,​GG,​BB. AA = alpha (00..FF), 00 means transparent,​ FF full visible, RR = red (00..FF), GG= green (00..FF) and BB = blue (00..FF). All Color values are two digit hex numbers. 
-  * Border Color: The border color of the widget 
-  * Top, Left, Width, Height: Position and size of the button 
-  * Z: The Z-Order of the button. The higher this value, the more on top the widget is displayed if overlapping with other widgets. 
- 
-==== Text Input ==== 
-{{ ::​textinput.png |}} 
- 
-  * Name: The name of the widget. Try to use meaningful names, this will help in complex projects to keep the overview. 
-  * Text: The text that is displayed 
-  * String Join Caption: The join number to set the Text. 
-  * String Join Back Color: The back color of the label. Color values are in the format AA,​RR,​GG,​BB. AA = alpha (00..FF), 00 means transparent,​ FF full visible, RR = red (00..FF), GG= green (00..FF) and BB = blue (00..FF). All Color values are two digit hex numbers. 
-  * String Join Border Color: The border color of the label 
-  * String Join Text Color: The Text color of the label. Use all the String Color Joins to change the color of the widget by V-Control. 
-  * Back Color: The back color of the label. Color values are in the format AA,​RR,​GG,​BB. AA = alpha (00..FF), 00 means transparent,​ FF full visible, RR = red (00..FF), GG= green (00..FF) and BB = blue (00..FF). All Color values are two digit hex numbers. 
-  * Border Color: The border color of the label 
-  * Text Color: The Text color of the label. ​ 
-  * Top, Left, Width, Height: Position and size of the button 
-  * Z: The Z-Order of the button. The higher this value, the more on top the widget is displayed if overlapping with other widgets. 
-  * Resend Received: If a widget receive a message, then it can send the message back the message to the RemoteScreenReceiver. Imagine the button receives a message with value 0, the message was sent from the RemoteScreenSender. Then the RemoteScreenreceiver doesn’t know that the value has changed and does not update the corresponding device variable. 
-  * Font: The font of the Caption 
-  * Size: Font size of the caption 
-  * Bold, Italic, Underline: Style of the Caption 
-  * Multilie: Show multiple lines of text 
- 
-==== Combo Box ==== 
-{{ ::​combobox.png |}} 
- 
-Name: The name of the widget. Try to use meaningful names, this will help in complex projects to keep the overview. 
-Edit Items: Opens an editor to edit the items in the combo box 
-Integer Join: The join number to select an item. 
-Back Color: The back color of the label. Color values are in the format AA,​RR,​GG,​BB. AA = alpha (00..FF), 00 means transparent,​ FF full visible, RR = red (00..FF), GG= green (00..FF) and BB = blue (00..FF). All Color values are two digit hex numbers. 
-Border Color: The border color of the label 
-Text Color: The Text color of the label. ​ 
-Top, Left, Width, Height: Position and size of the button 
-Z: The Z-Order of the button. The higher this value, the more on top the widget is displayed if overlapping with other widgets. 
-Font: The font of the Caption 
-Size: Font size of the caption 
-Bold: Style of the Caption 
- 
- 
-Spin Button 
- 
-  * Name: The name of the widget. Try to use meaningful names, this will help in complex projects to keep the overview. 
-  * Integer Join: The join number 
-  * Min: The minimum integer value 
-  * Max: The maximum integer value  
-  * Top, Left, Width, Height: Position and size of the button 
-  * Z: The Z-Order of the button. The higher this value, the more on top the widget is displayed if overlapping with other widgets. 
-  * Resend Received: If a widget receive a message, then it can send the message back the message to the RemoteScreenReceiver. Imagine the button receives a message with value 0, the message was sent from the RemoteScreenSender. Then the RemoteScreenreceiver doesn’t know that the value has changed and does not update the corresponding device variable. 
-  * Font: The font of the items 
-  * Size: Font size of the items 
-  * Bold: Style of the items 
- 
-==== Slider ==== 
-{{ ::​slider.png |}} 
- 
-  * Name: The name of the widget. Try to use meaningful names, this will help in complex projects to keep the overview. 
-  * Integer Join: The join number ​ 
-  * Min: The minimum integer value that the progress bar can show (no progress) 
-  * Max: The maximum integer value that the progress bar can show (full progress) 
-  * Orientation:​ Horizontal or vertical orientation 
-  * Back Color: The back color of the widget. Color values are in the format AA,​RR,​GG,​BB. AA = alpha (00..FF), 00 means transparent,​ FF full visible, RR = red (00..FF), GG= green (00..FF) and BB = blue (00..FF). All Color values are two digit hex numbers. 
-  * Border Color: The border color of the widget 
-  * Inner Color: The inner color of the widget. ​ 
-  * Handle Color: Color of the handle 
-  * Scale Ticks: every Scale Tics pixel a marker is set 
-  * Show Scale: Show or hide the scale 
-  * Sep Width: Minimum width of a step 
-  * Knob Image: Image for the handle 
-  * Inline Image: image for the inner part 
-  * Top, Left, Width, Height: Position and size of the button 
-  * Z: The Z-Order of the button. The higher this value, the more on top the widget is displayed if overlapping with other widgets. 
-  * Resend Received: If a widget receive a message, then it can send the message back the message to the RemoteScreenReceiver. Imagine the button receives a message with value 0, the message was sent from the RemoteScreenSender. Then the RemoteScreenreceiver doesn’t know that the value has changed and does not update the corresponding device variable. 
- 
-The image properties of the slider allow custom sliders. It depends only on the graphical skills how they look. 
- 
-{{ ::​slider2.png |}} 
- 
-==== Ellipse ==== 
- 
-{{ ::​elipse.png |}} 
- 
-  * Name: The name of the widget. Try to use meaningful names, this will help in complex projects to keep the overview. 
-  * String Join Back Color: The back color of the label. Color values are in the format AA,​RR,​GG,​BB. AA = alpha (00..FF), 00 means transparent,​ FF full visible, RR = red (00..FF), GG= green (00..FF) and BB = blue (00..FF). All Color values are two digit hex numbers. 
-  * String Join Border Color: The border color of the label 
-  * Back Color: The back color of the label. Color values are in the format AA,​RR,​GG,​BB. AA = alpha (00..FF), 00 means transparent,​ FF full visible, RR = red (00..FF), GG= green (00..FF) and BB = blue (00..FF). All Color values are two digit hex numbers. 
-  * Border Color: The border color of the label 
-  * Top, Left, Width, Height: Position and size of the button 
-  * Z: The Z-Order of the button. The higher this value, the more on top the widget is displayed if overlapping with other widgets. 
- 
-The Ellipse is often used a background for other widgets to visualize a function group. 
- 
-==== Rectangle ==== 
- 
-{{ ::​rectangel.png |}} 
- 
-  * Name: The name of the widget. Try to use meaningful names, this will help in complex projects to keep the overview. 
-  * Radius: Corner radius. 
-  * String Join Back Color: The back color of the label. Color values are in the format AA,​RR,​GG,​BB. AA = alpha (00..FF), 00 means transparent,​ FF full visible, RR = red (00..FF), GG= green (00..FF) and BB = blue (00..FF). All Color values are two digit hex numbers. 
-  * String Join Border Color: The border color of the label 
-  * Back Color: The back color of the label. Color values are in the format AA,​RR,​GG,​BB. AA = alpha (00..FF), 00 means transparent,​ FF full visible, RR = red (00..FF), GG= green (00..FF) and BB = blue (00..FF). All Color values are two digit hex numbers. 
-  * Border Color: The border color of the label 
-  * Top, Left, Width, Height: Position and size of the button 
-  * Z: The Z-Order of the button. The higher this value, the more on top the widget is displayed if overlapping with other widgets. 
- 
-The Rectangle is often used a background for other widgets to visualize a function group. 
- 
-==== RemoteScreenSender === 
- 
-The RemoteScreenSender is used to send commands and / or information to a V-Control Designer instance. V-Control Designer elements (buttons, sliders, labels etc.) are referenced by join numbers. The RemoteScreenSender can send simple messages and device variables. 
- 
-=== Sending Device Variables === 
- 
-{{ :​remotescreensender1.png |}} 
- 
-To send a device variable, the RemoteScreenSender needs to know which device and which variable. To get a list of all available devices, the //​RefreshDevices//​ command is used. Switch to //Run// mode and press the //Run Cmd// button if the //​RefreshDevices//​ command is selected. Nothing happens for now, but next select the //​RefreshDeviceVars//​ command. The drop down box //​DeviceName//​ now holds a list of all devices in the current project. ​ 
- 
-{{ :​remotescreensender2.png |}} 
- 
-The //​RefreshDevices//​ command has to be executed only once, or if devices were added or deleted from the current project. The list is stored with the project file. 
- 
-Next we need to get the device variables for a selected device. Select the //​RefreshDeviceVars//​ command an select a device. then switch to //Run// mode and push the //Run Cmd// button. 
- 
-{{ :​remotescreensender3.png |}} 
- 
-Again nothing seems to happen. But now select the //​SendDeviceVar//​ command. 
- 
-{{ :​remotescreensender4.png |}} 
- 
-The //​DeviceName//​ parameter is preselected with the device chossen with the //​RefreshDeviceVars//​ command. Now select a device variable in the //​DeviceVar//​ parameter box. 
  
-{{ :remotescreensender5.png |}}+{{ ::buttons.png |}}
  
-Next step is to choose ​to which join number in which format the content ​of the device variable ​is send.+Buttons are used to run Tasks. The look of a button ​is defined by a Style.
  
-{{ :remotescreensender6.png |}}+**Style:** Select a style for the button.
  
-One may wonder why we choose a string join number here. If we want to show the lamp hours of a projector, we usually use a label to show the information. In this case we have a label with the string join number 6 for caption. If we send this as integer, we need widget with an integer join such as slider or progress bar.+**Mode:** There are there modes for a button
  
-=== Sending User Data ===+//Click// is the default behavior of a button. That means if the button is pressed it fires the command and change its color to the pressed values of the style. If the buuton is released it turns back to it's default unpressed style.
  
-Another way to send messages to a V-Control Designer instance is to use the //SendDigital,​ SendInteger// and //​SendString//​ commands.+//Toggle// leaves the button in the pressed state, even if the mouse button is released. Only a second click releases the button.
  
-If used in //Cuelists//the only option is to enter the data direct as command parameter. +//One Time// also leaves ​the button in a pressed state. The difference ​to //Toggle// is that this button will never release unless a //State Join Nb// message with the value 0 is received
-{{:​remotescreensender7.png?​200|}}{{:​remotescreensender8.png?​200|}}{{:​remotescreensender9.png?200|}}+
  
-If used in //Scrips//, we can process ​the data that is send.+**State Join Nb:** This is the Join that receives the state change message. Any number > 0 is valid. A value of 0 means that the Join is not used. A click on the //J// button will find the next free Join Number. A value of 0 will set the button to released, a value of 1 will set it to pressed.
  
-{{ :remotescreensender10.png |}}+**Fire State Changed:** If unchecked, the button will not fire the selected task if the button press event came from a Join, only if the button is pressed by mouse button or touch event (if a touch display is used).
  
-In the example above we want to send the Temperature value of a weather station to a progress bar. But the Temperature comes in a format such as "​20,​5"​. If multiplied by 10, the result is 205, which is an integer value. Imagine we have a progress bar with minimum value -300 and maximum 500, then it can now show Temperatures from -30 to 50°C.+**Caption Join Nb:** A message ​to this Join can change ​the caption ​of the button.
  
-=== Getting ​Join Values === +**Style ​Join Nb:** A message ​to this Join will change ​the style of the button ​to the one that is named in the message.
-Another method ​to update ​the user variables ​of the RemoteScreenReceiver is to send a Get message to V-Control Designer. This is done by the //​GetDigital//,​ //​GetInteger//​ and //​GetString//​ command. If one of these commands ​is sent from the //​RemoteScreenSender//,​ the Designer send a message ​to the //​RemoteScreenReceiver//​ that updates the device variable. If the variable changes, an event is fired. +
-==== RemoteScreenReceiver ====+
  
-{{ :​remotescreenreceiver.png |}}+**Z Order** When widgets overlap, the Z Order determines which is shown at the top and which at the bottom. The higher the Z Order the more top a widget is shown.
  
-The RemoteScreenReceiver does not have any commands. By default, it has the device variables //​D001..D100//,​ //​I001..I100//​ and //​S001..S100//​. The RemoteScreenReceiver ​is only used to generate events on a variable change. +**Task** ​The task that should be fired if the button ​is pressed.
-How to create events is described in the [[events|Events]] chapter. +
-==== System ====+
  
-The //System// device is used to provide Time and Date information.+**Refresh List:** This refreshes the drop down box with the available tasks from V-Control.
  
 +==== Labels ====
  
-{{ :systemdevice.png |}}+**Caption Join Nb:** A message to this Join can change the caption of the button.
  
-It has no commands and does not need a channel, because all the communication ​is internal.+**Style Join Nb:** A message to this Join will change ​the style of the button to the one that is named in the message.
  
 +**Z Order** When widgets overlap, the Z Order determines which is shown at the top and which at the bottom. The higher the Z Order the more top a widget is shown.
  
 ===== V-Control Remote PC ===== ===== V-Control Remote PC =====
Line 431: Line 174:
  
 ==== Powerpoint Control ==== ==== Powerpoint Control ====
-On Windows, V-Control Remote PC has advanced PowerPoint control ​cababilities. If the Computer that is running V-Control Remote PC has Powerpoint installed, then you  can launch Powerpoint Presentations,​ control the presentation with Next / Previous commands or go to a slide by it's slide number. ​+On Windows, V-Control Remote PC has advanced PowerPoint control ​capabilities. If the Computer that is running V-Control Remote PC has Powerpoint installed, then you  can launch Powerpoint Presentations,​ control the presentation with Next / Previous commands or go to a slide by it's slide number. ​
  
-V-Control Remote PC also return the number of slides, the current slide number and the speaker notes. These data can be used to create a GUI for the presenter or show control operator. Use the //​Target// ​textfield ​to enter an IP Address that shoud receive this information.+V-Control Remote PC also return the number of slides, the current slide number and the speaker notes. These data can be used to create a GUI for the presenter or show control operator. Use the //​Target// ​text field to enter an IP Address that should ​receive this information.
  
 ==== Launch Applications ==== ==== Launch Applications ====
v-control_extras.1551347907.txt.gz · Last modified: 2019/02/28 09:58 by admin