#include "wx/notebook.h"
#include "wx/spinbutt.h"
#include "wx/settings.h"
+#include "wx/menu.h"
#include "wx/univ/scrtimer.h"
int end,
int step = 1,
int flags = 0);
+#if wxUSE_MENUS
virtual void DrawMenuBarItem(wxDC& dc,
const wxRect& rect,
virtual void DrawMenuSeparator(wxDC& dc,
wxCoord y,
const wxMenuGeometryInfo& geomInfo);
-
+#endif
virtual void GetComboBitmaps(wxBitmap *bmpNormal,
wxBitmap *bmpPressed,
wxBitmap *bmpDisabled);
wxOrientation orient) const;
virtual wxSize GetProgressBarStep() const { return wxSize(16, 32); }
+#if wxUSE_MENUS
virtual wxSize GetMenuBarItemSize(const wxSize& sizeText) const;
virtual wxMenuGeometryInfo *GetMenuGeometry(wxWindow *win,
const wxMenu& menu) const;
-
+#endif
protected:
// helper of DrawLabel() and DrawCheckOrRadioButton()
void DoDrawLabel(wxDC& dc,
{
if ( focusOffset.x || focusOffset.y )
{
- // before calling Inflate(), ensure that we will have a valid rect
- // afterwards
- if ( rectLabel.x < focusOffset.x )
- rectLabel.x = focusOffset.x;
-
- if ( rectLabel.y < focusOffset.y )
- rectLabel.y = focusOffset.y;
-
rectLabel.Inflate(focusOffset.x, focusOffset.y);
}
// menu and menubar
// ----------------------------------------------------------------------------
+#if wxUSE_MENUS
+
// wxWin32MenuGeometryInfo: the wxMenuGeometryInfo used by wxWin32Renderer
class WXDLLEXPORT wxWin32MenuGeometryInfo : public wxMenuGeometryInfo
{
GetMenuGeometry(wxWindow *, const wxMenu&) const;
};
+#endif // wxUSE_MENUS
+
// FIXME: all constants are hardcoded but shouldn't be
static const wxCoord MENU_LEFT_MARGIN = 9;
static const wxCoord MENU_RIGHT_MARGIN = 18;
// the size of the standard checkmark bitmap
static const wxCoord MENU_CHECK_SIZE = 9;
+// we can't implement these methods without wxMenuGeometryInfo implementation
+// which we don't have if !wxUSE_MENUS
+#if wxUSE_MENUS
+
void wxWin32Renderer::DrawMenuBarItem(wxDC& dc,
const wxRect& rectOrig,
const wxString& label,
return gi;
}
+#else // !wxUSE_MENUS
+
+void wxWin32Renderer::DrawMenuBarItem(wxDC& WXUNUSED(dc),
+ const wxRect& WXUNUSED(rectOrig),
+ const wxString& WXUNUSED(label),
+ int WXUNUSED(flags),
+ int WXUNUSED(indexAccel))
+{
+}
+
+void wxWin32Renderer::DrawMenuItem(wxDC& WXUNUSED(dc),
+ wxCoord WXUNUSED(y),
+ const wxMenuGeometryInfo& WXUNUSED(gi),
+ const wxString& WXUNUSED(label),
+ const wxString& WXUNUSED(accel),
+ const wxBitmap& WXUNUSED(bitmap),
+ int WXUNUSED(flags),
+ int WXUNUSED(indexAccel))
+{
+}
+
+void wxWin32Renderer::DrawMenuSeparator(wxDC& WXUNUSED(dc),
+ wxCoord WXUNUSED(y),
+ const wxMenuGeometryInfo& WXUNUSED(gi))
+{
+}
+
+wxSize wxWin32Renderer::GetMenuBarItemSize(const wxSize& size) const
+{
+ return size;
+}
+
+wxMenuGeometryInfo *
+wxWin32Renderer::GetMenuGeometry(wxWindow *WXUNUSED(win),
+ const wxMenu& WXUNUSED(menu)) const
+{
+ return NULL;
+}
+
+#endif // wxUSE_MENUS/!wxUSE_MENUS
+
// ----------------------------------------------------------------------------
// combobox
// ----------------------------------------------------------------------------
wxRect rectTotal = rect;
wxCoord widthBorder = GetTextBorderWidth();
- if ( rectTotal.x < widthBorder )
- rectTotal.x = widthBorder;
- if ( rectTotal.y < widthBorder )
- rectTotal.y = widthBorder;
-
rectTotal.Inflate(widthBorder);
// this is what Windows does
rectText.height--;
wxCoord widthBorder = GetTextBorderWidth();
- if ( rectText.width < 2*widthBorder )
- rectText.width = 2*widthBorder;
- if ( rectText.height < 2*widthBorder )
- rectText.height = 2*widthBorder;
-
rectText.Inflate(-widthBorder);
if ( extraSpaceBeyond )