kopia lustrzana https://gitlab.com/Zwarf/picplanner
Add change stack signal
rodzic
1111e7115a
commit
79bbf19c44
|
@ -91,12 +91,35 @@ G_DEFINE_TYPE (PicplannerOverview, picplanner_overview, GTK_TYPE_BOX)
|
|||
* Catch all signals from the buttons and emit a signal which can be used by
|
||||
* picplanner-window to change the stack page.
|
||||
*/
|
||||
static guint signal_button_pressed;
|
||||
void
|
||||
change_stack_page (GtkButton *self,
|
||||
gpointer user_data)
|
||||
{
|
||||
int stack_page = 0;
|
||||
PicplannerOverview *overview = user_data;
|
||||
|
||||
if (self == GTK_BUTTON(overview->switch_to_sun_stack))
|
||||
{
|
||||
g_print("Button Sun\n");
|
||||
stack_page = 1;
|
||||
}
|
||||
else if (self == GTK_BUTTON(overview->switch_to_moon_stack))
|
||||
{
|
||||
g_print("Button Moon\n");
|
||||
stack_page = 2;
|
||||
}
|
||||
else if (self == GTK_BUTTON(overview->switch_to_milky_way_stack))
|
||||
{
|
||||
g_print("Button Milky Way\n");
|
||||
stack_page = 3;
|
||||
}
|
||||
|
||||
|
||||
g_signal_emit (overview,
|
||||
signal_button_pressed,
|
||||
0, NULL,
|
||||
stack_page);
|
||||
}
|
||||
|
||||
|
||||
|
@ -771,6 +794,14 @@ picplanner_overview_init (PicplannerOverview *overview)
|
|||
"clicked",
|
||||
G_CALLBACK (change_stack_page),
|
||||
overview);
|
||||
g_signal_connect (G_OBJECT (overview->switch_to_moon_stack),
|
||||
"clicked",
|
||||
G_CALLBACK (change_stack_page),
|
||||
overview);
|
||||
g_signal_connect (G_OBJECT (overview->switch_to_milky_way_stack),
|
||||
"clicked",
|
||||
G_CALLBACK (change_stack_page),
|
||||
overview);
|
||||
|
||||
|
||||
/*
|
||||
|
@ -812,6 +843,13 @@ picplanner_overview_class_init (PicplannerOverviewClass *class)
|
|||
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), PicplannerOverview, label_azimuth_moon);
|
||||
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), PicplannerOverview, label_azimuth_milky_way);
|
||||
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), PicplannerOverview, basic_information);
|
||||
|
||||
signal_button_pressed = g_signal_new ("change-stack",
|
||||
G_OBJECT_CLASS_TYPE (class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
0, NULL, NULL, NULL,
|
||||
G_TYPE_NONE,
|
||||
1, G_TYPE_INT);
|
||||
}
|
||||
|
||||
PicplannerOverview *
|
||||
|
|
|
@ -76,6 +76,16 @@ struct _PicplannerWindow
|
|||
|
||||
G_DEFINE_TYPE (PicplannerWindow, picplanner_window, ADW_TYPE_APPLICATION_WINDOW)
|
||||
|
||||
/*
|
||||
* Change the stack page after a button is pressed in the overview dialog
|
||||
*/
|
||||
static void
|
||||
change_stack_page (GtkWidget *self,
|
||||
int stack_page,
|
||||
gpointer user_data)
|
||||
{
|
||||
g_print("Page: %d\n", stack_page);
|
||||
}
|
||||
|
||||
/*
|
||||
* Function used after the user selects a search result
|
||||
|
@ -659,6 +669,11 @@ picplanner_window_init (PicplannerWindow *window)
|
|||
G_CALLBACK (input_changed),
|
||||
window);
|
||||
|
||||
g_signal_connect (G_OBJECT (window->overview_box),
|
||||
"change-stack",
|
||||
G_CALLBACK (change_stack_page),
|
||||
window);
|
||||
|
||||
/*
|
||||
* Initialisation of values needed to detect when a user input ends
|
||||
*/
|
||||
|
|
Ładowanie…
Reference in New Issue