Commit 10ea36505c4c9033dd9f4f1cc8b074b435c768f8

Authored by Carlos Picanco
1 parent 6e329499
Exists in master

fix empty contingencies on ini file

experiment_designer/form_main.lfm
... ... @@ -650,14 +650,14 @@ object FormDesigner: TFormDesigner
650 650 ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
651 651 ChildSizing.Layout = cclLeftToRightThenTopToBottom
652 652 ChildSizing.ControlsPerLine = 1
653   - ClientHeight = 711
654   - ClientWidth = 658
  653 + ClientHeight = 762
  654 + ClientWidth = 628
655 655 Enabled = False
656 656 object RGContingencyType: TRadioGroup
657 657 Left = 0
658   - Height = 59
  658 + Height = 58
659 659 Top = 10
660   - Width = 658
  660 + Width = 628
661 661 AutoFill = True
662 662 Caption = 'Mostrar'
663 663 ChildSizing.LeftRightSpacing = 6
... ... @@ -667,8 +667,8 @@ object FormDesigner: TFormDesigner
667 667 ChildSizing.ShrinkVertical = crsScaleChilds
668 668 ChildSizing.Layout = cclLeftToRightThenTopToBottom
669 669 ChildSizing.ControlsPerLine = 1
670   - ClientHeight = 39
671   - ClientWidth = 654
  670 + ClientHeight = 38
  671 + ClientWidth = 624
