- GtkWidget *hscrollbar = gtk_hscrollbar_new(GTK_TEXT(m_text)->hadj);
- gtk_table_attach(GTK_TABLE(m_widget), hscrollbar, 0, 1, 1, 2,
- GTK_EXPAND | GTK_FILL,
+#if (GTK_MINOR_VERSION > 2)
+ /* a multi-line edit control: create a vertical scrollbar by default and
+ horizontal if requested */
+ bool bHasHScrollbar = (style & wxHSCROLL) != 0;
+#else
+ bool bHasHScrollbar = FALSE;
+#endif
+
+ /* create our control ... */
+ m_text = gtk_text_new( (GtkAdjustment *) NULL, (GtkAdjustment *) NULL );
+
+ /* ... and put into the upper left hand corner of the table */
+ m_widget = gtk_table_new(bHasHScrollbar ? 2 : 1, 2, FALSE);
+ GTK_WIDGET_UNSET_FLAGS( m_widget, GTK_CAN_FOCUS );
+ gtk_table_attach( GTK_TABLE(m_widget), m_text, 0, 1, 0, 1,
+ (GtkAttachOptions)(GTK_FILL | GTK_EXPAND | GTK_SHRINK),
+ (GtkAttachOptions)(GTK_FILL | GTK_EXPAND | GTK_SHRINK),
+ 0, 0);
+
+ /* always wrap words */
+ gtk_text_set_word_wrap( GTK_TEXT(m_text), TRUE );
+
+#if (GTK_MINOR_VERSION > 2)
+ /* put the horizontal scrollbar in the lower left hand corner */
+ if (bHasHScrollbar)
+ {
+ GtkWidget *hscrollbar = gtk_hscrollbar_new(GTK_TEXT(m_text)->hadj);
+ GTK_WIDGET_UNSET_FLAGS( hscrollbar, GTK_CAN_FOCUS );
+ gtk_table_attach(GTK_TABLE(m_widget), hscrollbar, 0, 1, 1, 2,
+ (GtkAttachOptions)(GTK_EXPAND | GTK_FILL | GTK_SHRINK),