Merge pull request #72 from gergelypolonkai/point-tables
Add point tables
This commit is contained in:
		| @@ -48,6 +48,7 @@ struct _AgWindowPrivate { | ||||
|  | ||||
|     GtkWidget     *aspect_table; | ||||
|     GtkWidget     *chart_web_view; | ||||
|     GtkWidget     *points_eq; | ||||
|     GtkAdjustment *year_adjust; | ||||
|  | ||||
|     AgSettings    *settings; | ||||
| @@ -402,6 +403,79 @@ ag_window_redraw_aspect_table(AgWindow *window) | ||||
|     gtk_widget_show_all(priv->aspect_table); | ||||
| } | ||||
|  | ||||
| static void | ||||
| ag_window_set_element_point(AgWindow    *window, | ||||
|                             GsweElement element, | ||||
|                             guint       left, | ||||
|                             guint       top) | ||||
| { | ||||
|     guint            points; | ||||
|     GtkWidget        *label; | ||||
|     gchar            *points_string; | ||||
|     AgWindowPrivate *priv = ag_window_get_instance_private(window); | ||||
|  | ||||
|     points = gswe_moment_get_element_points( | ||||
|             GSWE_MOMENT(priv->chart), | ||||
|             element | ||||
|         ); | ||||
|  | ||||
|     if ((label = gtk_grid_get_child_at( | ||||
|                 GTK_GRID(priv->points_eq), | ||||
|                 left, top | ||||
|             )) == NULL) { | ||||
|         label = gtk_label_new(""); | ||||
|         gtk_grid_attach(GTK_GRID(priv->points_eq), label, left, top, 1, 1); | ||||
|         gtk_widget_show(label); | ||||
|     } | ||||
|  | ||||
|     points_string = g_strdup_printf("%d", points); | ||||
|     gtk_label_set_text(GTK_LABEL(label), points_string); | ||||
|     g_free(points_string); | ||||
| } | ||||
|  | ||||
| static void | ||||
| ag_window_set_quality_point(AgWindow    *window, | ||||
|                             GsweQuality quality, | ||||
|                             guint       left, | ||||
|                             guint       top) | ||||
| { | ||||
|     guint            points; | ||||
|     GtkWidget        *label; | ||||
|     gchar            *points_string; | ||||
|     AgWindowPrivate *priv = ag_window_get_instance_private(window); | ||||
|  | ||||
|     points = gswe_moment_get_quality_points( | ||||
|             GSWE_MOMENT(priv->chart), | ||||
|             quality | ||||
|         ); | ||||
|  | ||||
|     if ((label = gtk_grid_get_child_at( | ||||
|                 GTK_GRID(priv->points_eq), | ||||
|                 left, top | ||||
|             )) == NULL) { | ||||
|         label = gtk_label_new(""); | ||||
|         gtk_grid_attach(GTK_GRID(priv->points_eq), label, left, top, 1, 1); | ||||
|         gtk_widget_show(label); | ||||
|     } | ||||
|  | ||||
|     points_string = g_strdup_printf("%d", points); | ||||
|     gtk_label_set_text(GTK_LABEL(label), points_string); | ||||
|     g_free(points_string); | ||||
| } | ||||
|  | ||||
| static void | ||||
| ag_window_redraw_points_table(AgWindow *window) | ||||
| { | ||||
|     ag_window_set_element_point(window, GSWE_ELEMENT_FIRE, 4, 1); | ||||
|     ag_window_set_element_point(window, GSWE_ELEMENT_EARTH, 4, 2); | ||||
|     ag_window_set_element_point(window, GSWE_ELEMENT_AIR, 4, 3); | ||||
|     ag_window_set_element_point(window, GSWE_ELEMENT_WATER, 4, 4); | ||||
|  | ||||
|     ag_window_set_quality_point(window, GSWE_QUALITY_CARDINAL, 1, 5); | ||||
|     ag_window_set_quality_point(window, GSWE_QUALITY_FIX, 2, 5); | ||||
|     ag_window_set_quality_point(window, GSWE_QUALITY_MUTABLE, 3, 5); | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * ag_window_redraw_chart: | ||||
|  * @window: the #AgWindow to operate on | ||||
| @@ -441,6 +515,7 @@ ag_window_redraw_chart(AgWindow *window) | ||||
|     } | ||||
|  | ||||
|     ag_window_redraw_aspect_table(window); | ||||
|     ag_window_redraw_points_table(window); | ||||
| } | ||||
|  | ||||
| static gboolean | ||||
| @@ -1387,6 +1462,7 @@ ag_window_display_changed(GSettings *settings, gchar *key, AgWindow *window) | ||||
|     } | ||||
|  | ||||
|     ag_window_redraw_aspect_table(window); | ||||
|     ag_window_redraw_points_table(window); | ||||
| } | ||||
|  | ||||
| static void | ||||
| @@ -1991,6 +2067,11 @@ ag_window_class_init(AgWindowClass *klass) | ||||
|             AgWindow, | ||||
|             selection_toolbar | ||||
|         ); | ||||
|     gtk_widget_class_bind_template_child_private( | ||||
|             widget_class, | ||||
|             AgWindow, | ||||
|             points_eq | ||||
|         ); | ||||
|  | ||||
|     gtk_widget_class_bind_template_callback( | ||||
|             widget_class, | ||||
|   | ||||
| @@ -820,11 +820,130 @@ | ||||
|               </packing> | ||||
|             </child> | ||||
|             <child> | ||||
|               <object class="GtkScrolledWindow" id="points_tab"> | ||||
|               <object class="GtkGrid" id="tab_points"> | ||||
|                 <property name="visible">True</property> | ||||
|                 <property name="shadow_type">none</property> | ||||
|                 <child> | ||||
|                   <object class="GtkGrid" id="points_table"> | ||||
|                   <object class="GtkFrame"> | ||||
|                     <property name="visible">True</property> | ||||
|                     <property name="can_focus">False</property> | ||||
|                     <property name="label_xalign">0</property> | ||||
|                     <property name="shadow_type">in</property> | ||||
|                     <child> | ||||
|                       <object class="GtkGrid" id="points_eq"> | ||||
|                         <property name="visible">True</property> | ||||
|                         <property name="can_focus">False</property> | ||||
|                         <property name="column_homogeneous">True</property> | ||||
|                         <property name="column_spacing">5</property> | ||||
|                         <property name="row_homogeneous">True</property> | ||||
|                         <property name="row_spacing">5</property> | ||||
|                         <child> | ||||
|                           <object class="GtkLabel"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">False</property> | ||||
|                             <property name="label" translatable="yes">Fire</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">0</property> | ||||
|                             <property name="top_attach">1</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkLabel"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">False</property> | ||||
|                             <property name="label" translatable="yes">Earth</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">0</property> | ||||
|                             <property name="top_attach">2</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkLabel"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">False</property> | ||||
|                             <property name="label" translatable="yes">Air</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">0</property> | ||||
|                             <property name="top_attach">3</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkLabel"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">False</property> | ||||
|                             <property name="label" translatable="yes">Water</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">0</property> | ||||
|                             <property name="top_attach">4</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkLabel"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">False</property> | ||||
|                             <property name="label" translatable="yes">Points</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">0</property> | ||||
|                             <property name="top_attach">5</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkLabel"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">False</property> | ||||
|                             <property name="label" translatable="yes">Cardinal</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">1</property> | ||||
|                             <property name="top_attach">0</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkLabel"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">False</property> | ||||
|                             <property name="label" translatable="yes">Fixed</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">2</property> | ||||
|                             <property name="top_attach">0</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkLabel"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">False</property> | ||||
|                             <property name="label" translatable="yes">Mutable</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">3</property> | ||||
|                             <property name="top_attach">0</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                         <child> | ||||
|                           <object class="GtkLabel"> | ||||
|                             <property name="visible">True</property> | ||||
|                             <property name="can_focus">False</property> | ||||
|                             <property name="label" translatable="yes">Points</property> | ||||
|                           </object> | ||||
|                           <packing> | ||||
|                             <property name="left_attach">4</property> | ||||
|                             <property name="top_attach">0</property> | ||||
|                           </packing> | ||||
|                         </child> | ||||
|                       </object> | ||||
|                     </child> | ||||
|                     <child type="label"> | ||||
|                       <object class="GtkLabel"> | ||||
|                         <property name="visible">True</property> | ||||
|                         <property name="can_focus">False</property> | ||||
|                         <property name="label" translatable="yes">Elements and Qualities</property> | ||||
|                       </object> | ||||
|                     </child> | ||||
|                   </object> | ||||
|                 </child> | ||||
|               </object> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user