Added posix library to make files
[pwlib.git] / tools / pwtest / main.h
blob9e57679a946f2e3398c5af93dda48143a4b4a88c
1 /*
2 * main.h
4 * PWLib application header file for pwtest
6 * Copyright 98 Equivalence
8 * $Log$
9 * Revision 1.15 2001/12/06 04:06:03 robertj
10 * Removed "Win32 SSL xxx" build configurations in favour of system
11 * environment variables to select optional libraries.
13 * Revision 1.14 2001/11/08 00:31:27 robertj
14 * Reinstated URL test code and added "parameter" string dictionary display.
16 * Revision 1.13 2001/05/10 02:43:23 robertj
17 * Added SSL test code.
19 * Revision 1.12 2000/11/12 23:32:36 craigs
20 * Added conditionals
22 * Revision 1.11 2000/11/09 05:50:23 robertj
23 * Added RFC822 aware channel class for doing internet mail.
25 * Revision 1.10 2000/08/30 03:17:00 robertj
26 * Improved multithreaded reliability of the timers under stress.
28 * Revision 1.9 2000/07/15 09:47:35 robertj
29 * Added video I/O device classes.
31 * Revision 1.8 1999/09/10 04:35:43 robertj
32 * Added Windows version of PIPSocket::GetInterfaceTable() function.
34 * Revision 1.7 1999/08/07 07:11:14 robertj
35 * Added test for menu text change
37 * Revision 1.6 1999/07/03 03:12:59 robertj
38 * #ifdef'ed test code for stuff not in general distrubution.
40 * Revision 1.5 1999/06/24 14:00:09 robertj
41 * Added URL parse test
43 * Revision 1.4 1999/02/22 10:15:16 robertj
44 * Sound driver interface implementation to Linux OSS specification.
46 * Revision 1.3 1999/01/31 00:59:27 robertj
47 * Added IP Access Control List class to PTLib Components
49 * Revision 1.2 1998/12/23 01:15:58 robertj
50 * New directory structure
54 #ifndef _Pwtest_MAIN_H
55 #define _Pwtest_MAIN_H
57 #include <pwclib/toolbars.h>
60 #if ! defined(P_MOTIF) && ! defined(P_LESSTIF) && ! defined(P_QT)
61 #define TOPWINDOW_CLASS PMDIFrameWindow
62 #else
63 #define TOPWINDOW_CLASS PTopLevelWindow
64 #endif
66 class MainMenu;
68 class MainWindow : public TOPWINDOW_CLASS
70 PCLASSINFO(MainWindow, TOPWINDOW_CLASS)
72 public:
73 MainWindow(PArgList & args);
75 PDECLARE_NOTIFIER(PMenuItem, MainWindow, NewCmd);
76 PDECLARE_NOTIFIER(PMenuItem, MainWindow, OpenCmd);
77 PDECLARE_NOTIFIER(PMenuItem, MainWindow, CloseCmd);
78 PDECLARE_NOTIFIER(PMenuItem, MainWindow, SaveCmd);
79 PDECLARE_NOTIFIER(PMenuItem, MainWindow, SaveAsCmd);
80 PDECLARE_NOTIFIER(PMenuItem, MainWindow, PrintCmd);
81 PDECLARE_NOTIFIER(PMenuItem, MainWindow, PrinterSetupCmd);
82 PDECLARE_NOTIFIER(PMenuItem, MainWindow, ExitCmd);
84 PDECLARE_COMMAND_ENABLE("Copy", MainWindow, CopyCmd, CanCopy);
85 PDECLARE_COMMAND_ENABLE("Copy", MainWindow, PasteCmd, CanPaste);
87 PDECLARE_COMMAND("MenuTest", MainWindow, TestCmd);
88 PDECLARE_COMMAND("IP_ACL", MainWindow, IP_ACL_Cmd);
89 PDECLARE_NOTIFIER(PMenuItem, MainWindow, ListInterfacesCmd);
90 #if P_SSL
91 PDECLARE_COMMAND("TestSSL", MainWindow, TestSSLCmd);
92 #endif
93 PDECLARE_COMMAND("ParseURL", MainWindow, ParseURLCmd);
94 PDECLARE_COMMAND("MailTest", MainWindow, MailTestCmd);
95 PDECLARE_COMMAND("PlaySound", MainWindow, PlaySoundCmd);
96 PDECLARE_COMMAND("RecordSound", MainWindow, RecordSoundCmd);
97 PDECLARE_COMMAND("VideoCapture", MainWindow, VideoCaptureCmd);
98 PDECLARE_COMMAND("TimerStress", MainWindow, TimerStressCmd);
99 PDECLARE_NOTIFIER(PTimer, MainWindow, StressTimeout);
101 protected:
102 virtual void OnRedraw(PCanvas & canvas);
103 virtual void OnResize(const PDim &, ResizeType);
104 virtual void OnClose();
106 private:
107 MainMenu * myMenu;
108 PButtonBar * buttonBar;
109 PStatusBar * statusBar;
110 PPrintInfo printInfo;
111 PTextFile TimerStressReport;
115 class Pwtest : public PApplication
117 PCLASSINFO(Pwtest, PApplication)
119 public:
120 Pwtest();
121 void Main();
125 #endif // _Pwtest_MAIN_H
128 // End of File ///////////////////////////////////////////////////////////////