Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenXG
OpenXG-RAN
Commits
277ddb13
Commit
277ddb13
authored
9 years ago
by
Cedric Roux
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
middle button to toggle event reception in event selector window
parent
16e17d34
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
64 additions
and
1 deletion
+64
-1
common/utils/T/tracer/event_selector.c
common/utils/T/tracer/event_selector.c
+64
-1
No files found.
common/utils/T/tracer/event_selector.c
View file @
277ddb13
...
...
@@ -16,6 +16,11 @@ struct event_selector {
int
nevents
;
int
ngroups
;
int
socket
;
int
paused
;
/* those three widgets used to pause/unpause reception of events */
widget
*
parent_widget
;
widget
*
normal_widget
;
widget
*
pause_widget
;
};
static
void
scroll
(
void
*
private
,
gui
*
g
,
...
...
@@ -54,6 +59,46 @@ static void click(void *private, gui *g,
int
i
;
char
t
;
/* notification_data depends on the kind of widget */
if
(
w
==
this
->
pause_widget
)
{
line
=
0
;
button
=
d
[
0
];
}
else
{
line
=
d
[
0
];
button
=
d
[
1
];
}
/* middle-button toggles - redo with SPACE when keyboard is processed */
if
(
button
==
2
)
{
if
(
this
->
paused
==
0
)
{
widget_del_child
(
g
,
this
->
parent_widget
,
this
->
normal_widget
);
widget_add_child
(
g
,
this
->
parent_widget
,
this
->
pause_widget
,
0
);
container_set_child_growable
(
g
,
this
->
parent_widget
,
this
->
pause_widget
,
1
);
/* pause */
t
=
1
;
socket_send
(
this
->
socket
,
&
t
,
1
);
socket_send
(
this
->
socket
,
&
this
->
nevents
,
sizeof
(
int
));
set_on
=
0
;
for
(
i
=
0
;
i
<
this
->
nevents
;
i
++
)
socket_send
(
this
->
socket
,
&
set_on
,
sizeof
(
int
));
}
else
{
widget_del_child
(
g
,
this
->
parent_widget
,
this
->
pause_widget
);
widget_add_child
(
g
,
this
->
parent_widget
,
this
->
normal_widget
,
0
);
container_set_child_growable
(
g
,
this
->
parent_widget
,
this
->
normal_widget
,
1
);
/* un-pause */
t
=
1
;
socket_send
(
this
->
socket
,
&
t
,
1
);
socket_send
(
this
->
socket
,
&
this
->
nevents
,
sizeof
(
int
));
socket_send
(
this
->
socket
,
this
->
is_on
,
this
->
nevents
*
sizeof
(
int
));
}
this
->
paused
=
1
-
this
->
paused
;
return
;
}
if
(
w
==
this
->
pause_widget
)
return
;
if
(
button
!=
1
&&
button
!=
3
)
return
;
if
(
button
==
1
)
set_on
=
1
;
else
set_on
=
0
;
...
...
@@ -87,10 +132,12 @@ event_selector *setup_event_selector(gui *g, void *database, int socket,
{
struct
event_selector
*
ret
;
widget
*
win
;
widget
*
win_container
;
widget
*
main_container
;
widget
*
container
;
widget
*
left
,
*
right
;
widget
*
events
,
*
groups
;
widget
*
pause_container
;
char
**
ids
;
char
**
gps
;
int
n
;
...
...
@@ -103,8 +150,12 @@ event_selector *setup_event_selector(gui *g, void *database, int socket,
green
=
new_color
(
g
,
"#2f9e2a"
);
win
=
new_toplevel_window
(
g
,
470
,
300
,
"event selector"
);
win_container
=
new_container
(
g
,
VERTICAL
);
widget_add_child
(
g
,
win
,
win_container
,
-
1
);
main_container
=
new_container
(
g
,
VERTICAL
);
widget_add_child
(
g
,
win
,
main_container
,
-
1
);
widget_add_child
(
g
,
win_container
,
main_container
,
-
1
);
container_set_child_growable
(
g
,
win_container
,
main_container
,
1
);
container
=
new_container
(
g
,
HORIZONTAL
);
widget_add_child
(
g
,
main_container
,
container
,
-
1
);
...
...
@@ -132,6 +183,12 @@ event_selector *setup_event_selector(gui *g, void *database, int socket,
container_set_child_growable
(
g
,
left
,
events
,
1
);
container_set_child_growable
(
g
,
right
,
groups
,
1
);
pause_container
=
new_positioner
(
g
);
widget_add_child
(
g
,
pause_container
,
new_label
(
g
,
"events' reception paused - click middle button to resume"
),
-
1
);
label_set_clickable
(
g
,
pause_container
,
1
);
n
=
database_get_ids
(
database
,
&
ids
);
for
(
i
=
0
;
i
<
n
;
i
++
)
{
textlist_add
(
g
,
events
,
ids
[
i
],
-
1
,
...
...
@@ -158,6 +215,10 @@ event_selector *setup_event_selector(gui *g, void *database, int socket,
ret
->
database
=
database
;
ret
->
socket
=
socket
;
ret
->
parent_widget
=
win_container
;
ret
->
normal_widget
=
main_container
;
ret
->
pause_widget
=
pause_container
;
register_notifier
(
g
,
"scrollup"
,
events
,
scroll
,
ret
);
register_notifier
(
g
,
"scrolldown"
,
events
,
scroll
,
ret
);
register_notifier
(
g
,
"click"
,
events
,
click
,
ret
);
...
...
@@ -166,5 +227,7 @@ event_selector *setup_event_selector(gui *g, void *database, int socket,
register_notifier
(
g
,
"scrolldown"
,
groups
,
scroll
,
ret
);
register_notifier
(
g
,
"click"
,
groups
,
click
,
ret
);
register_notifier
(
g
,
"click"
,
pause_container
,
click
,
ret
);
return
ret
;
}
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment