+ if (style & wxTE_READONLY)
+ {
+ if (!multi_line)
+ gtk_entry_set_editable( GTK_ENTRY(m_text), FALSE );
+ }
+ else
+ {
+ if (multi_line)
+ gtk_text_set_editable( GTK_TEXT(m_text), 1 );
+ }
+
+ Show( TRUE );
+
+ SetBackgroundColour( parent->GetBackgroundColour() );
+ SetForegroundColour( parent->GetForegroundColour() );
+
+ return TRUE;
+}
+
+void wxTextCtrl::CalculateScrollbar()
+{
+ if ((m_windowStyle & wxTE_MULTILINE) == 0) return;
+
+ GtkAdjustment *adj = GTK_TEXT(m_text)->vadj;
+
+ if (adj->upper - adj->page_size < 0.8)
+ {
+ if (m_vScrollbarVisible)
+ {
+ gtk_widget_hide( m_vScrollbar );
+
+ m_vScrollbarVisible = FALSE;
+ }
+ }
+ else
+ {
+ if (!m_vScrollbarVisible)
+ {
+ gtk_widget_show( m_vScrollbar );
+
+ m_vScrollbarVisible = TRUE;
+ }
+ }