The R Project SVN R

Rev

Rev 21452 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 21452 Rev 21453
Line 46... Line 46...
46
};
46
};
47
 
47
 
48
enum
48
enum
49
{
49
{
50
  CONSOLE_LINE_READY,
50
  CONSOLE_LINE_READY,
-
 
51
  CONSOLE_LINE_READY_WITH_VALUE,
51
  CONSOLE_CHAR_READY,
52
  CONSOLE_CHAR_READY,
52
  CONSOLE_INPUT_ENABLED,
53
  CONSOLE_INPUT_ENABLED,
53
  CONSOLE_INPUT_DISABLED,
54
  CONSOLE_INPUT_DISABLED,
54
  LAST_SIGNAL
55
  LAST_SIGNAL
55
};
56
};
Line 128... Line 129...
128
  /* New signals */
129
  /* New signals */
129
  console_signals[CONSOLE_LINE_READY] =
130
  console_signals[CONSOLE_LINE_READY] =
130
    gtk_signal_new ("console_line_ready",
131
    gtk_signal_new ("console_line_ready",
131
		    GTK_RUN_LAST,
132
		    GTK_RUN_LAST,
132
		    object_class->type,
133
		    object_class->type,
133
		    GTK_SIGNAL_OFFSET (GtkConsoleClass, console_char_ready),
134
		    GTK_SIGNAL_OFFSET (GtkConsoleClass, console_line_ready),
134
		    gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0);
135
		    gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0);
135
 
136
 
-
 
137
  console_signals[CONSOLE_LINE_READY_WITH_VALUE] =
-
 
138
    gtk_signal_new ("console_line_ready_with_value",
-
 
139
		    GTK_RUN_LAST,
-
 
140
		    object_class->type,
-
 
141
		    GTK_SIGNAL_OFFSET (GtkConsoleClass, console_line_ready_with_value),
-
 
142
		    gtk_marshal_NONE__STRING, GTK_TYPE_NONE, 1, GTK_TYPE_STRING);
-
 
143
 
136
  console_signals[CONSOLE_CHAR_READY] =
144
  console_signals[CONSOLE_CHAR_READY] =
137
    gtk_signal_new ("console_char_ready",
145
    gtk_signal_new ("console_char_ready",
138
		    GTK_RUN_LAST,
146
		    GTK_RUN_LAST,
139
		    object_class->type,
147
		    object_class->type,
140
		    GTK_SIGNAL_OFFSET (GtkConsoleClass, console_line_ready),
148
		    GTK_SIGNAL_OFFSET (GtkConsoleClass, console_char_ready),
141
		    gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0);
149
		    gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0);
142
 
150
 
143
  console_signals[CONSOLE_INPUT_ENABLED] =
151
  console_signals[CONSOLE_INPUT_ENABLED] =
144
    gtk_signal_new ("console_input_enabled",
152
    gtk_signal_new ("console_input_enabled",
145
		    GTK_RUN_LAST,
153
		    GTK_RUN_LAST,
Line 161... Line 169...
161
  /* setup signals */
169
  /* setup signals */
162
  object_class->destroy = gtk_console_destroy;
170
  object_class->destroy = gtk_console_destroy;
163
 
171
 
164
  klass->console_char_ready = NULL;
172
  klass->console_char_ready = NULL;
165
  klass->console_line_ready = NULL;
173
  klass->console_line_ready = NULL;
-
 
174
  klass->console_line_ready_with_value = NULL;
166
  klass->console_input_enabled = NULL;
175
  klass->console_input_enabled = NULL;
167
  klass->console_input_disabled = NULL;
176
  klass->console_input_disabled = NULL;
168
 
177
 
169
 
178
 
170
  /* Object arguments */
179
  /* Object arguments */
Line 376... Line 385...
376
  /* Write str to output buffer of object.  If str is too long,
385
  /* Write str to output buffer of object.  If str is too long,
377
     then it is split into multiple writes */
386
     then it is split into multiple writes */
378
 
387
 
379
  int str_written = 0;
388
  int str_written = 0;
380
 
389
 
-
 
390
  if(str_len < 0 && str)
-
 
391
    str_len = strlen(str);
-
 
392
 
381
  /* Run out of buffer space? Then flush buffer */
393
  /* Run out of buffer space? Then flush buffer */
382
  if ((object->buffer_index > 0) && 
394
  if ((object->buffer_index > 0) && 
383
      (object->buffer_index + str_len > CONSOLE_MAX_BUF - 1))
395
      (object->buffer_index + str_len > CONSOLE_MAX_BUF - 1))
384
    {
396
    {
385
      gtk_console_flush (object);
397
      gtk_console_flush (object);
Line 917... Line 929...
917
		       console_signals[CONSOLE_CHAR_READY]);
929
		       console_signals[CONSOLE_CHAR_READY]);
918
    }
930
    }
919
 
931
 
920
  if (console->line_available == TRUE)
932
  if (console->line_available == TRUE)
921
    {
933
    {
-
 
934
      char *line;
-
 
935
      line = gtk_editable_get_chars (GTK_EDITABLE (console), console->input_start_index, -1);
-
 
936
      gtk_signal_emit (GTK_OBJECT (console),
-
 
937
		       console_signals[CONSOLE_LINE_READY_WITH_VALUE], line);
-
 
938
      g_free(line);
922
      gtk_signal_emit (GTK_OBJECT (console),
939
      gtk_signal_emit (GTK_OBJECT (console),
923
		       console_signals[CONSOLE_LINE_READY]);
940
		       console_signals[CONSOLE_LINE_READY]);
924
      console->line_available = FALSE;
941
      console->line_available = FALSE;
925
    }
942
    }
926
 
943