#include "wx/msw/msvcrt.h"
-// Foils optimizations in Visual C++ (see also app.cpp). Without it,
-// dummy.obj isn't linked and we get a linker error.
-#if defined(__VISUALC__) && defined(__WIN16__)
- char wxDummyChar = 0;
-#endif
-
// Make an image list containing small icons
p_imageListNormal = new wxImageList(image_size, image_size, TRUE);
// should correspond to TreeIc_xxx enum
-#if defined(__WXMSW__) && defined(__WIN16__)
- // This is required in 16-bit Windows mode only because we can't load a specific (16x16)
- // icon image, so it comes out stretched
- p_imageListNormal->Add(wxBitmap(wxBitmap("bitmap1", wxBITMAP_TYPE_BMP_RESOURCE).ConvertToImage().Rescale(image_size, image_size)));
- p_imageListNormal->Add(wxBitmap(wxBitmap("bitmap2", wxBITMAP_TYPE_BMP_RESOURCE).ConvertToImage().Rescale(image_size, image_size)));
-#else
p_imageListNormal->Add(wxBitmap(wxBitmap(wxICON(aLogo)).ConvertToImage().Rescale(image_size, image_size)));
p_imageListNormal->Add(wxBitmap(wxBitmap(wxICON(DsnClosed)).ConvertToImage().Rescale(image_size, image_size)));
p_imageListNormal->Add(wxBitmap(wxBitmap(wxICON(DsnOpen)).ConvertToImage().Rescale(image_size, image_size)));
p_imageListNormal->Add(wxBitmap(wxBitmap(wxICON(DocOpen)).ConvertToImage().Rescale(image_size, image_size)));
p_imageListNormal->Add(wxBitmap(wxBitmap(wxICON(FolderClosed)).ConvertToImage().Rescale(image_size, image_size)));
p_imageListNormal->Add(wxBitmap(wxBitmap(wxICON(FolderOpen)).ConvertToImage().Rescale(image_size, image_size)));
-#endif
SetImageList(p_imageListNormal);
}
#include <wx/config.h>
-#ifdef __WIN16__
-#include <wx/fileconf.h>
-
-#undef wxConfig
-#define wxConfig wxFileConfig
-#endif
-
class ScoreFile {
public:
ScoreFile(const wxString& appName);
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifdef __WIN16__
-#error "Sorry, Life! will not work in 16-bit Windows"
-#endif
-
// ==========================================================================
// headers, declarations, constants
// ==========================================================================
<li><a href="../../samples/checklst">checklst</a>: demonstrates wxCheckListBox on
supported platforms (currently Windows and GTK only).
<li><a href="../../samples/config">config</a>: demonstrates use of wxConfig, which
-defaults to wxRegConfig on WIN32, wxIniConfig on WIN16, and wxFileConfig on other platforms.
+defaults to wxRegConfig on WIN32 (optionally wxIniConfig), and wxFileConfig on other platforms.
<li><a href="../../samples/console">console</a>: demonstrates a console application using
console-mode (no-GUI) compilation of wxWindows.
<li><a href="../../samples/controls">controls</a>: sample showing a variety of controls, including
Windows 3.1 .INI files if you're really unlucky). To make writing the portable
code even easier, wxWindows provides a typedef wxConfig
which is mapped onto the native wxConfigBase implementation on the given
-platform: i.e. wxRegConfig under Win32, wxIniConfig under Win16 and
+platform: i.e. wxRegConfig under Win32 (optionally wxIniConfig) and
wxFileConfig otherwise.
See \helpref{config overview}{wxconfigoverview} for the descriptions of all
\wxheading{Portability}
-This function is implemented for Win16 (only for drives less than 2Gb), Win32,
+This function is implemented for Win32,
Mac OS and generic Unix provided the system has {\tt statfs()} function.
This function first appeared in wxWindows 2.3.2.
supplied with wxWindows, this library should already be included for use with
makefile.b32, makefile.vc, and makefile.g95.
-You cannot compile the wxODBC classes under Win16 - sorry.
-
\normalbox{MORE TO COME}
{\it Under Unix}
/// should we use registry instead of configuration files under Windows?
// (i.e. whether wxConfigBase::Create() will create a wxFileConfig (if it's
-// FALSE) or wxRegConfig (if it's true and we're under Win32) or wxIniConfig
-// (under Win16))
+// FALSE) or wxRegConfig (if it's true and we're under Win32))
#ifndef wxUSE_CONFIG_NATIVE
#define wxUSE_CONFIG_NATIVE 1
#endif
// ----------------------------------------------------------------------------
// under Windows we prefer to use the native implementation
+// wxIniConfig isn't native anywhere after droping win16 in wxWidgets 2.6
#if defined(__WXMSW__) && wxUSE_CONFIG_NATIVE
- #ifdef __WIN32__
#define wxConfig wxRegConfig
- #else //WIN16
- #define wxConfig wxIniConfig
- #endif
#else // either we're under Unix or wish to use files even under Windows
#define wxConfig wxFileConfig
#endif
// ------------------
// for compatibility with the old code when wxCoord was long everywhere
-#ifndef __WIN16__
void GetTextExtent(const wxString& string,
long *x, long *y,
long *descent = NULL,
if (w) *w = ww;
if (h) *h = hh;
}
-#endif // !Win16
protected:
// the pure virtual functions which should be implemented by wxDC
/* general, but there are places where you can use them to advantage */
/* without totally breaking ports that cannot use them. If you do, then */
/* wrap it in this guard, but such cases should still be relatively rare. */
-#ifndef __WIN16__
- #define wxUSE_NESTED_CLASSES 1
-#else
- #define wxUSE_NESTED_CLASSES 0
-#endif
+#define wxUSE_NESTED_CLASSES 1
/* check for explicit keyword support */
#ifndef HAVE_EXPLICIT
/* to ensure compatibility with 2.0, we must use long */
#define wxCoord long
#else /* !wxUSE_COMPATIBLE_COORD_TYPES */
- #ifdef __WIN16__
- /* under Win16, int is too small, so use long to allow for bigger */
- /* virtual canvases */
- typedef long wxCoord;
- #else /* !Win16 */
/* other platforms we support have at least 32bit int - quite enough */
typedef int wxCoord;
- #endif /* Win16/!Win16 */
#endif /* wxUSE_COMPATIBLE_COORD_TYPES/!wxUSE_COMPATIBLE_COORD_TYPES */
#ifdef __WXMSW__
/* the keywords needed for WinMain() declaration */
-#ifdef __WIN16__
-# ifdef __VISUALC__
-# define WXFAR __far
-# else
-# define WXFAR _far
-# endif
-#else /* Win32 */
-# ifndef WXFAR
+#ifndef WXFAR
# define WXFAR
-# endif
-#endif /* Win16/32 */
+#endif
/* Stand-ins for Windows types to avoid #including all of windows.h */
typedef void * WXHWND;
class WXDLLEXPORT wxDC;
#if defined(__WXMSW__)
-#if defined(__WIN16__) || defined(__WXUNIVERSAL__)
-#include "wx/generic/dragimgg.h"
-#define wxDragImage wxGenericDragImage
+# if defined(__WXUNIVERSAL__)
+# include "wx/generic/dragimgg.h"
+# define wxDragImage wxGenericDragImage
+# else
+# include "wx/msw/dragimag.h"
+# endif
-#else
-#include "wx/msw/dragimag.h"
-#endif
#elif defined(__WXMOTIF__)
-#include "wx/generic/dragimgg.h"
-#define wxDragImage wxGenericDragImage
+# include "wx/generic/dragimgg.h"
+# define wxDragImage wxGenericDragImage
#elif defined(__WXGTK__)
-#include "wx/generic/dragimgg.h"
-#define wxDragImage wxGenericDragImage
+# include "wx/generic/dragimgg.h"
+# define wxDragImage wxGenericDragImage
#elif defined(__WXX11__)
-#include "wx/generic/dragimgg.h"
-#define wxDragImage wxGenericDragImage
+# include "wx/generic/dragimgg.h"
+# define wxDragImage wxGenericDragImage
#elif defined(__WXMAC__)
-#include "wx/generic/dragimgg.h"
-#define wxDragImage wxGenericDragImage
+# include "wx/generic/dragimgg.h"
+# define wxDragImage wxGenericDragImage
#elif defined(__WXPM__)
-#include "wx/generic/dragimgg.h"
-#define wxDragImage wxGenericDragImage
+# include "wx/generic/dragimgg.h"
+# define wxDragImage wxGenericDragImage
#endif
*ypos = m_y;
}
-#ifndef __WIN16__
void GetPosition(long *xpos, long *ypos) const
{
if (xpos)
if (ypos)
*ypos = (long)m_y;
}
-#endif
// Find the position of the event
wxPoint GetPosition() const { return wxPoint(m_x, m_y); }
if (ypos) *ypos = m_y;
}
-#ifndef __WIN16__
void GetPosition(long *xpos, long *ypos) const
{
if (xpos) *xpos = (long)m_x;
if (ypos) *ypos = (long)m_y;
}
-#endif
wxPoint GetPosition() const
{ return wxPoint(m_x, m_y); }
#if defined(__VISUALC__) || ( defined(__MWERKS__) && defined( __INTEL__) )
typedef _off_t off_t;
-#elif defined(__BORLANDC__) && defined(__WIN16__)
- typedef long off_t;
#elif defined(__SYMANTEC__)
typedef long off_t;
#elif defined(__MWERKS__) && !defined(__INTEL__) && !defined(__MACH__)
DECLARE_DYNAMIC_CLASS(wxGenericImageList)
};
-#if !defined(__WXMSW__) || defined(__WIN16__) || defined(__WXUNIVERSAL__)
+#if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
/*
* wxImageList has to be a real class or we have problems with
* the run-time information.
{
}
};
-#endif // !__WXMSW__ || __WIN16__ || __WXUNIVERSAL__
+#endif // !__WXMSW__ || __WXUNIVERSAL__
#endif // __IMAGELISTH_G__
class WXDLLEXPORT wxListItem;
class WXDLLEXPORT wxListEvent;
-#if !defined(__WXMSW__) || defined(__WIN16__) || defined(__WXUNIVERSAL__)
+#if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
class WXDLLEXPORT wxListCtrl;
#define wxImageListType wxImageList
#else
DECLARE_DYNAMIC_CLASS(wxGenericListCtrl);
};
-#if !defined(__WXMSW__) || defined(__WIN16__) || defined(__WXUNIVERSAL__)
+#if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
/*
* wxListCtrl has to be a real class or we have problems with
* the run-time information.
{
}
};
-#endif // !__WXMSW__ || __WIN16__ || __WXUNIVERSAL__
+#endif // !__WXMSW__ || __WXUNIVERSAL__
#endif // __LISTCTRLH_G__
DECLARE_NO_COPY_CLASS(wxGenericTreeCtrl)
};
-#if !defined(__WXMSW__) || defined(__WIN16__) || defined(__WXUNIVERSAL__)
+#if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
/*
* wxTreeCtrl has to be a real class or we have problems with
* the run-time information.
{
}
};
-#endif // !__WXMSW__ || __WIN16__ || __WXUNIVERSAL__
+#endif // !__WXMSW__ || __WXUNIVERSAL__
#endif // wxUSE_TREECTRL
#ifndef _ISQL_H
#define _ISQL_H
-#if defined(__WIN16__)
-
-#define SQL_API EXPORT CALLBACK
-#ifndef EXPORT
-#define EXPORT _export
-#endif
-
-#elif defined(WIN32)
+#if defined(WIN32)
#define SQL_API __stdcall
#ifndef FAR
// library without it if you have no use for it - this will result in a
// somewhat smaller and faster operation.
//
-// This is ignored under Win16, threads are only supported under Win32.
+// Threads are only supported under Win32.
//
// Default is 1
//
#define wxMakeMetaFilePlaceable wxMakeMetafilePlaceable
#if defined(__WXMSW__)
- #if defined(__WIN32__) && wxUSE_ENH_METAFILE
+ #if wxUSE_ENH_METAFILE
#include "wx/msw/enhmeta.h"
// map all metafile classes to enh metafile
// this flag will be set if wxMetafile class is wxEnhMetaFile
#define wxMETAFILE_IS_ENH
#endif // wxUSE_WIN_METAFILES_ALWAYS
- #else // Win16
+ #else // !wxUSE_ENH_METAFILE
#include "wx/msw/metafile.h"
#endif
#elif defined(__WXPM__)
unsigned short Data3;
unsigned char Data4[8];
} UUID; // UUID = GUID = CLSID = LIBID = IID
- #else // WIN16
- #error "Don't know about UUIDs on this platform"
#endif // WIN32
#endif // UUID_DEFINED
inline RECT wxGetWindowRect(HWND hwnd)
{
RECT rect;
-#ifdef __WIN16__
- ::GetWindowRect(hwnd, &rect);
-#else // Win32
+
if ( !::GetWindowRect(hwnd, &rect) )
{
wxLogLastError(_T("GetWindowRect"));
}
-#endif // Win16/32
return rect;
}
inline RECT wxGetClientRect(HWND hwnd)
{
RECT rect;
-#ifdef __WIN16__
- ::GetClientRect(hwnd, &rect);
-#else // Win32
+
if ( !::GetClientRect(hwnd, &rect) )
{
wxLogLastError(_T("GetClientRect"));
}
-#endif // Win16/32
return rect;
}
// -------------------------------
// implement base class virtuals
-#ifdef __WIN16__
- virtual bool MSWOnDraw(WXDRAWITEMSTRUCT *item);
-#endif // __WIN16__
virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
protected:
/////////////////////////////////////////////////////////////////////////////
// Name: wx/msw/tbarmsw.h
-// Purpose: wxToolBar for Win16
+// Purpose: wxToolBar for older Windowses
// Author: Julian Smart
// Modified by: 13.12.99 by VZ during toolbar classes reorganization
// Created: 01/02/97
class WXDLLEXPORT wxMemoryDC;
// ----------------------------------------------------------------------------
-// wxToolBar for Win16
+// wxToolBar for older Windowses
// ----------------------------------------------------------------------------
class WXDLLEXPORT wxToolBar : public wxToolBarBase
virtual WXHBRUSH OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
WXUINT message, WXWPARAM wParam, WXLPARAM lParam);
- // In WIN16, need to override normal erasing because
- // Ctl3D doesn't use the wxWindows background colour.
-#ifdef __WIN16__
- void OnEraseBackground(wxEraseEvent& event);
-#endif
-
#if wxUSE_RICHEDIT
virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result);
/* to be changed for Win64! */
# ifndef __WIN32__
-# define __WIN16__
+# error "__WIN32__ should be defined for Win32 and Win64, Win16 is not supported"
# endif
/*
#if defined(__WXUNIVERSAL__)
#include "wx/generic/spinctlg.h"
-#elif defined(__WXMSW__) && defined(__WIN32__)
+#elif defined(__WXMSW__)
#include "wx/msw/spinctrl.h"
#elif defined(__WXPM__)
#include "wx/os2/spinctrl.h"
#include "wx/generic/spinctlg.h"
#elif defined(__WXMAC__)
#include "wx/mac/spinctrl.h"
-#else // Win16 || !Win
- #include "wx/generic/spinctlg.h"
#endif // platform
#define EVT_SPINCTRL(id, fn) \
#if defined(__WXUNIVERSAL__)
#include "wx/generic/treectlg.h"
#elif defined(__WXMSW__)
- #ifdef __WIN16__
- #include "wx/generic/treectlg.h"
- #else
#include "wx/msw/treectrl.h"
- #endif
#elif defined(__WXMOTIF__)
#include "wx/generic/treectlg.h"
#elif defined(__WXGTK__)
/* check whether we have wchar_t and which size it is if we do */
#if !defined(wxUSE_WCHAR_T)
- #if defined(__WIN16__)
- /* no wchar_t under Win16 regadrless of compiler used */
- #define wxUSE_WCHAR_T 0
- #elif defined(__UNIX__)
+ #if defined(__UNIX__)
#if defined(HAVE_WCSTR_H) || defined(HAVE_WCHAR_H) || defined(__FreeBSD__) || defined(__DARWIN__)
#define wxUSE_WCHAR_T 1
#else
#include "icons/gauge.xpm"
#endif
-#ifdef __WIN16__
- // Win16 doesn't have them
- #ifdef wxUSE_SPINBTN
- #undef wxUSE_SPINBTN
- #endif
- #define wxUSE_SPINBTN 0
-#else
- #ifndef wxUSE_SPINBTN
+#ifndef wxUSE_SPINBTN
#define wxUSE_SPINBTN 1
- #endif
-#endif // __WIN16__
+#endif
#include "wx/progdlg.h"
panel = new wxPanel(m_notebook);
-#if !defined(__WXMOTIF__) && !defined(__WIN16__) // wxStaticBitmap not working under Motif yet; and icons not allowed under WIN16.
+#if !defined(__WXMOTIF__) // wxStaticBitmap not working under Motif yet.
wxIcon icon = wxArtProvider::GetIcon(wxART_INFORMATION);
(void) new wxStaticBitmap( panel, wxID_ANY, icon, wxPoint(10, 10) );
// Problem with generic wxNotebook implementation whereby it doesn't size
// properly unless you set the size again
-#if defined(__WIN16__) || defined(__WXMOTIF__)
+#if defined(__WXMOTIF__)
int width, height;
frame->GetSize(& width, & height);
frame->SetSize(-1, -1, width, height);
//// Collation
-#ifndef __WIN16__
devMode->dmCollate = (m_printCollate ? DMCOLLATE_TRUE : DMCOLLATE_FALSE);
devMode->dmFields |= DM_COLLATE;
-#endif
//// Number of copies
//// Collation
-#ifndef __WIN16__
if (devMode->dmFields & DM_COLLATE)
{
if (devMode->dmCollate == DMCOLLATE_TRUE)
else
m_printCollate = FALSE;
}
-#endif
//// Number of copies
if ( ms_bAutoCreate && ms_pConfig == NULL ) {
ms_pConfig =
#if defined(__WXMSW__) && wxUSE_CONFIG_NATIVE
- #ifdef __WIN32__
new wxRegConfig(wxTheApp->GetAppName(), wxTheApp->GetVendorName());
- #else //WIN16
- new wxIniConfig(wxTheApp->GetAppName(), wxTheApp->GetVendorName());
- #endif
#else // either we're under Unix or wish to use files even under Windows
new wxFileConfig(wxTheApp->GetAppName());
#endif
}
#elif defined(__WINDOWS__) && !defined(__WXMICROWIN__)
-#ifdef __WIN32__
+
if ( dir.empty() )
{
if ( !::GetTempPath(MAX_PATH, wxStringBuffer(dir, MAX_PATH + 1)) )
path.clear();
}
-#else // Win16
- if ( !::GetTempFileName(NULL, prefix, 0, wxStringBuffer(path, 1025)) )
- {
- path.clear();
- }
-#endif // Win32/16
#else // !Windows
if ( dir.empty() )
unsigned long wxSysErrorCode()
{
#if defined(__WXMSW__) && !defined(__WXMICROWIN__)
-#ifdef __WIN32__
return ::GetLastError();
-#else //WIN16
- // TODO what to do on Windows 3.1?
- return 0;
-#endif //WIN16/32
#else //Unix
return errno;
#endif //Win/Unix
nErrCode = wxSysErrorCode();
#if defined(__WXMSW__) && !defined(__WXMICROWIN__)
-#ifdef __WIN32__
static wxChar s_szBuf[LOG_BUFFER_SIZE / 2];
// get error message from system
}
return s_szBuf;
-#else //Win16
- // TODO
- return NULL;
-#endif // Win16/32
-#else // Unix
+#else // Unix-WXMICROWIN
#if wxUSE_UNICODE
static wxChar s_szBuf[LOG_BUFFER_SIZE / 2];
wxConvCurrent->MB2WC(s_szBuf, strerror(nErrCode), WXSIZEOF(s_szBuf) -1);
#else
return strerror((int)nErrCode);
#endif
-#endif // Win/Unix
+#endif // Win/Unix-WXMICROWIN
}
#endif // wxUSE_LOG
}
} else
#endif
-#if wxUSE_SPINCTRL && !defined(__WIN16__) && !defined(__WXMOTIF__)
+#if wxUSE_SPINCTRL && !defined(__WXMOTIF__)
if (m_validatorWindow->IsKindOf(CLASSINFO(wxSpinCtrl)) )
{
wxSpinCtrl* pControl = (wxSpinCtrl*) m_validatorWindow;
}
} else
#endif
-#if wxUSE_SPINBTN && !defined(__WIN16__)
+#if wxUSE_SPINBTN
if (m_validatorWindow->IsKindOf(CLASSINFO(wxSpinButton)) )
{
wxSpinButton* pControl = (wxSpinButton*) m_validatorWindow;
} else
#endif
// array controls
-#if wxUSE_CHECKLISTBOX && !defined(__WIN16__)
+#if wxUSE_CHECKLISTBOX
// NOTE: wxCheckListBox is a wxListBox, so wxCheckListBox MUST come first:
if (m_validatorWindow->IsKindOf(CLASSINFO(wxCheckListBox)) )
{
}
} else
#endif
-#if wxUSE_SPINCTRL && !defined(__WIN16__) && !defined(__WXMOTIF__)
+#if wxUSE_SPINCTRL && !defined(__WXMOTIF__)
if (m_validatorWindow->IsKindOf(CLASSINFO(wxSpinCtrl)) )
{
wxSpinCtrl* pControl = (wxSpinCtrl*) m_validatorWindow;
}
} else
#endif
-#if wxUSE_SPINBTN && !defined(__WIN16__)
+#if wxUSE_SPINBTN
if (m_validatorWindow->IsKindOf(CLASSINFO(wxSpinButton)) )
{
wxSpinButton* pControl = (wxSpinButton*) m_validatorWindow;
#endif
// array controls
#if wxUSE_CHECKLISTBOX
-#ifndef __WIN16__
// NOTE: wxCheckListBox isa wxListBox, so wxCheckListBox MUST come first:
if (m_validatorWindow->IsKindOf(CLASSINFO(wxCheckListBox)) )
{
return FALSE;
} else
#endif
-#endif
#if wxUSE_LISTBOX
if (m_validatorWindow->IsKindOf(CLASSINFO(wxListBox)) )
{
* wxVariantDataString
*/
-#if defined(__BORLANDC__) && defined(__WIN16__)
-// Change name because of truncation
-#define wxVariantDataString wxVariantStringData
-#endif
-
class WXDLLIMPEXP_BASE wxVariantDataString: public wxVariantData
{
-#if defined(__BORLANDC__) && defined(__WIN16__)
-DECLARE_DYNAMIC_CLASS(wxVariantStringData)
-#else
DECLARE_DYNAMIC_CLASS(wxVariantDataString)
-#endif
public:
wxVariantDataString() { }
wxVariantDataString(const wxString& value) { m_value = value; }
return TRUE;
}
-#if defined(__BORLANDC__) && defined(__WIN16__)
-IMPLEMENT_DYNAMIC_CLASS(wxVariantStringData, wxVariantData)
-#else
IMPLEMENT_DYNAMIC_CLASS(wxVariantDataString, wxVariantData)
-#endif
/*
* wxVariantDataVoidPtr
*/
wxImage img = ReadData(xpm_lines);
-#ifdef __WIN16__
- delete[] (char**) xpm_lines;
-#else
delete[] xpm_lines;
-#endif
return img;
}
#endif
enum {
-#ifdef __WIN16__
- ZSTREAM_BUFFER_SIZE = 4096
-#else
ZSTREAM_BUFFER_SIZE = 16384
-#endif
};
//////////////////////
#include "wx/log.h"
#include "wx/intl.h"
-#ifdef __WIN16__
-#define wxUSE_IMAGE_IN_DRAGIMAGE 0
-#else
#define wxUSE_IMAGE_IN_DRAGIMAGE 1
-#endif
#if wxUSE_IMAGE_IN_DRAGIMAGE
#include "wx/image.h"
IMPLEMENT_DYNAMIC_CLASS(wxGenericImageList, wxObject)
-#if !defined(__WXMSW__) || defined(__WIN16__) || defined(__WXUNIVERSAL__)
+#if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
/*
* wxImageList has to be a real class or we have problems with
* the run-time information.
m_btnDetails = new wxButton(this, wxID_MORE, ms_details + EXPAND_SUFFIX);
sizerButtons->Add(m_btnDetails, 0, wxCENTRE | wxTOP, MARGIN/2 - 1);
-#ifndef __WIN16__
wxBitmap bitmap;
switch ( style & wxICON_MASK )
{
wxFAIL_MSG(_T("incorrect log style"));
}
sizerAll->Add(new wxStaticBitmap(this, -1, bitmap), 0);
-#endif // !Win16
const wxString& message = messages.Last();
sizerAll->Add(CreateTextSizer(message), 1,
bool loadedIcons = TRUE;
-#ifndef __WIN16__
for ( size_t icon = 0; icon < WXSIZEOF(icons); icon++ )
{
wxBitmap bmp = wxArtProvider::GetBitmap(icons[icon], wxART_MESSAGE_BOX,
}
m_listctrl->SetImageList(imageList, wxIMAGE_LIST_SMALL);
-#endif // !Win16
// and fill it
wxString fmt = wxLog::GetTimestamp();
{
int image;
-#ifndef __WIN16__
if ( loadedIcons )
{
switch ( m_severity[n] )
}
}
else // failed to load images
-#endif // !Win16
{
image = -1;
}
{
wxASSERT( IS_VALID_PAGE(nPage) );
-#if defined (__WIN16__)
- m_tabView->SetTabSelection(nPage);
-#else
wxNotebookPage* pPage = GetPage(nPage);
m_tabView->SetTabSelection((int) (long) pPage);
-#endif
+
// TODO
return 0;
}
bool wxNotebook::SetPageText(size_t nPage, const wxString& strText)
{
wxASSERT( IS_VALID_PAGE(nPage) );
-#if defined (__WIN16__)
- m_tabView->SetTabText(nPage, strText);
- Refresh();
- return TRUE;
-#else
+
wxNotebookPage* page = GetPage(nPage);
if (page)
{
Refresh();
return TRUE;
}
-#endif
+
return FALSE;
}
{
wxASSERT( IS_VALID_PAGE(nPage) );
-#if defined (__WIN16__)
- return m_tabView->GetTabText(nPage);
-#else
wxNotebookPage* page = ((wxNotebook*)this)->GetPage(nPage);
if (page)
return m_tabView->GetTabText((int) (long) page);
else
return wxEmptyString;
-#endif
}
int wxNotebook::GetPageImage(size_t nPage) const
}
wxNotebookPage* pPage = GetPage(nPage);
-#if defined (__WIN16__)
- m_tabView->RemoveTab(nPage);
-#else
+
m_tabView->RemoveTab((int) (long) pPage);
-#endif
m_pages.Remove(pPage);
delete pPage;
else if (m_nSelection > -1)
{
m_nSelection = -1;
-#if defined (__WIN16__)
- m_tabView->SetTabSelection(0, FALSE);
-#else
+
m_tabView->SetTabSelection((int) (long) GetPage(0), FALSE);
-#endif
+
if (m_nSelection != 0)
ChangePage(-1, 0);
}
// m_pages[nPage]->Lower();
wxNotebookPage* pPage = GetPage(nPage);
-#if defined (__WIN16__)
- m_tabView->RemoveTab(nPage);
-#else
+
m_tabView->RemoveTab((int) (long) pPage);
-#endif
m_pages.Remove(pPage);
wxASSERT( pPage != NULL );
wxCHECK( IS_VALID_PAGE(nPage) || nPage == GetPageCount(), FALSE );
-// For 16 bit integers (tabs limited to 32768)
-#if defined (__WIN16__)
- m_tabView->AddTab(nPage, strText);
-#else
m_tabView->AddTab((int) (long) pPage, strText);
-#endif
+
if (!bSelect)
pPage->Show(FALSE);
if (bSelect)
{
// This will cause ChangePage to be called, via OnSelPage
-#if defined (__WIN16__)
- m_tabView->SetTabSelection(nPage, TRUE);
-#else
+
m_tabView->SetTabSelection((int) (long) pPage, TRUE);
-#endif
}
// some page must be selected: either this one or the first one if there is
wxNotebookEvent event(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, m_notebook->GetId());
-#if defined (__WIN16__)
- int activatePos = activateId;
- int deactivatePos = deactivateId;
-#else
// Translate from wxTabView's ids (which aren't position-dependent)
// to wxNotebook's (which are).
wxNotebookPage* pActive = (wxNotebookPage*) activateId;
int activatePos = m_notebook->FindPagePosition(pActive);
int deactivatePos = m_notebook->FindPagePosition(pDeactive);
-#endif
event.SetEventObject(m_notebook);
event.SetSelection(activatePos);
event.SetOldSelection(deactivatePos);
{
wxNotebookEvent event(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, m_notebook->GetId());
-#if defined (__WIN16__)
- int activatePos = activateId;
- int deactivatePos = deactivateId;
-#else
// Translate from wxTabView's ids (which aren't position-dependent)
// to wxNotebook's (which are).
wxNotebookPage* pActive = (wxNotebookPage*) activateId;
int activatePos = m_notebook->FindPagePosition(pActive);
int deactivatePos = m_notebook->FindPagePosition(pDeactive);
-#endif
event.SetEventObject(m_notebook);
event.SetSelection(activatePos);
event.SetOldSelection(deactivatePos);
#include "wx/statline.h"
#endif
-#if !defined(__WIN16__) && wxUSE_SPINCTRL
+#if wxUSE_SPINCTRL
#include "wx/spinctrl.h"
#endif
wxString valStr;
valStr.Printf(wxT("%ld"), m_value);
m_spinctrl = new wxSpinCtrl(this, -1, valStr, wxDefaultPosition, wxSize( 140, -1 ) );
-#if !defined(__WIN16__) && wxUSE_SPINCTRL
+#if wxUSE_SPINCTRL
m_spinctrl->SetRange((int)m_min, (int)m_max);
#endif
inputsizer->Add( m_spinctrl, 1, wxCENTER | wxLEFT | wxRIGHT, 10 );
void wxSashWindow::InitColours()
{
// Shadow colours
-#ifndef __WIN16__
m_faceColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE);
m_mediumShadowColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DSHADOW);
m_darkShadowColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DDKSHADOW);
m_lightShadowColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DLIGHT);
m_hilightColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DHILIGHT);
-#else
- m_faceColour = wxTheColourDatabase->Find("LIGHT GREY");
- m_mediumShadowColour = wxTheColourDatabase->Find("GREY");
- m_darkShadowColour = wxTheColourDatabase->Find("BLACK");
- m_lightShadowColour = wxTheColourDatabase->Find("LIGHT GREY");
- m_hilightColour = wxTheColourDatabase->Find("WHITE");
-#endif
}
void wxSashWindow::SetSashVisible(wxSashEdgePosition edge, bool sash)
EVT_TREE_ITEM_GETTOOLTIP(-1, wxGenericTreeCtrl::OnGetToolTip)
END_EVENT_TABLE()
-#if !defined(__WXMSW__) || defined(__WIN16__) || defined(__WXUNIVERSAL__)
+#if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
/*
* wxTreeCtrl has to be a real class or we have problems with
* the run-time information.
{
if (m_hAccel)
{
- // This function not available in WIN16
-#if !defined(__WIN16__)
DestroyAcceleratorTable((HACCEL) m_hAccel);
-#endif
}
m_hAccel = 0 ;
}
extern int wxCharCodeWXToMSW(int id, bool *isVirtual);
// Create from an array
-#if !defined(__WIN16__)
wxAcceleratorTable::wxAcceleratorTable(int n, const wxAcceleratorEntry entries[])
{
- // Not available in WIN16
m_refData = new wxAcceleratorRefData;
ACCEL* arr = new ACCEL[n];
M_ACCELDATA->m_ok = (M_ACCELDATA->m_hAccel != 0);
}
-#else // Win16
-wxAcceleratorTable::wxAcceleratorTable(int WXUNUSED(n), const wxAcceleratorEntry WXUNUSED(entries)[])
-{
- // No, we simply gracefully degrade; we don't expect the
- // developer to pepper their code with #ifdefs just for this.
- // wxFAIL_MSG("not implemented");
-}
-#endif // Win32/16
bool wxAcceleratorTable::Ok() const
{
#if wxUSE_OLE || wxUSE_DRAG_AND_DROP
-#ifdef __WIN16__
- // for OLE, enlarge message queue to be as large as possible
- int iMsg = 96;
- while (!SetMessageQueue(iMsg) && (iMsg -= 8))
- ;
-#endif // Win16
-
#if wxUSE_OLE
// we need to initialize OLE library
#ifdef __WXWINCE__
wxWinHandleHash = new wxWinHashTable(wxKEY_INTEGER, 100);
- // This is to foil optimizations in Visual C++ that throw out dummy.obj.
- // PLEASE DO NOT ALTER THIS.
-#if defined(__VISUALC__) && defined(__WIN16__) && !defined(WXMAKINGDLL)
- extern char wxDummyChar;
- if (wxDummyChar) wxDummyChar++;
-#endif
-
#if !defined(__WXMICROWIN__) && !defined(__WXWINCE__)
wxSetKeyboardHook(TRUE);
#endif
if ( !cursor.Ok() )
return FALSE;
-#ifdef __WIN16__
- wxFAIL_MSG( _T("don't know how to convert cursor to bitmap") );
-
- return FALSE;
-#else
return CopyFromIconOrCursor(cursor);
-#endif // Win16
}
bool wxBitmap::CopyFromIcon(const wxIcon& icon)
if ( !icon.Ok() )
return FALSE;
- // GetIconInfo() doesn't exist under Win16 and I don't know any other way
- // to create a bitmap from icon there - but using this way we won't have
- // the mask (FIXME)
-#ifdef __WIN16__
- int width = icon.GetWidth(),
- height = icon.GetHeight();
-
- // copy the icon to the bitmap
- ScreenHDC hdcScreen;
- HDC hdc = ::CreateCompatibleDC(hdcScreen);
- HBITMAP hbitmap = ::CreateCompatibleBitmap(hdcScreen, width, height);
- HBITMAP hbmpOld = (HBITMAP)::SelectObject(hdc, hbitmap);
-
- ::DrawIcon(hdc, 0, 0, GetHiconOf(icon));
-
- ::SelectObject(hdc, hbmpOld);
- ::DeleteDC(hdc);
-
- wxBitmapRefData *refData = new wxBitmapRefData;
- m_refData = refData;
-
- refData->m_width = width;
- refData->m_height = height;
- refData->m_depth = wxDisplayDepth();
-
- refData->m_hBitmap = (WXHBITMAP)hbitmap;
-
- return TRUE;
-#else // Win32
return CopyFromIconOrCursor(icon);
-#endif // Win16/Win32
}
#if wxUSE_WXDIB
// macros
// ---------------------------------------------------------------------------
-// under Win16 the caret APIs are void but under Win32 they may return an
-// error code which we want to check - this macro does just this
-#ifdef __WIN16__
- #define CALL_CARET_API(api, args) api args
-#else // Win32
- #define CALL_CARET_API(api, args) \
+#define CALL_CARET_API(api, args) \
if ( !api args ) \
wxLogLastError(_T(#api))
-#endif // Win16/32
// ===========================================================================
// implementation
SetMarginWidth(GetDefaultMarginWidth());
}
-/*
- * JACS - I've got the owner-draw stuff partially working with WIN16,
- * with a really horrible-looking cross for wxCheckListBox instead of a
- * check - could use a bitmap check-mark instead, defined in wx.rc.
- * Also there's a refresh problem whereby it doesn't always draw the
- * check until you click to the right of it, which is OK for WIN32.
- */
-
bool wxCheckListBoxItem::OnDrawItem(wxDC& dc, const wxRect& rc,
wxODAction act, wxODStatus stat)
{
HWND hwndListbox = (HWND)m_pParent->GetHWND();
- #ifdef __WIN32__
RECT rcUpdate;
if ( ::SendMessage(hwndListbox, LB_GETITEMRECT,
{
wxLogDebug(wxT("LB_GETITEMRECT failed"));
}
- #else // Win16
- // FIXME this doesn't work if the listbox is scrolled!
- size_t nHeight = m_pParent->GetItemHeight();
- size_t y = m_nIndex * nHeight;
- RECT rcUpdate ;
- rcUpdate.left = 0 ;
- rcUpdate.top = y ;
- rcUpdate.right = GetDefaultMarginWidth() ;
- rcUpdate.bottom = y + nHeight ;
- #endif // Win32/16
InvalidateRect(hwndListbox, &rcUpdate, FALSE);
}
int wxCheckListBox::DoHitTestItem(wxCoord x, wxCoord y) const
{
- #ifdef __WIN32__
int nItem = (int)::SendMessage
(
(HWND)GetHWND(),
0,
MAKELPARAM(x, y)
);
- #else // Win16
- // FIXME this doesn't work when the listbox is scrolled!
- int nItem = y / m_nItemHeight;
- #endif // Win32/16
return nItem >= m_noItems ? wxNOT_FOUND : nItem;
}
case CF_BITMAP:
return ::IsClipboardFormatAvailable(CF_DIB) != 0;
-#if wxUSE_ENH_METAFILE && !defined(__WIN16__) && !defined(__WXWINCE__)
+#if wxUSE_ENH_METAFILE && !defined(__WXWINCE__)
case CF_METAFILEPICT:
return ::IsClipboardFormatAvailable(CF_ENHMETAFILE) != 0;
#endif // wxUSE_ENH_METAFILE
}
#endif // wxUSE_METAFILE
-#if wxUSE_ENH_METAFILE && !defined(__WIN16__) && !defined(__WXWINCE__)
+#if wxUSE_ENH_METAFILE && !defined(__WXWINCE__)
case wxDF_ENHMETAFILE:
{
wxEnhMetaFile *emf = (wxEnhMetaFile *)data;
toChar = -1;
}
- if (
-#ifdef __WIN32__
- SendMessage(hWnd, CB_SETEDITSEL, (WPARAM)0, (LPARAM)MAKELONG(fromChar, toChar))
-#else // Win16
- SendMessage(hWnd, CB_SETEDITSEL, (WPARAM)fromChar, (LPARAM)toChar)
-#endif
- == CB_ERR )
+ if ( SendMessage(hWnd, CB_SETEDITSEL, (WPARAM)0, (LPARAM)MAKELONG(fromChar, toChar)) == CB_ERR )
{
wxLogDebug(_T("CB_SETEDITSEL failed"));
}
// note that we combine the new clipping region with the existing one: this
// is compatible with what the other ports do and is the documented
// behaviour now (starting with 2.3.3)
-#if defined(__WIN16__) || defined(__WXWINCE__)
+#if defined(__WXWINCE__)
RECT rectClip;
if ( !::GetClipBox(GetHdc(), &rectClip) )
return;
::DeleteObject(hrgnClipOld);
::DeleteObject(hrgnDest);
-#else // Win32
+#else // !WinCE
if ( ::ExtSelectClipRgn(GetHdc(), (HRGN)hrgn, RGN_AND) == ERROR )
{
wxLogLastError(_T("ExtSelectClipRgn"));
return;
}
-#endif // Win16/32
+#endif // WinCE/!WinCE
m_clipping = true;
#else
DrawFrameControl(GetHdc(), &rect, DFC_MENU, DFCS_MENUCHECK);
#endif
-#else // Win16
- // In WIN16, draw a cross
+#else // Symantec-MicroWin
+ // draw a cross
HPEN blackPen = ::CreatePen(PS_SOLID, 1, RGB(0, 0, 0));
HPEN whiteBrush = (HPEN)::GetStockObject(WHITE_BRUSH);
HPEN hPenOld = (HPEN)::SelectObject(GetHdc(), blackPen);
::SelectObject(GetHdc(), hPenOld);
::SelectObject(GetHdc(), hBrushOld);
::DeleteObject(blackPen);
-#endif // Win32/16
+#endif // Win32/Symantec-MicroWin
CalcBoundingBox(x1, y1);
CalcBoundingBox(x2, y2);
int ret = ::StartDoc(GetHdc(), &docinfo);
-#ifndef __WIN16__
if (ret <= 0)
{
DWORD lastError = GetLastError();
wxLogDebug(wxT("wxDC::StartDoc failed with error: %ld\n"), lastError);
}
-#endif
return (ret > 0);
}
#pragma hdrstop
#endif
-// these functions require Win32
-#if defined(__WIN16__) && wxUSE_DIALUP_MANAGER
- #undef wxUSE_DIALUP_MANAGER
- #define wxUSE_DIALUP_MANAGER 0
-#endif // wxUSE_DIALUP_MANAGER && Win16
-
#if wxUSE_DIALUP_MANAGER
#ifndef WX_PRECOMP
#pragma hdrstop
#endif
-// For _A_SUBDIR, etc.
-#if defined(__BORLANDC__) && defined(__WIN16__)
-#include <dos.h>
-#endif
-
#ifndef WX_PRECOMP
#include "wx/intl.h"
#include "wx/log.h"
// define the types and functions used for file searching
// ----------------------------------------------------------------------------
-// under Win16 use compiler-specific functions
-#ifdef __WIN16__
- #ifdef __VISUALC__
- #include <dos.h>
- #include <errno.h>
-
- typedef struct _find_t FIND_STRUCT;
- #elif defined(__BORLANDC__)
- #include <dir.h>
-
- typedef struct ffblk FIND_STRUCT;
- #else
- #error "No directory searching functions for this compiler"
- #endif
-
- typedef FIND_STRUCT *FIND_DATA;
- typedef char FIND_ATTR;
-
- static inline FIND_DATA InitFindData() { return (FIND_DATA)NULL; }
- static inline bool IsFindDataOk(FIND_DATA fd) { return fd != NULL; }
- static inline void FreeFindData(FIND_DATA fd) { free(fd); }
-
- static inline FIND_DATA FindFirst(const wxString& spec,
- FIND_STRUCT * WXUNUSED(finddata))
- {
- // attribute to find all files
- static const FIND_ATTR attr = 0x3F;
-
- FIND_DATA fd = (FIND_DATA)malloc(sizeof(FIND_STRUCT));
-
- if (
- #ifdef __VISUALC__
- _dos_findfirst(spec, attr, fd) == 0
- #else // Borland
- findfirst(spec, fd, attr) == 0
- #endif
- )
- {
- return fd;
- }
- else
- {
- free(fd);
-
- return NULL;
- }
- }
-
- static inline bool FindNext(FIND_DATA fd, FIND_STRUCT * WXUNUSED(finddata))
- {
- #ifdef __VISUALC__
- return _dos_findnext(fd) == 0;
- #else // Borland
- return findnext(fd) == 0;
- #endif
- }
-
- static const wxChar *GetNameFromFindData(FIND_STRUCT *finddata)
- {
- #ifdef __VISUALC__
- return finddata->name;
- #else // Borland
- return finddata->ff_name;
- #endif
- }
-
- static const FIND_ATTR GetAttrFromFindData(FIND_STRUCT *finddata)
- {
- #ifdef __VISUALC__
- return finddata->attrib;
- #else // Borland
- return finddata->ff_attrib;
- #endif
- }
+typedef WIN32_FIND_DATA FIND_STRUCT;
+typedef HANDLE FIND_DATA;
+typedef DWORD FIND_ATTR;
- static inline bool IsDir(FIND_ATTR attr)
- {
- return (attr & _A_SUBDIR) != 0;
- }
-
- static inline bool IsHidden(FIND_ATTR attr)
- {
- return (attr & (_A_SYSTEM | _A_HIDDEN)) != 0;
- }
-#else // Win32
- typedef WIN32_FIND_DATA FIND_STRUCT;
- typedef HANDLE FIND_DATA;
- typedef DWORD FIND_ATTR;
-
- static inline FIND_DATA InitFindData() { return INVALID_HANDLE_VALUE; }
+static inline FIND_DATA InitFindData() { return INVALID_HANDLE_VALUE; }
- static inline bool IsFindDataOk(FIND_DATA fd)
- {
+static inline bool IsFindDataOk(FIND_DATA fd)
+{
return fd != INVALID_HANDLE_VALUE;
- }
+}
- static inline void FreeFindData(FIND_DATA fd)
- {
+static inline void FreeFindData(FIND_DATA fd)
+{
if ( !::FindClose(fd) )
{
wxLogLastError(_T("FindClose"));
}
- }
+}
- static inline FIND_DATA FindFirst(const wxString& spec,
+static inline FIND_DATA FindFirst(const wxString& spec,
FIND_STRUCT *finddata)
- {
+{
return ::FindFirstFile(spec, finddata);
- }
+}
- static inline bool FindNext(FIND_DATA fd, FIND_STRUCT *finddata)
- {
+static inline bool FindNext(FIND_DATA fd, FIND_STRUCT *finddata)
+{
return ::FindNextFile(fd, finddata) != 0;
- }
+}
- static const wxChar *GetNameFromFindData(FIND_STRUCT *finddata)
- {
+static const wxChar *GetNameFromFindData(FIND_STRUCT *finddata)
+{
return finddata->cFileName;
- }
+}
- static const FIND_ATTR GetAttrFromFindData(FIND_STRUCT *finddata)
- {
+static const FIND_ATTR GetAttrFromFindData(FIND_STRUCT *finddata)
+{
return finddata->dwFileAttributes;
- }
+}
- static inline bool IsDir(FIND_ATTR attr)
- {
+static inline bool IsDir(FIND_ATTR attr)
+{
return (attr & FILE_ATTRIBUTE_DIRECTORY) != 0;
- }
+}
- static inline bool IsHidden(FIND_ATTR attr)
- {
+static inline bool IsHidden(FIND_ATTR attr)
+{
return (attr & (FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM)) != 0;
- }
-#endif // __WIN16__
+}
// ----------------------------------------------------------------------------
// constants
{
bool first = FALSE;
-#ifdef __WIN32__
WIN32_FIND_DATA finddata;
#define PTR_TO_FINDDATA (&finddata)
-#else // Win16
- #define PTR_TO_FINDDATA (m_finddata)
-#endif
if ( !IsFindDataOk(m_finddata) )
{
#include "wx/msw/msvcrt.h"
-// Foils optimizations in Visual C++ (see also app.cpp). Without it,
-// dummy.obj isn't linked and we get a linker error.
-#if defined(__VISUALC__) && defined(__WIN16__)
- char wxDummyChar = 0;
-#endif
-
// CF_ANSIONLY flag is obsolete for Win32
if ( !m_fontData.GetAllowSymbols() )
{
-#ifdef __WIN16__
- flags |= CF_ANSIONLY;
-#else // Win32
flags |= CF_SELECTSCRIPT;
logFont.lfCharSet = ANSI_CHARSET;
-#endif // Win16/32
}
if ( m_fontData.GetEnableEffects() )
#ifdef __WXWINCE__
::EnumFontFamilies(hDC, m_facename, (wxFONTENUMPROC)wxFontEnumeratorProc,
(LPARAM)this) ;
-#elif defined(__WIN32__)
+#else // __WIN32__
LOGFONT lf;
lf.lfCharSet = m_charset;
wxStrncpy(lf.lfFaceName, m_facename, WXSIZEOF(lf.lfFaceName));
lf.lfPitchAndFamily = 0;
::EnumFontFamiliesEx(hDC, &lf, (wxFONTENUMPROC)wxFontEnumeratorProc,
(LPARAM)this, 0 /* reserved */) ;
-#else // Win16
- ::EnumFonts(hDC, (LPTSTR)NULL, (FONTENUMPROC)wxFontEnumeratorProc,
- #ifdef STRICT
- (LPARAM)
- #else
- (LPSTR)
- #endif
- this);
-#endif // Win32/16
+#endif // Win32/CE
::ReleaseDC(NULL, hDC);
#endif
wxWindow *parent = win->GetParent();
wxCHECK_RET( parent, wxT("MDI client without parent frame? weird...") );
-#ifndef __WIN16__
::SendMessage(GetWinHwnd(win), WM_MDIREFRESHMENU, 0, 0L);
-#endif
::DrawMenuBar(GetWinHwnd(parent));
}
static void UnpackMDIActivate(WXWPARAM wParam, WXLPARAM lParam,
WXWORD *activate, WXHWND *hwndAct, WXHWND *hwndDeact)
{
-#ifdef __WIN32__
*activate = true;
*hwndAct = (WXHWND)lParam;
*hwndDeact = (WXHWND)wParam;
-#else // Win16
- *activate = (WXWORD)wParam;
- *hwndAct = (WXHWND)LOWORD(lParam);
- *hwndDeact = (WXHWND)HIWORD(lParam);
-#endif // Win32/Win16
}
#endif
node->GetData()->m_isChecked = FALSE;
}
- // we also have to do it in the menu for Win16 (under Win32
- // CheckMenuRadioItem() does it for us)
-#ifndef __WIN32__
- ::CheckMenuItem(hmenu, n, n == pos ? MF_CHECKED : MF_UNCHECKED);
-#endif // Win16
-
node = node->GetNext();
}
}
#if wxUSE_MIMETYPE
-// Doesn't compile in WIN16 mode
-#ifndef __WIN16__
-
#ifndef WX_PRECOMP
#include "wx/string.h"
#if wxUSE_GUI
return !rkey.Exists() || rkey.DeleteSelf();
}
-#endif
- // __WIN16__
-
#endif // wxUSE_MIMETYPE
#include "wx/printdlg.h"
#include "wx/dcprint.h"
-// Have to emulate page setup dialog for Win16
-#if !defined(__WIN95__)
- #include "wx/generic/prntdlgg.h"
-#endif
-
#include <stdlib.h>
#include "wx/msw/private.h"
void wxRadioButton::SetValue(bool value)
{
- // BST_CHECKED is defined as 1, BST_UNCHECKED as 0, so we can just pass
- // value as is (we don't use BST_XXX here as they're not defined for Win16)
- (void)::SendMessage(GetHwnd(), BM_SETCHECK, (WPARAM)value, 0L);
+ (void)::SendMessage(GetHwnd(), BM_SETCHECK, (value?BST_CHECKED:BST_UNCHECKED), 0L);
m_isChecked = value;
#include "wx/config.h"
-#ifndef __WIN16__
-
#include "wx/msw/registry.h"
#include "wx/msw/regconf.h"
return bOk;
}
-#endif
- // __WIN16__
-
#endif
// wxUSE_CONFIG
m_numRects = 0;
else
{
-#if defined(__WIN32__)
DWORD noBytes = ::GetRegionData(((wxRegionRefData*)region.m_refData)->m_region, 0, NULL);
RGNDATA *rgnData = (RGNDATA*) new char[noBytes];
::GetRegionData(((wxRegionRefData*)region.m_refData)->m_region, noBytes, rgnData);
m_numRects = header->nCount;
delete[] (char*) rgnData;
-#else // Win16
- RECT rect;
- ::GetRgnBox(((wxRegionRefData*)region.m_refData)->m_region, &rect);
- m_rects = new wxRect[1];
- m_rects[0].x = rect.left;
- m_rects[0].y = rect.top;
- m_rects[0].width = rect.right - rect.left;
- m_rects[0].height = rect.bottom - rect.top;
-
- m_numRects = 1;
-#endif // Win32/16
}
}
#include "wx/intl.h"
#include "wx/log.h"
-#ifndef __WIN16__
-
// Windows headers
/*
#define STRICT
size_t *pnValues,
size_t *pnMaxValueLen) const
{
-#if defined(__WIN32__)
-
// old gcc headers incorrectly prototype RegQueryInfoKey()
#if defined(__GNUWIN32_OLD__) && !defined(__CYGWIN10__)
#define REG_PARAM (size_t *)
}
return TRUE;
-#else // Win16
- wxFAIL_MSG("GetKeyInfo() not implemented");
-
- return FALSE;
-#endif
}
// ----------------------------------------------------------------------------
if ( !Open() )
return FALSE;
-#if defined(__WIN32__)
m_dwLastError = RegDeleteValue((HKEY) m_hKey, WXSTRINGCAST szValue);
// deleting a value which doesn't exist is not considered an error
szValue, GetName().c_str());
return FALSE;
}
-#else //WIN16
- // named registry values don't exist in Win16 world
- wxASSERT( IsEmpty(szValue) );
-
- // just set the (default and unique) value of the key to ""
- m_dwLastError = RegSetValue((HKEY) m_hKey, NULL, REG_SZ, "", RESERVED);
- if ( m_dwLastError != ERROR_SUCCESS ) {
- wxLogSysError(m_dwLastError, _("Can't delete value of key '%s'"),
- GetName().c_str());
- return FALSE;
- }
-#endif //WIN16/32
return TRUE;
}
// this function should be silent, so suppress possible messages from Open()
wxLogNull nolog;
- #ifdef __WIN32__
if ( !CONST_CAST Open() )
return FALSE;
RESERVED,
NULL, NULL, NULL);
return dwRet == ERROR_SUCCESS;
- #else // WIN16
- // only unnamed value exists
- return IsEmpty(szValue);
- #endif // WIN16/32
}
// returns TRUE if this key has any values
wxRegKey::ValueType wxRegKey::GetValueType(const wxChar *szValue) const
{
- #ifdef __WIN32__
if ( ! CONST_CAST Open() )
return Type_None;
}
return (ValueType)dwType;
- #else //WIN16
- return IsEmpty(szValue) ? Type_String : Type_None;
- #endif //WIN16/32
}
#ifdef __WIN32__
bool raw) const
{
if ( CONST_CAST Open() ) {
- #ifdef __WIN32__
+
// first get the type and size of the data
DWORD dwType, dwSize;
m_dwLastError = RegQueryValueEx((HKEY) m_hKey, WXSTRINGCAST szValue, RESERVED,
return TRUE;
}
}
- #else //WIN16
- // named registry values don't exist in Win16
- wxASSERT( IsEmpty(szValue) );
-
- m_dwLastError = RegQueryValue((HKEY) m_hKey, 0, strValue.GetWriteBuf(256), &l);
- strValue.UngetWriteBuf();
- if ( m_dwLastError == ERROR_SUCCESS )
- return TRUE;
- #endif //WIN16/32
}
wxLogSysError(m_dwLastError, _("Can't read value of '%s'"),
bool wxRegKey::SetValue(const wxChar *szValue, const wxString& strValue)
{
if ( CONST_CAST Open() ) {
-#if defined( __WIN32__)
m_dwLastError = RegSetValueEx((HKEY) m_hKey, szValue, (DWORD) RESERVED, REG_SZ,
(RegString)strValue.c_str(),
(strValue.Len() + 1)*sizeof(wxChar));
if ( m_dwLastError == ERROR_SUCCESS )
return TRUE;
-#else //WIN16
- // named registry values don't exist in Win16
- wxASSERT( IsEmpty(szValue) );
-
- m_dwLastError = RegSetValue((HKEY) m_hKey, NULL, REG_SZ, strValue, NULL);
- if ( m_dwLastError == ERROR_SUCCESS )
- return TRUE;
-#endif //WIN16/32
}
wxLogSysError(m_dwLastError, _("Can't set value of '%s'"),
if ( lIndex == -1 )
return FALSE;
-#if defined( __WIN32__)
wxChar szValueName[1024]; // @@ use RegQueryInfoKey...
DWORD dwValueLen = WXSIZEOF(szValueName);
}
strValueName = szValueName;
-#else //WIN16
- // only one unnamed value
- wxASSERT( lIndex == 0 );
-
- lIndex = -1;
- strValueName.Empty();
-#endif
return TRUE;
}
str.Truncate(str.Len() - 1);
}
-#endif
- // __WIN16__
-
// all Windows version, for the other ones we have to check
bool useDefault;
- // none of the is supported under Win16 anyhow
-#ifdef __WIN32__
int verMaj, verMin;
wxGetOsVersion(&verMaj, &verMin);
if ( verMaj < 4 )
}
}
}
-#else
- useDefault = TRUE;
-#endif // __WIN32__
if ( useDefault )
{
// note that this function will create a new object every time
// it is called even if the image needs no conversion
-#ifndef __WIN16__
-
static wxGDIImage* ConvertImage( const wxGDIImage& bitmap )
{
bool isIcon = bitmap.IsKindOf( CLASSINFO(wxIcon) );
return new wxIcon( (const wxIcon&)bitmap );
}
-#endif
-
bool wxStaticBitmap::Create(wxWindow *parent,
wxWindowID id,
const wxGDIImage& bitmap,
wxGDIImage *image = (wxGDIImage *)NULL;
m_isIcon = bitmap.IsKindOf(CLASSINFO(wxIcon));
-#ifdef __WIN16__
- wxASSERT_MSG( !m_isIcon, "Icons are not supported in wxStaticBitmap under WIN16." );
- image = &bitmap;
-#else // Win32
image = ConvertImage( bitmap );
m_isIcon = image->IsKindOf( CLASSINFO(wxIcon) );
-#endif // Win16/32
// create the native control
- if ( !MSWCreateControl(
-#ifdef __WIN32__
- _T("STATIC"),
-#else // Win16
- _T("BUTTON"),
-#endif // Win32/16
- wxEmptyString, pos, size) )
+ if ( !MSWCreateControl(_T("STATIC"), wxEmptyString, pos, size) )
{
// control creation failed
- return FALSE;
+ return false;
}
// no need to delete the new image
{
WXDWORD msStyle = wxControl::MSWGetStyle(style, exstyle);
-#ifdef __WIN32__
// what kind of control are we?
msStyle |= m_isIcon ? SS_ICON : SS_BITMAP;
// we use SS_CENTERIMAGE to prevent the control from resizing the bitmap to
// fit to its size -- this is unexpected and doesn't happen in other ports
msStyle |= SS_CENTERIMAGE;
-#else // Win16
- msStyle |= BS_OWNERDRAW;
-#endif // Win32/16
return msStyle;
}
InvalidateRect(GetHwndOf(GetParent()), &rect, TRUE);
}
-// under Win32 we use the standard static control style for this
-#ifdef __WIN16__
-bool wxStaticBitmap::MSWOnDraw(WXDRAWITEMSTRUCT *item)
-{
- LPDRAWITEMSTRUCT lpDIS = (LPDRAWITEMSTRUCT) item;
-
- wxCHECK_MSG( !m_isIcon, FALSE, _T("icons not supported in wxStaticBitmap") );
-
- wxBitmap* bitmap = (wxBitmap *)m_image;
- if ( !bitmap->Ok() )
- return FALSE;
-
- HDC hDC = lpDIS->hDC;
- HDC memDC = ::CreateCompatibleDC(hDC);
-
- HBITMAP old = (HBITMAP) ::SelectObject(memDC, (HBITMAP) bitmap->GetHBITMAP());
-
- if (!old)
- return FALSE;
-
- int x = lpDIS->rcItem.left;
- int y = lpDIS->rcItem.top;
- int width = lpDIS->rcItem.right - x;
- int height = lpDIS->rcItem.bottom - y;
-
- // Centre the bitmap in the control area
- int x1 = (int) (x + ((width - bitmap->GetWidth()) / 2));
- int y1 = (int) (y + ((height - bitmap->GetHeight()) / 2));
-
- ::BitBlt(hDC, x1, y1, bitmap->GetWidth(), bitmap->GetHeight(), memDC, 0, 0, SRCCOPY);
-
- ::SelectObject(memDC, old);
-
- ::DeleteDC(memDC);
-
- return TRUE;
-}
-#endif // Win16
-
// We need this or the control can never be moved e.g. in Dialog Editor.
WXLRESULT wxStaticBitmap::MSWWindowProc(WXUINT nMsg,
WXWPARAM wParam,
#include "wx/wx.h"
#endif
-#if wxUSE_TOOLBAR && defined(__WIN16__)
-
-#if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
- #include "malloc.h"
-#endif
-
-#if !defined(__MWERKS__) && !defined(__SALFORDC__)
- #include <memory.h>
-#endif
-
-#include <stdlib.h>
-
-#include "wx/msw/tbarmsw.h"
-#include "wx/event.h"
-#include "wx/app.h"
-#include "wx/bitmap.h"
-#include "wx/msw/private.h"
-#include "wx/msw/dib.h"
-
-// ----------------------------------------------------------------------------
-// constants
-// ----------------------------------------------------------------------------
-
-#define DEFAULTBITMAPX 16
-#define DEFAULTBITMAPY 15
-#define DEFAULTBUTTONX 24
-#define DEFAULTBUTTONY 22
-#define DEFAULTBARHEIGHT 27
-
-//
-// States (not all of them currently used)
-//
-#define wxTBSTATE_CHECKED 0x01 // radio button is checked
-#define wxTBSTATE_PRESSED 0x02 // button is being depressed (any style)
-#define wxTBSTATE_ENABLED 0x04 // button is enabled
-#define wxTBSTATE_HIDDEN 0x08 // button is hidden
-#define wxTBSTATE_INDETERMINATE 0x10 // button is indeterminate
-
-// ----------------------------------------------------------------------------
-// private classes
-// ----------------------------------------------------------------------------
-
-class WXDLLEXPORT wxToolBarTool : public wxToolBarToolBase
-{
-public:
- wxToolBarTool(wxToolBar *tbar,
- int id,
- const wxBitmap& bmpNormal,
- const wxBitmap& bmpDisabled,
- bool toggle,
- wxObject *clientData,
- const wxString& shortHelp,
- const wxString& longHelp)
- : wxToolBarToolBase(tbar, id, bmpNormal, bmpDisabled, toggle,
- clientData, shortHelp, longHelp)
- {
- }
-
- wxToolBarTool(wxToolBar *tbar, wxControl *control)
- : wxToolBarToolBase(tbar, control)
- {
- }
-
- void SetSize(const wxSize& size)
- {
- m_width = size.x;
- m_height = size.y;
- }
-
- long GetWidth() const { return m_width; }
- long GetHeight() const { return m_height; }
-
- wxCoord m_x;
- wxCoord m_y;
- wxCoord m_width;
- wxCoord m_height;
-};
-
-// ----------------------------------------------------------------------------
-// wxWin macros
-// ----------------------------------------------------------------------------
-
-#if !USE_SHARED_LIBRARY
-IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxToolBarBase)
-
-BEGIN_EVENT_TABLE(wxToolBar, wxToolBarBase)
- EVT_PAINT(wxToolBar::OnPaint)
- EVT_MOUSE_EVENTS(wxToolBar::OnMouseEvent)
-END_EVENT_TABLE()
-#endif
-
-// ============================================================================
-// implementation
-// ============================================================================
-
-// ----------------------------------------------------------------------------
-// wxToolBarTool
-// ----------------------------------------------------------------------------
-
-wxToolBarToolBase *wxToolBar::CreateTool(int id,
- const wxString& label,
- const wxBitmap& bmpNormal,
- const wxBitmap& bmpDisabled,
- wxItemKind kind,
- wxObject *clientData,
- const wxString& shortHelp,
- const wxString& longHelp)
-{
- return new wxToolBarTool(this, id, label, bmpNormal, bmpDisabled, kind,
- clientData, shortHelp, longHelp);
-}
-
-wxToolBarToolBase *wxToolBar::CreateTool(wxControl *control)
-{
- return new wxToolBarTool(this, control);
-}
-
-// ----------------------------------------------------------------------------
-// wxToolBar
-// ----------------------------------------------------------------------------
-
-void wxToolBar::Init()
-{
- m_hbrDither = 0;
- m_rgbFace = 0;
- m_rgbShadow = 0;
- m_rgbHilight = 0;
- m_rgbFrame = 0;
- m_hdcMono = 0;
- m_hbmMono = 0;
- m_hbmDefault = 0;
-
- m_defaultWidth = DEFAULTBITMAPX;
- m_defaultHeight = DEFAULTBITMAPY;
-
- m_xPos =
- m_yPos = -1;
-
- m_maxWidth = m_maxHeight = 0;
- m_pressedTool = m_currentTool = -1;
- m_toolPacking = 1;
- m_toolSeparation = 5;
-}
-
-bool wxToolBar::Create(wxWindow *parent,
- wxWindowID id,
- const wxPoint& pos,
- const wxSize& size,
- long style,
- const wxString& name)
-{
- if ( !wxWindow::Create(parent, id, pos, size, style, name) )
- return FALSE;
-
- if ( style & wxTB_HORIZONTAL )
- {
- m_lastX = 3;
- m_lastY = 7;
- }
- else
- {
- m_lastX = 7;
- m_lastY = 3;
- }
-
- // Set it to grey
- SetBackgroundColour(wxColour(192, 192, 192));
-
- InitGlobalObjects();
-
- return TRUE;
-}
-
-wxToolBar::~wxToolBar()
-{
- FreeGlobalObjects();
-}
-
-void wxToolBar::SetToolBitmapSize(const wxSize& size)
-{
- m_defaultWidth = size.x;
- m_defaultHeight = size.y;
-
- FreeGlobalObjects();
- InitGlobalObjects();
-}
-
-// The button size is bigger than the bitmap size
-wxSize wxToolBar::GetToolSize() const
-{
- return wxSize(m_defaultWidth + 8, m_defaultHeight + 7);
-}
-
-wxToolBarToolBase *wxToolBar::FindToolForPosition(wxCoord x, wxCoord y) const
-{
- wxToolBarToolsList::Node *node = m_tools.GetFirst();
- while (node)
- {
- wxToolBarTool *tool = (wxToolBarTool *)node->GetData();
- if ((x >= tool->m_x) && (y >= tool->m_y) &&
- (x <= (tool->m_x + tool->GetWidth())) &&
- (y <= (tool->m_y + tool->GetHeight())))
- {
- return tool;
- }
-
- node = node->GetNext();
- }
-
- return (wxToolBarToolBase *)NULL;
-}
-
-wxToolBarToolBase *wxToolBar::AddTool(int id,
- const wxBitmap& bitmap,
- const wxBitmap& pushedBitmap,
- bool toggle,
- wxCoord xPos,
- wxCoord yPos,
- wxObject *clientData,
- const wxString& helpString1,
- const wxString& helpString2)
-{
- // rememeber the position for DoInsertTool()
- m_xPos = xPos;
- m_yPos = yPos;
-
- return wxToolBarBase::AddTool(id, bitmap, pushedBitmap, toggle,
- xPos, yPos, clientData,
- helpString1, helpString2);
-}
-
-void wxToolBar::OnPaint(wxPaintEvent& event)
-{
- wxPaintDC dc(this);
-
- static int wxOnPaintCount = 0;
-
- // Prevent reentry of OnPaint which would cause
- // wxMemoryDC errors.
- if (wxOnPaintCount > 0)
- return;
- wxOnPaintCount++;
-
- wxToolBarToolsList::Node *node = m_tools.GetFirst();
- while (node)
- {
- wxToolBarToolBase *tool = node->GetData();
- if ( tool->GetStyle()!= wxTOOL_STYLE_BUTTON )
- {
- int state = tool->IsEnabled() ? wxTBSTATE_ENABLED : 0;
- if ( tool->IsToggled() )
- state |= wxTBSTATE_CHECKED;
-
- DrawTool(dc, tool, state);
- }
-
- node = node->GetNext();
- }
-
- wxOnPaintCount--;
-}
-
-// If a Button is disabled, then NO function (besides leaving
-// or entering) should be carried out. Therefore the additions
-// of 'enabled' testing (Stefan Hammes).
-void wxToolBar::OnMouseEvent(wxMouseEvent& event)
-{
- static wxToolBarToolBase *eventCurrentTool = NULL;
- wxClientDC dc(this);
-
- if (event.Leaving())
- {
- m_currentTool = -1;
- if (eventCurrentTool && eventCurrentTool->IsEnabled())
- {
- ::ReleaseCapture();
- int state = wxTBSTATE_ENABLED;
- if (eventCurrentTool->IsToggled())
- state |= wxTBSTATE_CHECKED;
- DrawTool(dc, eventCurrentTool, state);
- eventCurrentTool = NULL;
- }
- OnMouseEnter(-1);
- return;
- }
-
- wxCoord x, y;
- event.GetPosition(&x, &y);
- wxToolBarToolBase *tool = FindToolForPosition(x, y);
-
- if (!tool)
- {
- if (eventCurrentTool && eventCurrentTool->IsEnabled())
- {
- ::ReleaseCapture();
-
- int state = wxTBSTATE_ENABLED;
- if (eventCurrentTool->IsToggled())
- state |= wxTBSTATE_CHECKED;
- DrawTool(dc, eventCurrentTool, state);
- eventCurrentTool = NULL;
- }
- if (m_currentTool > -1)
- {
- m_currentTool = -1;
- OnMouseEnter(-1);
- }
- return;
- }
-
- if (!event.Dragging() && !event.IsButton())
- {
- if (tool->GetId() != m_currentTool)
- {
- OnMouseEnter(m_currentTool = tool->GetId());
- return;
- }
- }
- if (event.Dragging() && tool->IsEnabled())
- {
- if (eventCurrentTool)
- {
- // Might have dragged outside tool
- if (eventCurrentTool != tool)
- {
- int state = wxTBSTATE_ENABLED;
- if (tool->IsToggled())
- state |= wxTBSTATE_CHECKED;
- DrawTool(dc, tool, state);
- eventCurrentTool = NULL;
- return;
- }
- }
- else
- {
- if (tool && event.LeftIsDown() && tool->IsEnabled())
- {
- eventCurrentTool = tool;
- ::SetCapture((HWND) GetHWND());
- int state = wxTBSTATE_ENABLED|wxTBSTATE_PRESSED;
- if (tool->IsToggled())
- state |= wxTBSTATE_CHECKED;
- DrawTool(dc, tool, state);
- }
- }
- }
- if (event.LeftDown() && tool->IsEnabled())
- {
- eventCurrentTool = tool;
- ::SetCapture((HWND) GetHWND());
- int state = wxTBSTATE_ENABLED|wxTBSTATE_PRESSED;
- if (tool->IsToggled())
- state |= wxTBSTATE_CHECKED;
- DrawTool(dc, tool, state);
- }
- else if (event.LeftUp() && tool->IsEnabled())
- {
- if (eventCurrentTool)
- ::ReleaseCapture();
- if (eventCurrentTool == tool)
- {
- if (tool->CanBeToggled())
- {
- tool->Toggle();
- if (!OnLeftClick(tool->GetId(), tool->IsToggled()))
- {
- tool->Toggle();
- }
- int state = wxTBSTATE_ENABLED;
- if (tool->IsToggled())
- state |= wxTBSTATE_CHECKED;
- DrawTool(dc, tool, state);
- }
- else
- {
- int state = wxTBSTATE_ENABLED;
- if (tool->IsToggled())
- state |= wxTBSTATE_CHECKED;
- DrawTool(dc, tool, state);
- OnLeftClick(tool->GetId(), tool->IsToggled());
- }
- }
- eventCurrentTool = NULL;
- }
- else if (event.RightDown() && tool->IsEnabled())
- {
- OnRightClick(tool->GetId(), x, y);
- }
-}
-
-void wxToolBar::DoEnableTool(wxToolBarToolBase *tool, bool WXUNUSED(enable))
-{
- DoRedrawTool(tool);
-}
-
-void wxToolBar::DoToggleTool(wxToolBarToolBase *tool, bool WXUNUSED(toggle))
-{
- DoRedrawTool(tool);
-}
-
-void wxToolBar::DoSetToggle(wxToolBarToolBase * WXUNUSED(tool),
- bool WXUNUSED(toggle))
-{
- // nothing to do
-}
-
-void wxToolBar::DoRedrawTool(wxToolBarToolBase *tool)
-{
- wxClientDC dc(this);
-
- DrawTool(dc, tool);
-}
-
-void wxToolBar::DrawTool(wxDC& dc, wxToolBarToolBase *toolBase, int state)
-{
- wxToolBarTool *tool = (wxToolBarTool *)toolBase;
-
- DrawButton(dc.GetHDC(),
- tool->m_x, tool->m_y,
- tool->GetWidth(), tool->GetHeight(),
- tool, state);
-}
-
-void wxToolBar::DrawTool(wxDC& dc, wxToolBarToolBase *tool)
-{
- int state = 0;
- if (tool->IsEnabled())
- state |= wxTBSTATE_ENABLED;
- if (tool->IsToggled())
- state |= wxTBSTATE_CHECKED;
- // how can i access the PRESSED state???
-
- DrawTool(dc, tool, state);
-}
-
-bool wxToolBar::DoDeleteTool(size_t WXUNUSED(pos),
- wxToolBarToolBase *tool)
-{
- // VZ: didn't test whether it works, but why not...
- tool->Detach();
-
- Refresh();
-
- return TRUE;
-}
-
-bool wxToolBar::DoInsertTool(size_t pos, wxToolBarToolBase *toolBase)
-{
- wxToolBarTool *tool = (wxToolBarTool *)toolBase;
-
- wxCHECK_MSG( !tool->IsControl(), FALSE,
- _T("generic wxToolBar doesn't support controls") );
-
- // TODO: use the mapping code from wxToolBar95 to get it right in this class
-#if !defined(__WIN32__) && !defined(__WIN386__)
- wxBitmap bmpDisabled;
- if (tool->CanBeToggled())
- {
- HBITMAP hbmp = CreateMappedBitmap((WXHINSTANCE)wxGetInstance(),
- GetHbitmapOf(tool->GetBitmap1()));
-
- wxBitmap bmp;
- bmp.SetHBITMAP((WXHBITMAP)hbmp);
- tool->SetBitmap2(bmp);
- }
-#endif
-
- tool->m_x = m_xPos;
- if ( tool->m_x == -1 )
- tool->m_x = m_xMargin;
-
- tool->m_y = m_yPos;
- if ( tool->m_y == -1 )
- tool->m_y = m_yMargin;
-
- tool->SetSize(GetToolSize());
-
- if ( tool->IsButton() )
- {
- // Calculate reasonable max size in case Layout() not called
- if ((tool->m_x + tool->GetBitmap1().GetWidth() + m_xMargin) > m_maxWidth)
- m_maxWidth = (tool->m_x + tool->GetWidth() + m_xMargin);
-
- if ((tool->m_y + tool->GetBitmap1().GetHeight() + m_yMargin) > m_maxHeight)
- m_maxHeight = (tool->m_y + tool->GetHeight() + m_yMargin);
- }
-
- return TRUE;
-}
-
-bool wxToolBar::Realize()
-{
- m_currentRowsOrColumns = 0;
- m_lastX = m_xMargin;
- m_lastY = m_yMargin;
- int maxToolWidth = 0;
- int maxToolHeight = 0;
- m_maxWidth = 0;
- m_maxHeight = 0;
-
- // Find the maximum tool width and height
- wxToolBarToolsList::Node *node = m_tools.GetFirst();
- while (node)
- {
- wxToolBarTool *tool = (wxToolBarTool *)node->GetData();
- if (tool->GetWidth() > maxToolWidth)
- maxToolWidth = tool->GetWidth();
- if (tool->GetHeight() > maxToolHeight)
- maxToolHeight = tool->GetHeight();
- node = node->GetNext();
- }
-
- int separatorSize = m_toolSeparation;
-
- node = m_tools.GetFirst();
- while (node)
- {
- wxToolBarTool *tool = (wxToolBarTool *)node->GetData();
- if (tool->GetStyle() == wxTOOL_STYLE_SEPARATOR)
- {
- if ( GetWindowStyleFlag() & wxTB_HORIZONTAL )
- {
- if (m_currentRowsOrColumns >= m_maxCols)
- m_lastY += separatorSize;
- else
- m_lastX += separatorSize;
- }
- else
- {
- if (m_currentRowsOrColumns >= m_maxRows)
- m_lastX += separatorSize;
- else
- m_lastY += separatorSize;
- }
- }
- else if (tool->GetStyle() == wxTOOL_STYLE_BUTTON)
- {
- if ( GetWindowStyleFlag() & wxTB_HORIZONTAL )
- {
- if (m_currentRowsOrColumns >= m_maxCols)
- {
- m_currentRowsOrColumns = 0;
- m_lastX = m_xMargin;
- m_lastY += maxToolHeight + m_toolPacking;
- }
- tool->m_x = (long) (m_lastX + (maxToolWidth - tool->GetWidth())/2.0);
- tool->m_y = (long) (m_lastY + (maxToolHeight - tool->GetHeight())/2.0);
-
- m_lastX += maxToolWidth + m_toolPacking;
- }
- else
- {
- if (m_currentRowsOrColumns >= m_maxRows)
- {
- m_currentRowsOrColumns = 0;
- m_lastX += (maxToolWidth + m_toolPacking);
- m_lastY = m_yMargin;
- }
- tool->m_x = (long) (m_lastX + (maxToolWidth - tool->GetWidth())/2.0);
- tool->m_y = (long) (m_lastY + (maxToolHeight - tool->GetHeight())/2.0);
-
- m_lastY += maxToolHeight + m_toolPacking;
- }
- m_currentRowsOrColumns ++;
- }
-
- if (m_lastX > m_maxWidth)
- m_maxWidth = m_lastX;
- if (m_lastY > m_maxHeight)
- m_maxHeight = m_lastY;
-
- node = node->GetNext();
- }
-
- if ( GetWindowStyleFlag() & wxTB_HORIZONTAL )
- {
- m_maxWidth += maxToolWidth;
- m_maxHeight += maxToolHeight;
- }
- else
- {
- m_maxWidth += maxToolWidth;
- m_maxHeight += maxToolHeight;
- }
-
- m_maxWidth += m_xMargin;
- m_maxHeight += m_yMargin;
-
- SetSize(m_maxWidth, m_maxHeight);
-
- return TRUE;
-}
-
-bool wxToolBar::InitGlobalObjects()
-{
- GetSysColors();
- if (!CreateDitherBrush())
- return FALSE;
-
- m_hdcMono = (WXHDC) CreateCompatibleDC(NULL);
- if (!m_hdcMono)
- return FALSE;
-
- m_hbmMono = (WXHBITMAP) CreateBitmap((int)GetToolSize().x, (int)GetToolSize().y, 1, 1, NULL);
- if (!m_hbmMono)
- return FALSE;
-
- m_hbmDefault = (WXHBITMAP) SelectObject((HDC) m_hdcMono, (HBITMAP) m_hbmMono);
- return TRUE;
-}
-
-void wxToolBar::FreeGlobalObjects()
-{
- FreeDitherBrush();
-
- if (m_hdcMono) {
- if (m_hbmDefault)
- {
- SelectObject((HDC) m_hdcMono, (HBITMAP) m_hbmDefault);
- m_hbmDefault = 0;
- }
- DeleteDC((HDC) m_hdcMono); // toast the DCs
- }
- m_hdcMono = 0;
-
- if (m_hbmMono)
- DeleteObject((HBITMAP) m_hbmMono);
- m_hbmMono = 0;
-}
-
-// ----------------------------------------------------------------------------
-// drawing routines
-// ----------------------------------------------------------------------------
-
-void wxToolBar::PatB(WXHDC hdc,int x,int y,int dx,int dy, long rgb)
-{
- RECT rc;
-
- rc.left = x;
- rc.top = y;
- rc.right = x + dx;
- rc.bottom = y + dy;
-
- SetBkColor((HDC) hdc,rgb);
- ExtTextOut((HDC) hdc,0,0,ETO_OPAQUE,&rc,NULL,0,NULL);
-}
-
-
-// create a mono bitmap mask:
-// 1's where color == COLOR_BTNFACE || COLOR_HILIGHT
-// 0's everywhere else
-
-void wxToolBar::CreateMask(WXHDC hdc, int xoffset, int yoffset, int dx, int dy)
-{
- HDC globalDC = ::GetDC(NULL);
- HDC hdcGlyphs = CreateCompatibleDC((HDC) globalDC);
- ReleaseDC(NULL, (HDC) globalDC);
-
- // krj - create a new bitmap and copy the image from hdc.
- //HBITMAP bitmapOld = SelectObject(hdcGlyphs, hBitmap);
- HBITMAP hBitmap = CreateCompatibleBitmap((HDC) hdc, dx, dy);
- HBITMAP bitmapOld = (HBITMAP) SelectObject(hdcGlyphs, hBitmap);
- BitBlt(hdcGlyphs, 0,0, dx, dy, (HDC) hdc, 0, 0, SRCCOPY);
-
- // initalize whole area with 1's
- PatBlt((HDC) m_hdcMono, 0, 0, dx, dy, WHITENESS);
-
- // create mask based on color bitmap
- // convert this to 1's
- SetBkColor(hdcGlyphs, m_rgbFace);
- BitBlt((HDC) m_hdcMono, xoffset, yoffset, (int)GetToolBitmapSize().x, (int)GetToolBitmapSize().y,
- hdcGlyphs, 0, 0, SRCCOPY);
- // convert this to 1's
- SetBkColor(hdcGlyphs, m_rgbHilight);
- // OR in the new 1's
- BitBlt((HDC) m_hdcMono, xoffset, yoffset, (int)GetToolBitmapSize().x, (int)GetToolBitmapSize().y,
- hdcGlyphs, 0, 0, SRCPAINT);
-
- SelectObject(hdcGlyphs, bitmapOld);
- DeleteObject(hBitmap);
- DeleteDC(hdcGlyphs);
-}
-
-void wxToolBar::DrawBlankButton(WXHDC hdc, int x, int y, int dx, int dy, int state)
-{
- // face color
- PatB(hdc, x, y, dx, dy, m_rgbFace);
-
- if (state & wxTBSTATE_PRESSED) {
- PatB(hdc, x + 1, y, dx - 2, 1, m_rgbFrame);
- PatB(hdc, x + 1, y + dy - 1, dx - 2, 1, m_rgbFrame);
- PatB(hdc, x, y + 1, 1, dy - 2, m_rgbFrame);
- PatB(hdc, x + dx - 1, y +1, 1, dy - 2, m_rgbFrame);
- PatB(hdc, x + 1, y + 1, 1, dy-2, m_rgbShadow);
- PatB(hdc, x + 1, y + 1, dx-2, 1, m_rgbShadow);
- }
- else {
- PatB(hdc, x + 1, y, dx - 2, 1, m_rgbFrame);
- PatB(hdc, x + 1, y + dy - 1, dx - 2, 1, m_rgbFrame);
- PatB(hdc, x, y + 1, 1, dy - 2, m_rgbFrame);
- PatB(hdc, x + dx - 1, y + 1, 1, dy - 2, m_rgbFrame);
- dx -= 2;
- dy -= 2;
- PatB(hdc, x + 1, y + 1, 1, dy - 1, m_rgbHilight);
- PatB(hdc, x + 1, y + 1, dx - 1, 1, m_rgbHilight);
- PatB(hdc, x + dx, y + 1, 1, dy, m_rgbShadow);
- PatB(hdc, x + 1, y + dy, dx, 1, m_rgbShadow);
- PatB(hdc, x + dx - 1, y + 2, 1, dy - 2, m_rgbShadow);
- PatB(hdc, x + 2, y + dy - 1, dx - 2, 1, m_rgbShadow);
- }
-}
-
-void wxToolBar::DrawButton(WXHDC hdc, int x, int y, int dx, int dy,
- wxToolBarToolBase *toolBase, int state)
-{
- wxToolBarTool *tool = (wxToolBarTool *)toolBase;
-
- int yOffset;
- HBRUSH hbrOld, hbr;
- BOOL bMaskCreated = FALSE;
- int xButton = 0; // assume button is down
- int dxFace, dyFace;
- int xCenterOffset;
-
- dxFace = dx;
- dyFace = dy;
-
-// HBITMAP hBitmap = (HBITMAP) tool->m_bitmap1.GetHBITMAP();
- HDC globalDC = ::GetDC(NULL);
- HDC hdcGlyphs = CreateCompatibleDC(globalDC);
- ReleaseDC(NULL, globalDC);
-
- // get the proper button look - up or down.
- if (!(state & (wxTBSTATE_PRESSED | wxTBSTATE_CHECKED))) {
- xButton = dx; // use 'up' version of button
- dxFace -= 2;
- dyFace -= 2; // extents to ignore button highlight
- }
-
- DrawBlankButton(hdc, x, y, dx, dy, state);
-
-
- // move coordinates inside border and away from upper left highlight.
- // the extents change accordingly.
- x += 2;
- y += 2;
- dxFace -= 3;
- dyFace -= 3;
-
- // Using bmpDisabled can cause problems (don't know why!)
-#if !defined(__WIN32__) && !defined(__WIN386__)
- HBITMAP bitmapOld;
- if (tool->GetBitmap2().Ok())
- bitmapOld = GetHbitmapOf(tool->GetBitmap2());
- else
- bitmapOld = GetHbitmapOf(tool->GetBitmap1());
-#else
- HBITMAP bitmapOld = GetHbitmapOf(tool->GetBitmap1());
-#endif
-
- bitmapOld = (HBITMAP)SelectObject(hdcGlyphs, bitmapOld);
-
- // calculate offset of face from (x,y). y is always from the top,
- // so the offset is easy. x needs to be centered in face.
- yOffset = 1;
- xCenterOffset = (dxFace - (int)GetToolBitmapSize().x)/2;
- if (state & (wxTBSTATE_PRESSED | wxTBSTATE_CHECKED))
- {
- // pressed state moves down and to the right
- // (x moves automatically as face size grows)
- yOffset++;
- }
-
- // now put on the face
- if (state & wxTBSTATE_ENABLED) {
- // regular version
- BitBlt((HDC) hdc, x+xCenterOffset, y + yOffset, (int)GetToolBitmapSize().x, (int)GetToolBitmapSize().y,
- hdcGlyphs, 0, 0, SRCCOPY);
- } else {
- // disabled version (or indeterminate)
- bMaskCreated = TRUE;
- CreateMask((WXHDC) hdcGlyphs, xCenterOffset, yOffset, dxFace, dyFace);
-// CreateMask(hBitmap, xCenterOffset, yOffset, dxFace, dyFace);
-
- SetTextColor((HDC) hdc, 0L); // 0's in mono -> 0 (for ROP)
- SetBkColor((HDC) hdc, 0x00FFFFFF); // 1's in mono -> 1
-
- // draw glyph's white understrike
- if (!(state & wxTBSTATE_INDETERMINATE)) {
- hbr = CreateSolidBrush(m_rgbHilight);
- if (hbr) {
- hbrOld = (HBRUSH) SelectObject((HDC) hdc, hbr);
- if (hbrOld) {
- // draw hilight color where we have 0's in the mask
- BitBlt((HDC) hdc, x + 1, y + 1, dxFace, dyFace, (HDC) m_hdcMono, 0, 0, 0x00B8074A);
- SelectObject((HDC) hdc, hbrOld);
- }
- DeleteObject(hbr);
- }
- }
-
- // gray out glyph
- hbr = CreateSolidBrush(m_rgbShadow);
- if (hbr) {
- hbrOld = (HBRUSH) SelectObject((HDC) hdc, hbr);
- if (hbrOld) {
- // draw the shadow color where we have 0's in the mask
- BitBlt((HDC) hdc, x, y, dxFace, dyFace, (HDC) m_hdcMono, 0, 0, 0x00B8074A);
- SelectObject((HDC) hdc, hbrOld);
- }
- DeleteObject(hbr);
- }
-
- if (state & wxTBSTATE_CHECKED) {
- BitBlt((HDC) m_hdcMono, 1, 1, dxFace - 1, dyFace - 1, (HDC) m_hdcMono, 0, 0, SRCAND);
- }
- }
-
- if (state & (wxTBSTATE_CHECKED | wxTBSTATE_INDETERMINATE)) {
-
- hbrOld = (HBRUSH) SelectObject((HDC) hdc, (HBRUSH) m_hbrDither);
- if (hbrOld) {
-
- if (!bMaskCreated)
- CreateMask((WXHDC) hdcGlyphs, xCenterOffset, yOffset, dxFace, dyFace);
-// CreateMask(hBitmap, xCenterOffset, yOffset, dxFace, dyFace);
-
- SetTextColor((HDC) hdc, 0L); // 0 -> 0
- SetBkColor((HDC) hdc, 0x00FFFFFF); // 1 -> 1
-
- // only draw the dither brush where the mask is 1's
- BitBlt((HDC) hdc, x, y, dxFace, dyFace, (HDC) m_hdcMono, 0, 0, 0x00E20746);
-
- SelectObject((HDC) hdc, hbrOld);
- }
- }
- SelectObject(hdcGlyphs, bitmapOld);
- DeleteDC(hdcGlyphs);
-}
-
-// ----------------------------------------------------------------------------
-// drawing helpers
-// ----------------------------------------------------------------------------
-
-void wxToolBar::GetSysColors()
-{
- static COLORREF rgbSaveFace = 0xffffffffL,
- rgbSaveShadow = 0xffffffffL,
- rgbSaveHilight = 0xffffffffL,
- rgbSaveFrame = 0xffffffffL;
-
- // For now, override these because the colour replacement isn't working,
- // and we get inconsistent colours. Assume all buttons are grey for the moment.
-
-// m_rgbFace = GetSysColor(COLOR_BTNFACE);
- m_rgbFace = RGB(192,192,192);
-// m_rgbShadow = GetSysColor(COLOR_BTNSHADOW);
- m_rgbShadow = RGB(128,128,128);
-// m_rgbHilight = GetSysColor(COLOR_BTNHIGHLIGHT);
- m_rgbHilight = RGB(255, 255, 255);
-
- m_rgbFrame = GetSysColor(COLOR_WINDOWFRAME);
-
- if (rgbSaveFace!=m_rgbFace || rgbSaveShadow!=m_rgbShadow
- || rgbSaveHilight!=m_rgbHilight || rgbSaveFrame!=m_rgbFrame)
- {
- rgbSaveFace = m_rgbFace;
- rgbSaveShadow = m_rgbShadow;
- rgbSaveHilight = m_rgbHilight;
- rgbSaveFrame = m_rgbFrame;
-
- // Update the brush for pushed-in buttons
- CreateDitherBrush();
- }
-}
-
-WXHBITMAP wxToolBar::CreateDitherBitmap()
-{
- BITMAPINFO* pbmi;
- HBITMAP hbm;
- HDC hdc;
- int i;
- long patGray[8];
- DWORD rgb;
-
- pbmi = (BITMAPINFO *)malloc(sizeof(BITMAPINFOHEADER) + 16*sizeof(RGBQUAD));
- memset(pbmi, 0, (sizeof(BITMAPINFOHEADER) + 16*sizeof(RGBQUAD)));
-
- pbmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
- pbmi->bmiHeader.biWidth = 8;
- pbmi->bmiHeader.biHeight = 8;
- pbmi->bmiHeader.biPlanes = 1;
- pbmi->bmiHeader.biBitCount = 1;
- pbmi->bmiHeader.biCompression = BI_RGB;
-
-// rgb = GetSysColor(COLOR_BTNFACE);
- rgb = RGB(192,192,192);
-
- pbmi->bmiColors[0].rgbBlue = GetBValue(rgb);
- pbmi->bmiColors[0].rgbGreen = GetGValue(rgb);
- pbmi->bmiColors[0].rgbRed = GetRValue(rgb);
- pbmi->bmiColors[0].rgbReserved = 0;
-
-// rgb = GetSysColor(COLOR_BTNHIGHLIGHT);
- rgb = RGB(255, 255, 255);
-
- pbmi->bmiColors[1].rgbBlue = GetBValue(rgb);
- pbmi->bmiColors[1].rgbGreen = GetGValue(rgb);
- pbmi->bmiColors[1].rgbRed = GetRValue(rgb);
- pbmi->bmiColors[1].rgbReserved = 0;
-
- /* initialize the brushes */
-
- for (i = 0; i < 8; i++)
- if (i & 1)
- patGray[i] = 0xAAAA5555L; // 0x11114444L; // lighter gray
- else
- patGray[i] = 0x5555AAAAL; // 0x11114444L; // lighter gray
-
- hdc = ::GetDC(NULL);
-
- hbm = CreateDIBitmap(hdc, &pbmi->bmiHeader, CBM_INIT, patGray, pbmi, DIB_RGB_COLORS);
-
- ReleaseDC(NULL, hdc);
- free(pbmi);
-
- return (WXHBITMAP)hbm;
-}
-
-bool wxToolBar::CreateDitherBrush()
-{
- HBITMAP hbmGray;
- HBRUSH hbrSave;
- if (m_hbrDither)
- return TRUE;
- hbmGray = (HBITMAP) CreateDitherBitmap();
-
- if (hbmGray)
- {
- hbrSave = (HBRUSH) m_hbrDither;
- m_hbrDither = (WXHBRUSH) CreatePatternBrush(hbmGray);
- DeleteObject(hbmGray);
- if (m_hbrDither)
- {
- if (hbrSave)
- {
- DeleteObject(hbrSave);
- }
- return TRUE;
- }
- else
- {
- m_hbrDither = (WXHBRUSH) hbrSave;
- }
- }
-
- return FALSE;
-}
-
-bool wxToolBar::FreeDitherBrush(void)
-{
- if (m_hbrDither)
- DeleteObject((HBRUSH) m_hbrDither);
- m_hbrDither = 0;
- return TRUE;
-}
-
-typedef struct tagCOLORMAP2
-{
- COLORREF bgrfrom;
- COLORREF bgrto;
- COLORREF sysColor;
-} COLORMAP2;
-
-// these are the default colors used to map the dib colors
-// to the current system colors
-
-#define BGR_BUTTONTEXT (RGB(000,000,000)) // black
-#define BGR_BUTTONSHADOW (RGB(128,128,128)) // dark grey
-#define BGR_BUTTONFACE (RGB(192,192,192)) // bright grey
-#define BGR_BUTTONHILIGHT (RGB(255,255,255)) // white
-#define BGR_BACKGROUNDSEL (RGB(255,000,000)) // blue
-#define BGR_BACKGROUND (RGB(255,000,255)) // magenta
-#define FlipColor(rgb) (RGB(GetBValue(rgb), GetGValue(rgb), GetRValue(rgb)))
-
-WXHBITMAP wxToolBar::CreateMappedBitmap(WXHINSTANCE WXUNUSED(hInstance), void *info)
-{
- LPBITMAPINFOHEADER lpBitmapInfo = (LPBITMAPINFOHEADER)info;
- HDC hdc, hdcMem = NULL;
-
- DWORD FAR *p;
- LPSTR lpBits;
- HBITMAP hbm = NULL, hbmOld;
- int numcolors, i;
- int wid, hgt;
- static COLORMAP2 ColorMap[] = {
- {BGR_BUTTONTEXT, BGR_BUTTONTEXT, COLOR_BTNTEXT}, // black
- {BGR_BUTTONSHADOW, BGR_BUTTONSHADOW, COLOR_BTNSHADOW}, // dark grey
- {BGR_BUTTONFACE, BGR_BUTTONFACE, COLOR_BTNFACE}, // bright grey
- {BGR_BUTTONHILIGHT, BGR_BUTTONHILIGHT, COLOR_BTNHIGHLIGHT},// white
- {BGR_BACKGROUNDSEL, BGR_BACKGROUNDSEL, COLOR_HIGHLIGHT}, // blue
- {BGR_BACKGROUND, BGR_BACKGROUND, COLOR_WINDOW} // magenta
- };
-
- #define NUM_MAPS (sizeof(ColorMap)/sizeof(COLORMAP2))
-
- if (!lpBitmapInfo)
- return 0;
-
- //
- // So what are the new colors anyway ?
- //
- for (i=0; i < (int) NUM_MAPS; i++) {
- ColorMap[i].bgrto = (long unsigned int) FlipColor(GetSysColor((int)ColorMap[i].sysColor));
- }
-
- p = (DWORD FAR *)(((LPSTR)lpBitmapInfo) + lpBitmapInfo->biSize);
-
- /* Replace button-face and button-shadow colors with the current values
- */
- numcolors = 16;
-
- while (numcolors-- > 0) {
- for (i = 0; i < (int) NUM_MAPS; i++) {
- if (*p == ColorMap[i].bgrfrom) {
- *p = ColorMap[i].bgrto;
- break;
- }
- }
- p++;
- }
-
- /* First skip over the header structure */
- lpBits = (LPSTR)(lpBitmapInfo + 1);
-
- /* Skip the color table entries, if any */
- lpBits += (1 << (lpBitmapInfo->biBitCount)) * sizeof(RGBQUAD);
-
- /* Create a color bitmap compatible with the display device */
- i = wid = (int)lpBitmapInfo->biWidth;
- hgt = (int)lpBitmapInfo->biHeight;
- hdc = ::GetDC(NULL);
-
- hdcMem = CreateCompatibleDC(hdc);
- if (hdcMem) {
-// hbm = CreateDiscardableBitmap(hdc, i, hgt);
- hbm = CreateCompatibleBitmap(hdc, i, hgt);
- if (hbm) {
- hbmOld = (HBITMAP) SelectObject(hdcMem, hbm);
-
- // set the main image
- StretchDIBits(hdcMem, 0, 0, wid, hgt, 0, 0, wid, hgt, lpBits,
- (LPBITMAPINFO)lpBitmapInfo, DIB_RGB_COLORS, SRCCOPY);
-
- SelectObject(hdcMem, hbmOld);
- }
-
- DeleteObject(hdcMem);
- }
-
- ReleaseDC(NULL, hdc);
-
- return (WXHBITMAP) hbm;
-}
-
-WXHBITMAP wxToolBar::CreateMappedBitmap(WXHINSTANCE hInstance, WXHBITMAP hBitmap)
-{
- HANDLE hDIB = wxDIB::ConvertFromBitmap((HBITMAP) hBitmap);
- if ( !hDIB )
- return 0;
-
- WXHBITMAP newBitmap = CreateMappedBitmap(hInstance, GlobalPtr(hDIB));
-
- GlobalFree(hDIB);
-
- return newBitmap;
-}
-
-#endif // wxUSE_TOOLBAR
-
EVT_UPDATE_UI(wxID_REDO, wxTextCtrl::OnUpdateRedo)
EVT_UPDATE_UI(wxID_CLEAR, wxTextCtrl::OnUpdateDelete)
EVT_UPDATE_UI(wxID_SELECTALL, wxTextCtrl::OnUpdateSelectAll)
-#ifdef __WIN16__
- EVT_ERASE_BACKGROUND(wxTextCtrl::OnEraseBackground)
-#endif
EVT_SET_FOCUS(wxTextCtrl::OnSetFocus)
END_EVENT_TABLE()
{
HWND hWnd = GetHwnd();
-#ifdef __WIN32__
#if wxUSE_RICHEDIT
if ( IsRich() )
{
}
#endif // wxUSE_RICHEDIT
}
-#else // Win16
- // WPARAM is 0: selection is scrolled into view
- SendMessage(hWnd, EM_SETSEL, (WPARAM)0, (LPARAM)MAKELONG(from, to));
-#endif // Win32/16
}
// ----------------------------------------------------------------------------
return (WXHBRUSH)brush->GetResourceHandle();
}
-// In WIN16, need to override normal erasing because
-// Ctl3D doesn't use the wxWindows background colour.
-#ifdef __WIN16__
-void wxTextCtrl::OnEraseBackground(wxEraseEvent& event)
-{
- wxColour col(m_backgroundColour);
-
-#if wxUSE_CTL3D
- if (m_useCtl3D)
- col = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW);
-#endif
-
- RECT rect;
- ::GetClientRect(GetHwnd(), &rect);
-
- COLORREF ref = wxColourToRGB(col);
- HBRUSH hBrush = ::CreateSolidBrush(ref);
- if ( !hBrush )
- wxLogLastError(wxT("CreateSolidBrush"));
-
- HDC hdc = (HDC)event.GetDC()->GetHDC();
-
- int mode = ::SetMapMode(hdc, MM_TEXT);
-
- ::FillRect(hdc, &rect, hBrush);
- ::DeleteObject(hBrush);
- ::SetMapMode(hdc, mode);
-
-}
-#endif // Win16
-
bool wxTextCtrl::AdjustSpaceLimit()
{
-#ifndef __WIN16__
unsigned int limit = ::SendMessage(GetHwnd(), EM_GETLIMITTEXT, 0, 0);
// HACK: we try to automatically extend the limit for the amount of text
::SendMessage(GetHwnd(), EM_LIMITTEXT, limit, 0);
}
}
-#endif // !Win16
// we changed the limit
return TRUE;
if ( exflags )
{
-#if !defined(__WIN16__)
if ( !(GetExtraStyle() & wxTOPLEVEL_EX_DIALOG) )
{
if ( style & wxFRAME_TOOL_WINDOW )
#endif
//else: nothing to do [here]
}
-#endif // !Win16
if ( style & wxSTAY_ON_TOP )
*exflags |= WS_EX_TOPMOST;
static const wxChar WX_SECTION[] = wxT("wxWindows");
static const wxChar eUSERNAME[] = wxT("UserName");
-// these are only used under Win16
-#if !defined(__WIN32__) && !defined(__WXMICROWIN__)
-static const wxChar eHOSTNAME[] = wxT("HostName");
-static const wxChar eUSERID[] = wxT("UserId");
-#endif // !Win32
-
// ============================================================================
// implementation
// ============================================================================
{
#if defined(__WXWINCE__)
return FALSE;
-#elif defined(__WIN32__) && !defined(__win32s__) && !defined(__WXMICROWIN__)
+#elif defined(__WIN32__) && !defined(__WXMICROWIN__)
DWORD nSize = maxSize;
if ( ::GetUserName(buf, &nSize) == 0 )
{
}
return TRUE;
-#else // Win16 or Win32s
+#else // __WXMICROWIN__
wxChar *user;
const wxChar *default_id = wxT("anonymous");
#elif defined(__WIN32__)
DWORD attribs = GetFileAttributes(dir);
return ((attribs != (DWORD)-1) && (attribs & FILE_ATTRIBUTE_DIRECTORY));
-#else // Win16
- #ifdef __BORLANDC__
- struct ffblk fileInfo;
- #else
- struct find_t fileInfo;
- #endif
- // In Borland findfirst has a different argument
- // ordering from _dos_findfirst. But _dos_findfirst
- // _should_ be ok in both MS and Borland... why not?
- #ifdef __BORLANDC__
- return (findfirst(dir, &fileInfo, _A_SUBDIR) == 0 &&
- (fileInfo.ff_attrib & _A_SUBDIR) != 0);
- #else
- return (_dos_findfirst(dir, _A_SUBDIR, &fileInfo) == 0) &&
- ((fileInfo.attrib & _A_SUBDIR) != 0);
- #endif
-#endif // Win32/16
+#endif // Win32/__WXMICROWIN__
}
bool wxGetDiskSpace(const wxString& path, wxLongLong *pTotal, wxLongLong *pFree)
{
#ifdef __WXWINCE__
return FALSE;
-#elif defined(__WIN16__)
- const wxChar* ret = wxGetenv(var);
- if ( !ret )
- return FALSE;
-
- if ( value )
- {
- *value = ret;
- }
-
- return TRUE;
#else // Win32
// first get the size of the buffer
DWORD dwRet = ::GetEnvironmentVariable(var, NULL, 0);
}
return TRUE;
-#endif // Win16/32
+#endif // WinCE/32
}
bool wxSetEnv(const wxString& var, const wxChar *value)
}
return bOK;
-#else // Win16
- return FALSE;
#endif // Win32/16
}
unsigned long wxGetProcessId()
{
-#ifdef __WIN32__
return ::GetCurrentProcessId();
-#else
- return 0;
-#endif
}
// Emit a beeeeeep
wxString wxGetOsDescription()
{
-#ifdef __WIN32__
wxString str;
OSVERSIONINFO info;
}
return str;
-#else // Win16
- return _("Windows 3.1");
-#endif // Win32/16
}
wxToolkitInfo& wxAppTraits::GetToolkitInfo()
public:
~wxExecuteData()
{
-#ifndef __WIN16__
if ( !::CloseHandle(hProcess) )
{
wxLogLastError(wxT("CloseHandle(hProcess)"));
}
-#endif
}
HWND hWnd; // window to send wxWM_PROC_TERMINATED to
void wxClientDisplayRect(int *x, int *y, int *width, int *height)
{
-#if defined(__WIN16__) || defined(__WXMICROWIN__)
+#if defined(__WXMICROWIN__)
*x = 0; *y = 0;
wxDisplaySize(width, height);
#else
WXWORD WXDLLEXPORT wxGetWindowId(WXHWND hWnd)
{
-#ifndef __WIN32__
- return (WXWORD)GetWindowWord((HWND)hWnd, GWW_ID);
-#else // Win32
return (WXWORD)GetWindowLong((HWND)hWnd, GWL_ID);
-#endif // Win16/32
}
// ----------------------------------------------------------------------------
TheTex2RTFServer->Create(_T("TEX2RTF"));
#endif
-#if defined(__WXMSW__) && defined(__WIN16__)
- // Limit to max Windows array size
- if (BufSize > 64) BufSize = 64;
-#endif
-
TexInitialize(BufSize);
ResetContentsLevels(0);
}
case TEX_HTML:
{
-#if defined(__WXMSW__) && defined(__WIN16__)
- wxStrcpy(extensionBuf, _T("htm"));
- wxStrcat(wildBuf, _T("htm"));
-#else
wxStrcpy(extensionBuf, _T("html"));
wxStrcat(wildBuf, _T("html"));
-#endif
break;
}
}