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() ) ); *] }