Rev 106 | Rev 145 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 106 | Rev 130 | ||
---|---|---|---|
Line 20... | Line 20... | ||
20 | /* This is PLATFORM INDEPENDENT user interface code - mainly dialog logic */ |
20 | /* This is PLATFORM INDEPENDENT user interface code - mainly dialog logic */ |
21 | 21 | ||
22 | #include "ff.h" |
22 | #include "ff.h" |
23 | 23 | ||
24 | int ctls[8],maps[4]; |
24 | int ctls[8],maps[4]; |
- | 25 | int checksliders_result; |
|
25 | 26 | ||
26 | /* one-time initialisation of dialog box */ |
27 | /* one-time initialisation of dialog box */ |
27 | 28 | ||
28 | void builddlginit(DIALOGREF dp){ |
29 | void builddlginit(DIALOGREF dp){ |
29 | int i; |
30 | int i; |
Line 57... | Line 58... | ||
57 | s[4] = '0'+i; |
58 | s[4] = '0'+i; |
58 | SetDlgItemText(dp,FIRSTCTLNAMEITEM+i,s); |
59 | SetDlgItemText(dp,FIRSTCTLNAMEITEM+i,s); |
59 | } |
60 | } |
60 | } |
61 | } |
61 | 62 | ||
62 | if(!checksliders(4,ctls,maps)){ |
63 | checksliders_result = checksliders(4,ctls,maps); |
63 | for(i = 4; i--;){ |
64 | for(i = 4; i--;){ |
64 | DISABLEDLGITEM(dp,FIRSTMAPCHECKITEM+i); |
65 | DISABLEDLGITEM(dp,FIRSTMAPCHECKITEM+i); |
65 | if(maps[i]) |
66 | if(maps[i] || (checksliders_result & CHECKSLIDERS_MAP_AMBIGUOUS)) |
66 | CHECKDLGBUTTON(dp,FIRSTMAPCHECKITEM+i,true); |
67 | CHECKDLGBUTTON(dp,FIRSTMAPCHECKITEM+i,true); |
67 | else |
68 | else |
68 | HideDialogItem(dp,FIRSTMAPNAMEITEM+i); |
69 | HideDialogItem(dp,FIRSTMAPNAMEITEM+i); |
69 | } |
70 | } |
70 | for(i = 8; i--;){ |
71 | for(i = 8; i--;){ |
71 | DISABLEDLGITEM(dp,FIRSTCTLCHECKITEM+i); |
72 | DISABLEDLGITEM(dp,FIRSTCTLCHECKITEM+i); |
- | 73 | if((ctls[i] || (checksliders_result & CHECKSLIDERS_CTL_AMBIGUOUS)) && |
|
- | 74 | // When map() is activated, we don't need ctl labels, |
|
- | 75 | // since the standalone filter will only show map labels |
|
72 | if(ctls[i]) |
76 | !maps[i/2] && |
- | 77 | (!(checksliders_result & CHECKSLIDERS_MAP_AMBIGUOUS)) |
|
- | 78 | ) |
|
73 | CHECKDLGBUTTON(dp,FIRSTCTLCHECKITEM+i,true); |
79 | CHECKDLGBUTTON(dp,FIRSTCTLCHECKITEM+i,true); |
74 | else |
80 | else |
75 | HideDialogItem(dp,FIRSTCTLNAMEITEM+i); |
81 | HideDialogItem(dp,FIRSTCTLNAMEITEM+i); |
76 | } |
82 | } |
77 | } |
- | |
78 | 83 | ||
79 | SELECTDLGITEMTEXT(dp,TITLEITEM,0,-1); |
84 | SELECTDLGITEMTEXT(dp,TITLEITEM,0,-1); |
80 | } |
85 | } |
81 | 86 | ||
82 | 87 | ||
Line 94... | Line 99... | ||
94 | GetDlgItemText(dp,TITLEITEM,s,MAXFIELD); myc2pstrcpy(gdata->parm.title,s); |
99 | GetDlgItemText(dp,TITLEITEM,s,MAXFIELD); myc2pstrcpy(gdata->parm.title,s); |
95 | GetDlgItemText(dp,COPYRIGHTITEM,s,MAXFIELD); myc2pstrcpy(gdata->parm.copyright,s); |
100 | GetDlgItemText(dp,COPYRIGHTITEM,s,MAXFIELD); myc2pstrcpy(gdata->parm.copyright,s); |
96 | GetDlgItemText(dp,AUTHORITEM,s,MAXFIELD); myc2pstrcpy(gdata->parm.author,s); |
101 | GetDlgItemText(dp,AUTHORITEM,s,MAXFIELD); myc2pstrcpy(gdata->parm.author,s); |
97 | gdata->parm.cbSize = PARM_SIZE; |
102 | gdata->parm.cbSize = PARM_SIZE; |
98 | gdata->parm.nVersion = 1; //0=original FF, 1=standalone filter |
103 | gdata->parm.nVersion = 1; //0=original FF, 1=standalone filter |
- | 104 | needui = 0; |
|
99 | for(i = needui = 0; i < 8; ++i){ |
105 | for(i = 0; i < 8; ++i){ |
100 | gdata->parm.val[i] = slider[i]; |
106 | gdata->parm.val[i] = slider[i]; |
- | 107 | gdata->parm.ctl_used[i] = ctls[i] || (checksliders_result & CHECKSLIDERS_CTL_AMBIGUOUS); |
|
101 | needui |= (gdata->parm.ctl_used[i] = ctls[i]); |
108 | needui |= gdata->parm.ctl_used[i]; |
102 | GetDlgItemText(dp,FIRSTCTLNAMEITEM+i,s,MAXFIELD); myc2pstrcpy(gdata->parm.ctl[i],s); |
109 | GetDlgItemText(dp,FIRSTCTLNAMEITEM+i,s,MAXFIELD); myc2pstrcpy(gdata->parm.ctl[i],s); |
103 | } |
110 | } |
104 | for(i = 0; i < 4; ++i){ |
111 | for(i = 0; i < 4; ++i){ |
- | 112 | gdata->parm.map_used[i] = maps[i] || (checksliders_result & CHECKSLIDERS_MAP_AMBIGUOUS); |
|
105 | gdata->parm.map_used[i] = maps[i]; |
113 | needui |= gdata->parm.map_used[i]; |
106 | GetDlgItemText(dp,FIRSTMAPNAMEITEM+i,s,MAXFIELD); myc2pstrcpy(gdata->parm.map[i],s); |
114 | GetDlgItemText(dp,FIRSTMAPNAMEITEM+i,s,MAXFIELD); myc2pstrcpy(gdata->parm.map[i],s); |
107 | strcpy(gdata->parm.formula[i],expr[i] ? expr[i] : "bug! see builddlgitem"); |
115 | strcpy(gdata->parm.formula[i],expr[i] ? expr[i] : "bug! see builddlgitem"); |
108 | } |
116 | } |
109 | gdata->parm.popDialog = needui; //true if need to pop a parameter dialog |
117 | gdata->parm.popDialog = needui; //true if need to pop a parameter dialog |
110 | gdata->parm.unknown1 = gdata->parm.unknown2 = gdata->parm.unknown3 = 0; |
118 | gdata->parm.unknown1 = gdata->parm.unknown2 = gdata->parm.unknown3 = 0; |