source: trunk/dll/objwin.c@ 551

Last change on this file since 551 was 551, checked in by Gregg Young, 18 years ago

Indentation cleanup

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.2 KB
Line 
1
2/***********************************************************************
3
4 $Id: objwin.c 551 2007-02-28 01:33:51Z gyoung $
5
6 Object windows
7
8 Copyright (c) 1993-98 M. Kimes
9 Copyright (c) 2006 Steven H.Levine
10
11 26 Jul 06 SHL Check more run time errors
12 02 Nov 06 SHL Comments
13
14***********************************************************************/
15
16#define INCL_DOS
17#define INCL_WIN
18#define INCL_GPI
19#include <os2.h>
20
21#include <stdarg.h>
22#include <stdio.h>
23#include <stdlib.h>
24#include <string.h>
25#include <ctype.h>
26#include <stddef.h>
27
28#include "fm3dll.h"
29#include "fm3dlg.h"
30#include "fm3str.h"
31
32static PSZ pszSrcFile = __FILE__;
33
34#pragma alloc_text(OBJWIN,ObjectWndProc,MakeObjWin)
35
36MRESULT EXPENTRY ObjectWndProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2)
37{
38 DIRCNRDATA *dcd;
39
40 dcd = WinQueryWindowPtr(hwnd, QWL_USER);
41 if (dcd) {
42 switch (dcd->type) {
43 case DIR_FRAME:
44 return DirObjWndProc(hwnd, msg, mp1, mp2);
45 case TREE_FRAME:
46 return TreeObjWndProc(hwnd, msg, mp1, mp2);
47 case COLLECTOR_FRAME:
48 return CollectorObjWndProc(hwnd, msg, mp1, mp2);
49 case ARC_FRAME:
50 return ArcObjWndProc(hwnd, msg, mp1, mp2);
51 }
52 }
53 return WinDefWindowProc(hwnd, msg, mp1, mp2);
54}
55
56VOID MakeObjWin(VOID * args)
57{
58 HWND ObjectHwnd;
59 HAB hab2;
60 HMQ hmq2;
61 QMSG qmsg2;
62
63 hab2 = WinInitialize(0);
64 if (hab2) {
65 hmq2 = WinCreateMsgQueue(hab2, 512);
66 if (hmq2) {
67 DosError(FERR_DISABLEHARDERR);
68 WinRegisterClass(hab2,
69 GetPString(IDS_WCOBJECTWINDOW),
70 ObjectWndProc, 0, sizeof(PVOID));
71 ObjectHwnd = WinCreateWindow(HWND_OBJECT,
72 GetPString(IDS_WCOBJECTWINDOW),
73 (PSZ) NULL,
74 0,
75 0L,
76 0L,
77 0L,
78 0L, 0L, HWND_TOP, OBJ_FRAME, NULL, NULL);
79 if (!ObjectHwnd)
80 Win_Error2(HWND_OBJECT, HWND_DESKTOP, pszSrcFile, __LINE__,
81 IDS_WINCREATEWINDOW);
82 else {
83 WinSetWindowPtr(ObjectHwnd, QWL_USER, args);
84 /* initially populate container */
85 WinSendMsg(ObjectHwnd, UM_SETUP, MPVOID, MPVOID);
86 PostMsg(ObjectHwnd, UM_RESCAN, MPVOID, MPVOID);
87 priority_normal();
88 while (WinGetMsg(hab2, &qmsg2, (HWND) 0, 0, 0))
89 WinDispatchMsg(hab2, &qmsg2);
90 WinDestroyWindow(ObjectHwnd);
91 }
92 WinDestroyMsgQueue(hmq2);
93 }
94 WinTerminate(hab2);
95 }
96}
Note: See TracBrowser for help on using the repository browser.