Example: Theme Renderer
Overview When a robot skill is added to an ARC workspace by a user, the control form UI will be manipulated to provide a standard look and feel. Research has demonstrated the benefits of providing users with an unified graphical experience that promotes creativity within EZ-Builder. This is done by relieving cognitive load of the user by giving them less to think about during their robot programming sessions.
Some Theme Examples Users configure theme colors for their ARC instance on a per user basis. This configuration is stored in the current logged-in user's registry. The color theme can be customized in the top ARC menu Options -> Preferences -> Window Theme.
When Is A Control Form Themed? The theme engine is called against forms when they're added to the project automatically by the ARC workspace manager. This is the same manager that allows changing desktops, smart arranging windows, loading configurations, etc.. As far as when the theme renderer is called in code, it's after the form's constructor and before the OnLoad() event.
YourPlugin.Constructor()
|
V
Theme Renderer
|
V
YourPlugin.OnLoad()
Skip Themeing of Controls There's two ways to have a control skip the theme process. This means the specified controls, and respective child controls will be skipped when the theme is applied.
- ThemeRenderer - The FormPluginMaster is the base form that your plugin must inherit. Within this FormPluginMaster is a ThemeRenderer object. You can access the ThemeRenderer.ControlsToSkipTheming in the plugin form's constructor following InitializeComponent() For example, if you had a btnSave that wished to not be themed...
public MyPlugin() {
// Define and initialize components on plugin form
InitializeComponent();
// Skip the following components from the theme renderer on form
ThemeRenderer.ControlsToSkipTheming.Add(btnSave);
}
- Tag: SkipTheme - In the properties of a control on your plugin form, you can specify SkipTheme as the Tag value. This will instruct the ThemeRenderer to skip the control and all child controls.
Thanks for the quick response.
This what happens when you are working on robotics when its way past your bed time.
You miss the obvious
No problem - i get it

Sorry but can I ask you something why I didn't see the ARC library when I added visual studio even though I set up the C ++. DLL library and there's another way to execute it and send / receive console in out but I don't know how to do it with EZ_builder?Please follow the tutorial. It’s impossible to know why you’re plug-in isn’t showing up without asking you if you followed each step of the tutorial
. Reviewing your screenshots, it doesn’t appear as if any of the tutorial steps have been followed.
Hi i fixed it. thanks
Hello, I am trying the tutorial to get the robot to speak. I am using Visual studio. Currently, the sound is output from the pc instead of the robot. Is there a code I can attach so that the sound comes from the robot speakers instead of the pc?
Look in this tutorial for the step labeled "output audio from ezb". It’s lower down in the list. There’s instruction examples for either playing audio (ie mp3) or text to speech.
Error: the referenced component" EZ_builder,EZ_B" could not be found, DJ Sure i hope you can help me !

Joinny, you have to add the referencing by following the instructions in this tutorial. They are outlined with step by step to easily follow. Click add references, and browse to the appropriate files as directed in the tutorial. I can’t write anything clearer in response. The step to add references is incredibly clear but you’re skipping it.