move ltt-private.h from public directroy into private directroy
[lttv.git] / ltt / branches / poly / lttv / modules / gui / mainWin / src / lttvfilter.c
1
2 #include <lttv/lttvfilter.h>
3 #include <stdio.h>
4 #include <ltt/trace.h>
5
6 struct _LttvTracesetSelector {
7 char * traceset_name;
8 GPtrArray *traces;
9 };
10
11
12 struct _LttvTraceSelector {
13 char * trace_name;
14 GPtrArray * tracefiles;
15 gboolean selected;
16 };
17
18 struct _LttvTracefileSelector {
19 char * tracefile_name;
20 gboolean selected;
21 };
22
23
24 LttvTracesetSelector *lttv_traceset_selector_new(char * name)
25 {
26 LttvTracesetSelector *s;
27
28 s = g_new(LttvTracesetSelector, 1);
29 if(name)
30 s->traceset_name = g_strdup(name);
31 else
32 s->traceset_name = NULL;
33 s->traces = g_ptr_array_new();
34 return s;
35 }
36
37 LttvTraceSelector *lttv_trace_selector_new(LttTrace *t)
38 {
39 LttvTraceSelector * trace;
40
41 trace = g_new(LttvTraceSelector, 1);
42 trace->trace_name = g_strdup(ltt_trace_name(t));
43 trace->tracefiles = g_ptr_array_new();
44 trace->selected = TRUE;
45 return trace;
46 }
47
48 LttvTracefileSelector *lttv_tracefile_selector_new(LttTracefile *t)
49 {
50 LttvTracefileSelector * tracefile;
51
52 tracefile = g_new(LttvTracefileSelector, 1);
53 tracefile->tracefile_name = g_strdup(ltt_tracefile_name(t));
54 tracefile->selected = TRUE;
55 return tracefile;
56 }
57
58
59 void lttv_traceset_selector_destroy(LttvTracesetSelector *s)
60 {
61 int i;
62 LttvTraceSelector * t;
63
64 for(i=0;i<s->traces->len;i++){
65 t = (LttvTraceSelector*)s->traces->pdata[i];
66 lttv_trace_selector_destroy(t);
67 }
68 g_ptr_array_free(s->traces, TRUE);
69 if(s->traceset_name) g_free(s->traceset_name);
70 g_free(s);
71 }
72
73 void lttv_trace_selector_destroy(LttvTraceSelector *s)
74 {
75 int i;
76 LttvTracefileSelector * t;
77
78 for(i=0;i<s->tracefiles->len;i++){
79 t = (LttvTracefileSelector*)s->tracefiles->pdata[i];
80 lttv_tracefile_selector_destroy(t);
81 }
82 if(s->trace_name) g_free(s->trace_name);
83 g_free(s);
84 }
85
86 void lttv_tracefile_selector_destroy(LttvTracefileSelector *t)
87 {
88 if(t->tracefile_name) g_free(t->tracefile_name);
89 g_free(t);
90 }
91
92 void lttv_traceset_selector_add(LttvTracesetSelector *s, LttvTraceSelector *t)
93 {
94 g_ptr_array_add(s->traces, t);
95 }
96
97 void lttv_trace_selector_add(LttvTraceSelector *s, LttvTracefileSelector *t)
98 {
99 g_ptr_array_add(s->tracefiles, t);
100 }
101
102
103 unsigned lttv_traceset_selector_number(LttvTracesetSelector *s)
104 {
105 return s->traces->len;
106 }
107
108 unsigned lttv_trace_selector_number(LttvTraceSelector *s)
109 {
110 return s->tracefiles->len;
111 }
112
113 LttvTraceSelector *lttv_traceset_selector_get(LttvTracesetSelector *s, unsigned i)
114 {
115 g_assert(s->traces->len > i);
116 return ((LttvTraceSelector *)s->traces->pdata[i]);
117 }
118
119 LttvTracefileSelector *lttv_trace_selector_get(LttvTraceSelector *s, unsigned i)
120 {
121 g_assert(s->tracefiles->len > i);
122 return ((LttvTracefileSelector *)s->tracefiles->pdata[i]);
123 }
124
125 void lttv_traceset_selector_remove(LttvTracesetSelector *s, unsigned i)
126 {
127 g_assert(s->traces->len > i);
128 g_ptr_array_remove_index(s->traces, i);
129 }
130
131 void lttv_trace_selector_remove(LttvTraceSelector *s, unsigned i)
132 {
133 g_assert(s->tracefiles->len > i);
134 g_ptr_array_remove_index(s->tracefiles, i);
135 }
136
137
138 void lttv_trace_selector_set_selected(LttvTraceSelector *s, gboolean g)
139 {
140 s->selected = g;
141 }
142
143 void lttv_tracefile_selector_set_selected(LttvTracefileSelector *s, gboolean g)
144 {
145 s->selected = g;
146 }
147
148 gboolean lttv_trace_selector_get_selected(LttvTraceSelector *s)
149 {
150 return s->selected;
151 }
152
153 gboolean lttv_tracefile_selector_get_selected(LttvTracefileSelector *s)
154 {
155 return s->selected;
156 }
157
158 char * lttv_trace_selector_get_name(LttvTraceSelector *s)
159 {
160 return s->trace_name;
161 }
162
163 char * lttv_tracefile_selector_get_name(LttvTracefileSelector *s)
164 {
165 return s->tracefile_name;
166 }
This page took 0.046874 seconds and 4 git commands to generate.