# endif
#endif /* wxUSE_WXHTML_HELP */
+#if wxUSE_DOC_VIEW_ARCHITECTURE
+# if !wxUSE_MENUS
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "DocView requires wxUSE_MENUS"
+# else
+# undef wxUSE_MENUS
+# define wxUSE_MENUS 1
+# endif
+# endif
+
+# if !wxUSE_STREAMS && !wxUSE_STD_IOSTREAM
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "DocView requires wxUSE_STREAMS or wxUSE_STD_IOSTREAM"
+# else
+# undef wxUSE_STREAMS
+# define wxUSE_STREAMS 1
+# endif
+# endif
+#endif /* wxUSE_DOC_VIEW_ARCHITECTURE */
+
#if wxUSE_PRINTING_ARCHITECTURE
# if !wxUSE_COMBOBOX
# ifdef wxABORT_ON_CONFIG_ERROR
# define wxUSE_COMBOBOX 1
# endif
# endif
+
+# if !wxUSE_DOC_VIEW_ARCHITECTURE
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "Print architecture requires wxUSE_DOC_VIEW_ARCHITECTURE"
+# else
+# undef wxUSE_DOC_VIEW_ARCHITECTURE
+# define wxUSE_DOC_VIEW_ARCHITECTURE 1
+# endif
+# endif
#endif /* wxUSE_PRINTING_ARCHITECTURE */
-#if wxUSE_DOC_VIEW_ARCHITECTURE
-# if !wxUSE_MENUS
+#if wxUSE_MDI_ARCHITECTURE
+# if !wxUSE_DOC_VIEW_ARCHITECTURE
# ifdef wxABORT_ON_CONFIG_ERROR
-# error "DocView requires wxUSE_MENUS"
+# error "MDI requires wxUSE_DOC_VIEW_ARCHITECTURE"
# else
-# undef wxUSE_MENUS
-# define wxUSE_MENUS 1
+# undef wxUSE_DOC_VIEW_ARCHITECTURE
+# define wxUSE_DOC_VIEW_ARCHITECTURE 1
# endif
# endif
-#endif /* wxUSE_DOC_VIEW_ARCHITECTURE */
+#endif /* wxUSE_MDI_ARCHITECTURE */
#if !wxUSE_FILEDLG
# if wxUSE_DOC_VIEW_ARCHITECTURE || wxUSE_WXHTML_HELP
float *descent = NULL, float *externalLeading = NULL,
wxFont *theFont = NULL, bool use16bit = FALSE) const ;
void GetSize(float* width, float* height) const { int w, h; GetSize(& w, & h); *width = w; *height = h; }
- void GetSizeMM(float *width, float *height) const { long w, h; GetSizeMM(& w, & h); *width = (float) w; *height = (float) h; }
+ void GetSizeMM(float *width, float *height) const { int w, h; GetSizeMM(& w, & h); *width = (float) w; *height = (float) h; }
#endif // WXWIN_COMPATIBILITY
#include "wx/defs.h"
-#if wxUSE_MDI_ARCHITECTURE && wxUSE_DOC_VIEW_ARCHITECTURE
+#if wxUSE_MDI_ARCHITECTURE
#include "wx/docview.h"
#include "wx/mdi.h"
#endif
#include "wx/defs.h"
+
+#if wxUSE_DOC_VIEW_ARCHITECTURE
+
#include "wx/list.h"
#include "wx/cmndata.h"
#include "wx/string.h"
// converts from/to a stream to/from a temporary file.
bool WXDLLEXPORT wxTransferFileToStream(const wxString& filename, wxOutputStream& stream);
bool WXDLLEXPORT wxTransferStreamToFile(wxInputStream& stream, const wxString& filename);
-#endif
+#endif // wxUSE_STD_IOSTREAM
+
+#endif // wxUSE_DOC_VIEW_ARCHITECTURE
#endif // _WX_DOCH__
virtual void DoSetVirtualSize(int x, int y);
+#if WXWIN_COMPATIBILITY
+ virtual void GetScrollUnitsPerPage(int *x_page, int *y_page) const;
+ virtual void CalcUnscrolledPosition(int x, int y, float *xx, float *yy) const;
+ // Need to do this otherwise the compiler gets confuced
+ // between float and int calls to this function.
+ void CalcUnscrolledPosition(int x, int y, int *xx, int *yy) const
+ { wxScrollHelper::CalcScrolledPosition(x, y, xx, yy); }
+ wxPoint CalcUnscrolledPosition(const wxPoint& pt) const
+ { return wxScrollHelper::CalcScrolledPosition(pt); }
+#endif // WXWIN_COMPATIBILITY
+
protected:
// this is needed for wxEVT_PAINT processing hack described in
// wxScrollHelperEvtHandler::ProcessEvent()
inline bool operator==(const wxPoint2DInt& pt) const;
inline bool operator!=(const wxPoint2DInt& pt) const;
+#if wxUSE_STREAMS
void WriteTo( wxDataOutputStream &stream ) const;
void ReadFrom( wxDataInputStream &stream );
+#endif // wxUSE_STREAMS
wxInt32 m_x;
wxInt32 m_y;
bool operator == (const wxRect2DInt& rect) const;
bool operator != (const wxRect2DInt& rect) const;
+#if wxUSE_STREAMS
void WriteTo( wxDataOutputStream &stream ) const;
void ReadFrom( wxDataInputStream &stream );
+#endif // wxUSE_STREAMS
wxInt32 m_x;
wxInt32 m_y;
va_list argptr) {} \
inline void WXDLLEXPORT wxLog##level(arg1, const wxChar *szFormat, ...) {}
+// Empty Class to fake wxLogNull
+class WXDLLEXPORT wxLogNull
+{
+public:
+ wxLogNull() {}
+};
+
+// Dummy macros to replace some functions.
+#define wxSysErrorCode() (unsigned long)0
+#define wxSysErrorMsg( X ) (const wxChar*)NULL
+
+// Fake symbolic trace masks... for those that are used frequently
+#define wxTRACE_OleCalls wxT("") // OLE interface calls
+
#endif // wxUSE_LOG/!wxUSE_LOG
// a generic function for all levels (level is passes as parameter)
#endif // _WX_LOG_H_
-// vi:sts=4:sw=4:et
// --------------
// event handlers
-// bool OnClose();
void OnCharHook(wxKeyEvent& event);
void OnCloseWindow(wxCloseEvent& event);
class WXDLLEXPORT wxDialog : public wxDialogBase
{
DECLARE_DYNAMIC_CLASS(wxDialog)
-
+
public:
wxDialog();
{
Create(parent, id, title, pos, size, style, name);
}
-
+
bool Create(wxWindow *parent, wxWindowID id,
const wxString& title, // bool modal = FALSE, // TODO make this a window style?
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_DIALOG_STYLE,
const wxString& name = wxDialogNameStr);
-
+
~wxDialog();
-
+
virtual bool Destroy();
virtual bool Show(bool show = TRUE);
void SetTitle(const wxString& title);
-
+
void SetModal(bool flag);
-
+
virtual bool IsModal() const
{ return ((GetWindowStyleFlag() & wxDIALOG_MODAL) == wxDIALOG_MODAL); }
-
+
virtual int ShowModal();
virtual void EndModal(int retCode);
-
+
// Implementation
virtual void ChangeFont(bool keepOriginalSize = TRUE);
virtual void ChangeBackgroundColour();
virtual void ChangeForegroundColour();
inline WXWidget GetTopWidget() const { return m_mainWidget; }
inline WXWidget GetClientWidget() const { return m_mainWidget; }
-
+
// Standard buttons
void OnOK(wxCommandEvent& event);
void OnApply(wxCommandEvent& event);
void OnCancel(wxCommandEvent& event);
-
+
// Responds to colour changes
void OnSysColourChanged(wxSysColourChangedEvent& event);
-
- // bool OnClose();
+
void OnCharHook(wxKeyEvent& event);
void OnCloseWindow(wxCloseEvent& event);
-
+
private:
virtual bool DoCreate( wxWindow* parent, wxWindowID id,
const wxString& title,
virtual void DoSetSize(int x, int y,
int width, int height,
int sizeFlags = wxSIZE_AUTO);
-
+
virtual void DoSetClientSize(int width, int height);
-
+
private:
DECLARE_EVENT_TABLE()
};
const wxString& name = wxButtonNameStr);
#if WXWIN_COMPATIBILITY
- wxBitmap *GetBitmap() const { return (wxBitmap *) & m_bmp; }
+ wxBitmap *GetBitmap() const { return (wxBitmap *) &GetBitmapLabel(); }
#endif
// Implementation
virtual bool Show(bool show = TRUE);
// event handlers
- bool OnClose();
void OnCharHook(wxKeyEvent& event);
void OnCloseWindow(wxCloseEvent& event);
//
// Event handlers
//
- bool OnClose(void);
void OnCharHook(wxKeyEvent& rEvent);
void OnCloseWindow(wxCloseEvent& rEvent);
static void LINKAGEMODE SetTraceMasks()
{
+#if wxUSE_LOG
wxString mask;
if ( wxGetEnv(wxT("WXTRACE"), &mask) )
{
while ( tkn.HasMoreTokens() )
wxLog::AddTraceMask(tkn.GetNextToken());
}
+#endif // wxUSE_LOG
}
// wxASSERT() helper
#pragma hdrstop
#endif
-#if wxUSE_MDI_ARCHITECTURE && wxUSE_DOC_VIEW_ARCHITECTURE
+#if wxUSE_MDI_ARCHITECTURE
#include "wx/docmdi.h"
{
wxSocketBase *sock = GetPort();
if (!sock)
- return FALSE;
+ return NULL;
wxList *file_list = new wxList;
wxString line;
// NLST : List of Filenames (including Directory's !)
// wxPoint2D
+#if wxUSE_STREAMS
void wxPoint2DInt::WriteTo( wxDataOutputStream &stream ) const
{
stream.Write32( m_x );
m_x = stream.Read32();
m_y = stream.Read32();
}
+#endif // wxUSE_STREAMS
wxDouble wxPoint2DInt::GetVectorAngle() const
{
return *this;
}
+#if wxUSE_STREAMS
void wxRect2DInt::WriteTo( wxDataOutputStream &stream ) const
{
stream.Write32( m_x );
m_width = stream.Read32();
m_height = stream.Read32();
}
+#endif // wxUSE_STREAMS
#endif // wxUSE_GEOMETRY
#include "wx/defs.h"
-#if wxUSE_IMAGE && wxUSE_STREAMS
+#if wxUSE_IMAGE
#include "wx/imagbmp.h"
#include "wx/bitmap.h"
IMPLEMENT_DYNAMIC_CLASS(wxBMPHandler,wxImageHandler)
+#if wxUSE_STREAMS
+
#ifndef BI_RGB
#define BI_RGB 0
#define BI_RLE8 1
return hdr[0] == 'B' && hdr[1] == 'M';
}
+#endif // wxUSE_STREAMS
+
#if wxUSE_ICO_CUR
//-----------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(wxICOHandler, wxBMPHandler)
+#if wxUSE_STREAMS
+
struct ICONDIRENTRY
{
wxUint8 bWidth; // Width of the image
return hdr[0] == '\0' && hdr[1] == '\0' && hdr[2] == '\1' && hdr[3] == '\0';
}
+#endif // wxUSE_STREAMS
//-----------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(wxCURHandler, wxICOHandler)
+#if wxUSE_STREAMS
+
bool wxCURHandler::DoCanRead(wxInputStream& stream)
{
stream.SeekI(0);
return hdr[0] == '\0' && hdr[1] == '\0' && hdr[2] == '\2' && hdr[3] == '\0';
}
+#endif // wxUSE_STREAMS
+
//-----------------------------------------------------------------------------
// wxANIHandler
//-----------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(wxANIHandler, wxCURHandler)
+#if wxUSE_STREAMS
+
bool wxANIHandler::LoadFile(wxImage *image, wxInputStream& stream,
bool verbose, int index)
{
return wxNOT_FOUND;
}
+#endif // wxUSE_STREAMS
+
#endif // wxUSE_ICO_CUR
-#endif // wxUSE_IMAGE && wxUSE_STREAMS
+#endif // wxUSE_IMAGE
# include "wx/defs.h"
#endif
-#if wxUSE_IMAGE && wxUSE_STREAMS && wxUSE_PCX
+#if wxUSE_IMAGE && wxUSE_PCX
#include "wx/imagpcx.h"
#include "wx/wfstream.h"
#include "wx/list.h"
#include "wx/object.h"
+//-----------------------------------------------------------------------------
+// wxPCXHandler
+//-----------------------------------------------------------------------------
+
+IMPLEMENT_DYNAMIC_CLASS(wxPCXHandler,wxImageHandler)
+
+#if wxUSE_STREAMS
+
//-----------------------------------------------------------------------------
// RLE encoding and decoding
//-----------------------------------------------------------------------------
// wxPCXHandler
//-----------------------------------------------------------------------------
-IMPLEMENT_DYNAMIC_CLASS(wxPCXHandler,wxImageHandler)
-
bool wxPCXHandler::LoadFile( wxImage *image, wxInputStream& stream, bool verbose, int WXUNUSED(index) )
{
int error;
return c == 10;
}
-#endif // wxUSE_STREAMS && wxUSE_PCX
+#endif // wxUSE_STREAMS
+
+#endif // wxUSE_IMAGE && wxUSE_PCX
IMPLEMENT_DYNAMIC_CLASS(wxPNGHandler,wxImageHandler)
-#if wxUSE_LIBPNG
+#if wxUSE_STREAMS
#ifndef PNGLINKAGEMODE
#ifdef __WATCOMC__
IMPLEMENT_DYNAMIC_CLASS(wxTIFFHandler,wxImageHandler)
+#if wxUSE_STREAMS
+
extern "C"
{
(hdr[0] == 'M' && hdr[1] == 'M');
}
+#endif // wxUSE_STREAMS
-#endif
- // wxUSE_LIBTIFF
-
+#endif // wxUSE_LIBTIFF
// wxDoExecuteWithCapture() helper: reads an entire stream into one array
//
// returns TRUE if ok, FALSE if error
+#if wxUSE_STREAMS
static bool ReadAll(wxInputStream *is, wxArrayString& output)
{
wxCHECK_MSG( is, FALSE, _T("NULL stream in wxExecute()?") );
return cont;
}
+#endif // wxUSE_STREAMS
// this is a private function because it hasn't a clean interface: the first
// array is passed by reference, the second by pointer - instead we have 2
if ( validator && !validator->TransferToWindow() )
{
wxLogWarning(_("Could not transfer data to window"));
+#if wxUSE_LOG
wxLog::FlushActive();
+#endif // wxUSE_LOG
return FALSE;
}
#endif // !(wxUSE_LOGGUI || wxUSE_LOGWINDOW)
-#if wxUSE_TEXTCTRL
+#if wxUSE_LOG && wxUSE_GUI && wxUSE_TEXTCTRL
// ----------------------------------------------------------------------------
// wxLogTextCtrl implementation
m_pTextCtrl->AppendText(msg);
}
-#endif // wxUSE_TEXTCTRL
+#endif // wxUSE_LOG && wxUSE_GUI && wxUSE_TEXTCTRL
// vi:sts=4:sw=4:et
// we can't simply double-click on the error message and get to that
// line in the source. So VC++ at least, let's have a sensible default.
#ifdef __VISUALC__
+#if wxUSE_LOG
wxLog::SetTimestamp(NULL);
-#endif
+#endif // wxUSE_LOG
+#endif // __VISUALC__
// init the app
int retValue = wxEntryInitGui() && wxTheApp->OnInit() ? 0 : -1;
// MT-FIXME
static bool s_inYield = FALSE;
+#if wxUSE_LOG
// disable log flushing from here because a call to wxYield() shouldn't
// normally result in message boxes popping up &c
wxLog::Suspend();
+#endif // wxUSE_LOG
if ( s_inYield )
{
// if there are pending events, we must process them.
ProcessPendingEvents();
+#if wxUSE_LOG
// let the logs be flashed again
wxLog::Resume();
+#endif // wxUSE_LOG
s_inYield = FALSE;
}
SetHBITMAP((WXHBITMAP)hbmp);
- }
#if WXWIN_COMPATIBILITY_2
- GetBitmapData()->m_ok = hbmp != 0;
+ GetBitmapData()->m_ok = hbmp != 0;
#endif // WXWIN_COMPATIBILITY_2
+ }
return Ok();
}
m_logicalScaleY = y;
}
-#if WXWIN_COMPATIBILITY
-void wxDC::DoGetTextExtent(const wxString& string, float *x, float *y,
- float *descent, float *externalLeading,
- wxFont *theFont, bool use16bit) const
-{
-#ifdef __WXMICROWIN__
- if (!GetHDC()) return;
-#endif
-
- wxCoord x1, y1, descent1, externalLeading1;
- GetTextExtent(string, & x1, & y1, & descent1, & externalLeading1, theFont, use16bit);
- *x = x1; *y = y1;
- if (descent)
- *descent = descent1;
- if (externalLeading)
- *externalLeading = externalLeading1;
-}
-#endif
-
#if wxUSE_DC_CACHEING
/*
{
// trace all messages - useful for the debugging
#ifdef __WXDEBUG__
+#if wxUSE_LOG
wxLogTrace(wxTraceMessages, wxT("Processing %s(wParam=%8lx, lParam=%8lx)"),
wxGetMessageName(message), (long) wParam, lParam);
+#endif // wxUSE_LOG
#endif // __WXDEBUG__
wxWindowMSW *wnd = wxFindWinFromHandle((WXHWND) hWnd);
if ( !processed )
{
#ifdef __WXDEBUG__
+#if wxUSE_LOG
wxLogTrace(wxTraceMessages, wxT("Forwarding %s to DefWindowProc."),
wxGetMessageName(message));
+#endif // wxUSE_LOG
#endif // __WXDEBUG__
rc.result = MSWDefWindowProc(message, wParam, lParam);
}
m_logicalScaleY = dY;
}; // end of wxDC::SetLogicalScale
-#if WXWIN_COMPATIBILITY
-void wxDC::DoGetTextExtent(const wxString& string, float *x, float *y,
- float *descent, float *externalLeading,
- wxFont *theFont, bool use16bit) const
-{
- wxCoord x1, y1, descent1, externalLeading1;
- GetTextExtent(string, & x1, & y1, & descent1, & externalLeading1, theFont, use16bit);
- *x = x1; *y = y1;
- if (descent)
- *descent = descent1;
- if (externalLeading)
- *externalLeading = externalLeading1;
-}
-#endif
+