X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;ds=sidebyside;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2FmainWin%2Fsrc%2Fcallbacks.c;h=5e292993573e8eb5f8e766f0294640e89b084fdb;hb=fc188b78164da3123cd707a4f52393aed8e15835;hp=b766fb0800ab0464755f701bba48b7bed69bb39e;hpb=f9334f6f7ef5e0b29fdc66d36d39ca164dfc27e5;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/mainWin/src/callbacks.c b/ltt/branches/poly/lttv/modules/gui/mainWin/src/callbacks.c index b766fb08..5e292993 100644 --- a/ltt/branches/poly/lttv/modules/gui/mainWin/src/callbacks.c +++ b/ltt/branches/poly/lttv/modules/gui/mainWin/src/callbacks.c @@ -11,6 +11,11 @@ #include #include #include +#include +#include +#include + +#define PATH_LENGTH 256 extern systemView * gSysView; extern LttvTracesetContext * gTracesetContext; @@ -93,7 +98,11 @@ void insertView(GtkWidget* widget, view_constructor constructor) viewer = (GtkWidget*)constructor(mwData); if(viewer) - gtk_custom_widget_add(custom, viewer); + { + gtk_custom_widget_add(custom, viewer); + // Added by MD + // g_object_unref(G_OBJECT(viewer)); + } } void get_label_string (GtkWidget * text, gchar * label) @@ -103,22 +112,20 @@ void get_label_string (GtkWidget * text, gchar * label) strcpy(label,gtk_entry_get_text(entry)); } -void get_label(GtkWindow * mw, gchar * str) +void get_label(GtkWindow * mw, gchar * str, gchar* dialogue_title, gchar * label_str) { GtkWidget * dialogue; GtkWidget * text; GtkWidget * label; gint id; - strcpy(str,"Page"); //default label - - dialogue = gtk_dialog_new_with_buttons("Get the name of the tab",mw, + dialogue = gtk_dialog_new_with_buttons(dialogue_title,mw, GTK_DIALOG_MODAL, GTK_STOCK_OK,GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL,GTK_RESPONSE_REJECT, NULL); - label = gtk_label_new("Please input tab's name"); + label = gtk_label_new(label_str); gtk_widget_show(label); text = gtk_entry_new(); @@ -368,7 +375,7 @@ on_tab_activate (GtkMenuItem *menuitem, gpointer user_data) { GList * list; - gchar label[64]; + gchar label[PATH_LENGTH]; tab * tmpTab; GtkWidget * pane; @@ -386,16 +393,6 @@ on_tab_activate (GtkMenuItem *menuitem, if(!tmpTab){ mwData->CurrentTab = NULL; tmpTab = g_new(tab,1); - tmpTab->traceStartTime.tv_sec = 0; - tmpTab->traceStartTime.tv_nsec = 0; - tmpTab->traceEndTime.tv_sec = G_MAXULONG; - tmpTab->traceEndTime.tv_nsec = G_MAXULONG; - tmpTab->startTime.tv_sec = 0; - tmpTab->startTime.tv_nsec = 0; - tmpTab->endTime.tv_sec = G_MAXULONG; - tmpTab->endTime.tv_nsec = G_MAXULONG; - tmpTab->currentTime.tv_sec = 0; - tmpTab->currentTime.tv_nsec = 0; mwData->Tab = tmpTab; }else{ tmpTab->Next = g_new(tab,1); @@ -407,14 +404,21 @@ on_tab_activate (GtkMenuItem *menuitem, tmpTab->startTime = mwData->CurrentTab->startTime; tmpTab->endTime = mwData->CurrentTab->endTime; tmpTab->currentTime = mwData->CurrentTab->currentTime; + }else{ + getTracesetTimeSpan(mwData,&tmpTab->traceStartTime, &tmpTab->traceEndTime); + tmpTab->startTime = tmpTab->traceStartTime; + tmpTab->endTime = tmpTab->traceEndTime; + tmpTab->currentTime = tmpTab->traceStartTime; } tmpTab->Attributes = LTTV_IATTRIBUTE(g_object_new(LTTV_ATTRIBUTE_TYPE, NULL)); // mwData->CurrentTab = tmpTab; tmpTab->custom = (GtkCustom*)gtk_custom_new(); + tmpTab->custom->mw = mwData; gtk_widget_show((GtkWidget*)tmpTab->custom); tmpTab->Next = NULL; - get_label((GtkWindow*)mwData->MWindow, label); + strcpy(label,"Page"); + get_label((GtkWindow*)mwData->MWindow, label,"Get the name of the tab","Please input tab's name"); tmpTab->label = gtk_label_new (label); gtk_widget_show (tmpTab->label); @@ -605,7 +609,25 @@ void on_add_module_search_path_activate (GtkMenuItem *menuitem, gpointer user_data) { - g_printf("Add module search path\n"); + GtkDirSelection * fileSelector = (GtkDirSelection *)gtk_dir_selection_new("Select module path"); + char * dir; + gint id; + + gchar str[PATH_LENGTH]; + mainWindow * mwData = get_window_data_struct((GtkWidget*)menuitem); + + id = gtk_dialog_run(GTK_DIALOG(fileSelector)); + switch(id){ + case GTK_RESPONSE_ACCEPT: + case GTK_RESPONSE_OK: + dir = gtk_dir_selection_get_dir (fileSelector); + lttv_module_path_add(dir); + case GTK_RESPONSE_REJECT: + case GTK_RESPONSE_CANCEL: + default: + gtk_widget_destroy((GtkWidget*)fileSelector); + break; + } }