MCPcopy Create free account
hub / github.com/NatronGitHub/Natron / refreshEnabledKnobsLabel

Method refreshEnabledKnobsLabel

Engine/Node.cpp:5215–5275  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5213}
5214
5215void
5216Node::refreshEnabledKnobsLabel(const ImagePlaneDesc& comp)
5217{
5218 const std::vector<std::string>& channels = comp.getChannels();
5219 if (!_imp->enabledChan[0].lock()) {
5220 return;
5221 }
5222 switch ( channels.size() ) {
5223 case 1: {
5224 for (int i = 0; i < 3; ++i) {
5225 KnobBoolPtr enabled = _imp->enabledChan[i].lock();
5226 enabled->setSecret(true);
5227 }
5228 KnobBoolPtr alpha = _imp->enabledChan[3].lock();
5229 alpha->setSecret(false);
5230 alpha->setLabel(channels[0]);
5231 break;
5232 }
5233 case 2: {
5234 for (int i = 2; i < 4; ++i) {
5235 KnobBoolPtr enabled = _imp->enabledChan[i].lock();
5236 enabled->setSecret(true);
5237 }
5238 for (int i = 0; i < 2; ++i) {
5239 KnobBoolPtr enabled = _imp->enabledChan[i].lock();
5240 enabled->setSecret(false);
5241 enabled->setLabel(channels[i]);
5242 }
5243 break;
5244 }
5245 case 3: {
5246 for (int i = 3; i < 4; ++i) {
5247 KnobBoolPtr enabled = _imp->enabledChan[i].lock();
5248 enabled->setSecret(true);
5249 }
5250 for (int i = 0; i < 3; ++i) {
5251 KnobBoolPtr enabled = _imp->enabledChan[i].lock();
5252 enabled->setSecret(false);
5253 enabled->setLabel(channels[i]);
5254 }
5255 break;
5256 }
5257 case 4: {
5258 for (int i = 0; i < 4; ++i) {
5259 KnobBoolPtr enabled = _imp->enabledChan[i].lock();
5260 enabled->setSecret(false);
5261 enabled->setLabel(channels[i]);
5262 }
5263 break;
5264 }
5265
5266 case 0:
5267 default: {
5268 for (int i = 0; i < 4; ++i) {
5269 KnobBoolPtr enabled = _imp->enabledChan[i].lock();
5270 enabled->setSecret(true);
5271 }
5272 break;

Callers 2

onLayerChangedMethod · 0.80

Calls 5

getChannelsMethod · 0.45
lockMethod · 0.45
sizeMethod · 0.45
setSecretMethod · 0.45
setLabelMethod · 0.45

Tested by

no test coverage detected