cgbeige
03-31-2011, 04:36 PM
I need to figure out a way to get checkboxes not to stop my script from loading if the attributes they connect to don't exist yet. I'm guessing this is done with eval but how does that get factored into the checkbox code?:
menu -label "RT" -tearOff false;
menuItem
-label "Displacement"
-postMenuCommand "getAttr vraySettings.rt_displacement"
-ann "Toggle Displacement for RT"
-c "setAttr vraySettings.rt_displacement (!(`getAttr vraySettings.rt_displacement`))"
-checkBox (`getAttr vraySettings.rt_displacement`);
menuItem
-label "Subdivision"
-postMenuCommand "getAttr vraySettings.rt_subdivision"
-ann "Toggle Subdivision Rendering for RT"
-c "setAttr vraySettings.rt_subdivision (!(`getAttr vraySettings.rt_subdivision`))"
-checkBox (`getAttr vraySettings.rt_subdivision`);
menuItem
-label "Proxies"
-postMenuCommand "getAttr vraySettings.rt_vrayProxyObjects"
-ann "Toggle Proxy Rendering for RT"
-c "setAttr vraySettings.rt_vrayProxyObjects (!(`getAttr vraySettings.rt_vrayProxyObjects`))"
-checkBox (`getAttr vraySettings.rt_vrayProxyObjects`);
menuItem -sm true
-postMenuCommand "getAttr vraySettings.rt_engineType"
-label "RT Mode";
menuItem -label "GPU"
-c "setAttr vraySettings.rt_engineType (!(`getAttr vraySettings.rt_engineType`))"
-checkBox (`getAttr vraySettings.rt_engineType`);
menu -label "RT" -tearOff false;
menuItem
-label "Displacement"
-postMenuCommand "getAttr vraySettings.rt_displacement"
-ann "Toggle Displacement for RT"
-c "setAttr vraySettings.rt_displacement (!(`getAttr vraySettings.rt_displacement`))"
-checkBox (`getAttr vraySettings.rt_displacement`);
menuItem
-label "Subdivision"
-postMenuCommand "getAttr vraySettings.rt_subdivision"
-ann "Toggle Subdivision Rendering for RT"
-c "setAttr vraySettings.rt_subdivision (!(`getAttr vraySettings.rt_subdivision`))"
-checkBox (`getAttr vraySettings.rt_subdivision`);
menuItem
-label "Proxies"
-postMenuCommand "getAttr vraySettings.rt_vrayProxyObjects"
-ann "Toggle Proxy Rendering for RT"
-c "setAttr vraySettings.rt_vrayProxyObjects (!(`getAttr vraySettings.rt_vrayProxyObjects`))"
-checkBox (`getAttr vraySettings.rt_vrayProxyObjects`);
menuItem -sm true
-postMenuCommand "getAttr vraySettings.rt_engineType"
-label "RT Mode";
menuItem -label "GPU"
-c "setAttr vraySettings.rt_engineType (!(`getAttr vraySettings.rt_engineType`))"
-checkBox (`getAttr vraySettings.rt_engineType`);
