#include "wx/defs.h"
-#if wxUSE_BUTTON
-
// ----------------------------------------------------------------------------
-// wxButton flags
+// wxButton flags shared with other classes
// ----------------------------------------------------------------------------
-// These two flags are obsolete
-#define wxBU_NOAUTODRAW 0x0000
-#define wxBU_AUTODRAW 0x0004
+#if wxUSE_TOGGLEBTN || wxUSE_BUTTON
// These flags affect label alignment
#define wxBU_LEFT 0x0040
#define wxBU_RIGHT 0x0100
#define wxBU_BOTTOM 0x0200
+#endif
+
+#if wxUSE_BUTTON
+
+// ----------------------------------------------------------------------------
+// wxButton specific flags
+// ----------------------------------------------------------------------------
+
+// These two flags are obsolete
+#define wxBU_NOAUTODRAW 0x0000
+#define wxBU_AUTODRAW 0x0004
+
// by default, the buttons will be created with some (system dependent)
// minimal size to make them look nicer, giving this style will make them as
// small as possible
# endif
#endif /* controls */
+#if wxUSE_BMPBUTTON
+# if !wxUSE_BUTTON
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_BMPBUTTON requires wxUSE_BUTTON"
+# else
+# undef wxUSE_BUTTON
+# define wxUSE_BUTTON 1
+# endif
+# endif
+#endif /* wxUSE_BMPBUTTON */
+
#if wxUSE_NOTEBOOK || wxUSE_LISTBOOK
# if defined(wxUSE_BOOKCTRL) && !wxUSE_BOOKCTRL
# ifdef wxABORT_ON_CONFIG_ERROR
# endif
#endif /* wxUSE_RADIOBTN */
+#if wxUSE_HELP
+# if !wxUSE_BMPBUTTON
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_HELP requires wxUSE_BMPBUTTON"
+# else
+# undef wxUSE_BMPBUTTON
+# define wxUSE_BMPBUTTON 1
+# endif
+# endif
+#endif /* wxUSE_HELP */
+
#if wxUSE_WXHTML_HELP
# if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX || !wxUSE_NOTEBOOK
# ifdef wxABORT_ON_CONFIG_ERROR
# endif
#endif /* wxUSE_FILEDLG */
+#if !wxUSE_BUTTON
+# if wxUSE_PROGRESSDLG || \
+ wxUSE_FONTDLG || \
+ wxUSE_FILEDLG || \
+ wxUSE_CHOICEDLG || \
+ wxUSE_NUMBERDLG || \
+ wxUSE_TEXTDLG || \
+ wxUSE_DIRDLG || \
+ wxUSE_STARTUP_TIPS || \
+ wxUSE_WIZARDDLG
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "Common and generic dialogs require wxUSE_BUTTON"
+# else
+# undef wxUSE_BUTTON
+# define wxUSE_BUTTON 1
+# endif
+# endif
+#endif /* wxUSE_PROGRESSDLG */
+
#if !wxUSE_TOOLBAR
# if wxUSE_TOOLBAR_NATIVE
# ifdef wxABORT_ON_CONFIG_ERROR
#endif /* wxUSE_LOGWINDOW */
#if wxUSE_LOG_DIALOG
-# if !wxUSE_LISTCTRL
+# if !wxUSE_LISTCTRL || !wxUSE_BUTTON
# ifdef wxABORT_ON_CONFIG_ERROR
-# error "wxUSE_LOG_DIALOG requires wxUSE_LISTCTRL"
+# error "wxUSE_LOG_DIALOG requires wxUSE_LISTCTRL and wxUSE_BUTTON"
# else
# undef wxUSE_LISTCTRL
# define wxUSE_LISTCTRL 1
+# undef wxUSE_BUTTON
+# define wxUSE_BUTTON 1
# endif
# endif
#endif /* wxUSE_LOG_DIALOG */
#ifndef _WX_CHOICDLG_H_BASE_
#define _WX_CHOICDLG_H_BASE_
+#if wxUSE_CHOICEDLG
+
#include "wx/generic/choicdgg.h"
+#endif
+
#endif
// _WX_CHOICDLG_H_BASE_
#include "wx/defs.h"
+// ----------------------------------------------------------------------------
+// common constants for use in wxUSE_LOG/!wxUSE_LOG
+// ----------------------------------------------------------------------------
+
+// the trace masks have been superceded by symbolic trace constants, they're
+// for compatibility only andwill be removed soon - do NOT use them
+
+// meaning of different bits of the trace mask (which allows selectively
+// enable/disable some trace messages)
+#define wxTraceMemAlloc 0x0001 // trace memory allocation (new/delete)
+#define wxTraceMessages 0x0002 // trace window messages/X callbacks
+#define wxTraceResAlloc 0x0004 // trace GDI resource allocation
+#define wxTraceRefCount 0x0008 // trace various ref counting operations
+
+#ifdef __WXMSW__
+ #define wxTraceOleCalls 0x0100 // OLE interface calls
+#endif
+
// ----------------------------------------------------------------------------
// types
// ----------------------------------------------------------------------------
#define wxTRACE_OleCalls wxT("ole") // OLE interface calls
#endif
-// the trace masks have been superceded by symbolic trace constants, they're
-// for compatibility only andwill be removed soon - do NOT use them
-
-// meaning of different bits of the trace mask (which allows selectively
-// enable/disable some trace messages)
-#define wxTraceMemAlloc 0x0001 // trace memory allocation (new/delete)
-#define wxTraceMessages 0x0002 // trace window messages/X callbacks
-#define wxTraceResAlloc 0x0004 // trace GDI resource allocation
-#define wxTraceRefCount 0x0008 // trace various ref counting operations
-
-#ifdef __WXMSW__
- #define wxTraceOleCalls 0x0100 // OLE interface calls
-#endif
-
#include "wx/iosfwrap.h"
// ----------------------------------------------------------------------------
va_list argptr); \
extern void expdecl wxLog##level(arg, const wxChar *szFormat, \
...) ATTRIBUTE_PRINTF_2
-#define DECLARE_LOG_FUNCTION2(level, arg) \
- DECLARE_LOG_FUNCTION2_EXP(level, arg, WXDLLIMPEXP_BASE)
-
#else // !wxUSE_LOG
// log functions do nothing at all
inline void wxVLog##level(const wxChar *szFormat, \
va_list argptr) { } \
inline void wxLog##level(const wxChar *szFormat, ...) { }
-#define DECLARE_LOG_FUNCTION2(level, arg) \
+#define DECLARE_LOG_FUNCTION2_EXP(level, arg, expdecl) \
inline void wxVLog##level(arg, const wxChar *szFormat, \
va_list argptr) {} \
inline void wxLog##level(arg, const wxChar *szFormat, ...) { }
#define wxTRACE_OleCalls wxEmptyString // OLE interface calls
#endif // wxUSE_LOG/!wxUSE_LOG
+#define DECLARE_LOG_FUNCTION2(level, arg) \
+ DECLARE_LOG_FUNCTION2_EXP(level, arg, WXDLLIMPEXP_BASE)
+
// a generic function for all levels (level is passes as parameter)
DECLARE_LOG_FUNCTION2(Generic, wxLogLevel level);
#if wxUSE_GUI
// this one is the same as previous except that it allows to explicitly
+ class wxFrame;
// specify the frame to which the output should go
DECLARE_LOG_FUNCTION2_EXP(Status, wxFrame *pFrame, WXDLLIMPEXP_CORE);
#endif // wxUSE_GUI
// This will eventually be replaced by specialised
// accessible classes, one for each kind of wxWidgets
// control or window.
+#if wxUSE_BUTTON
if (GetWindow()->IsKindOf(CLASSINFO(wxButton)))
title = ((wxButton*) GetWindow())->GetLabel();
else
+#endif
title = GetWindow()->GetName();
if (!title.IsEmpty())
// Now store the contents range
bookr->SetContentsRange(cont_start, m_ContentsCnt);
+#if wxUSE_FONTMAP
// Convert encoding, if neccessary:
if (encoding != wxFONTENCODING_SYSTEM)
{
conv.Convert(m_Contents[i].m_Name);
}
}
+#else
+ wxUnusedVar(IndexOld);
+ wxUnusedVar(ContentsOld);
+ wxASSERT_MSG(encoding == wxFONTENCODING_SYSTEM, wxT("Encoding can't be converted"));
+#endif
m_BookRecords.Add(bookr);
if (m_IndexCnt > 0)
{
#if 1
// TODO
- wxLogError("Not implemented because wxMetafileDataObject does not contain width and height values.");
+ wxLogError(wxT("Not implemented because wxMetafileDataObject does not contain width and height values."));
return FALSE;
#else
wxMetafileDataObject* metaFileDataObject =
// initialize gs_displays using DirectX functions
static bool DoInitDirectX()
{
+#if wxUSE_LOG
// suppress the errors if ddraw.dll is not found
wxLog::EnableLogging(false);
+#endif
wxDynamicLibrary dllDX(_T("ddraw.dll"));
- wxLog::EnableLogging(true);
+#if wxUSE_LOG
+ wxLog::EnableLogging();
+#endif
if ( !dllDX.IsLoaded() )
return false;
// the button height is proportional to the height of the font used
int hBtn = BUTTON_HEIGHT_FROM_CHAR_HEIGHT(hChar);
+#if wxUSE_BUTTON
wxSize sz = wxButton::GetDefaultSize();
if (wBtn > sz.x)
sz.x = wBtn;
if (hBtn > sz.y)
sz.y = hBtn;
+#else
+ wxSize sz(wBtn, hBtn);
+#endif
return sz;
}
return true;
}
else // no default button
- {
#endif // wxUSE_BUTTON
+ {
// this is a quick and dirty test for a text
// control
if ( !(lDlgCode & DLGC_HASSETSEL) )
#ifndef __WXWINCE__
case WM_PRINT:
{
+#if wxUSE_LISTCTRL
// Don't call the wx handlers in this case
if ( wxIsKindOf(this, wxListCtrl) )
break;
+#endif
if ( lParam & PRF_ERASEBKGND )
HandleEraseBkgnd((WXHDC)(HDC)wParam);
return true;
}
+#if wxUSE_ACCEL
+
bool wxWindowMSW::HandleHotKey(WXWPARAM wParam, WXLPARAM lParam)
{
int hotkeyId = wParam;
return GetEventHandler()->ProcessEvent(event);
}
+#endif // wxUSE_ACCEL
+
#endif // wxUSE_HOTKEY
// Not tested under WinCE
wxWin32FrameInputHandler *m_inputHnd;
wxTopLevelWindow *m_wnd;
+#if wxUSE_ACCEL
wxAcceleratorTable m_oldAccelTable;
+#endif
};
wxWin32SystemMenuEvtHandler::wxWin32SystemMenuEvtHandler(
m_wnd = wxStaticCast(consumer->GetInputWindow(), wxTopLevelWindow);
m_wnd->PushEventHandler(this);
+#if wxUSE_ACCEL
// VS: This code relies on using generic implementation of
// wxAcceleratorTable in wxUniv!
wxAcceleratorTable table = *m_wnd->GetAcceleratorTable();
table.Add(wxAcceleratorEntry(wxACCEL_ALT, WXK_SPACE, wxID_SYSTEM_MENU));
table.Add(wxAcceleratorEntry(wxACCEL_ALT, WXK_F4, wxID_CLOSE_FRAME));
m_wnd->SetAcceleratorTable(table);
+#endif
}
void wxWin32SystemMenuEvtHandler::Detach()
{
if ( m_wnd )
{
+#if wxUSE_ACCEL
m_wnd->SetAcceleratorTable(m_oldAccelTable);
+#endif
m_wnd->RemoveEventHandler(this);
m_wnd = NULL;
}
pt.x = -pt.x + border;
pt.y = -pt.y + border + FRAME_TITLEBAR_HEIGHT;
+#if wxUSE_ACCEL
wxAcceleratorTable table = *m_wnd->GetAcceleratorTable();
m_wnd->SetAcceleratorTable(wxNullAcceleratorTable);
+#endif
+
m_inputHnd->PopupSystemMenu(m_wnd, pt);
+
+#if wxUSE_ACCEL
m_wnd->SetAcceleratorTable(table);
+#endif
}
void wxWin32SystemMenuEvtHandler::OnCloseFrame(wxCommandEvent &WXUNUSED(event))