Referência ao ficheiro src/interface/vapiGtkMessages.c

#include <glade/glade.h>
#include <gtk/gtk.h>
#include "vapiString.h"
#include "vapiAux.h"

Diagrama de dependências de inclusão para vapiGtkMessages.c:

Ir para o código fonte deste ficheiro.

Estruturas de Dados

struct  _vTempMessages

Macros

#define NUMBER_OF_LINES_TO_RECORD   40

Definições de tipos

typedef _vTempMessages vTempMessages

Funções

void vapiGtkMessagesInit (GladeXML *xml)
void vapiGtkWriteMessage (const char *Message, int type)
gboolean vapiGtkWriteMessageIdle (vTempMessages *TempMessages)

Variáveis

static GMutex * MessageBufferMutex
static GtkWidget * txtErrors
static GtkWidget * txtMessages


Documentação das macros

#define NUMBER_OF_LINES_TO_RECORD   40

Definido na linha 6 do ficheiro vapiGtkMessages.c.

Referenciado por vapiGtkWriteMessageIdle().


Documentação dos tipos

typedef struct _vTempMessages vTempMessages


Documentação das funções

void vapiGtkMessagesInit ( GladeXML *  xml  ) 

Definido na linha 21 do ficheiro vapiGtkMessages.c.

Referências MessageBufferMutex, txtErrors e txtMessages.

Referenciado por vapiGtkLoadInterface().

00022 {
00023         txtMessages = glade_xml_get_widget (xml, "txtMessages");
00024         txtErrors = glade_xml_get_widget (xml, "txtErrors");
00025         if (!g_thread_supported ())
00026         {
00027                 g_thread_init (NULL);
00028         }
00029         MessageBufferMutex = g_mutex_new ();
00030 }

Here is the caller graph for this function:

void vapiGtkWriteMessage ( const char *  Message,
int  type 
)

Definido na linha 33 do ficheiro vapiGtkMessages.c.

Referências _vTempMessages::Message, _vTempMessages::type, v_printf() e vapiGtkWriteMessageIdle().

Referenciado por v_message() e vapi_loading_progress_step().

00034 {
00035         vTempMessages *TempMessages = malloc (sizeof (vTempMessages));
00036         TempMessages->Message = v_printf ("%s", Message);
00037         TempMessages->type = type;
00038         g_idle_add ((GSourceFunc) & vapiGtkWriteMessageIdle, TempMessages);
00039 }

Grafo de chamadas desta função:

Here is the caller graph for this function:

gboolean vapiGtkWriteMessageIdle ( vTempMessages TempMessages  ) 

Definido na linha 42 do ficheiro vapiGtkMessages.c.

Referências _vTempMessages::Message, MessageBufferMutex, NUMBER_OF_LINES_TO_RECORD, txtErrors, txtMessages, _vTempMessages::type, v_ERROR e v_ERROR_UI.

Referenciado por vapiGtkWriteMessage().

00043 {
00044         GtkTextBuffer *textBuffer;
00045         GtkWidget *textBox;
00046         GtkTextIter iter, iter2, iter3;
00047         int lines;
00048         g_mutex_lock (MessageBufferMutex);
00049         if (TempMessages->type == v_ERROR || TempMessages->type == v_ERROR_UI)
00050         {
00051                 textBox = txtErrors;
00052         }
00053         else
00054         {
00055                 textBox = txtMessages;
00056         }
00057         textBuffer = gtk_text_view_get_buffer ((GtkTextView *) textBox);
00058         lines = gtk_text_buffer_get_line_count (textBuffer);
00059         if (lines > NUMBER_OF_LINES_TO_RECORD)
00060         {
00061                 gtk_text_buffer_get_start_iter (textBuffer, &iter);
00062                 gtk_text_buffer_get_iter_at_line (textBuffer, &iter2,
00063                                                   (lines -
00064                                                    NUMBER_OF_LINES_TO_RECORD));
00065                 gtk_text_buffer_delete (textBuffer, &iter, &iter2);
00066         }
00067 
00068         if (lines <= 1)
00069         {
00070                 gtk_text_buffer_set_text (textBuffer,
00071                                           TempMessages->Message, -1);
00072         }
00073         else
00074         {
00075                 gtk_text_buffer_get_end_iter (textBuffer, &iter3);
00076                 gtk_text_buffer_insert (textBuffer, &iter3,
00077                                         TempMessages->Message, -1);
00078         }
00079 
00080         free (TempMessages->Message);
00081         free (TempMessages);
00082         g_mutex_unlock (MessageBufferMutex);
00083 
00084         return FALSE;
00085 }

Here is the caller graph for this function:


Documentação das variáveis

GMutex* MessageBufferMutex [static]

Definido na linha 9 do ficheiro vapiGtkMessages.c.

Referenciado por vapiGtkMessagesInit() e vapiGtkWriteMessageIdle().

GtkWidget* txtErrors [static]

Definido na linha 8 do ficheiro vapiGtkMessages.c.

Referenciado por vapiGtkMessagesInit() e vapiGtkWriteMessageIdle().

GtkWidget* txtMessages [static]

Definido na linha 7 do ficheiro vapiGtkMessages.c.

Referenciado por vapiGtkMessagesInit() e vapiGtkWriteMessageIdle().


Gerado em Tue Jul 24 10:36:38 2007 para Vapi por  doxygen 1.5.1