| Quintiq file version 2.0 | 
| #parent: #root | 
| Method UpdateCheckboxState () id:Method_DialogCreateEditCampaignType_UpdateCheckboxState | 
| { | 
|   #keys: '[143600.0.1238445040]' | 
|   Body: | 
|   [* | 
|     // Update checkbox state based on the default quantity, default min quantity and default max quantity | 
|      | 
|     data := DataHolderDialogData.Data(); | 
|     ischeckedmaxqty := EditFieldDefaultMaxQty.ActionLinkText() = Translations::MP_WebDesigner_Disable(); | 
|     ischeckedmaxdur := ifexpr( isnull( data.WrappedInstance() ), data.HasInputMaxDuration(), data.WrappedInstance().HasInputMaxDuration() ); | 
|      | 
|     // Determine whether campaign type is in duration or quantity | 
|     quantitybased := RadioButtonGroupQuantityDuration.BoundValue().TrimBoth() = GlobalParameters_MP::GetCampaignTransitionsTypeQuantity(); | 
|     durationbased := RadioButtonGroupQuantityDuration.BoundValue().TrimBoth() = GlobalParameters_MP::GetCampaignTransitionsTypeDuration(); | 
|      | 
|     // Show/hide durations | 
|     PanelMinimumDuration.Visible( durationbased ); | 
|     PanelMaximumDuration.Visible( durationbased ); | 
|      | 
|     // Show/hide quantity | 
|     PanelMinimumQuantity.Visible( quantitybased ); | 
|     PanelMaximumQuantity.Visible( quantitybased ); | 
|      | 
|     // Enable/disable | 
|     isMaxQty := quantitybased and ischeckedmaxqty; | 
|     isMaxDur := durationbased and ischeckedmaxdur; | 
|      | 
|     EditFieldDefaultMaxQty.Enabled( quantitybased and ischeckedmaxqty, "Max quantity is not selected" ); | 
|     DurationSelectorMaxDuration.Enabled( durationbased and ischeckedmaxdur, "Max duration is not selected" ); | 
|      | 
|     // Reset fields values when not applicable | 
|     EditFieldDefaultMinQty.Text( ApplicationMacroPlanner.FormatRealToString( ifexpr( quantitybased, data.DefaultMinQuantity(), 0 ) ) ); | 
|     EditFieldDefaultMaxQty.Text( ApplicationMacroPlanner.FormatRealToString( ifexpr( isMaxQty, data.DefaultMaxQuantity(), 0 ) ) ); | 
|     DurationSelectorMinDuration.Duration( ifexpr( durationbased, data.DefaultMinDuration(), Duration::Zero() ) ); | 
|     DurationSelectorMaxDuration.Duration( ifexpr( isMaxDur, data.DefaultMaxDuration(), Duration::Zero() ) ); | 
|   *] | 
| } |