#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 |
#define NUMBER_OF_LINES_TO_RECORD 40 |
typedef struct _vTempMessages vTempMessages |
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:
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().