Article # 312, added by Geoworks, historical record
| first | previous | index | next | last |

What MSG_GEN_ITEM_GROUP_SET_MODIFIED_STATE actually does.



Q. I would like clarification on what MSG_GEN_ITEM_GROUP_SET_MODIFIED_STATE
   actually does. My impression is that setting this to TRUE would
   cause the GIGI_applyMsg to get sent out the NEXT time the group
   gets an apply message. Is this true?  Does this cause the STATUS
   message (if any set) to go out as well (I believe not).

A. Here's how I've used it when it applies to a GenValue, but the
   same should apply to GenItem, GenBoolean and the rest.

Say you have an object...

@object GenValueClass SampleValue = {
    GVLI_destination = process;
    GVLI_applyMsg = MSG_SAMPLE_VALUE_APPLY;
    /* setup as needed */
} 

...and you want the program to change it's value....

/* Set to 'not indeterminate' meaning the value is good and ready to use
 * indeterminate = TRUE - value not ready to use, not displayed
 * indeterminate = FALSE - value ready to use and is diaplayed */

@call SampleValue::MSG_GEN_VALUE_SET_VALUE(newSampleValue, FALSE);

/* But the apply mechanism has not been notified that the value has
 * been changed. */

/* Set the modified state so the apply mechanism knows the value has
 * been updated. Basically this enables-TRUE (or disables-FALSE) the
 * apply trigger. */

@call SampleValue::MSG_GEN_VALUE_SET_MODIFIED_STATE(TRUE);

/* Now if we want to send the apply as if it was triggered...
 * This means if the apply trigger is not enabled (MODIFIED_STATE=FALSE)
 * then no applyMsg is sent. In this case, this will cause the process
 * to recieve a MSG_SAMPLE_VALUE_APPLY. */

@call SampleValue::MSG_GEN_APPLY();

I haven't used any status messages, so I don't know if they would be
sent on a MSG_GEN_APPLY. But my understanding is that a MSG_GEN_APPLY
is the same as clicking on the Apply trigger.