#include "wx/palette.h"
#include "wx/gdiobj.h"
-#ifdef __WXGTK20__
typedef struct _GdkPixbuf GdkPixbuf;
-#endif
class WXDLLEXPORT wxPixelDataBase;
void SetDepth( int depth );
void SetPixmap( GdkPixmap *pixmap );
void SetBitmap( GdkBitmap *bitmap );
-#ifdef __WXGTK20__
void SetPixbuf(GdkPixbuf *pixbuf);
-#endif
GdkPixmap *GetPixmap() const;
GdkBitmap *GetBitmap() const;
bool HasPixmap() const;
-#ifdef __WXGTK20__
bool HasPixbuf() const;
GdkPixbuf *GetPixbuf() const;
-#endif
// Basically, this corresponds to Win32 StretchBlt()
wxBitmap Rescale( int clipx, int clipy, int clipwidth, int clipheight, int width, int height );
bool CreateFromImageAsBitmap(const wxImage& image);
bool CreateFromImageAsPixmap(const wxImage& image);
-#ifdef __WXGTK20__
bool CreateFromImageAsPixbuf(const wxImage& image);
enum Representation
void PurgeOtherRepresentations(Representation keep);
friend class wxMemoryDC;
-#endif
friend class wxBitmapHandler;
private:
static wxVisualAttributes
GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
-
+
// implementation
// --------------
protected:
virtual wxSize DoGetBestSize() const;
-#ifdef __WXGTK20__
void DoSet3StateValue(wxCheckBoxState state);
wxCheckBoxState DoGet3StateValue() const;
-#endif
private:
DECLARE_DYNAMIC_CLASS(wxCheckBox)
wxRegion m_paintClippingRegion;
// PangoContext stuff for GTK 2.0
-#ifdef __WXGTK20__
PangoContext *m_context;
PangoLayout *m_layout;
PangoFontDescription *m_fontdesc;
-#endif
void SetUpDC();
void Destroy();
// implementation from now on
void Unshare();
-#ifndef __WXGTK20__
- GdkFont* GetInternalFont(float scale = 1.0) const;
-#endif
-
// no data :-)
protected:
// common part of Append and Insert
bool GtkAppend(wxMenu *menu, const wxString& title, int pos=-1);
-#ifndef __WXGTK20__
- GtkAccelGroup *m_accel;
-#endif
GtkWidget *m_menubar;
long m_style;
wxWindow *m_invokingWindow;
class WXDLLIMPEXP_CORE wxPen;
-#if defined(__WXGTK127__) || defined(__WXGTK20__)
typedef gint8 wxGTKDash;
-#else
-typedef gchar wxGTKDash;
-#endif
//-----------------------------------------------------------------------------
// wxPen
#define GTK_CHECK_VERSION(a, b, c) 0
#endif
-#ifdef __WXGTK20__
#if wxUSE_UNICODE
#define wxGTK_CONV(s) wxConvUTF8.cWX2MB(s)
#define wxGTK_CONV_BACK(s) wxConvUTF8.cMB2WX(s)
#define wxGTK_CONV(s) wxConvUTF8.cWC2MB( wxConvLocal.cWX2WC(s) )
#define wxGTK_CONV_BACK(s) wxConvLocal.cWC2WX( (wxConvUTF8.cMB2WC( s ) ) )
#endif
-#else
- #define wxGTK_CONV(s) s.c_str()
- #define wxGTK_CONV_BACK(s) s
-#endif
-
+// FIXME: Make gtk2 only, so no macros needed - MR
// GTK+ 2.0 compatibility define is broken when used from C++ as it
// casts enum to int implicitly
-#ifdef __WXGTK20__
- #undef gtk_signal_disconnect_by_func
- #define gtk_signal_disconnect_by_func(object,func,data) \
- gtk_signal_compat_matched((object), (func), (data), \
- (GSignalMatchType)(G_SIGNAL_MATCH_FUNC | \
- G_SIGNAL_MATCH_DATA), 0)
-#endif
+#undef gtk_signal_disconnect_by_func
+#define gtk_signal_disconnect_by_func(object,func,data) \
+ gtk_signal_compat_matched((object), (func), (data), \
+ (GSignalMatchType)(G_SIGNAL_MATCH_FUNC | \
+ G_SIGNAL_MATCH_DATA), 0)
// child is not a member of GTK_BUTTON() any more in GTK+ 2.0
-#ifdef __WXGTK20__
- #define BUTTON_CHILD(w) GTK_BIN((w))->child
-#else
- #define BUTTON_CHILD(w) GTK_BUTTON((w))->child
-#endif
+#define BUTTON_CHILD(w) GTK_BIN((w))->child
// event_window has disappeared from GtkToggleButton in GTK+ 2.0
-#ifdef __WXGTK20__
- #define TOGGLE_BUTTON_EVENT_WIN(w) GTK_BUTTON((w))->event_window
-#else
- #define TOGGLE_BUTTON_EVENT_WIN(w) GTK_TOGGLE_BUTTON((w))->event_window
-#endif
+#define TOGGLE_BUTTON_EVENT_WIN(w) GTK_BUTTON((w))->event_window
// gtk_editable_{copy|cut|paste}_clipboard() had an extra argument under
// previous GTK+ versions but no more
#endif
// _GtkEditable is now private
-#ifdef __WXGTK20__
- #define GET_EDITABLE_POS(w) gtk_editable_get_position(GTK_EDITABLE(w))
- #define SET_EDITABLE_POS(w, pos) \
- gtk_editable_set_position(GTK_EDITABLE(w), (pos))
-#else
- #define GET_EDITABLE_POS(w) GTK_EDITABLE((w))->current_pos
- #define SET_EDITABLE_POS(w, pos) \
- GTK_EDITABLE((w))->current_pos = (pos)
-#endif
+#define GET_EDITABLE_POS(w) gtk_editable_get_position(GTK_EDITABLE(w))
+#define SET_EDITABLE_POS(w, pos) \
+ gtk_editable_set_position(GTK_EDITABLE(w), (pos))
// this GtkNotebook struct field has been renamed
-#ifdef __WXGTK20__
- #define NOTEBOOK_PANEL(nb) GTK_NOTEBOOK(nb)->event_window
-#else
- #define NOTEBOOK_PANEL(nb) GTK_NOTEBOOK(nb)->panel
-#endif
+#define NOTEBOOK_PANEL(nb) GTK_NOTEBOOK(nb)->event_window
-#ifdef __WXGTK20__
- #define SCROLLBAR_CBACK_ARG
- #define GET_SCROLL_TYPE(w) GTK_SCROLL_JUMP
-#else
- #define SCROLLBAR_CBACK_ARG
- #define GET_SCROLL_TYPE(w) GTK_RANGE((w))->scroll_type
-#endif
+#define SCROLLBAR_CBACK_ARG
+#define GET_SCROLL_TYPE(w) GTK_SCROLL_JUMP
// translate a GTK+ scroll type to a wxEventType
inline wxEventType GtkScrollTypeToWx(guint scrollType)
void wxAddGrab(wxWindow* window);
void wxRemoveGrab(wxWindow* window);
-#ifdef __WXGTK20__
// Escapes string so that it is valid Pango markup XML string:
WXDLLIMPEXP_CORE wxString wxEscapeStringForPangoMarkup(const wxString& str);
-#endif
// The declaration for gtk_icon_size_lookup was accidentally ifdefed out in
// GTK+ 2.1.0 which Sun seem to have shipped with some versions of JDS
virtual void ShowPosition(long pos);
-#ifdef __WXGTK20__
virtual wxTextCtrlHitTestResult HitTest(const wxPoint& pt, long *pos) const;
virtual wxTextCtrlHitTestResult HitTest(const wxPoint& pt,
wxTextCoord *col,
{
return wxTextCtrlBase::HitTest(pt, col, row);
}
-#endif // __WXGTK20__
// Clipboard operations
virtual void Copy();
void CalculateScrollbar();
void OnInternalIdle();
-#ifdef __WXGTK20__
void SetUpdateFont(bool WXUNUSED(update)) { }
-#else // !__WXGTK20__
- void SetUpdateFont(bool update) { m_updateFont = update; }
- void UpdateFontIfNeeded();
-#endif // __WXGTK20__/!__WXGTK20__
void SetModified() { m_modified = true; }
// override this and return true.
virtual bool UseGTKStyleBase() const { return true; }
-#ifdef __WXGTK20__
// has the control been frozen by Freeze()?
bool IsFrozen() const { return m_frozenness > 0; }
-#endif
private:
// change the font for everything in this control
bool m_modified:1;
bool m_vScrollbarVisible:1;
-#ifndef __WXGTK20__
- bool m_updateFont:1;
-#endif // !__WXGTK20__
bool m_ignoreNextUpdate:1;
-#ifdef __WXGTK20__
// Our text buffer. Convenient, and holds the buffer while using
// a dummy one when m_frozenness > 0
GtkTextBuffer *m_buffer;
void OnUrlMouseEvent(wxMouseEvent&);
GdkCursor *m_gdkHandCursor;
GdkCursor *m_gdkXTermCursor;
-#endif
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxTextCtrl)
#include <gdk/gdkx.h>
#include <gtk/gtkcontainer.h>
#include <gtk/gtkadjustment.h>
-#ifndef __WXGTK20__
-#include <gtk/gtkfeatures.h>
-#endif
#include "wx/dlimpexp.h"
virtual void SetDropTarget( wxDropTarget *dropTarget );
#endif // wxUSE_DRAG_AND_DROP
-#ifdef __WXGTK20__
virtual void AddChild( wxWindowBase *child );
virtual void RemoveChild( wxWindowBase *child );
-#endif
// implementation
// --------------
virtual bool IsOwnGtkWindow( GdkWindow *window );
void ConnectWidget( GtkWidget *widget );
-#ifdef __WXGTK20__
// Returns the default context which usually is anti-aliased
PangoContext *GtkGetPangoDefaultContext();
-#endif
#if wxUSE_TOOLTIPS
virtual void ApplyToolTip( GtkTooltips *tips, const wxChar *tip );
// this widget will be queried for GTK's focus events
GtkWidget *m_focusWidget;
-#ifdef __WXGTK20__
wxGtkIMData *m_imData;
-#else // GTK 1
-#ifdef HAVE_XIM
- // XIM support for wxWidgets
- GdkIC *m_ic;
- GdkICAttr *m_icattr;
-#endif // HAVE_XIM
-#endif // GTK 2/1
-
-#ifndef __WXGTK20__
- // The area to be cleared (and not just refreshed)
- // We cannot make this distinction under GTK 2.0.
- wxRegion m_clearRegion;
-#endif
// scrolling stuff
GtkAdjustment *m_hAdjust,*m_vAdjust;
bool m_hasFocus:1; // true if == FindFocus()
bool m_isScrolling:1; // dragging scrollbar thumb?
bool m_clipPaintRegion:1; // true after ScrollWindow()
-#ifdef __WXGTK20__
bool m_dirtyTabOrder:1; // tab order changed, GTK focus
// chain needs update
-#endif
bool m_needsStyleChange:1; // May not be able to change
// background style until OnIdle
// common part of all ctors (not virtual because called from ctor)
void Init();
-#ifdef __WXGTK20__
virtual void DoMoveInTabOrder(wxWindow *win, MoveKind move);
// Copies m_children tab order to GTK focus chain:
void RealizeTabOrder();
-#endif
// Called by ApplyWidgetStyle (which is called by SetFont() and
// SetXXXColour etc to apply style changed to native widgets) to create