Perspective Radio button size

Is it possible to increase the size of the perspective check boxes or radio buttons? My interface will be mainly on a touch screen tablet and I’ve already received feed back that check boxes can be hard to click because they are too small.

Or, can individual radio button areas be formatted (size or color)? I thought if I gave the radio button area some gradient shading, like a button, people would know they could click on the text of the radio button too.

Something like this…
radio

I’m just looking for options to make radio buttons (and check boxes) more touch friendly. Thanks

1 Like

I did find this thread. My users have been complaining about radio and checkbox size on touchscreen devices.

Just wondering if there are any additional thoughts on this...

@dkylep

This is now possible in our nightly builds. The component theming implementation adds more styling capability to the Radio Group and Checkbox components. They’re now based on SVG icons instead of system OS defaults.

Add width/height style props to each of the states to accomplish this. For example, on the “Big 'ol checkbox” above I used:
11%20AM

7 Likes

This is GREAT NEWS!!
Thank you

1 Like

Is there a way to change the spacing between rows of radio buttons? Like when your window pushes some buttons to the next row and there is a large space between rows?

Outside of manipulating the theme files or creating a custom theme to do so, I don’t see a straightforward way to do this in the product today. I’ll add a feature-request ticket internally for this level of control @jcaudle.

1 Like

Hello Ray,

Where are we standing on that feature request ticket ?
This feature would be much appreciated.

Have a good day

Hi Pascal, that ticket has yet to be prioritized. I’ve added your additional request to the issue so we can track that and hopefully get it into an active dev sprint soon.

Thanks Ray,
How would I go about doing this by manipulating theme files or creating a custom theme ? Any resources you could point me to by any chance ?

Sure thing. First, check out my resource on the Ignition Exchange. While not specific to your use case, the installation instructions will give you a good idea of how theming works and what’s all involved in the process of overriding our built-in themes to create your custom theme.

For more information, see the markdown README file located in the Gateway’s installation directory: %installDirectory%\data\modules\com.inductiveautomation.perspective\themes\README.md

You’d need to identify and override the ia. CSS class names which control the radio group’s vertical spacing. Keep in mind that this is a fairly advanced endeavor and custom themes are not officially supported by IA.

1 Like

Thanks a lot Ray, I’ll give it a shot.

Hi @ray , just wondering if the width/height style props is applicable for the perspective table column?
With render=boolean, boolean=checkbox, i have tried setting the style to width:80px, height:80px, but i dont see any change in the size of the checkbox…

It looks as though you’d need a custom theme to target and override the size of checkboxes within the table component more specifically.

Hello,
I created a new custom theme with custom padding on .ia_radioGroupComponent_radioWrapper and when inspecting the page, it shows that this css is called but it is overloaded by PerspectiveComponent css.
I don’t quite understand how the css is layered in ignition.
Could you help me please.

1 Like

Depending on how a component was authored, you may run into the “default” styles overriding your own in a custom theme like this. This is helpful overview of how CSS works in Perspective: Understanding CSS, Selectors, and Specificity in Ignition Perspective - YouTube.

Could you post screenshots or code snippets to demonstrate the specific code and styles that are being overridden?

Hi,
So, i created a custom theme called custom_theme where in the file common/radio.css I put this piece of code :

.ia_radioGroupComponent_radioWrapper{
	padding:0px;
}

and here is what I obtain :
css_overwrite

I solved this problem using the !important css option but it is not a clean solution.