From f3ef286feebe70940b7db95f89eae01eabeee749 Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Thu, 14 Oct 1999 14:10:59 +0000 Subject: [PATCH] Added sqltypes.h (for Cygwin b20), some other Cygwin fixes. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3990 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/defs.h | 2 +- src/cygnus.bat | 7 +++--- src/makeg95.env | 54 ++++++++++++++++---------------------------- src/mingw32.bat | 22 ++++++++---------- src/msw/listctrl.cpp | 5 ++++ src/msw/treectrl.cpp | 10 ++++++-- 6 files changed, 47 insertions(+), 53 deletions(-) diff --git a/include/wx/defs.h b/include/wx/defs.h index e9a831e991..93781978a6 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -309,7 +309,7 @@ typedef int wxWindowID; // wxCALLBACK should be used for the functions which are called back by // Windows (such as compare function for wxListCtrl) #if defined(__WXMSW__) - #if defined(__MINGW32__) + #if defined(__MINGW32__) || defined(__GNUWIN32__) #define wxCALLBACK __attribute__((stdcall)) #else // both VC++ and Borland understand this diff --git a/src/cygnus.bat b/src/cygnus.bat index d641197665..3d1d6573a2 100644 --- a/src/cygnus.bat +++ b/src/cygnus.bat @@ -1,10 +1,11 @@ +Rem This sets up the environment for Cygwin. Replace g:\gnuwin32\b20 with your +Rem Cygwin directory. @ECHO OFF SET MAKE_MODE=UNIX -rem SET PATH=g:\GNUWIN32\B20\CYGWIN~1\H-I586~1\BIN;%PATH% PATH C:\WINDOWS;C:\WINDOWS\command;g:\GNUWIN32\B20\CYGWIN~1\H-I586~1\BIN;d:\wx\utils\tex2rtf\bin;g:\ast\astex;g:\ast\emtex\bin;g:\cvs;c:\bin set BISON_SIMPLE=g:\gnuwin32\b20\cygwin-b20\share\bison.simple set BISON_HAIRY=g:\gnuwin32\b20\cygwin-b20\share\bison.hairy -rem bash -rem 4DOS users only... + +Rem 4DOS users only... unalias make alias makegnu make -f makefile.g95 diff --git a/src/makeg95.env b/src/makeg95.env index 9e8cef2a5e..2250b07a5c 100644 --- a/src/makeg95.env +++ b/src/makeg95.env @@ -2,32 +2,25 @@ # Common makefile settings for wxWindows programs # This file is included by all the other makefiles, thus changes # made here take effect everywhere (except where overriden). +# The settings are for GnuWin32-derived compilers, i.e. Cygwin and Mingw32. # -# An alternative to editing this file is to create a shell script -# to export specific variables, and call make with the -e switch -# to override makefile variables. See wx/install/install.txt. -# And you can override specific variables on the make command line, e.g. -# -# make -f makefile.unix WXDEBUG='' -# -# You may prefer to use the GNU configure script than raw makefiles - -# see contrib/wxshlib. -# + +# If using Cygwin, set this to 0. +# If using Mingw32, set this to 1. +MINGW32=0 ########################## Compiler ################################## # C++ compiler -# For AIX/CSet++: use CC = xlC -# For IRIX: use CC = CC -# CC = gcc-2.6.2 +# Put a comment before --pipe for Cygwin, remove comment for Mingw32 2.95 + +ifeq ($(MINGW32),1) CC = gcc --pipe -fvtable-thunks +else +CC = gcc +endif # C compiler for pure C programs -# Typical: CC=g++ , CCC=gcc -# CC=cl386 /Tp, CCC=cl386 -# -# (Used only for XView, file sb_scrol.c) -# CCC = $(CC) # Compiler used for LEX generated C @@ -54,12 +47,9 @@ RESFLAGS=$(RCINCSWITCH) $(WXDIR)/include $(RCDEFSWITCH) __WIN32__ $(RCDEFSWITCH) ########################## Compiler flags ############################# # Miscellaneous compiler options -# GRG: The __EGCS__ symbol is not needed anymore! -OPTIONS= -DSTRICT # -D__MINGW32__ # -D__EGCS__ +OPTIONS= -DSTRICT # -D__MINGW32__ # Debugging information -# AIX: comment out. -# IRIX: -g3 DEBUGFLAGS = -D__WXDEBUG__ WIN95=1 @@ -128,10 +118,15 @@ WXSRC=$(WXDIR)/src/msw WXINC=$(WXDIR)/include WXBASESRC=$(WXDIR)/src/common WXLIB=$(WXDIR)/lib/$(LIBPREFIX)wx.$(LIBSUFF) -INC = -I$(WXINC) -I$(WXDIR)/src/png -I$(WXDIR)/src/jpeg -I$(WXDIR)/src/zlib $(EXTRAINC) $(COMPPATHS) # -I$(WXDIR)/include/wx/msw/gnuwin32 + +ifeq ($(MINGW32),1) +INC = -I$(WXINC) -I$(WXDIR)/src/png -I$(WXDIR)/src/jpeg -I$(WXDIR)/src/zlib $(EXTRAINC) $(COMPPATHS) +else +INC = -I$(WXINC) -I$(WXDIR)/src/png -I$(WXDIR)/src/jpeg -I$(WXDIR)/src/zlib $(EXTRAINC) $(COMPPATHS) -I$(WXDIR)/include/wx/msw/gnuwin32 +endif + RCLFLAGS=-cpp "cpp -lang-c++ -DWIN32 -D_WIN32 -DRCL_INVOKED -I$(WXWIN)/include" -#LIBS = -lctl3d32 $(WXLIB) $(WINLIBS) $(COMPLIBS) LIBS = $(WXLIB) $(WINLIBS) $(COMPLIBS) $(EXTRALIBS) WINFLAGS=-D_X86_=1 -DWIN32 -D_WIN32 $(WINVERSION) @@ -153,17 +148,6 @@ LDFLAGS = $(WINDOWSLDFLAGS) -L$(WXDIR)/lib $(EXTRALDFLAGS) .SUFFIXES: .rc .$(RESSUFF) .$(RSCSUFF) .cpp .c -# Set these in a batch file instead e.g. install/cygnus.bat -# RCINCLUDE="$(WXDIR)/include/msw;$(WXDIR)/contrib/fafa;$(WXDIR)/contrib/itsybits"; \ -# CPLUS_INCLUDE_PATH=/usr/H-i386-cygwin32/i386-cygwin32/include:/usr/H-i386-cygwin32/lib/gcc-lib/i386-cygwin32/cygnus-2.7.2-961023/include:$(WXDIR)/include/common:$(WXDIR)/include/msw:$(WXDIR)/contrib/fafa:$(WXDIR)/contrib/itsybits; \ -# export CPLUS_INCLUDE_PATH RCINCLUDE; \ - -#.rc.$(RESSUFF): $< $(WXDIR)/include/msw/wx.rc -# $(RC) $(RESFLAGS1) $< $(RESFLAGS2) $*.$(RESSUFF) $(RCLFLAGS) - -#.$(RESSUFF).$(RSCSUFF): $< -# $(CVTRES) $< $*.$(RSCSUFF) - .$(SRCSUFF).$(OBJSUFF): $(CC) -c $(CPPFLAGS) -o $@ $*.$(SRCSUFF) diff --git a/src/mingw32.bat b/src/mingw32.bat index 6e3bea5c20..c2dc01248b 100644 --- a/src/mingw32.bat +++ b/src/mingw32.bat @@ -1,15 +1,13 @@ -rem Mingw32 environment variables -rem -set WXWIN=d:\wx2 -path C:\WINDOWS;C:\WINDOWS\COMMAND;e:\mingw32\bin;e:\mingw32\lib\gcc-lib\i386-mingw32\2.8.1;c:\bin -rem set GCC_EXEC_PREFIX=G:\gnuwin32\b18\H-i386-cygwin32\lib\gcc-lib\ -set RCINCLUDE=%WXWIN\include -rem set CPLUS_INCLUDE_PATH=/g/gnuwin32/b18/h-i386-cygwin32/i386-cygwin32/include:/g/gnuwin32/b18/include/g++:/g/gnuwin32/b18/H-i386-cygwin32/lib/gcc-lib/i386-cygwin32/cygnus-2.7.2-970404/include:/d/wx2/include:/g/gnuwin32/b18/include/g++ -set CPLUS_INCLUDE_PATH=e:\mingw32\include;e:\mingw32\lib\gcc-lib\i386-mingw32\2.8.1\include;e:\mingw32\include\g++ -set C_INCLUDE_PATH=e:\mingw32\include;e:\mingw32\lib\gcc-lib\i386-mingw32\2.8.1\include;e:\mingw32\include\g++ -set LIBRARY_PATH=e:\mingw32\lib;e:\mingw32\lib\gcc-lib\i386-mingw32\2.8.1 -set BISON_SIMPLE=e:\mingw32\share\bison.simple -set BISON_HAIRY=e:\mingw32\share\bison.hairy +REM +REM replace c:\gcc-2.95 with whatever your installation root may be. +REM GCC_EXEC_PREFIX is optional, and hardly ever needs to be set (read: +REM leave it alone). +REM +PATH=c:\gcc-2.95\bin;%PATH% +set BISON_SIMPLE=c:\gcc-2.95\share\bison.simple +set BISON_HAIRY=c:\gcc-2.95\share\bison.hairy + +REM SET GCC_EXEC_PREFIX=c:\gcc-2.95\lib\gcc-lib\set LIBRARY_PATH=e:\mingw32\lib;e:\mingw32\lib\gcc-lib\i386-mingw32\2.8.1 rem 4DOS users only... unalias make diff --git a/src/msw/listctrl.cpp b/src/msw/listctrl.cpp index e5325e37f8..e61d9cea80 100644 --- a/src/msw/listctrl.cpp +++ b/src/msw/listctrl.cpp @@ -1365,6 +1365,11 @@ bool wxListCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result) #endif ::GetCursorPos(&(lvhti.pt)); ::ScreenToClient(GetHwnd(),&(lvhti.pt)); + +#ifndef LVHT_ONITEM +#define LVHT_ONITEM (LVHT_ONITEMICON|LVHT_ONITEMLABEL|LVHT_ONITEMSTATEICON) +#endif + if(ListView_HitTest(GetHwnd(),&lvhti)!=-1) { if(lvhti.flags & LVHT_ONITEM) { eventType = wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK; diff --git a/src/msw/treectrl.cpp b/src/msw/treectrl.cpp index baad3f6a6e..b94bb87d8d 100644 --- a/src/msw/treectrl.cpp +++ b/src/msw/treectrl.cpp @@ -67,7 +67,10 @@ // ---------------------------------------------------------------------------- // a convenient wrapper around TV_ITEM struct which adds a ctor +#ifdef __VISUALC__ #pragma warning( disable : 4097 ) +#endif + struct wxTreeViewItem : public TV_ITEM { wxTreeViewItem(const wxTreeItemId& item, // the item handle @@ -80,7 +83,10 @@ struct wxTreeViewItem : public TV_ITEM hItem = (HTREEITEM) (WXHTREEITEM) item; } }; + +#ifdef __VISUALC__ #pragma warning( default : 4097 ) +#endif // a class which encapsulates the tree traversal logic: it vists all (unless // OnVisit() returns FALSE) items under the given one @@ -1349,8 +1355,8 @@ bool wxTreeCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result) TV_HITTESTINFO tvhti; ::GetCursorPos(&(tvhti.pt)); ::ScreenToClient(GetHwnd(),&(tvhti.pt)); - if(TreeView_HitTest(GetHwnd(),&tvhti)!=NULL) { - if(tvhti.flags & TVHT_ONITEM) { + if ((HTREEITEM) TreeView_HitTest(GetHwnd(),&tvhti) != (HTREEITEM) NULL) { + if (tvhti.flags & TVHT_ONITEM) { event.m_item = (WXHTREEITEM) tvhti.hItem; eventType=wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK; } -- 2.47.2