yanyuan
2023-11-10 143ef74e2eeee697ac8fda3d9032a790fbb4e146
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
Quintiq file version 2.0
#parent: #root
Method DisablePattern (
  String feedback_i
) id:Method_LibCal_dlgEvent_DisablePattern
{
  #keys: '[131094.0.1371933942]'
  Body:
  [*
    // Disable the controls of the recurrence pattern.
    // The individual controls are disabled in order to be able to give feedback on the controls themselves instead of
    // on the panel, and in order to be able to also change the colors of the lines.
    
    // Toggle-buttons, if applicable
    isInitiator := this.Data().Calendar() = dhLeadingParticipation.Data().Calendar();
    if( not isInitiator )
    {
      btnNoRecurrence.DisableWithUserFeedback( feedback_i );
      btnWeekly      .DisableWithUserFeedback( feedback_i );
      btnMonthly     .DisableWithUserFeedback( feedback_i );
      btnYearly      .DisableWithUserFeedback( feedback_i );
    }
    
    // Separator
    lblRecurrencePattern.TextColor( Color::Gray() );
    lblHorizontalLine2  .TextColor( Color::LightGray() );
    
    // Daily
    if( btnDaily.Pressed() )
    {
      ckbEvery       .DisableWithUserFeedback( feedback_i );
      ckbEveryWeekday.DisableWithUserFeedback( feedback_i );
    
      edtEveryNrOfDays.TextColor( Color::LightGray() );  // Does not work.
      edtEveryNrOfDays.DisableWithUserFeedback( feedback_i );
      lblDays         .TextColor( Color::Gray() );
    }
    
    // Weekly
    else if( btnWeekly.Pressed() )
    {
      lblRecurWeekly   .TextColor( Color::Gray() );    
      edtEveryNrOfWeeks.TextColor( Color::LightGray() );  // Does not work.
      edtEveryNrOfWeeks.DisableWithUserFeedback( feedback_i );
      lblWeeks         .TextColor( Color::Gray() );
    
      lblOn       .TextColor( Color::Gray() );
      btnMonday   .DisableWithUserFeedback( feedback_i );
      btnTuesday  .DisableWithUserFeedback( feedback_i );
      btnWednesday.DisableWithUserFeedback( feedback_i );
      btnThursday .DisableWithUserFeedback( feedback_i );
      btnFriday   .DisableWithUserFeedback( feedback_i );
      btnSaturday .DisableWithUserFeedback( feedback_i );
      btnSunday   .DisableWithUserFeedback( feedback_i );
    }
    
    // Monthly
    else if( btnMonthly.Pressed() )
    { 
      // Specific day
      ckbMonthlyDay               .DisableWithUserFeedback( feedback_i );
      edtMonthlyDay               .TextColor( Color::LightGray() );  // Does not work.
      edtMonthlyDay               .DisableWithUserFeedback( feedback_i );
      lblMonthlyDayOfEvery        .TextColor( Color::Gray() );
      edtMonthlyDayEveryNrOfMonths.TextColor( Color::LightGray() );  // Does not work.
      edtMonthlyDayEveryNrOfMonths.DisableWithUserFeedback( feedback_i );
      lblMonthlyDayMonths         .TextColor( Color::Gray() );
    
      // Pattern
      ckbMonthlyPattern               .DisableWithUserFeedback( feedback_i );
      ssMonthlyPatternWeekOfMonth     .DisableWithUserFeedback( feedback_i );
      ssMonthlyPatternWeekOfMonth     .TextColor( Color::Gray() );
      ssMonthlyPatternDayOfWeek       .DisableWithUserFeedback( feedback_i );
      ssMonthlyPatternDayOfWeek       .TextColor( Color::Gray() );
      lblMonthlyPatternOfEvery        .TextColor( Color::Gray() );
      edtMonthlyPatternEveryNrOfMonths.TextColor( Color::LightGray() );  // Does not work.
      edtMonthlyPatternEveryNrOfMonths.DisableWithUserFeedback( feedback_i );
      lblMonthlyPatternMonths         .TextColor( Color::Gray() );  
    }
    
    // Yearly
    else if( btnYearly.Pressed() )
    {
      lblRecurYearly   .TextColor( Color::Gray() );    
      edtEveryNrOfYears.TextColor( Color::LightGray() );  // Does not work.
      edtEveryNrOfYears.DisableWithUserFeedback( feedback_i );
      lblYears         .TextColor( Color::Gray() );
      
      // Specific date
      ckbYearlyDay     .DisableWithUserFeedback( feedback_i ); 
      ssYearlyMonth     .DisableWithUserFeedback( feedback_i );
      ssYearlyMonth     .TextColor( Color::Gray() );
      ssYearlyDayOfMonth.DisableWithUserFeedback( feedback_i );
      ssYearlyDayOfMonth.TextColor( Color::Gray() );
      
      // Pattern
      ckbYearlyPattern          .DisableWithUserFeedback( feedback_i );
      ssYearlyPatternWeekOfMonth.DisableWithUserFeedback( feedback_i );
      ssYearlyPatternWeekOfMonth.TextColor( Color::Gray() );
      ssYearlyPatternDayOfWeek  .DisableWithUserFeedback( feedback_i );
      ssYearlyPatternDayOfWeek  .TextColor( Color::Gray() );
      lblYearlyPatternOf        .TextColor( Color::Gray() );
      ssYearlyPatternMonth      .DisableWithUserFeedback( feedback_i );
      ssYearlyPatternMonth      .TextColor( Color::Gray() );
    }
  *]
}