Jason,
You'll problably get more response to your questions by posting them to one of the 3 PHP-GTK mailing lists. I don't think alot of people who read this board develop using PHP-GTK, the bind is only 6 months old after all🙂. More info on the lists can found found at: http://gtk.php.net/resources.php. Of the general list is intended for questions such as these. To briefly answer your questions:
How can I create a scrollable editable text box?
The GtkText widget does not have native scrolling support, thus you need to add it to a container widget which does, GtkScrolledWindow. You then add the GtkScrollWindow to an container widget like GtkVBox or GtkHBox which is in turn added to either a higher level container or GtkWindow. See the code below:
// create a text and scrolled window widget
$textBox = &new GtkTextBox();
$sWin = &new GtkScrolledWindow();
// set the horizontal and vertical scroll bars to
// appear only when needed
$sWin->set_policy(GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
// bind horizontal and vertical adjustment control on the
// text widget to scroll window widget
$textBox->set_adjustments($aboutScrolledWindow->get_hadjustment(),$aboutScrolledWindow->get_vadjustment());
// add the text widget to the scrolled window
$sWin->add($textBox);
Regarding your GtkDialog question, there's a fully function example of this widget in the gtk.php sample in the 0.1.1 distribution which was release yesterday. As to setting fonts in GtkText, my hunch would be to start digging in the GtkFontSelection and GtkFontSelectionDialog widget sections of the GTK+ API Reference Manual (http://developer.gnome.org/doc/API/gtk/index.html). The PHP-GTK Manual is far from complete and I don't think either of these widgets are yet covered.
In the meantime, you can specific fonts (must be Linux style) using rc files. It's not dynamic, but it's better than nothing. GtkText has limitations. Amoung others, word wrap is currently bloody annoying on Win32 due to a bug in the Win32 port which produces little black boxes at the end of wrapped lines. Scintilla is a much stronger widget but as of 0.1.1 it's not supported in the general release (not sure about CVS). Support is coming, Andrei is working on currently it, but it's coming slowly.
Please subscribe to the mailing-list and/or drop me a line if you have further questions. See you on the lists.........
geoff