summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcvs2hg <devnull@localhost>2006-09-26 17:20:41 +0000
committercvs2hg <devnull@localhost>2006-09-26 17:20:41 +0000
commitb5d7a5f26ed5e6efa7fbff23eb68ef51cb63a29f (patch)
tree803c0001cfb60a8bc7888851a4ab828ef696ebc8
parent7e8ea3afa856c5ae867b73dae95f0a4aecf97c9b (diff)
downloadnspr-hg-b5d7a5f26ed5e6efa7fbff23eb68ef51cb63a29f.tar.gz
fixup commit for tag 'SUNBIRD_0_3_1_RC1'SUNBIRD_0_3_1_RC1
-rw-r--r--lib/tests/windows/makefile84
-rw-r--r--lib/tests/windows/readme.1st37
-rw-r--r--lib/tests/windows/winevent.c348
-rw-r--r--pr/tests/w16gui/.cvsignore1
-rw-r--r--pr/tests/w16gui/Makefile.in99
-rw-r--r--pr/tests/w16gui/popfile.c167
-rw-r--r--pr/tests/w16gui/popfind.c149
-rw-r--r--pr/tests/w16gui/popfont.c94
-rw-r--r--pr/tests/w16gui/poppad.c672
-rw-r--r--pr/tests/w16gui/poppad.h66
-rw-r--r--pr/tests/w16gui/poppad.icobin326 -> 0 bytes
-rw-r--r--pr/tests/w16gui/poppad.rc121
-rw-r--r--pr/tests/w16gui/popprnt0.c49
-rw-r--r--pr/tests/w16gui/readme.1st37
14 files changed, 0 insertions, 1924 deletions
diff --git a/lib/tests/windows/makefile b/lib/tests/windows/makefile
deleted file mode 100644
index 32b9e30a..00000000
--- a/lib/tests/windows/makefile
+++ /dev/null
@@ -1,84 +0,0 @@
-#
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Netscape Portable Runtime (NSPR).
-#
-# The Initial Developer of the Original Code is
-# Netscape Communications Corporation.
-# Portions created by the Initial Developer are Copyright (C) 1998-2000
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-#! gmake
-
-
-
-MOD_DEPTH = ../../..
-
-include $(MOD_DEPTH)/config/config.mk
-
-INCLUDES = -I$(DIST)/include
-
-CSRCS = winevent.c
-
-ifeq ($(OS_ARCH), WINNT)
-ifeq ($(OS_TARGET), WIN16)
- LIBPR = $(DIST)/lib/nspr$(MOD_VERSION).lib
- LIBPLC= $(DIST)/lib/plc$(MOD_VERSION).lib
- LIBPLDS= $(DIST)/lib/plds$(MOD_VERSION).lib
-else
- LDOPTS = -NOLOGO -DEBUG -INCREMENTAL:NO
- ifeq ($(OS_TARGET), WIN95)
- LIBPR = $(DIST)/lib/nspr$(MOD_VERSION).$(LIB_SUFFIX)
- LIBPLC= $(DIST)/lib/plc$(MOD_VERSION).$(LIB_SUFFIX)
- LIBPLDS= $(DIST)/lib/plds$(MOD_VERSION).lib
- else
- LIBPR = $(DIST)/lib/libnspr$(MOD_VERSION).$(LIB_SUFFIX)
- LIBPLC= $(DIST)/lib/libplc$(MOD_VERSION).$(LIB_SUFFIX)
- LIBPLDS= $(DIST)/lib/libplds$(MOD_VERSION).lib
- endif
-endif
-endif
-
-TARGETS = $(OBJDIR)/winevent.exe
-OS_CFLAGS = $(OS_EXE_CFLAGS)
-LDOPTS = -NOLOGO -DEBUG -INCREMENTAL:NO
-LDFLAGS += -DEBUG
-LIBPR += $(LIBPLDS)
-LIBPR += kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
-
-include $(MOD_DEPTH)/config/rules.mk
-
-$(OBJDIR)/winevent.exe: $(OBJS)
- link $(LDOPTS) $< $(LIBPLC) $(LIBPR) wsock32.lib -out:$@
-
-export:: $(TARGETS)
-
-clean::
- rm -rf $(TARGETS)
diff --git a/lib/tests/windows/readme.1st b/lib/tests/windows/readme.1st
deleted file mode 100644
index 2b756823..00000000
--- a/lib/tests/windows/readme.1st
+++ /dev/null
@@ -1,37 +0,0 @@
-readme.1st.
-
-The files in the lib/tests/WinGUI directory are taken
-from "Programming Windows 3.1" by Charles Petzold,
-specifically, the programs in chapter 14 related
-to the "poppad4" sample application.
-
-These programs are compiled with nspr20 to test nspr 2.0
-and to demostrate the use of nspr in a gui application.
-
-Library (DLL) PLDSxx.lib PLDSxx.dll is required to be
-linked with this test case. Functions in this dll are
-in the source ns/nspr20/lib/ds/plevent.* files.
-
-Permission to use.
-
-The source for poppad.c are used under license from
-Petzold. The license to use is stated in the book.
-The following paragraph of the license grants that
-use.
-
- 5. SAMPLE CODE. If the SOFTWARE includes Sample Code, then
- Microsoft grants you a royalty-free right to reproduce and
- distribute the sample code of the SOFTWARE provided that you:
- (a) distribute the sample code only in conjunction with and
- as part of your software product; (b) do not use Microsoft's
- or its authors' names, logos, or trademarks to market your
- software product; (c) include the copyright notice that appears
- on the SOFTWARE on your product label and as a part of the
- sign-on message for your software product; and (d) agree to
- idemnify, hold harmless, and defend Microsoft and its authors
- from and against any claims or lawsuits, including attorneys'
- fees, that arise or result from the use or distribution of
- your software product.
-
-lth. 9/24/97.
-
diff --git a/lib/tests/windows/winevent.c b/lib/tests/windows/winevent.c
deleted file mode 100644
index d571aed7..00000000
--- a/lib/tests/windows/winevent.c
+++ /dev/null
@@ -1,348 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape Portable Runtime (NSPR).
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/*
-** File: winevent.c
-** Description: Test functions in plevent.c using Windows
-**
-** The winevent test exercises the PLEvent library in a maner
-** similar to how the Mozilla (or NGLayout) Client will use
-** it in a Windows environment.
-**
-** This test is based on ideas taken from Charles Petzold's
-** book "Programming Windows 3.1". License to use is in the
-** book. It has been ported to Win32.
-**
-** Operation:
-** The initialization is a standard Windows GUI application
-** setup. When the main window receives its WM_CREATE
-** message, a child window is created, a edit control is
-** instantiated in that window.
-**
-** A thread is created; this thread runs in the function:
-** TimerThread(). The new thread sends a message every second
-** via the PL_PostEvent() function. The event handler
-** HandlePadEvent() sends a windows message to the edit
-** control window; these messages are WM_CHAR messages that
-** cause the edit control to place a single '.' character in
-** the edit control.
-**
-** After a deterministic number of '.' characters, the
-** TimerThread() function is notified via a global variable
-** that it's quitting time.
-**
-** TimerThread() callse TestEvents(), an external function
-** that tests additional function of PLEvent.
-**
-*/
-
-#include "nspr.h"
-#include "plevent.h"
-
-#include <windows.h>
-#include <commdlg.h>
-
-#define ID_EDIT 1
-
-/*
-** Declarations for NSPR customization
-**
-*/
-typedef struct PadEvent
-{
- PLEvent plEvent;
- int unused;
-} PadEvent;
-
-static void PR_CALLBACK TimerThread( void *arg);
-static void PR_CALLBACK HandlePadEvent( PadEvent *padEvent );
-static void PR_CALLBACK DestroyPadEvent( PadEvent *padevent );
-
-static PRThread *tThread;
-static PLEventQueue *padQueue;
-static long ThreadSleepTime = 1000; /* in milli-seconds */
-static long timerCount = 0;
-static HWND hDlgModeless ;
-static HWND hwndEdit ;
-static PRBool testFinished = PR_FALSE;
-static HWND hwnd ;
-
-LRESULT CALLBACK WinProc (HWND, UINT, WPARAM, LPARAM);
-
-TCHAR appName[] = TEXT ("WinEvent") ;
-
-int WINAPI WinMain(
- HINSTANCE hInstance,
- HINSTANCE hPrevInstance,
- PSTR szCmdLine,
- int iCmdShow
- )
-{
- MSG msg ;
- WNDCLASS wndclass ;
- HANDLE hAccel ;
-
- PR_Init(0, 0, 0);
-
- wndclass.style = CS_HREDRAW | CS_VREDRAW;
- wndclass.lpfnWndProc = WinProc;
- wndclass.cbClsExtra = 0;
- wndclass.cbWndExtra = 0;
- wndclass.hInstance = hInstance;
- wndclass.hIcon = LoadIcon( NULL, IDI_APPLICATION );
- wndclass.hCursor = LoadCursor( NULL, IDC_ARROW );
- wndclass.hbrBackground = (HBRUSH)GetStockObject( WHITE_BRUSH );
- wndclass.lpszMenuName = NULL;
- wndclass.lpszClassName = appName;
-
- if ( !RegisterClass( &wndclass ))
- {
- MessageBox( NULL,
- TEXT( "This program needs Win32" ),
- appName,
- MB_ICONERROR );
- return 0;
- }
-
- hwnd = CreateWindow( appName,
- appName,
- WS_OVERLAPPEDWINDOW,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- NULL,
- NULL,
- hInstance,
- NULL);
-
- ShowWindow( hwnd, iCmdShow );
- UpdateWindow( hwnd );
-
- for(;;)
- {
- if ( PeekMessage( &msg, NULL, 0, 0, PM_NOREMOVE ))
- {
- if ( GetMessage( &msg, NULL, 0, 0 ))
- {
- if ( hDlgModeless == NULL || !IsDialogMessage( hDlgModeless, &msg ))
- {
- if ( !TranslateAccelerator( hwnd, hAccel, &msg ))
- {
- TranslateMessage( &msg );
- DispatchMessage( &msg );
- } /* end if !TranslateAccelerator */
- }
- }
- else
- {
- break;
- } /* end if GetMessage() */
- }
- else /* !PeekMessage */
- {
- PR_Sleep(50);
- }/* end if PeekMessage() */
- } /* end for() */
-
- PR_JoinThread( tThread );
- PL_DestroyEventQueue( padQueue );
- PR_Cleanup();
- return msg.wParam ;
-}
-
-LRESULT CALLBACK WinProc(
- HWND hwnd,
- UINT message,
- WPARAM wParam,
- LPARAM lParam
-)
-{
- switch (message)
- {
- case WM_CREATE :
- hwndEdit = CreateWindow(
- TEXT( "edit" ),
- NULL,
- WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL |
- WS_BORDER | ES_LEFT | ES_MULTILINE |
- ES_AUTOHSCROLL | ES_AUTOVSCROLL,
- 0, 0, 0, 0,
- hwnd,
- (HMENU)ID_EDIT,
- ((LPCREATESTRUCT)lParam)->hInstance,
- NULL);
-
- /* Initialize Event Processing for NSPR
- ** Retrieve the event queue just created
- ** Create the TimerThread
- */
-
-/*
- PL_InitializeEventsLib( "someName" );
- padQueue = PL_GetMainEventQueue();
-*/
- padQueue = PL_CreateEventQueue("MainQueue", PR_GetCurrentThread());
- PR_ASSERT( padQueue != NULL );
- tThread = PR_CreateThread( PR_USER_THREAD,
- TimerThread,
- NULL,
- PR_PRIORITY_NORMAL,
- PR_LOCAL_THREAD,
- PR_JOINABLE_THREAD,
- 0 );
- return 0 ;
-
- case WM_SETFOCUS :
- SetFocus( hwndEdit );
- return 0;
-
- case WM_SIZE :
- MoveWindow( hwndEdit, 0, 0, LOWORD(lParam), HIWORD(lParam), TRUE );
- return 0 ;
-
- case WM_COMMAND :
- if ( LOWORD(wParam) == ID_EDIT )
- if ( HIWORD(wParam ) == EN_ERRSPACE ||
- HIWORD( wParam ) == EN_MAXTEXT )
-
- MessageBox( hwnd, TEXT( "Edit control out of space." ),
- appName, MB_OK | MB_ICONSTOP );
- return 0;
-
- case WM_DESTROY :
- PostQuitMessage(0);
- return 0;
- }
- return DefWindowProc( hwnd, message, wParam, lParam );
-}
-
-
-
-/*
-** TimerThread() -- The Main function of the timer pop thread
-**
-*/
-static void PR_CALLBACK TimerThread( void *arg )
-{
- PRIntn rc;
-
- do {
- PadEvent *ev;
-
- /*
- ** Create and Post the event the event
- */
- PL_ENTER_EVENT_QUEUE_MONITOR( padQueue );
- ev = (PadEvent *) PR_NEW( PadEvent );
- PL_InitEvent( &ev->plEvent, NULL,
- (PLHandleEventProc)HandlePadEvent,
- (PLDestroyEventProc)DestroyPadEvent );
- PL_PostEvent( padQueue, &ev->plEvent );
- PL_EXIT_EVENT_QUEUE_MONITOR( padQueue );
-
- PR_Sleep( PR_MillisecondsToInterval(ThreadSleepTime) );
- } while( testFinished == PR_FALSE );
-
- PR_Sleep( PR_SecondsToInterval(4) );
-
- /*
- ** All done now. This thread can kill the main thread by sending
- ** WM_DESTROY message to the main window.
- */
- SendMessage( hwnd, WM_DESTROY, 0, 0 );
- return;
-}
-
-static char *startMessage = "Poppad: NSPR Windows GUI and event test program.\n"
- "Every 1 second gets a '.'.\n"
- "The test self terminates in less than a minute\n"
- "You should be able to type in the window.\n\n";
-
-static char *stopMessage = "\n\nIf you saw a series of dots being emitted in the window\n"
- " at one second intervals, the test worked.\n\n";
-
-/*
-** HandlePadEvent() -- gets called because of PostEvent
-*/
-static void PR_CALLBACK HandlePadEvent( PadEvent *padEvent )
-{
- char *cp;
- static const long lineLimit = 10; /* limit on number of '.' per line */
- static const long timerLimit = 25; /* limit on timer pop iterations */
-
- if ( timerCount++ == 0 )
- {
-
- for ( cp = startMessage; *cp != 0 ; cp++ )
- {
- SendMessage( hwndEdit, WM_CHAR, *cp, 1 );
- }
- }
- /*
- ** Send a WM_CHAR event the edit Window
- */
- SendMessage( hwndEdit, WM_CHAR, '.', 1 );
-
- /*
- ** Limit the number of characters sent via timer pop to lineLimit
- */
- if ( (timerCount % lineLimit) == 0)
- {
- SendMessage( hwndEdit, WM_CHAR, '\n', 1 );
- }
-
- if ( timerCount >= timerLimit )
- {
- for ( cp = stopMessage; *cp != 0 ; cp++ )
- {
- SendMessage( hwndEdit, WM_CHAR, *cp, 1 );
- }
- testFinished = PR_TRUE;
- }
-
- return;
-}
-
-/*
-** DestroyPadEvent() -- Called after HandlePadEvent()
-*/
-static void PR_CALLBACK DestroyPadEvent( PadEvent *padevent )
-{
- PR_Free( padevent );
- return;
-}
diff --git a/pr/tests/w16gui/.cvsignore b/pr/tests/w16gui/.cvsignore
deleted file mode 100644
index f3c7a7c5..00000000
--- a/pr/tests/w16gui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-Makefile
diff --git a/pr/tests/w16gui/Makefile.in b/pr/tests/w16gui/Makefile.in
deleted file mode 100644
index ead153ea..00000000
--- a/pr/tests/w16gui/Makefile.in
+++ /dev/null
@@ -1,99 +0,0 @@
-#
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Netscape Portable Runtime (NSPR).
-#
-# The Initial Developer of the Original Code is
-# Netscape Communications Corporation.
-# Portions created by the Initial Developer are Copyright (C) 1998-2000
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-#! gmake
-
-
-
-MOD_DEPTH = ../../..
-topsrcdir = @top_srcdir@
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-include $(MOD_DEPTH)/config/autoconf.mk
-
-include $(topsrcdir)/config/config.mk
-
-W16STDIO = $(MOD_DEPTH)/pr/src/md/windows/$(OBJDIR)/w16stdio.$(OBJ_SUFFIX)
-
-CSRCS = poppad.c \
- popfile.c \
- popfont.c \
- popfind.c \
- popprnt0.c
-
-
-INCLUDES = -I$(dist_includedir)
-LIBPR = $(dist_libdir)/nspr$(MOD_MAJOR_VERSION).lib
-LIBPLDS = $(dist_libdir)/plds$(MOD_MAJOR_VERSION).lib
-TARGETS = $(OBJDIR)/poppad.exe
-OS_CFLAGS = $(OS_EXE_CFLAGS)
-
-include $(topsrcdir)/config/rules.mk
-
-
-ifeq ($(OS_TARGET),WIN16)
-$(OBJDIR)/poppad.exe: $(OBJS)
- @$(MAKE_OBJDIR)
- echo system windows >w16link
- echo name $@ >>w16link
- echo option map >>w16link
- echo option stack=16K >>w16link
- echo debug $(DEBUGTYPE) all >>w16link
- echo file >>w16link
- echo $(OBJDIR)\\poppad.$(OBJ_SUFFIX), >>w16link
- echo $(OBJDIR)\\popfile.$(OBJ_SUFFIX), >>w16link
- echo $(OBJDIR)\\popfont.$(OBJ_SUFFIX), >>w16link
- echo $(OBJDIR)\\popfind.$(OBJ_SUFFIX), >>w16link
- echo $(OBJDIR)\\popprnt0.$(OBJ_SUFFIX), >>w16link
- echo $(W16STDIO) >>w16link
- echo library $(LIBPR) >>w16link
- echo library $(LIBPLDS) >>w16link
- echo library clibl, commdlg >>w16link
- echo library winsock.lib >>w16link
- wlink @w16link.
- wrc -bt=windows poppad.rc $(OBJDIR)\\poppad.exe
-else
-$(OBJDIR)/poppad.exe: $(OBJS)
- link $(LDOPTS) $< $(LIBPLC) $(LIBPR) wsock32.lib -out:$@
-endif
-
-export:: $(TARGETS)
-
-
-clean::
- rm -rf $(TARGETS)
diff --git a/pr/tests/w16gui/popfile.c b/pr/tests/w16gui/popfile.c
deleted file mode 100644
index 9aa7187d..00000000
--- a/pr/tests/w16gui/popfile.c
+++ /dev/null
@@ -1,167 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape Portable Runtime (NSPR).
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/*------------------------------------------
- POPFILE.C -- Popup Editor File Functions
- (c) Charles Petzold, 1992
- ------------------------------------------*/
-
-#include <windows.h>
-#include <commdlg.h>
-#include <stdlib.h>
-
-static OPENFILENAME ofn ;
-
-void PopFileInitialize (HWND hwnd)
- {
- static char *szFilter[] = { "Text Files (*.TXT)", "*.txt",
- "ASCII Files (*.ASC)", "*.asc",
- "All Files (*.*)", "*.*",
- "" } ;
-
- ofn.lStructSize = sizeof (OPENFILENAME) ;
- ofn.hwndOwner = hwnd ;
- ofn.hInstance = NULL ;
- ofn.lpstrFilter = szFilter [0] ;
- ofn.lpstrCustomFilter = NULL ;
- ofn.nMaxCustFilter = 0 ;
- ofn.nFilterIndex = 0 ;
- ofn.lpstrFile = NULL ; // Set in Open and Close functions
- ofn.nMaxFile = _MAX_PATH ;
- ofn.lpstrFileTitle = NULL ; // Set in Open and Close functions
- ofn.nMaxFileTitle = _MAX_FNAME + _MAX_EXT ;
- ofn.lpstrInitialDir = NULL ;
- ofn.lpstrTitle = NULL ;
- ofn.Flags = 0 ; // Set in Open and Close functions
- ofn.nFileOffset = 0 ;
- ofn.nFileExtension = 0 ;
- ofn.lpstrDefExt = "txt" ;
- ofn.lCustData = 0L ;
- ofn.lpfnHook = NULL ;
- ofn.lpTemplateName = NULL ;
- }
-
-BOOL PopFileOpenDlg (HWND hwnd, LPSTR lpstrFileName, LPSTR lpstrTitleName)
- {
- ofn.hwndOwner = hwnd ;
- ofn.lpstrFile = lpstrFileName ;
- ofn.lpstrFileTitle = lpstrTitleName ;
- ofn.Flags = OFN_CREATEPROMPT ;
-
- return GetOpenFileName (&ofn) ;
- }
-
-BOOL PopFileSaveDlg (HWND hwnd, LPSTR lpstrFileName, LPSTR lpstrTitleName)
- {
- ofn.hwndOwner = hwnd ;
- ofn.lpstrFile = lpstrFileName ;
- ofn.lpstrFileTitle = lpstrTitleName ;
- ofn.Flags = OFN_OVERWRITEPROMPT ;
-
- return GetSaveFileName (&ofn) ;
- }
-
-static long PopFileLength (int hFile)
- {
- long lCurrentPos = _llseek (hFile, 0L, 1) ;
- long lFileLength = _llseek (hFile, 0L, 2) ;
-
- _llseek (hFile, lCurrentPos, 0) ;
-
- return lFileLength ;
- }
-
-BOOL PopFileRead (HWND hwndEdit, LPSTR lpstrFileName)
- {
- long lLength ;
- HANDLE hBuffer ;
- int hFile ;
- LPSTR lpstrBuffer ;
-
- if (-1 == (hFile = _lopen (lpstrFileName, OF_READ | OF_SHARE_DENY_WRITE)))
- return FALSE ;
-
- if ((lLength = PopFileLength (hFile)) >= 32000)
- {
- _lclose (hFile) ;
- return FALSE ;
- }
-
- if (NULL == (hBuffer = GlobalAlloc (GHND, lLength + 1)))
- {
- _lclose (hFile) ;
- return FALSE ;
- }
-
- lpstrBuffer = GlobalLock (hBuffer) ;
- _lread (hFile, lpstrBuffer, (WORD) lLength) ;
- _lclose (hFile) ;
- lpstrBuffer [(WORD) lLength] = '\0' ;
-
- SetWindowText (hwndEdit, lpstrBuffer) ;
- GlobalUnlock (hBuffer) ;
- GlobalFree (hBuffer) ;
-
- return TRUE ;
- }
-
-BOOL PopFileWrite (HWND hwndEdit, LPSTR lpstrFileName)
- {
- HANDLE hBuffer ;
- int hFile ;
- LPSTR lpstrBuffer ;
- WORD wLength ;
-
- if (-1 == (hFile = _lopen (lpstrFileName, OF_WRITE | OF_SHARE_EXCLUSIVE)))
- if (-1 == (hFile = _lcreat (lpstrFileName, 0)))
- return FALSE ;
-
- wLength = GetWindowTextLength (hwndEdit) ;
- hBuffer = (HANDLE) SendMessage (hwndEdit, EM_GETHANDLE, 0, 0L) ;
- lpstrBuffer = (LPSTR) LocalLock (hBuffer) ;
-
- if (wLength != _lwrite (hFile, lpstrBuffer, wLength))
- {
- _lclose (hFile) ;
- return FALSE ;
- }
-
- _lclose (hFile) ;
- LocalUnlock (hBuffer) ;
-
- return TRUE ;
- }
diff --git a/pr/tests/w16gui/popfind.c b/pr/tests/w16gui/popfind.c
deleted file mode 100644
index 023095ea..00000000
--- a/pr/tests/w16gui/popfind.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape Portable Runtime (NSPR).
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/*--------------------------------------------------------
- POPFIND.C -- Popup Editor Search and Replace Functions
- (c) Charles Petzold, 1992
- --------------------------------------------------------*/
-
-#include <windows.h>
-#include <commdlg.h>
-#include <string.h>
-#define MAX_STRING_LEN 256
-
-static char szFindText [MAX_STRING_LEN] ;
-static char szReplText [MAX_STRING_LEN] ;
-
-HWND PopFindFindDlg (HWND hwnd)
- {
- static FINDREPLACE fr ; // must be static for modeless dialog!!!
-
- fr.lStructSize = sizeof (FINDREPLACE) ;
- fr.hwndOwner = hwnd ;
- fr.hInstance = NULL ;
- fr.Flags = FR_HIDEUPDOWN | FR_HIDEMATCHCASE | FR_HIDEWHOLEWORD ;
- fr.lpstrFindWhat = szFindText ;
- fr.lpstrReplaceWith = NULL ;
- fr.wFindWhatLen = sizeof (szFindText) ;
- fr.wReplaceWithLen = 0 ;
- fr.lCustData = 0 ;
- fr.lpfnHook = NULL ;
- fr.lpTemplateName = NULL ;
-
- return FindText (&fr) ;
- }
-
-HWND PopFindReplaceDlg (HWND hwnd)
- {
- static FINDREPLACE fr ; // must be static for modeless dialog!!!
-
- fr.lStructSize = sizeof (FINDREPLACE) ;
- fr.hwndOwner = hwnd ;
- fr.hInstance = NULL ;
- fr.Flags = FR_HIDEUPDOWN | FR_HIDEMATCHCASE | FR_HIDEWHOLEWORD ;
- fr.lpstrFindWhat = szFindText ;
- fr.lpstrReplaceWith = szReplText ;
- fr.wFindWhatLen = sizeof (szFindText) ;
- fr.wReplaceWithLen = sizeof (szReplText) ;
- fr.lCustData = 0 ;
- fr.lpfnHook = NULL ;
- fr.lpTemplateName = NULL ;
-
- return ReplaceText (&fr) ;
- }
-
-BOOL PopFindFindText (HWND hwndEdit, int *piSearchOffset, LPFINDREPLACE lpfr)
- {
- int iPos ;
- LOCALHANDLE hLocal ;
- LPSTR lpstrDoc, lpstrPos ;
-
- // Get a pointer to the edit document
-
- hLocal = (HWND) SendMessage (hwndEdit, EM_GETHANDLE, 0, 0L) ;
- lpstrDoc = (LPSTR) LocalLock (hLocal) ;
-
- // Search the document for the find string
-
- lpstrPos = _fstrstr (lpstrDoc + *piSearchOffset, lpfr->lpstrFindWhat) ;
- LocalUnlock (hLocal) ;
-
- // Return an error code if the string cannot be found
-
- if (lpstrPos == NULL)
- return FALSE ;
-
- // Find the position in the document and the new start offset
-
- iPos = lpstrPos - lpstrDoc ;
- *piSearchOffset = iPos + _fstrlen (lpfr->lpstrFindWhat) ;
-
- // Select the found text
-
- SendMessage (hwndEdit, EM_SETSEL, 0,
- MAKELONG (iPos, *piSearchOffset)) ;
-
- return TRUE ;
- }
-
-BOOL PopFindNextText (HWND hwndEdit, int *piSearchOffset)
- {
- FINDREPLACE fr ;
-
- fr.lpstrFindWhat = szFindText ;
-
- return PopFindFindText (hwndEdit, piSearchOffset, &fr) ;
- }
-
-BOOL PopFindReplaceText (HWND hwndEdit, int *piSearchOffset, LPFINDREPLACE lpfr)
- {
- // Find the text
-
- if (!PopFindFindText (hwndEdit, piSearchOffset, lpfr))
- return FALSE ;
-
- // Replace it
-
- SendMessage (hwndEdit, EM_REPLACESEL, 0, (long) lpfr->lpstrReplaceWith) ;
-
- return TRUE ;
- }
-
-BOOL PopFindValidFind (void)
- {
- return *szFindText != '\0' ;
- }
diff --git a/pr/tests/w16gui/popfont.c b/pr/tests/w16gui/popfont.c
deleted file mode 100644
index 5f28af70..00000000
--- a/pr/tests/w16gui/popfont.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape Portable Runtime (NSPR).
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/*------------------------------------------
- POPFONT.C -- Popup Editor Font Functions
- (c) Charles Petzold, 1992
- ------------------------------------------*/
-
-#include <windows.h>
-#include <commdlg.h>
-
-static LOGFONT logfont ;
-static HFONT hFont ;
-
-BOOL PopFontChooseFont (HWND hwnd)
- {
- CHOOSEFONT cf ;
-
- cf.lStructSize = sizeof (CHOOSEFONT) ;
- cf.hwndOwner = hwnd ;
- cf.hDC = NULL ;
- cf.lpLogFont = &logfont ;
- cf.iPointSize = 0 ;
- cf.Flags = CF_INITTOLOGFONTSTRUCT | CF_SCREENFONTS
- | CF_EFFECTS ;
- cf.rgbColors = 0L ;
- cf.lCustData = 0L ;
- cf.lpfnHook = NULL ;
- cf.lpTemplateName = NULL ;
- cf.hInstance = NULL ;
- cf.lpszStyle = NULL ;
- cf.nFontType = 0 ; // Returned from ChooseFont
- cf.nSizeMin = 0 ;
- cf.nSizeMax = 0 ;
-
- return ChooseFont (&cf) ;
- }
-
-void PopFontInitialize (HWND hwndEdit)
- {
- GetObject (GetStockObject (SYSTEM_FONT), sizeof (LOGFONT),
- (LPSTR) &logfont) ;
- hFont = CreateFontIndirect (&logfont) ;
- SendMessage (hwndEdit, WM_SETFONT, hFont, 0L) ;
- }
-
-void PopFontSetFont (HWND hwndEdit)
- {
- HFONT hFontNew ;
-
- hFontNew = CreateFontIndirect (&logfont) ;
- SendMessage (hwndEdit, WM_SETFONT, hFontNew, 0L) ;
- DeleteObject (hFont) ;
- hFont = hFontNew ;
- }
-
-void PopFontDeinitialize (void)
- {
- DeleteObject (hFont) ;
- }
diff --git a/pr/tests/w16gui/poppad.c b/pr/tests/w16gui/poppad.c
deleted file mode 100644
index c62ef23b..00000000
--- a/pr/tests/w16gui/poppad.c
+++ /dev/null
@@ -1,672 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape Portable Runtime (NSPR).
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/*---------------------------------------
- POPPAD.C -- Popup Editor
- (c) Charles Petzold, 1992
- ---------------------------------------*/
-
-#include "nspr.h"
-#include "plevent.h"
-#include <windows.h>
-#include <commdlg.h>
-#include <stdlib.h>
-#include "poppad.h"
-#include <time.h>
-
-#define EDITID 1
-#define UNTITLED "(untitled)"
-
-long FAR PASCAL _export WndProc (HWND, UINT, UINT, LONG) ;
-BOOL FAR PASCAL _export AboutDlgProc (HWND, UINT, UINT, LONG) ;
-
-/* Declarations for NSPR customization
-**
-*/
-typedef struct PadEvent
-{
- PLEvent plEvent;
- int unused;
-} PadEvent;
-
-static void PR_CALLBACK TimerThread( void *arg);
-static void PR_CALLBACK HandlePadEvent( PadEvent *padEvent );
-static void PR_CALLBACK DestroyPadEvent( PadEvent *padevent );
-static PRThread *tThread;
-static PLEventQueue *padQueue;
-static int quitSwitch = 0;
-static long ThreadSleepTime = 1000;
-static long timerCount = 0;
-static char *startMessage = "Poppad: NSPR GUI and event test program.\n"
- "You should see lines of 50 characters\n"
- "with a new character appearing at 1 second intervals.\n"
- "Every 10 seconds gets a '+'; every 5 seconds gets a '_';\n"
- "every 1 second gets a '.'.\n\n"
- "You should be able to type in the window.\n\n\n";
-
-
- // Functions in POPFILE.C
-
-void PopFileInitialize (HWND) ;
-BOOL PopFileOpenDlg (HWND, LPSTR, LPSTR) ;
-BOOL PopFileSaveDlg (HWND, LPSTR, LPSTR) ;
-BOOL PopFileRead (HWND, LPSTR) ;
-BOOL PopFileWrite (HWND, LPSTR) ;
-
- // Functions in POPFIND.C
-
-HWND PopFindFindDlg (HWND) ;
-HWND PopFindReplaceDlg (HWND) ;
-BOOL PopFindFindText (HWND, int *, LPFINDREPLACE) ;
-BOOL PopFindReplaceText (HWND, int *, LPFINDREPLACE) ;
-BOOL PopFindNextText (HWND, int *) ;
-BOOL PopFindValidFind (void) ;
-
- // Functions in POPFONT.C
-
-void PopFontInitialize (HWND) ;
-BOOL PopFontChooseFont (HWND) ;
-void PopFontSetFont (HWND) ;
-void PopFontDeinitialize (void) ;
-
- // Functions in POPPRNT.C
-
-BOOL PopPrntPrintFile (HANDLE, HWND, HWND, LPSTR) ;
-
- // Global variables
-
-static char szAppName [] = "PopPad" ;
-static HWND hDlgModeless ;
-static HWND hwndEdit ;
-
-int PASCAL WinMain (HANDLE hInstance, HANDLE hPrevInstance,
- LPSTR lpszCmdLine, int nCmdShow)
- {
- MSG msg;
- HWND hwnd ;
- HANDLE hAccel ;
- WNDCLASS wndclass ;
-
- PR_STDIO_INIT();
- PR_Init(0, 0, 0);
-
- if (!hPrevInstance)
- {
- wndclass.style = CS_HREDRAW | CS_VREDRAW ;
- wndclass.lpfnWndProc = WndProc ;
- wndclass.cbClsExtra = 0 ;
- wndclass.cbWndExtra = 0 ;
- wndclass.hInstance = hInstance ;
- wndclass.hIcon = LoadIcon (hInstance, szAppName) ;
- wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
- wndclass.hbrBackground = GetStockObject (WHITE_BRUSH) ;
- wndclass.lpszMenuName = szAppName ;
- wndclass.lpszClassName = szAppName ;
-
- RegisterClass (&wndclass) ;
- }
-
- hwnd = CreateWindow (szAppName, NULL,
- WS_OVERLAPPEDWINDOW,
- CW_USEDEFAULT, CW_USEDEFAULT,
- CW_USEDEFAULT, CW_USEDEFAULT,
- NULL, NULL, hInstance, lpszCmdLine) ;
-
- ShowWindow (hwnd, nCmdShow) ;
- UpdateWindow (hwnd);
-
- hAccel = LoadAccelerators (hInstance, szAppName) ;
-
- for(;;)
- {
- if ( PeekMessage( &msg, NULL, 0, 0, PM_NOREMOVE ))
- {
- if (GetMessage(&msg, NULL, 0, 0))
- {
- if (hDlgModeless == NULL || !IsDialogMessage (hDlgModeless, &msg))
- {
- if (!TranslateAccelerator (hwnd, hAccel, &msg))
- {
- TranslateMessage (&msg) ;
- DispatchMessage (&msg) ;
- } /* end if !TranslateAccelerator */
- }
- }
- else
- {
- break;
- } /* end if GetMessage() */
- }
- else /* !PeekMessage */
- {
- PR_Sleep(50);
- }/* end if PeekMessage() */
- } /* end for() */
-
- PR_JoinThread( tThread );
- PL_DestroyEventQueue( padQueue );
- PR_Cleanup();
- return msg.wParam ;
- }
-
-void DoCaption (HWND hwnd, char *szTitleName)
- {
- char szCaption [64 + _MAX_FNAME + _MAX_EXT] ;
-
- wsprintf (szCaption, "%s - %s", (LPSTR) szAppName,
- (LPSTR) (szTitleName [0] ? szTitleName : UNTITLED)) ;
-
- SetWindowText (hwnd, szCaption) ;
- }
-
-void OkMessage (HWND hwnd, char *szMessage, char *szTitleName)
- {
- char szBuffer [64 + _MAX_FNAME + _MAX_EXT] ;
-
- wsprintf (szBuffer, szMessage,
- (LPSTR) (szTitleName [0] ? szTitleName : UNTITLED)) ;
-
- MessageBox (hwnd, szBuffer, szAppName, MB_OK | MB_ICONEXCLAMATION) ;
- }
-
-short AskAboutSave (HWND hwnd, char *szTitleName)
- {
- char szBuffer [64 + _MAX_FNAME + _MAX_EXT] ;
- short nReturn ;
-
- wsprintf (szBuffer, "Save current changes in %s?",
- (LPSTR) (szTitleName [0] ? szTitleName : UNTITLED)) ;
-
- nReturn = MessageBox (hwnd, szBuffer, szAppName,
- MB_YESNOCANCEL | MB_ICONQUESTION) ;
-
- if (nReturn == IDYES)
- if (!SendMessage (hwnd, WM_COMMAND, IDM_SAVE, 0L))
- nReturn = IDCANCEL ;
-
- return nReturn ;
- }
-
-long FAR PASCAL _export WndProc (HWND hwnd, UINT message, UINT wParam,
- LONG lParam)
- {
- static BOOL bNeedSave = FALSE ;
- static char szFileName [_MAX_PATH] ;
- static char szTitleName [_MAX_FNAME + _MAX_EXT] ;
- static FARPROC lpfnAboutDlgProc ;
- static HANDLE hInst ;
- static int iOffset ;
- static UINT messageFindReplace ;
- LONG lSelect ;
- LPFINDREPLACE lpfr ;
- WORD wEnable ;
-
- switch (message)
- {
- case WM_CREATE:
- // Get About dialog instance address
-
- hInst = ((LPCREATESTRUCT) lParam)->hInstance ;
- lpfnAboutDlgProc = MakeProcInstance ((FARPROC) AboutDlgProc,
- hInst) ;
-
- // Create the edit control child window
-
- hwndEdit = CreateWindow ("edit", NULL,
- WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL |
- WS_BORDER | ES_LEFT | ES_MULTILINE |
- ES_NOHIDESEL | ES_AUTOHSCROLL | ES_AUTOVSCROLL,
- 0, 0, 0, 0,
- hwnd, EDITID, hInst, NULL) ;
-
- SendMessage (hwndEdit, EM_LIMITTEXT, 32000, 0L) ;
-
- // Initialize common dialog box stuff
-
- PopFileInitialize (hwnd) ;
- PopFontInitialize (hwndEdit) ;
-
- messageFindReplace = RegisterWindowMessage (FINDMSGSTRING) ;
-
- // Process command line
-
- lstrcpy (szFileName, (LPSTR)
- (((LPCREATESTRUCT) lParam)->lpCreateParams)) ;
-
- if (lstrlen (szFileName) > 0)
- {
- GetFileTitle (szFileName, szTitleName,
- sizeof (szTitleName)) ;
-
- if (!PopFileRead (hwndEdit, szFileName))
- OkMessage (hwnd, "File %s cannot be read!",
- szTitleName) ;
- }
-
- DoCaption (hwnd, szTitleName) ;
-
- /* Initialize Event Processing for NSPR
- ** Retrieve the event queue just created
- ** Create the TimerThread
- */
- PL_InitializeEventsLib("someName");
- padQueue = PL_GetMainEventQueue();
- tThread = PR_CreateThread(PR_USER_THREAD,
- TimerThread,
- NULL,
- PR_PRIORITY_NORMAL,
- PR_LOCAL_THREAD,
- PR_JOINABLE_THREAD,
- 0 );
- return 0 ;
-
- case WM_SETFOCUS:
- SetFocus (hwndEdit) ;
- return 0 ;
-
- case WM_SIZE:
- MoveWindow (hwndEdit, 0, 0, LOWORD (lParam),
- HIWORD (lParam), TRUE) ;
- return 0 ;
-
- case WM_INITMENUPOPUP:
- switch (lParam)
- {
- case 1: // Edit menu
-
- // Enable Undo if edit control can do it
-
- EnableMenuItem (wParam, IDM_UNDO,
- SendMessage (hwndEdit, EM_CANUNDO, 0, 0L) ?
- MF_ENABLED : MF_GRAYED) ;
-
- // Enable Paste if text is in the clipboard
-
- EnableMenuItem (wParam, IDM_PASTE,
- IsClipboardFormatAvailable (CF_TEXT) ?
- MF_ENABLED : MF_GRAYED) ;
-
- // Enable Cut, Copy, and Del if text is selected
-
- lSelect = SendMessage (hwndEdit, EM_GETSEL, 0, 0L) ;
- wEnable = HIWORD (lSelect) != LOWORD (lSelect) ?
- MF_ENABLED : MF_GRAYED ;
-
- EnableMenuItem (wParam, IDM_CUT, wEnable) ;
- EnableMenuItem (wParam, IDM_COPY, wEnable) ;
- EnableMenuItem (wParam, IDM_DEL, wEnable) ;
- break ;
-
- case 2: // Search menu
-
- // Enable Find, Next, and Replace if modeless
- // dialogs are not already active
-
- wEnable = hDlgModeless == NULL ?
- MF_ENABLED : MF_GRAYED ;
-
- EnableMenuItem (wParam, IDM_FIND, wEnable) ;
- EnableMenuItem (wParam, IDM_NEXT, wEnable) ;
- EnableMenuItem (wParam, IDM_REPLACE, wEnable) ;
- break ;
- }
- return 0 ;
-
- case WM_COMMAND :
- // Messages from edit control
-
- if (LOWORD (lParam) && wParam == EDITID)
- {
- switch (HIWORD (lParam))
- {
- case EN_UPDATE:
- bNeedSave = TRUE ;
- return 0 ;
-
- case EN_ERRSPACE:
- case EN_MAXTEXT:
- MessageBox (hwnd, "Edit control out of space.",
- szAppName, MB_OK | MB_ICONSTOP) ;
- return 0 ;
- }
- break ;
- }
-
- switch (wParam)
- {
- // Messages from File menu
-
- case IDM_NEW:
- if (bNeedSave && IDCANCEL ==
- AskAboutSave (hwnd, szTitleName))
- return 0 ;
-
- SetWindowText (hwndEdit, "\0") ;
- szFileName [0] = '\0' ;
- szTitleName [0] = '\0' ;
- DoCaption (hwnd, szTitleName) ;
- bNeedSave = FALSE ;
- return 0 ;
-
- case IDM_OPEN:
- if (bNeedSave && IDCANCEL ==
- AskAboutSave (hwnd, szTitleName))
- return 0 ;
-
- if (PopFileOpenDlg (hwnd, szFileName, szTitleName))
- {
- if (!PopFileRead (hwndEdit, szFileName))
- {
- OkMessage (hwnd, "Could not read file %s!",
- szTitleName) ;
- szFileName [0] = '\0' ;
- szTitleName [0] = '\0' ;
- }
- }
-
- DoCaption (hwnd, szTitleName) ;
- bNeedSave = FALSE ;
- return 0 ;
-
- case IDM_SAVE:
- if (szFileName [0])
- {
- if (PopFileWrite (hwndEdit, szFileName))
- {
- bNeedSave = FALSE ;
- return 1 ;
- }
- else
- OkMessage (hwnd, "Could not write file %s",
- szTitleName) ;
- return 0 ;
- }
- // fall through
- case IDM_SAVEAS:
- if (PopFileSaveDlg (hwnd, szFileName, szTitleName))
- {
- DoCaption (hwnd, szTitleName) ;
-
- if (PopFileWrite (hwndEdit, szFileName))
- {
- bNeedSave = FALSE ;
- return 1 ;
- }
- else
- OkMessage (hwnd, "Could not write file %s",
- szTitleName) ;
- }
- return 0 ;
-
- case IDM_PRINT:
- if (!PopPrntPrintFile (hInst, hwnd, hwndEdit,
- szTitleName))
- OkMessage (hwnd, "Could not print file %s",
- szTitleName) ;
- return 0 ;
-
- case IDM_EXIT:
- SendMessage (hwnd, WM_CLOSE, 0, 0L) ;
- return 0 ;
-
- // Messages from Edit menu
-
- case IDM_UNDO:
- SendMessage (hwndEdit, WM_UNDO, 0, 0L) ;
- return 0 ;
-
- case IDM_CUT:
- SendMessage (hwndEdit, WM_CUT, 0, 0L) ;
- return 0 ;
-
- case IDM_COPY:
- SendMessage (hwndEdit, WM_COPY, 0, 0L) ;
- return 0 ;
-
- case IDM_PASTE:
- SendMessage (hwndEdit, WM_PASTE, 0, 0L) ;
- return 0 ;
-
- case IDM_DEL:
- SendMessage (hwndEdit, WM_CLEAR, 0, 0L) ;
- return 0 ;
-
- case IDM_SELALL:
- SendMessage (hwndEdit, EM_SETSEL, 0,
- MAKELONG (0, 32767)) ;
- return 0 ;
-
- // Messages from Search menu
-
- case IDM_FIND:
- iOffset = HIWORD (
- SendMessage (hwndEdit, EM_GETSEL, 0, 0L)) ;
- hDlgModeless = PopFindFindDlg (hwnd) ;
- return 0 ;
-
- case IDM_NEXT:
- iOffset = HIWORD (
- SendMessage (hwndEdit, EM_GETSEL, 0, 0L)) ;
-
- if (PopFindValidFind ())
- PopFindNextText (hwndEdit, &iOffset) ;
- else
- hDlgModeless = PopFindFindDlg (hwnd) ;
-
- return 0 ;
-
- case IDM_REPLACE:
- iOffset = HIWORD (
- SendMessage (hwndEdit, EM_GETSEL, 0, 0L)) ;
-
- hDlgModeless = PopFindReplaceDlg (hwnd) ;
- return 0 ;
-
- case IDM_FONT:
- if (PopFontChooseFont (hwnd))
- PopFontSetFont (hwndEdit) ;
-
- return 0 ;
-
- // Messages from Help menu
-
- case IDM_HELP:
- OkMessage (hwnd, "Help not yet implemented!", NULL) ;
- return 0 ;
-
- case IDM_ABOUT:
- DialogBox (hInst, "AboutBox", hwnd, lpfnAboutDlgProc);
- return 0 ;
- }
- break ;
-
- case WM_CLOSE:
- if (!bNeedSave || IDCANCEL != AskAboutSave (hwnd, szTitleName))
- DestroyWindow (hwnd) ;
-
- return 0 ;
-
- case WM_QUERYENDSESSION:
- if (!bNeedSave || IDCANCEL != AskAboutSave (hwnd, szTitleName))
- return 1L ;
-
- return 0 ;
-
- case WM_DESTROY:
- PopFontDeinitialize () ;
- PostQuitMessage (0) ;
- quitSwitch = 1;
- return 0 ;
-
- default:
- // Process "Find-Replace" messages
-
- if (message == messageFindReplace)
- {
- lpfr = (LPFINDREPLACE) lParam ;
-
- if (lpfr->Flags & FR_DIALOGTERM)
- hDlgModeless = NULL ;
-
- if (lpfr->Flags & FR_FINDNEXT)
- if (!PopFindFindText (hwndEdit, &iOffset, lpfr))
- OkMessage (hwnd, "Text not found!", NULL) ;
-
- if (lpfr->Flags & FR_REPLACE ||
- lpfr->Flags & FR_REPLACEALL)
- if (!PopFindReplaceText (hwndEdit, &iOffset, lpfr))
- OkMessage (hwnd, "Text not found!", NULL) ;
-
- if (lpfr->Flags & FR_REPLACEALL)
- while (PopFindReplaceText (hwndEdit, &iOffset, lpfr));
-
- return 0 ;
- }
- break ;
- }
- return DefWindowProc (hwnd, message, wParam, lParam) ;
- }
-
-BOOL FAR PASCAL _export AboutDlgProc (HWND hDlg, UINT message, UINT wParam,
- LONG lParam)
- {
- switch (message)
- {
- case WM_INITDIALOG:
- return TRUE ;
-
- case WM_COMMAND:
- switch (wParam)
- {
- case IDOK:
- EndDialog (hDlg, 0) ;
- return TRUE ;
- }
- break ;
- }
- return FALSE ;
- }
-/*
-** TimerThread() -- The Main function of the timer pop thread
-**
-*/
-static void PR_CALLBACK TimerThread( void *arg)
-{
- do {
- PadEvent *ev;
-
- /*
- ** Should we quit now?
- */
- if ( quitSwitch )
- break;
- /*
- ** Create and Post the event the event
- */
- PL_ENTER_EVENT_QUEUE_MONITOR( padQueue );
- ev = (PadEvent *) PR_NEW( PadEvent );
- PL_InitEvent( &ev->plEvent, NULL,
- (PLHandleEventProc)HandlePadEvent,
- (PLDestroyEventProc)DestroyPadEvent );
- PL_PostEvent( padQueue, &ev->plEvent );
- PL_EXIT_EVENT_QUEUE_MONITOR( padQueue );
-
- PR_Sleep( ThreadSleepTime );
- } while(1);
- return;
-}
-
-/*
-** HandlePadEvent() -- gets called because of PostEvent
-*/
-static void PR_CALLBACK HandlePadEvent( PadEvent *padEvent )
-{
- if ( timerCount++ == 0 )
- {
- char *cp;
-
- for ( cp = startMessage; *cp != 0 ; cp++ )
- {
- SendMessage( hwndEdit, WM_CHAR, *cp, MAKELONG( *cp, 1 ));
- }
- }
- /*
- ** Send a WM_CHAR event the edit Window
- */
- if ((timerCount % 10) == 0)
- {
- SendMessage( hwndEdit, WM_CHAR, '+', MAKELONG( '+', 1 ));
- }
- else if ((timerCount % 5) == 0)
- {
- SendMessage( hwndEdit, WM_CHAR, '_', MAKELONG( '_', 1 ));
- }
- else
- {
- SendMessage( hwndEdit, WM_CHAR, '.', MAKELONG( '.', 1 ));
- }
-
- if ( (timerCount % 50) == 0)
- {
- SendMessage( hwndEdit, WM_CHAR, '\n', MAKELONG( '\n', 1 ));
- }
-
- /*
- ** PL_RevokeEvents() is broken. Test to fix it.
- */
- {
- static long revokeCounter = 0;
-
- if (revokeCounter++ > 10 )
- {
- PR_Sleep( ThreadSleepTime * 10 );
- SendMessage( hwndEdit, WM_CHAR, '*', MAKELONG( '\n', 1 ));
- PL_RevokeEvents( padQueue, NULL );
- revokeCounter = 0;
- }
- }
- return;
-}
-
-/*
-** DestroyPadEvent() -- Called after HandlePadEvent()
-*/
-static void PR_CALLBACK DestroyPadEvent( PadEvent *padevent )
-{
- PR_Free( padevent );
- return;
-}
diff --git a/pr/tests/w16gui/poppad.h b/pr/tests/w16gui/poppad.h
deleted file mode 100644
index 202095e5..00000000
--- a/pr/tests/w16gui/poppad.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape Portable Runtime (NSPR).
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/*----------------------
- POPPAD.H header file
- (c) Charles Petzold, 1992
- ----------------------*/
-
-#define IDM_NEW 10
-#define IDM_OPEN 11
-#define IDM_SAVE 12
-#define IDM_SAVEAS 13
-#define IDM_PRINT 14
-#define IDM_EXIT 15
-
-#define IDM_UNDO 20
-#define IDM_CUT 21
-#define IDM_COPY 22
-#define IDM_PASTE 23
-#define IDM_DEL 24
-#define IDM_SELALL 25
-
-#define IDM_FIND 30
-#define IDM_NEXT 31
-#define IDM_REPLACE 32
-
-#define IDM_FONT 40
-
-#define IDM_HELP 50
-#define IDM_ABOUT 51
-
-#define IDD_FNAME 10
diff --git a/pr/tests/w16gui/poppad.ico b/pr/tests/w16gui/poppad.ico
deleted file mode 100644
index fe7097c5..00000000
--- a/pr/tests/w16gui/poppad.ico
+++ /dev/null
Binary files differ
diff --git a/pr/tests/w16gui/poppad.rc b/pr/tests/w16gui/poppad.rc
deleted file mode 100644
index 227f5e4a..00000000
--- a/pr/tests/w16gui/poppad.rc
+++ /dev/null
@@ -1,121 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape Portable Runtime (NSPR).
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/*---------------------------
- POPPAD.RC resource script
- ---------------------------*/
-
-#include <windows.h>
-#include "poppad.h"
-
-PopPad ICON "poppad.ico"
-
-PopPad MENU
- {
- POPUP "&File"
- {
- MENUITEM "&New", IDM_NEW
- MENUITEM "&Open...", IDM_OPEN
- MENUITEM "&Save", IDM_SAVE
- MENUITEM "Save &As...", IDM_SAVEAS
- MENUITEM SEPARATOR
- MENUITEM "&Print...", IDM_PRINT
- MENUITEM SEPARATOR
- MENUITEM "E&xit", IDM_EXIT
- }
- POPUP "&Edit"
- {
- MENUITEM "&Undo\tCtrl+Z", IDM_UNDO
- MENUITEM SEPARATOR
- MENUITEM "Cu&t\tCtrl+X", IDM_CUT
- MENUITEM "&Copy\tCtrl+C", IDM_COPY
- MENUITEM "&Paste\tCtrl+V", IDM_PASTE
- MENUITEM "De&lete\tDel", IDM_DEL
- MENUITEM SEPARATOR
- MENUITEM "&Select All", IDM_SELALL
- }
- POPUP "&Search"
- {
- MENUITEM "&Find...", IDM_FIND
- MENUITEM "Find &Next\tF3", IDM_NEXT
- MENUITEM "&Replace...", IDM_REPLACE
- }
- POPUP "&Character"
- {
- MENUITEM "&Font...", IDM_FONT
- }
- POPUP "&Help"
- {
- MENUITEM "&Help", IDM_HELP
- MENUITEM "&About PopPad...", IDM_ABOUT
- }
- }
-
-PopPad ACCELERATORS
- {
- "^Z", IDM_UNDO
- VK_BACK, IDM_UNDO, VIRTKEY, ALT
- "^X", IDM_CUT
- VK_DELETE, IDM_CUT, VIRTKEY, SHIFT
- "^C", IDM_COPY
- VK_INSERT, IDM_COPY, VIRTKEY, CONTROL
- "^V", IDM_PASTE
- VK_INSERT, IDM_PASTE, VIRTKEY, SHIFT
- VK_DELETE, IDM_DEL, VIRTKEY
- VK_F3, IDM_NEXT, VIRTKEY
- VK_F1, IDM_HELP, VIRTKEY
- }
-
-AboutBox DIALOG 20, 20, 160, 80
- STYLE WS_POPUP | WS_DLGFRAME
- {
- CTEXT "PopPad" -1, 0, 12, 160, 8
- ICON "PopPad" -1, 8, 8, 0, 0
- CTEXT "Popup Editor for Microsoft Windows" -1, 0, 36, 160, 8
- CTEXT "Copyright (c) Charles Petzold, 1992" -1, 0, 48, 160, 8
- DEFPUSHBUTTON "OK" IDOK, 64, 60, 32, 14, WS_GROUP
- }
-
-PrintDlgBox DIALOG 20, 20, 100, 76
- STYLE WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
- CAPTION "PopPad"
- {
- CTEXT "Sending", -1, 0, 10, 100, 8
- CTEXT "", IDD_FNAME, 0, 20, 100, 8
- CTEXT "to print spooler.", -1, 0, 30, 100, 8
- DEFPUSHBUTTON "Cancel", IDCANCEL, 34, 50, 32, 14, WS_GROUP
- }
diff --git a/pr/tests/w16gui/popprnt0.c b/pr/tests/w16gui/popprnt0.c
deleted file mode 100644
index 4e76377f..00000000
--- a/pr/tests/w16gui/popprnt0.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape Portable Runtime (NSPR).
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/*---------------------------------------------------------------
- POPPRNT0.C -- Popup Editor Printing Functions (dummy version)
- (c) Charles Petzold, 1992
- ---------------------------------------------------------------*/
-
-#include <windows.h>
-
-BOOL PopPrntPrintFile (HANDLE hInst, HWND hwnd, HWND hwndEdit,
- LPSTR lpstrTitleName)
- {
- return FALSE ;
- }
diff --git a/pr/tests/w16gui/readme.1st b/pr/tests/w16gui/readme.1st
deleted file mode 100644
index afdf847f..00000000
--- a/pr/tests/w16gui/readme.1st
+++ /dev/null
@@ -1,37 +0,0 @@
-readme.1st.
-
-The files in the pr/tests/w16gui directory are taken
-from "Programming Windows 3.1" by Charles Petzold,
-specifically, the programs in chapter 14 related
-to the "poppad4" sample application.
-
-These programs are compiled with nspr20 to test nspr 2.0
-and to demostrate the use of nspr in a gui application.
-
-Library (DLL) PLDSxx.lib PLDSxx.dll is required to be
-linked with this test case. Functions in this dll are
-in the source ns/nspr20/lib/ds/plevent.* files.
-
-Permission to use.
-
-The source for poppad.c are used under license from
-Petzold. The license to use is stated in the book.
-The following paragraph of the license grants that
-use.
-
- 5. SAMPLE CODE. If the SOFTWARE includes Sample Code, then
- Microsoft grants you a royalty-free right to reproduce and
- distribute the sample code of the SOFTWARE provided that you:
- (a) distribute the sample code only in conjunction with and
- as part of your software product; (b) do not use Microsoft's
- or its authors' names, logos, or trademarks to market your
- software product; (c) include the copyright notice that appears
- on the SOFTWARE on your product label and as a part of the
- sign-on message for your software product; and (d) agree to
- idemnify, hold harmless, and defend Microsoft and its authors
- from and against any claims or lawsuits, including attorneys'
- fees, that arise or result from the use or distribution of
- your software product.
-
-lth. 9/24/97.
-