enable graphviz arrange
This commit is contained in:
parent
16de50fc71
commit
9a47ef6a66
|
@ -41,11 +41,13 @@ struct graph_view
|
|||
struct list_head g_views;
|
||||
|
||||
GtkScrolledWindow * g_main_scrolledwin;
|
||||
graph_canvas_handle g_current_graph_canvas;
|
||||
|
||||
void view_init(void)
|
||||
{
|
||||
g_main_scrolledwin = GTK_SCROLLED_WINDOW(get_glade_widget("main_scrolledwin"));
|
||||
INIT_LIST_HEAD(&g_views);
|
||||
g_current_graph_canvas = NULL;
|
||||
}
|
||||
|
||||
bool create_view(const char * name, const char * service, const char * object, bool force_activate, graph_view_handle * handle_ptr)
|
||||
|
@ -128,6 +130,7 @@ static void attach_canvas(struct graph_view * view_ptr)
|
|||
gtk_container_remove(GTK_CONTAINER(g_main_scrolledwin), child);
|
||||
}
|
||||
|
||||
g_current_graph_canvas = view_ptr->graph_canvas;
|
||||
gtk_container_add(GTK_CONTAINER(g_main_scrolledwin), view_ptr->canvas_widget);
|
||||
|
||||
//_canvas->scroll_to(static_cast<int>(_canvas->width()/2 - 320), static_cast<int>(_canvas->height()/2 - 240)); // FIXME: hardcoded
|
||||
|
@ -143,6 +146,7 @@ static void detach_canvas(struct graph_view * view_ptr)
|
|||
if (child == view_ptr->canvas_widget)
|
||||
{
|
||||
gtk_container_remove(GTK_CONTAINER(g_main_scrolledwin), view_ptr->canvas_widget);
|
||||
g_current_graph_canvas = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -177,3 +181,13 @@ const char * get_view_name(graph_view_handle view)
|
|||
{
|
||||
return view_ptr->name;
|
||||
}
|
||||
|
||||
canvas_handle get_current_canvas()
|
||||
{
|
||||
if (g_current_graph_canvas == NULL)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return graph_canvas_get_canvas(g_current_graph_canvas);
|
||||
}
|
||||
|
|
|
@ -36,6 +36,7 @@ bool create_view(const char * name, const char * service, const char * object, b
|
|||
void destroy_view(graph_view_handle view);
|
||||
void activate_view(graph_view_handle view);
|
||||
const char * get_view_name(graph_view_handle view);
|
||||
canvas_handle get_current_canvas();
|
||||
|
||||
/* not very good place for this prototype, because it is not implemented in graph_view.c */
|
||||
void set_main_window_title(graph_view_handle view);
|
||||
|
|
16
gui/main.c
16
gui/main.c
|
@ -151,6 +151,19 @@ static void clear_load(void)
|
|||
gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(g_xrun_progress_bar), 0.0);
|
||||
}
|
||||
|
||||
static void arrange(void)
|
||||
{
|
||||
canvas_handle canvas;
|
||||
|
||||
lash_info("arrange request");
|
||||
|
||||
canvas = get_current_canvas();
|
||||
if (canvas != NULL)
|
||||
{
|
||||
canvas_arrange(canvas);
|
||||
}
|
||||
}
|
||||
|
||||
static gboolean poll_jack(gpointer data)
|
||||
{
|
||||
update_load();
|
||||
|
@ -271,9 +284,12 @@ int main(int argc, char** argv)
|
|||
g_signal_connect(G_OBJECT(get_glade_widget("menu_file_quit")), "activate", G_CALLBACK(gtk_main_quit), NULL);
|
||||
g_signal_connect(G_OBJECT(g_buffer_size_combo), "changed", G_CALLBACK(buffer_size_change_request), NULL);
|
||||
g_signal_connect(G_OBJECT(g_clear_load_button), "clicked", G_CALLBACK(clear_load), NULL);
|
||||
g_signal_connect(G_OBJECT(get_glade_widget("menu_view_arrange")), "activate", G_CALLBACK(arrange), NULL);
|
||||
|
||||
gtk_widget_show(g_main_win);
|
||||
|
||||
arrange(); /* XXX: initial arrange of jack graph */
|
||||
|
||||
//_about_win->set_transient_for(*_main_win);
|
||||
|
||||
gtk_main();
|
||||
|
|
Loading…
Reference in New Issue