Subversion Repositories filter_foundry

Rev

Rev 510 | Rev 512 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 510 Rev 511
Line 252... Line 252...
252
        }
252
        }
253
}
253
}
254
 
254
 
255
/* one-time initialisation of dialog box */
255
/* one-time initialisation of dialog box */
256
 
256
 
-
 
257
void strcpy_win_replace_ampersand(char *dst, char *src) {
-
 
258
        size_t i;
-
 
259
        for (i = 0; i < strlen(src); i++) {
-
 
260
#ifdef WIN_ENV
-
 
261
                // & needs to be replaced to && in:
-
 
262
                // - Labels (SETCTLTEXT)
-
 
263
                // - Menu items (i.e. PIPL)
-
 
264
                // It is not required in:
-
 
265
                // - Filedialog FileName
-
 
266
                // - MessageBox title or content
-
 
267
                // - Window titles
-
 
268
                // - Input boxes, e.g. import+export of an existing filter
-
 
269
                if (src[i] == '&') {
-
 
270
                        *dst++ = src[i];
-
 
271
                }
-
 
272
#endif
-
 
273
                *dst++ = src[i];
-
 
274
        }
-
 
275
        *dst++ = '\0';
-
 
276
}
-
 
277
 
257
void maindlginit(DIALOGREF dp){
278
void maindlginit(DIALOGREF dp){
258
        char s[0x100];
279
        char s[0x100];
259
        int i;
280
        int i;
260
        const char *channelsuffixes[] = {
281
        const char *channelsuffixes[] = {
261
                "", "KA", "I", "RGBA",
282
                "", "KA", "I", "RGBA",
Line 263... Line 284...
263
                "DA", "LabA"
284
                "DA", "LabA"
264
        };
285
        };
265
 
286
 
266
        /* hide unused expression items */
287
        /* hide unused expression items */
267
        if(gdata->standalone){
288
        if(gdata->standalone){
268
                SetDlgItemTextA(dp,PARAMAUTHORITEM,gdata->parm.szAuthor);
289
                strcpy_win_replace_ampersand(&s[0], &gdata->parm.szAuthor[0]);
-
 
290
                SETCTLTEXT(dp,PARAMAUTHORITEM,s);
269
                SetDlgItemTextA(dp,PARAMCOPYITEM,gdata->parm.szCopyright);
291
                strcpy_win_replace_ampersand(&s[0], &gdata->parm.szCopyright[0]);
-
 
292
                SETCTLTEXT(dp,PARAMCOPYITEM,s);
270
 
293
 
271
                // update labels for map() or ctl() sliders
294
                // update labels for map() or ctl() sliders
272
                for(i = 0; i < 8; ++i){
295
                for(i = 0; i < 8; ++i){
273
                        if(gdata->parm.map_used[i/2]){
296
                        if(gdata->parm.map_used[i/2]) {
274
                                if((i&1) == 0){
297
                                if((i&1) == 0){
275
                                        // even (0, 2, 4, 6)
298
                                        // even (0, 2, 4, 6)
276
                                        strcpy(s,gdata->parm.szMap[i/2]);
299
                                        strcpy_win_replace_ampersand(&s[0], &gdata->parm.szMap[i/2][0]);
277
                                        SetDlgItemTextA(dp, FIRSTMAPLABELITEM+(i/2),s);
300
                                        SETCTLTEXT(dp, FIRSTMAPLABELITEM + (i/2),s);
278
                                        HideDialogItem(dp, FIRSTCTLLABELITEM + i);
301
                                        HideDialogItem(dp, FIRSTCTLLABELITEM + i);
279
                                        HideDialogItem(dp, FIRSTCTLLABELITEM + i + 1);
302
                                        HideDialogItem(dp, FIRSTCTLLABELITEM + i + 1);
280
                                }
303
                                }
281
                        } else if(gdata->parm.ctl_used[i]){
304
                        } else if(gdata->parm.ctl_used[i]) {
282
                                strcpy(s,gdata->parm.szCtl[i]);
305
                                strcpy_win_replace_ampersand(&s[0], &gdata->parm.szCtl[i][0]);
283
                                SetDlgItemTextA(dp, FIRSTCTLLABELITEM+i,s);
306
                                SETCTLTEXT(dp, FIRSTCTLLABELITEM+i,s);
284
                                HideDialogItem(dp, FIRSTMAPLABELITEM + i/2);
307
                                HideDialogItem(dp, FIRSTMAPLABELITEM + i/2);
285
                        }else{
308
                        } else {
286
                                HideDialogItem(dp, FIRSTCTLITEM+i);
309
                                HideDialogItem(dp, FIRSTCTLITEM + i);
287
                                HideDialogItem(dp, FIRSTCTLTEXTITEM+i);
310
                                HideDialogItem(dp, FIRSTCTLTEXTITEM + i);
288
                                HideDialogItem(dp, FIRSTCTLLABELITEM + i);
311
                                HideDialogItem(dp, FIRSTCTLLABELITEM + i);
Line 297... Line 320...
297
                        HideDialogItem(dp,FIRSTICONITEM+i);
320
                        HideDialogItem(dp,FIRSTICONITEM+i);
298
                        HideDialogItem(dp,FIRSTEXPRITEM+i);
321
                        HideDialogItem(dp,FIRSTEXPRITEM+i);
299
                        HideDialogItem(dp,FIRSTLABELITEM+i);
322
                        HideDialogItem(dp,FIRSTLABELITEM+i);
300
                }else{
323
                }else{
301
                        s[0] = channelsuffixes[gpb->imageMode][i];
324
                        s[0] = channelsuffixes[gpb->imageMode][i];
302
                        SetDlgItemTextA(dp,FIRSTLABELITEM+i,s);
325
                        SETCTLTEXT(dp,FIRSTLABELITEM+i,s);
303
                }
326
                }
304
        }
327
        }
305
 
328
 
306
        if(setup_preview(gpb,nplanes)){
329
        if(setup_preview(gpb,nplanes)){
307
                // On very large images, processing a fully zoomed out preview (the initial default)
330
                // On very large images, processing a fully zoomed out preview (the initial default)