summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorOwen Taylor <owt1@cornell.edu>1998-03-07 03:05:36 +0000
committerOwen Taylor <otaylor@src.gnome.org>1998-03-07 03:05:36 +0000
commit1941bf4cbf30ba6a0b63ae2f881a6f7d6c13a677 (patch)
tree89e9341d9fe045a882937df16a9ba6b0f2f730b3 /tests
parent761549b9682de5b9b6d8a1f06f8e75cff911a551 (diff)
downloadgtk+-1941bf4cbf30ba6a0b63ae2f881a6f7d6c13a677.tar.gz
Disallow pasting into non-editable widgets.
Fri Mar 6 21:30:05 1998 Owen Taylor <owt1@cornell.edu> * gtk/gtkeditable.c: Disallow pasting into non-editable widgets. * gtk/gtktext.[ch]: -Added scrolling when dragging the selection paste the top/bottom. -Fix some of the problems with displaying the selection state before mouse release. -Disallow pasting into non-editable widgets -Fixed segfault when changing window size -Update the cursor correctly when switching between editable and non-editable * testgtk.c: Added a toggle button for editability for the text widget.
Diffstat (limited to 'tests')
-rw-r--r--tests/testgtk.c79
1 files changed, 34 insertions, 45 deletions
diff --git a/tests/testgtk.c b/tests/testgtk.c
index f8068bee5a..4978c6d1e3 100644
--- a/tests/testgtk.c
+++ b/tests/testgtk.c
@@ -2175,7 +2175,7 @@ create_entry ()
gtk_widget_show (cb);
editable_check = gtk_check_button_new_with_label("Editable");
- gtk_box_pack_start (GTK_BOX (box2), editable_check, TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (box2), editable_check, FALSE, TRUE, 0);
gtk_signal_connect (GTK_OBJECT(editable_check), "toggled",
GTK_SIGNAL_FUNC(entry_toggle_editable), entry);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(editable_check), TRUE);
@@ -3288,7 +3288,6 @@ text_toggle_editable (GtkWidget *checkbutton,
GTK_TOGGLE_BUTTON(checkbutton)->active);
}
-
/*
* GtkText
*/
@@ -3306,10 +3305,14 @@ create_text ()
GtkWidget *vscrollbar;
GtkWidget *text;
+ FILE *infile;
+
if (!window)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_set_name (window, "text window");
+ gtk_widget_set_usize (window, 500, 500);
+ gtk_window_set_policy (GTK_WINDOW(window), TRUE, TRUE, FALSE);
gtk_signal_connect (GTK_OBJECT (window), "destroy",
GTK_SIGNAL_FUNC(destroy_window),
@@ -3341,70 +3344,56 @@ create_text ()
text = gtk_text_new (NULL, NULL);
gtk_text_set_editable (GTK_TEXT (text), TRUE);
- gtk_table_attach_defaults (GTK_TABLE (table), text, 0, 1, 0, 1);
+ gtk_table_attach (GTK_TABLE (table), text, 0, 1, 0, 1,
+ GTK_EXPAND | GTK_SHRINK | GTK_FILL,
+ GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0);
gtk_widget_show (text);
hscrollbar = gtk_hscrollbar_new (GTK_TEXT (text)->hadj);
gtk_table_attach (GTK_TABLE (table), hscrollbar, 0, 1, 1, 2,
- GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
+ GTK_EXPAND | GTK_FILL | GTK_SHRINK, GTK_FILL, 0, 0);
gtk_widget_show (hscrollbar);
vscrollbar = gtk_vscrollbar_new (GTK_TEXT (text)->vadj);
gtk_table_attach (GTK_TABLE (table), vscrollbar, 1, 2, 0, 1,
- GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
+ GTK_FILL, GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0);
gtk_widget_show (vscrollbar);
gtk_text_freeze (GTK_TEXT (text));
gtk_widget_realize (text);
+ infile = fopen("testgtk.c", "r");
+
+ if (infile)
+ {
+ char buffer[1024];
+ int nchars;
+
+ while (1)
+ {
+ nchars = fread(buffer, 1, 1024, infile);
+ gtk_text_insert (GTK_TEXT (text), NULL, &text->style->black,
+ NULL, buffer, nchars);
+
+ if (nchars < 1024)
+ break;
+ }
+
+ fclose (infile);
+ }
+
gtk_text_insert (GTK_TEXT (text), NULL, &text->style->black, NULL,
- "spencer blah blah blah\n", -1);
- gtk_text_insert (GTK_TEXT (text), NULL, &text->style->black, NULL,
- "kimball\n", -1);
+ "And even ", -1);
gtk_text_insert (GTK_TEXT (text), NULL, &text->style->bg[GTK_STATE_NORMAL], NULL,
- "is\n", -1);
- gtk_text_insert (GTK_TEXT (text), NULL, &text->style->black, NULL,
- "a\n", -1);
- gtk_text_insert (GTK_TEXT (text), NULL, &text->style->black, NULL,
- "wuss.\n", -1);
- gtk_text_insert (GTK_TEXT (text), NULL, &text->style->black, NULL,
- "but\n", -1);
- gtk_text_insert (GTK_TEXT (text), NULL, &text->style->black, NULL,
- "josephine\n", -1);
- gtk_text_insert (GTK_TEXT (text), NULL, &text->style->black, NULL,
- "(his\n", -1);
- gtk_text_insert (GTK_TEXT (text), NULL, &text->style->black, NULL,
- "girlfriend\n", -1);
- gtk_text_insert (GTK_TEXT (text), NULL, &text->style->black, NULL,
- "is\n", -1);
- gtk_text_insert (GTK_TEXT (text), NULL, &text->style->black, NULL,
- "not).\n", -1);
- gtk_text_insert (GTK_TEXT (text), NULL, &text->style->black, NULL,
- "why?\n", -1);
- gtk_text_insert (GTK_TEXT (text), NULL, &text->style->black, NULL,
- "because\n", -1);
- gtk_text_insert (GTK_TEXT (text), NULL, &text->style->black, NULL,
- "spencer\n", -1);
- gtk_text_insert (GTK_TEXT (text), NULL, &text->style->black, NULL,
- "puked\n", -1);
- gtk_text_insert (GTK_TEXT (text), NULL, &text->style->black, NULL,
- "last\n", -1);
- gtk_text_insert (GTK_TEXT (text), NULL, &text->style->black, NULL,
- "night\n", -1);
- gtk_text_insert (GTK_TEXT (text), NULL, &text->style->black, NULL,
- "but\n", -1);
- gtk_text_insert (GTK_TEXT (text), NULL, &text->style->black, NULL,
- "josephine\n", -1);
- gtk_text_insert (GTK_TEXT (text), NULL, &text->style->black, NULL,
- "did\n", -1);
+ "colored", -1);
gtk_text_insert (GTK_TEXT (text), NULL, &text->style->black, NULL,
- "not", -1);
+ "text", -1);
gtk_text_thaw (GTK_TEXT (text));
editable_check = gtk_check_button_new_with_label("Editable");
- gtk_box_pack_start (GTK_BOX (box2), editable_check, TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (box2), editable_check, FALSE, TRUE, 0);
gtk_signal_connect (GTK_OBJECT(editable_check), "toggled",
GTK_SIGNAL_FUNC(text_toggle_editable), text);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(editable_check), TRUE);