672 672 Items.Strings = (
673 673 'Contingências Operantes'
674 674 'Metacontingências'
... ... @@ -679,8 +679,8 @@ object FormDesigner: TFormDesigner
679 679 object ComboCurrentContingency: TComboBox
680 680 Left = 0
681 681 Height = 23
682   - Top = 74
683   - Width = 658
  682 + Top = 73
  683 + Width = 628
684 684 ItemHeight = 15
685 685 OnChange = ComboCurrentContingencyChange
686 686 Style = csDropDownList
... ... @@ -689,39 +689,39 @@ object FormDesigner: TFormDesigner
689 689 object PanelContingenciesButtons: TPanel
690 690 Left = 0
691 691 Height = 26
692   - Top = 106
693   - Width = 658
  692 + Top = 101
  693 + Width = 628
694 694 ChildSizing.LeftRightSpacing = 25
695 695 ChildSizing.HorizontalSpacing = 50
696 696 ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
697 697 ChildSizing.Layout = cclLeftToRightThenTopToBottom
698 698 ChildSizing.ControlsPerLine = 3
699 699 ClientHeight = 26
700   - ClientWidth = 658
  700 + ClientWidth = 628
701 701 TabOrder = 1
702 702 object BtnAppendContingency: TButton
703 703 Left = 25
704 704 Height = 25
705 705 Top = 0
706   - Width = 168
  706 + Width = 160
707 707 Caption = 'Adicionar'
708 708 OnClick = BtnAppendContingencyClick
709 709 TabOrder = 0
710 710 end
711 711 object BtnRemoveContingency: TButton
712   - Left = 243
  712 + Left = 235
713 713 Height = 25
714 714 Top = 0
715   - Width = 165
  715 + Width = 156
716 716 Caption = 'Remover'
717 717 OnClick = BtnRemoveContingencyClick
718 718 TabOrder = 1
719 719 end
720 720 object BtnReorderContingency: TButton
721   - Left = 458
  721 + Left = 441
722 722 Height = 25
723 723 Top = 0
724   - Width = 175
  724 + Width = 162
725 725 Caption = 'Reordenar'
726 726 OnClick = BtnReorderContingencyClick
727 727 TabOrder = 2
... ... @@ -731,24 +731,24 @@ object FormDesigner: TFormDesigner
731 731 object LabelContingencyName: TLabel
732 732 Left = 0
733 733 Height = 15
734   - Top = 137
735   - Width = 658
  734 + Top = 132
  735 + Width = 628
736 736 Caption = 'Nome da contingência'
737 737 ParentColor = False
738 738 end
739 739 object EditContingencyName: TEdit
740 740 Left = 0
741   - Height = 25
742   - Top = 157
743   - Width = 658
  741 + Height = 23
  742 + Top = 152
  743 + Width = 628
744 744 OnEditingDone = EditContingencyNameEditingDone
745 745 TabOrder = 2
746 746 end
747 747 object RGContingencyStyle: TRadioGroup
748 748 Left = 0
749   - Height = 122
750   - Top = 187
751   - Width = 658
  749 + Height = 115
  750 + Top = 180
  751 + Width = 628
752 752 AutoFill = True
753 753 Caption = 'Estilo da Resposta'
754 754 ChildSizing.LeftRightSpacing = 6
... ... @@ -758,8 +758,8 @@ object FormDesigner: TFormDesigner
758 758 ChildSizing.ShrinkVertical = crsScaleChilds
759 759 ChildSizing.Layout = cclLeftToRightThenTopToBottom
760 760 ChildSizing.ControlsPerLine = 1
761   - ClientHeight = 102
762   - ClientWidth = 654
  761 + ClientHeight = 95
  762 + ClientWidth = 624
763 763 ItemIndex = 0
764 764 Items.Strings = (
765 765 'Extinção'
... ... @@ -775,8 +775,8 @@ object FormDesigner: TFormDesigner
775 775 object LabelIf: TLabel
776 776 Left = 0
777 777 Height = 15
778   - Top = 314
779   - Width = 658
  778 + Top = 300
  779 + Width = 628
780 780 Alignment = taCenter
781 781 Caption = 'SE O PARTICIPANTE ESCOLHER'
782 782 ParentColor = False
... ... @@ -784,9 +784,9 @@ object FormDesigner: TFormDesigner
784 784 end
785 785 object GBContingencyRows: TGroupBox
786 786 Left = 0
787   - Height = 17
788   - Top = 334
789   - Width = 658
  787 + Height = 19
  788 + Top = 320
  789 + Width = 628
790 790 Caption = 'Linhas'
791 791 ChildSizing.LeftRightSpacing = 5
792 792 ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
... ... @@ -798,8 +798,8 @@ object FormDesigner: TFormDesigner
798 798 object LabelOperator: TLabel
799 799 Left = 0
800 800 Height = 15
801   - Top = 356
802   - Width = 658
  801 + Top = 344
  802 + Width = 628
803 803 Alignment = taCenter
804 804 Caption = 'E'
805 805 ParentColor = False
... ... @@ -807,9 +807,9 @@ object FormDesigner: TFormDesigner
807 807 end
808 808 object GBContingencyColors: TGroupBox
809 809 Left = 0
810   - Height = 17
811   - Top = 376
812   - Width = 658
  810 + Height = 19
  811 + Top = 364
  812 + Width = 628
813 813 Caption = 'Cores'
814 814 ChildSizing.HorizontalSpacing = 5
815 815 ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
... ... @@ -821,8 +821,8 @@ object FormDesigner: TFormDesigner
821 821 object LabelThen: TLabel
822 822 Left = 0
823 823 Height = 15
824   - Top = 398
825   - Width = 658
  824 + Top = 388
  825 + Width = 628
826 826 Alignment = taCenter
827 827 Caption = 'ENTÃO'
828 828 ParentColor = False
... ... @@ -830,47 +830,47 @@ object FormDesigner: TFormDesigner
830 830 end
831 831 object GBContingencyConsequence: TGroupBox
832 832 Left = 0
833   - Height = 364
834   - Top = 418
835   - Width = 658
  833 + Height = 344
  834 + Top = 408
  835 + Width = 628
836 836 Caption = 'Consequência'
837 837 ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
838 838 ChildSizing.Layout = cclLeftToRightThenTopToBottom
839 839 ChildSizing.ControlsPerLine = 2
840   - ClientHeight = 344
841   - ClientWidth = 654
  840 + ClientHeight = 324
  841 + ClientWidth = 624
842 842 TabOrder = 6
843 843 Visible = False
844 844 object LabelCsq1: TLabel
845 845 Left = 0
846 846 Height = 15
847 847 Top = 0
848   - Width = 420
  848 + Width = 394
849 849 Caption = 'Pontos'
850 850 ParentColor = False
851 851 end
852 852 object LabelCsq2: TLabel
853   - Left = 420
  853 + Left = 394
854 854 Height = 15
855 855 Top = 0
856   - Width = 234
  856 + Width = 230
857 857 Caption = 'do Tipo'
858 858 ParentColor = False
859 859 end
860 860 object SpinEditContingencyPoints: TSpinEdit
861 861 Left = 0
862   - Height = 27
  862 + Height = 23
863 863 Top = 15
864   - Width = 420
  864 + Width = 394
865 865 MaxValue = 0
866 866 OnEditingDone = ConsequenceStyleChange
867 867 TabOrder = 0
868 868 end
869 869 object CBPointsType: TComboBox
870   - Left = 420
  870 + Left = 394
871 871 Height = 23
872 872 Top = 15
873   - Width = 234
  873 + Width = 230
874 874 ItemHeight = 15
875 875 OnChange = ConsequenceStyleChange
876 876 Style = csDropDownList
... ... @@ -878,9 +878,9 @@ object FormDesigner: TFormDesigner
878 878 end
879 879 object RGBroadcastMessage: TRadioGroup
880 880 Left = 0
881   - Height = 80
882   - Top = 42
883   - Width = 420
  881 + Height = 77
  882 + Top = 38
  883 + Width = 394
884 884 AutoFill = True
885 885 Caption = 'Apresentar mensagem de notificação'
886 886 ChildSizing.LeftRightSpacing = 6
... ... @@ -890,8 +890,8 @@ object FormDesigner: TFormDesigner
890 890 ChildSizing.ShrinkVertical = crsScaleChilds
891 891 ChildSizing.Layout = cclLeftToRightThenTopToBottom
892 892 ChildSizing.ControlsPerLine = 1
893   - ClientHeight = 60
894   - ClientWidth = 416
  893 + ClientHeight = 57
  894 + ClientWidth = 390
895 895 ItemIndex = 0
896 896 Items.Strings = (
897 897 'a todos os participantes'
... ... @@ -902,11 +902,11 @@ object FormDesigner: TFormDesigner
902 902 TabOrder = 9
903 903 end
904 904 object CheckBoxImutableMessage: TCheckBox
905   - Left = 420
906   - Height = 80
  905 + Left = 394
  906 + Height = 77
907 907 Hint = 'Marque se deseja uma mensagem fixa; o programa não atualizará o texto da mensagem caso o valor da pontuação mude ao longo do experimento.'
908   - Top = 42
909   - Width = 234
  908 + Top = 38
  909 + Width = 230
910 910 AutoSize = False
911 911 Caption = 'imutável'
912 912 OnChange = CheckBoxImutableMessageChange
... ... @@ -914,136 +914,136 @@ object FormDesigner: TFormDesigner
914 914 end
915 915 object LabelCsq3: TLabel
916 916 Left = 0
917   - Height = 25
918   - Top = 122
919   - Width = 420
  917 + Height = 23
  918 + Top = 115
  919 + Width = 394
920 920 Caption = 'Texto no início da mensagem'
921 921 ParentColor = False
922 922 end
923 923 object EditMessPrefix: TEdit
924   - Left = 420
925   - Height = 25
926   - Top = 122
927   - Width = 234
  924 + Left = 394
  925 + Height = 23
  926 + Top = 115
  927 + Width = 230
928 928 OnEditingDone = EditMessDone
929 929 TabOrder = 2
930 930 Text = '$NICNAME'
931 931 end
932 932 object LabelCsq4: TLabel
933 933 Left = 0
934   - Height = 25
935   - Top = 147
936   - Width = 420
  934 + Height = 23
  935 + Top = 138
  936 + Width = 394
937 937 Caption = 'Prefixo ao perder pontos'
938 938 ParentColor = False
939 939 end
940 940 object EditMessPrefixLoss: TEdit
941   - Left = 420
942   - Height = 25
943   - Top = 147
944   - Width = 234
  941 + Left = 394
  942 + Height = 23
  943 + Top = 138
  944 + Width = 230
945 945 OnEditingDone = EditMessDone
946 946 TabOrder = 3
947 947 Text = 'perdeu'
948 948 end
949 949 object LabelCsq5: TLabel
950 950 Left = 0
951   - Height = 25
952   - Top = 172
953   - Width = 420
  951 + Height = 23
  952 + Top = 161
  953 + Width = 394
954 954 Caption = 'Sufixo ao perder pontos (Singular)'
955 955 ParentColor = False
956 956 end
957 957 object EditMessSufixLossSingular: TEdit
958   - Left = 420
959   - Height = 25
960   - Top = 172
961   - Width = 234
  958 + Left = 394
  959 + Height = 23
  960 + Top = 161
  961 + Width = 230
962 962 OnEditingDone = EditMessDone
963 963 TabOrder = 4
964 964 Text = 'ponto.'
965 965 end
966 966 object LabelCsq6: TLabel
967 967 Left = 0
968   - Height = 25
969   - Top = 197
970   - Width = 420
  968 + Height = 23
  969 + Top = 184
  970 + Width = 394
971 971 Caption = 'Sufixo ao perder pontos (Plural)'
972 972 ParentColor = False
973 973 end
974 974 object EditMessSufixLossPlural: TEdit
975   - Left = 420
976   - Height = 25
977   - Top = 197
978   - Width = 234
  975 + Left = 394
  976 + Height = 23
  977 + Top = 184
  978 + Width = 230
979 979 OnEditingDone = EditMessDone
980 980 TabOrder = 5
981 981 Text = 'pontos.'
982 982 end
983 983 object LabelCsq7: TLabel
984 984 Left = 0
985   - Height = 25
986   - Top = 222
987   - Width = 420
  985 + Height = 23
  986 + Top = 207
  987 + Width = 394
988 988 Caption = 'Prefixo ao ganhar pontos'
989 989 ParentColor = False
990 990 end
991 991 object EditMessPrefixEarn: TEdit
992   - Left = 420
993   - Height = 25
994   - Top = 222
995   - Width = 234
  992 + Left = 394
  993 + Height = 23
  994 + Top = 207
  995 + Width = 230
996 996 OnEditingDone = EditMessDone
997 997 TabOrder = 6
998 998 Text = 'ganhou'
999 999 end
1000 1000 object LabelCsq8: TLabel
1001 1001 Left = 0
1002   - Height = 25
1003   - Top = 247
1004   - Width = 420
  1002 + Height = 23
  1003 + Top = 230
  1004 + Width = 394
1005 1005 Caption = 'Sufixo ao ganhar pontos (Singular)'
1006 1006 ParentColor = False
1007 1007 end
1008 1008 object EditMessSufixEarnSingular: TEdit
1009   - Left = 420
1010   - Height = 25
1011   - Top = 247
1012   - Width = 234
  1009 + Left = 394
  1010 + Height = 23
  1011 + Top = 230
  1012 + Width = 230
1013 1013 OnEditingDone = EditMessDone
1014 1014 TabOrder = 7
1015 1015 Text = 'ponto.'
1016 1016 end
1017 1017 object LabelCsq9: TLabel
1018 1018 Left = 0
1019   - Height = 25
1020   - Top = 272
1021   - Width = 420
  1019 + Height = 23
  1020 + Top = 253
  1021 + Width = 394
1022 1022 Caption = 'Sufixo ao ganhar pontos (Plural)'
1023 1023 ParentColor = False
1024 1024 end
1025 1025 object EditMessSufixEarnPlural: TEdit
1026   - Left = 420
1027   - Height = 25
1028   - Top = 272
1029   - Width = 234
  1026 + Left = 394
  1027 + Height = 23
  1028 + Top = 253
  1029 + Width = 230
1030 1030 OnEditingDone = EditMessDone
1031 1031 TabOrder = 8
1032 1032 Text = 'pontos.'
1033 1033 end
1034 1034 object LabelCsq10: TLabel
1035 1035 Left = 0
1036   - Height = 25
1037   - Top = 297
1038   - Width = 420
  1036 + Height = 23
  1037 + Top = 276
  1038 + Width = 394
1039 1039 Caption = 'Sufixo 0 pontos'
1040 1040 ParentColor = False
1041 1041 end
1042 1042 object EditMessSufixZero: TEdit
1043   - Left = 420
1044   - Height = 25
1045   - Top = 297
1046   - Width = 234
  1043 + Left = 394
  1044 + Height = 23
  1045 + Top = 276
  1046 + Width = 230
1047 1047 OnEditingDone = EditMessDone
1048 1048 TabOrder = 11
1049 1049 Text = 'não ganhou nem perdeu pontos.'
... ... @@ -1051,8 +1051,8 @@ object FormDesigner: TFormDesigner
1051 1051 object ButtonPreviewMessage: TButton
1052 1052 Left = 0
1053 1053 Height = 25
1054   - Top = 322
1055   - Width = 420
  1054 + Top = 299
  1055 + Width = 394
1056 1056 Caption = 'Ver como a mensagem pode ser apresentada'
1057 1057 OnClick = ButtonPreviewMessageClick
1058 1058 TabOrder = 12
... ...
experiment_designer/form_main.pas
... ... @@ -1038,28 +1038,29 @@ end;
1038 1038  
1039 1039 procedure TFormDesigner.SaveContingency(ASection, AContingency: string);
1040 1040 begin
1041   - with FExperiment do
1042   - begin
1043   - WriteString(ASection, AContingency + KEY_CONT_NAME, EditContingencyName.Text);
1044   - WriteString(ASection, AContingency + KEY_CRITERIA, GetContingencyCriteria);
1045   - WriteString(ASection, AContingency + KEY_CONSEQUE, GetConsequenceStyle);
1046   - WriteString(ASection, AContingency + KEY_CONSEQUE_MESSAGE_PREPEND, EditMessPrefix.Text);
1047   -
1048   - if EditMessPrefixLoss.Text <> '' then
1049   - WriteString(ASection, AContingency + KEY_CONSEQUE_MESSAGE_PREPEND_LOSS,EditMessPrefixLoss.Text);
1050   - if EditMessSufixLossSingular.Text <> '' then
1051   - WriteString(ASection, AContingency + KEY_CONSEQUE_MESSAGE_APPEND_LOSS_S,EditMessSufixLossSingular.Text);
1052   - if EditMessSufixLossPlural.Text <> '' then
1053   - WriteString(ASection, AContingency + KEY_CONSEQUE_MESSAGE_APPEND_LOSS_P,EditMessSufixLossPlural.Text);
1054   - if EditMessPrefixEarn.Text <> '' then
1055   - WriteString(ASection, AContingency + KEY_CONSEQUE_MESSAGE_PREPEND_EARN,EditMessPrefixEarn.Text);
1056   - if EditMessSufixEarnSingular.Text <> '' then
1057   - WriteString(ASection, AContingency + KEY_CONSEQUE_MESSAGE_APPEND_EARN_S,EditMessSufixEarnSingular.Text);
1058   - if EditMessSufixEarnPlural.Text <> '' then
1059   - WriteString(ASection, AContingency + KEY_CONSEQUE_MESSAGE_APPEND_EARN_P,EditMessSufixEarnPlural.Text);
1060   - if EditMessSufixZero.Text <> '' then
1061   - WriteString(ASection, AContingency + KEY_CONSEQUE_MESSAGE_APPEND_ZERO, EditMessSufixZero.Text);
1062   - end;
  1041 + if ASection <> '' then
  1042 + with FExperiment do
  1043 + begin
  1044 + WriteString(ASection, AContingency + KEY_CONT_NAME, EditContingencyName.Text);
  1045 + WriteString(ASection, AContingency + KEY_CRITERIA, GetContingencyCriteria);
  1046 + WriteString(ASection, AContingency + KEY_CONSEQUE, GetConsequenceStyle);
  1047 + WriteString(ASection, AContingency + KEY_CONSEQUE_MESSAGE_PREPEND, EditMessPrefix.Text);
  1048 +
  1049 + if EditMessPrefixLoss.Text <> '' then
  1050 + WriteString(ASection, AContingency + KEY_CONSEQUE_MESSAGE_PREPEND_LOSS,EditMessPrefixLoss.Text);
  1051 + if EditMessSufixLossSingular.Text <> '' then
  1052 + WriteString(ASection, AContingency + KEY_CONSEQUE_MESSAGE_APPEND_LOSS_S,EditMessSufixLossSingular.Text);
  1053 + if EditMessSufixLossPlural.Text <> '' then
  1054 + WriteString(ASection, AContingency + KEY_CONSEQUE_MESSAGE_APPEND_LOSS_P,EditMessSufixLossPlural.Text);
  1055 + if EditMessPrefixEarn.Text <> '' then
  1056 + WriteString(ASection, AContingency + KEY_CONSEQUE_MESSAGE_PREPEND_EARN,EditMessPrefixEarn.Text);
  1057 + if EditMessSufixEarnSingular.Text <> '' then
  1058 + WriteString(ASection, AContingency + KEY_CONSEQUE_MESSAGE_APPEND_EARN_S,EditMessSufixEarnSingular.Text);
  1059 + if EditMessSufixEarnPlural.Text <> '' then
  1060 + WriteString(ASection, AContingency + KEY_CONSEQUE_MESSAGE_APPEND_EARN_P,EditMessSufixEarnPlural.Text);
  1061 + if EditMessSufixZero.Text <> '' then
  1062 + WriteString(ASection, AContingency + KEY_CONSEQUE_MESSAGE_APPEND_ZERO, EditMessSufixZero.Text);
  1063 + end;
1063 1064 end;
1064 1065  
1065 1066 procedure TFormDesigner.EraseContingency(ASection, AContingency: string);
... ...