Make an ARC Skill

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.

User-inserted image

User-inserted image

User-inserted image

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.

  1. 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);
}

  1. 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.

    User-inserted image


ARC Pro

Upgrade to ARC Pro

ARC Pro will give you immediate updates and new features needed to unleash your robot's potential!

#9  

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

PRO
Synthiam
#10  

No problem - i get it:D

#11  

User-inserted image

User-inserted image

User-inserted image

User-inserted image

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?

PRO
Synthiam
#12   — Edited

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.

#13   — Edited

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?

PRO
Synthiam
#14   — Edited

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.

#15  

Error: the referenced component" EZ_builder,EZ_B" could not be found, DJ Sure i hope you can help me !

PRO
Synthiam
#16   — Edited

User-inserted image

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.