Subversion Repositories filter_foundry

Rev

Rev 503 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
259 daniel-mar 1
/*
2
    This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
536 daniel-mar 3
    Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.net
503 daniel-mar 4
    Copyright (C) 2018-2022 Daniel Marschall, ViaThinkSoft
259 daniel-mar 5
 
6
    This program is free software; you can redistribute it and/or modify
7
    it under the terms of the GNU General Public License as published by
8
    the Free Software Foundation; either version 2 of the License, or
9
    (at your option) any later version.
10
 
11
    This program is distributed in the hope that it will be useful,
12
    but WITHOUT ANY WARRANTY; without even the implied warranty of
13
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
    GNU General Public License for more details.
15
 
16
    You should have received a copy of the GNU General Public License
17
    along with this program; if not, write to the Free Software
18
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19
*/
20
 
21
/* Win32 user interface routines */
22
 
23
#include "world.h"
24
 
25
#include "PIAbout.h"
26
 
27
#include <windows.h>
28
#include <commctrl.h>
29
 
30
#include "ff.h"
31
#include "version.h"
32
 
33
extern HINSTANCE hDllInstance;
34
 
35
INT_PTR CALLBACK builddlgproc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
36
 
37
INT_PTR CALLBACK builddlgproc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam){
38
        int item;
39
 
433 daniel-mar 40
        UNREFERENCED_PARAMETER(lParam);
41
 
259 daniel-mar 42
        switch(wMsg){
43
        case WM_INITDIALOG:
44
                centre_window(hDlg);
45
                builddlginit(hDlg);
46
                break;
47
        case WM_COMMAND:
48
                item = LOWORD(wParam);
49
                switch(HIWORD(wParam)){
50
                case BN_CLICKED:
51
                        if(!builddlgitem(hDlg,item))
52
                                EndDialog(hDlg,item);
53
                        break;
54
                }
55
                break;
56
        default:
57
                return false;
58
        }
59
 
60
        return true;
61
}
62
 
63
Boolean builddialog(FilterRecordPtr pb){
412 daniel-mar 64
        INT_PTR res;
259 daniel-mar 65
        PlatformData *p = (PlatformData *)pb->platformData;
412 daniel-mar 66
 
67
        res = DialogBoxParam(hDllInstance,MAKEINTRESOURCE(ID_BUILDDLG),
68
                             gdata->hWndMainDlg ? gdata->hWndMainDlg : (HWND)p->hwnd,builddlgproc,0);
69
        if (res == 0) {
492 daniel-mar 70
                simplealert((TCHAR*)TEXT("DialogBoxParam invalid parent window handle")); // TODO (Not so important): TRANSLATE
412 daniel-mar 71
        }
72
        if (res == -1) {
444 daniel-mar 73
                TCHAR s[0x300];
492 daniel-mar 74
                xstrcpy(s, (TCHAR*)TEXT("DialogBoxParam failed: ")); // TODO (Not so important): TRANSLATE
454 daniel-mar 75
                FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(), 0, s + xstrlen(s), 0x300 - (DWORD)xstrlen(s), NULL);
482 daniel-mar 76
                simplealert(&s[0]);
412 daniel-mar 77
        }
78
 
79
        return res == IDOK;
259 daniel-mar 80
}