[gnome-games/glchess-vala] Render the time box
- From: Robert Ancell <rancell src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-games/glchess-vala] Render the time box
- Date: Tue, 4 Jan 2011 21:56:27 +0000 (UTC)
commit bc200190d2293fcb3a436b0ad41a2a39a3f8e112
Author: Robert Ancell <robert ancell canonical com>
Date: Wed Jan 5 08:56:12 2011 +1100
Render the time box
glchess/data/glchess.ui | 172 ++++++++++++++++++++++++----------------------
glchess/src/glchess.vala | 31 ++++++++-
2 files changed, 119 insertions(+), 84 deletions(-)
---
diff --git a/glchess/data/glchess.ui b/glchess/data/glchess.ui
index 76d1a20..294691e 100644
--- a/glchess/data/glchess.ui
+++ b/glchess/data/glchess.ui
@@ -2,45 +2,75 @@
<interface>
<requires lib="gtk+" version="2.16"/>
<!-- interface-naming-policy toplevel-contextual -->
+ <object class="GtkSizeGroup" id="nav_bar_sizegroup">
+ <widgets>
+ <widget name="left_nav_box"/>
+ <widget name="right_nav_box"/>
+ </widgets>
+ </object>
+ <object class="GtkListStore" id="history_model">
+ <columns>
+ <!-- column-name label -->
+ <column type="gchararray"/>
+ <!-- column-name move-number -->
+ <column type="gint"/>
+ </columns>
+ </object>
+ <object class="GtkImage" id="help_image">
+ <property name="visible">True</property>
+ <property name="stock">gtk-help</property>
+ <property name="icon-size">1</property>
+ </object>
+ <object class="GtkImage" id="warning_image">
+ <property name="visible">True</property>
+ <property name="stock">gtk-dialog-warning</property>
+ <property name="icon-size">1</property>
+ </object>
+ <object class="GtkImage" id="undo_move_image">
+ <property name="visible">True</property>
+ <property name="stock">gtk-undo</property>
+ <property name="icon-size">1</property>
+ </object>
+ <object class="GtkAccelGroup" id="accelgroup"/>
<object class="GtkWindow" id="glchess_app">
<property name="title">Chess</property>
<property name="default_width">400</property>
<accel-groups>
- <group name="accelgroup1"/>
+ <group name="accelgroup"/>
</accel-groups>
- <signal name="delete_event" handler="glchess_app_delete_event_cb"/>
- <signal name="window_state_event" handler="glchess_app_window_state_event_cb"/>
+ <signal name="window-state-event" handler="glchess_app_window_state_event_cb" swapped="no"/>
+ <signal name="delete-event" handler="glchess_app_delete_event_cb" swapped="no"/>
<child>
- <object class="GtkVBox" id="vbox1">
+ <object class="GtkVBox" id="main_vbox">
<property name="visible">True</property>
<child>
- <object class="GtkMenuBar" id="menubar1">
+ <object class="GtkMenuBar" id="menubar">
<property name="visible">True</property>
<child>
- <object class="GtkMenuItem" id="menuitem1">
+ <object class="GtkMenuItem" id="game_menu_item">
<property name="visible">True</property>
<property name="label" translatable="yes">_Game</property>
<property name="use_underline">True</property>
<child type="submenu">
- <object class="GtkMenu" id="menuitem1_menu">
+ <object class="GtkMenu" id="game_menu">
<child>
<object class="GtkImageMenuItem" id="new_menu_item">
<property name="label">gtk-new</property>
<property name="visible">True</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
- <property name="accel_group">accelgroup1</property>
- <signal name="activate" handler="new_game_cb"/>
+ <property name="accel_group">accelgroup</property>
+ <signal name="activate" handler="new_game_cb" swapped="no"/>
</object>
</child>
<child>
- <object class="GtkImageMenuItem" id="open1">
+ <object class="GtkImageMenuItem" id="open_menu_item">
<property name="label">gtk-open</property>
<property name="visible">True</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
- <property name="accel_group">accelgroup1</property>
- <signal name="activate" handler="open_game_cb"/>
+ <property name="accel_group">accelgroup</property>
+ <signal name="activate" handler="open_game_cb" swapped="no"/>
</object>
</child>
<child>
@@ -50,8 +80,8 @@
<property name="sensitive">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
- <property name="accel_group">accelgroup1</property>
- <signal name="activate" handler="save_game_cb"/>
+ <property name="accel_group">accelgroup</property>
+ <signal name="activate" handler="save_game_cb" swapped="no"/>
</object>
</child>
<child>
@@ -60,8 +90,8 @@
<property name="visible">True</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
- <property name="accel_group">accelgroup1</property>
- <signal name="activate" handler="save_game_as_cb"/>
+ <property name="accel_group">accelgroup</property>
+ <signal name="activate" handler="save_game_as_cb" swapped="no"/>
</object>
</child>
<child>
@@ -70,34 +100,34 @@
</object>
</child>
<child>
- <object class="GtkImageMenuItem" id="menu_undo_move">
+ <object class="GtkImageMenuItem" id="undo_move_item">
<property name="label" translatable="yes">_Undo Move</property>
<property name="visible">True</property>
<property name="use_underline">True</property>
- <property name="image">image1</property>
+ <property name="image">undo_move_image</property>
<property name="use_stock">False</property>
- <property name="accel_group">accelgroup1</property>
+ <property name="accel_group">accelgroup</property>
<accelerator key="Z" signal="activate" modifiers="GDK_CONTROL_MASK"/>
- <signal name="activate" handler="undo_move_cb"/>
+ <signal name="activate" handler="undo_move_cb" swapped="no"/>
</object>
</child>
<child>
- <object class="GtkImageMenuItem" id="menu_resign">
+ <object class="GtkImageMenuItem" id="resign_item">
<property name="label" translatable="yes">_Resign</property>
<property name="visible">True</property>
<property name="use_underline">True</property>
- <property name="image">image3</property>
+ <property name="image">warning_image</property>
<property name="use_stock">False</property>
- <property name="accel_group">accelgroup1</property>
- <signal name="activate" handler="resign_cb"/>
+ <property name="accel_group">accelgroup</property>
+ <signal name="activate" handler="resign_cb" swapped="no"/>
</object>
</child>
<child>
- <object class="GtkMenuItem" id="menu_claim_draw">
+ <object class="GtkMenuItem" id="claim_draw_item">
<property name="visible">True</property>
<property name="label" translatable="yes">Claim _Draw</property>
<property name="use_underline">True</property>
- <signal name="activate" handler="claim_draw_cb"/>
+ <signal name="activate" handler="claim_draw_cb" swapped="no"/>
</object>
</child>
<child>
@@ -106,13 +136,13 @@
</object>
</child>
<child>
- <object class="GtkImageMenuItem" id="quit1">
+ <object class="GtkImageMenuItem" id="quit_item">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
- <property name="accel_group">accelgroup1</property>
- <signal name="activate" handler="quit_cb"/>
+ <property name="accel_group">accelgroup</property>
+ <signal name="activate" handler="quit_cb" swapped="no"/>
</object>
</child>
</object>
@@ -120,31 +150,31 @@
</object>
</child>
<child>
- <object class="GtkMenuItem" id="settings">
+ <object class="GtkMenuItem" id="settings_menu_item">
<property name="visible">True</property>
<property name="label" translatable="yes">_Settings</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="settings_menu">
<child>
- <object class="GtkImageMenuItem" id="menu_fullscreen">
+ <object class="GtkImageMenuItem" id="fullscreen_item">
<property name="label">gtk-fullscreen</property>
<property name="visible">True</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
- <property name="accel_group">accelgroup1</property>
+ <property name="accel_group">accelgroup</property>
<accelerator key="F11" signal="activate"/>
- <signal name="activate" handler="toggle_fullscreen_cb"/>
+ <signal name="activate" handler="toggle_fullscreen_cb" swapped="no"/>
</object>
</child>
<child>
- <object class="GtkImageMenuItem" id="preferences">
+ <object class="GtkImageMenuItem" id="preferences_item">
<property name="label">gtk-preferences</property>
<property name="visible">True</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
- <property name="accel_group">accelgroup1</property>
- <signal name="activate" handler="preferences_cb"/>
+ <property name="accel_group">accelgroup</property>
+ <signal name="activate" handler="preferences_cb" swapped="no"/>
</object>
</child>
</object>
@@ -152,32 +182,32 @@
</object>
</child>
<child>
- <object class="GtkMenuItem" id="help2">
+ <object class="GtkMenuItem" id="help_menu_item">
<property name="visible">True</property>
<property name="label" translatable="yes">_Help</property>
<property name="use_underline">True</property>
<child type="submenu">
- <object class="GtkMenu" id="help2_menu">
+ <object class="GtkMenu" id="help_menu">
<child>
- <object class="GtkImageMenuItem" id="menu_help">
+ <object class="GtkImageMenuItem" id="help_item">
<property name="label" translatable="yes">_Contents</property>
<property name="visible">True</property>
<property name="use_underline">True</property>
- <property name="image">image4</property>
+ <property name="image">help_image</property>
<property name="use_stock">False</property>
- <property name="accel_group">accelgroup1</property>
+ <property name="accel_group">accelgroup</property>
<accelerator key="F1" signal="activate"/>
- <signal name="activate" handler="help_cb"/>
+ <signal name="activate" handler="help_cb" swapped="no"/>
</object>
</child>
<child>
- <object class="GtkImageMenuItem" id="about2">
+ <object class="GtkImageMenuItem" id="about_item">
<property name="label">gtk-about</property>
<property name="visible">True</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
- <property name="accel_group">accelgroup1</property>
- <signal name="activate" handler="about_cb"/>
+ <property name="accel_group">accelgroup</property>
+ <signal name="activate" handler="about_cb" swapped="no"/>
</object>
</child>
</object>
@@ -202,7 +232,7 @@
<property name="label" translatable="yes" comments="The New Game toolbar button">New Game</property>
<property name="use_underline">True</property>
<property name="stock_id">gtk-new</property>
- <signal name="clicked" handler="new_game_cb"/>
+ <signal name="clicked" handler="new_game_cb" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
@@ -216,7 +246,7 @@
<property name="label" translatable="yes">Undo Move</property>
<property name="use_underline">True</property>
<property name="stock_id">gtk-undo</property>
- <signal name="clicked" handler="undo_move_cb"/>
+ <signal name="clicked" handler="undo_move_cb" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
@@ -230,7 +260,7 @@
<property name="label" translatable="yes" comments="The tooltip for the Resign toolbar button">Resign</property>
<property name="use_underline">True</property>
<property name="stock_id">gtk-dialog-warning</property>
- <signal name="clicked" handler="resign_cb"/>
+ <signal name="clicked" handler="resign_cb" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
@@ -275,9 +305,9 @@
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Rewind to the game start</property>
- <signal name="clicked" handler="history_start_clicked_cb"/>
+ <signal name="clicked" handler="history_start_clicked_cb" swapped="no"/>
<child>
- <object class="GtkImage" id="image6">
+ <object class="GtkImage" id="first_move_image">
<property name="visible">True</property>
<property name="stock">gtk-goto-first</property>
<property name="icon-size">1</property>
@@ -295,9 +325,9 @@
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Show the previous move</property>
- <signal name="clicked" handler="history_previous_clicked_cb"/>
+ <signal name="clicked" handler="history_previous_clicked_cb" swapped="no"/>
<child>
- <object class="GtkImage" id="image7">
+ <object class="GtkImage" id="prev_move_image">
<property name="visible">True</property>
<property name="stock">gtk-go-back</property>
</object>
@@ -314,9 +344,9 @@
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Show the next move</property>
- <signal name="clicked" handler="history_next_clicked_cb"/>
+ <signal name="clicked" handler="history_next_clicked_cb" swapped="no"/>
<child>
- <object class="GtkImage" id="image8">
+ <object class="GtkImage" id="next_move_image">
<property name="visible">True</property>
<property name="stock">gtk-go-forward</property>
</object>
@@ -333,9 +363,9 @@
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Show the current move</property>
- <signal name="clicked" handler="history_latest_clicked_cb"/>
+ <signal name="clicked" handler="history_latest_clicked_cb" swapped="no"/>
<child>
- <object class="GtkImage" id="image5">
+ <object class="GtkImage" id="last_move_image">
<property name="visible">True</property>
<property name="stock">gtk-goto-last</property>
</object>
@@ -355,7 +385,7 @@
<object class="GtkComboBox" id="history_combo">
<property name="visible">True</property>
<property name="model">history_model</property>
- <signal name="changed" handler="history_combo_changed_cb"/>
+ <signal name="changed" handler="history_combo_changed_cb" swapped="no"/>
<child>
<object class="GtkCellRendererText" id="history_combo_cellrenderer"/>
<attributes>
@@ -376,7 +406,7 @@
<object class="GtkDrawingArea" id="white_time_label">
<property name="width_request">20</property>
<property name="visible">True</property>
- <signal name="draw" handler="white_time_draw_cb"/>
+ <signal name="draw" handler="white_time_draw_cb" swapped="no"/>
</object>
<packing>
<property name="position">0</property>
@@ -386,7 +416,7 @@
<object class="GtkDrawingArea" id="black_time_label">
<property name="width_request">20</property>
<property name="visible">True</property>
- <signal name="draw" handler="black_time_draw_cb"/>
+ <signal name="draw" handler="black_time_draw_cb" swapped="no"/>
</object>
<packing>
<property name="position">1</property>
@@ -413,28 +443,4 @@
</object>
</child>
</object>
- <object class="GtkAccelGroup" id="accelgroup1"/>
- <object class="GtkImage" id="image1">
- <property name="visible">True</property>
- <property name="stock">gtk-undo</property>
- <property name="icon-size">1</property>
- </object>
- <object class="GtkImage" id="image3">
- <property name="visible">True</property>
- <property name="stock">gtk-dialog-warning</property>
- <property name="icon-size">1</property>
- </object>
- <object class="GtkImage" id="image4">
- <property name="visible">True</property>
- <property name="stock">gtk-help</property>
- <property name="icon-size">1</property>
- </object>
- <object class="GtkListStore" id="history_model">
- <columns>
- <!-- column-name label -->
- <column type="gchararray"/>
- <!-- column-name move-number -->
- <column type="gint"/>
- </columns>
- </object>
</interface>
diff --git a/glchess/src/glchess.vala b/glchess/src/glchess.vala
index f6d7bd2..c3b60e6 100644
--- a/glchess/src/glchess.vala
+++ b/glchess/src/glchess.vala
@@ -609,13 +609,42 @@ public class Application
[CCode (cname = "G_MODULE_EXPORT black_time_draw_cb", instance_pos = -1)]
public bool black_time_draw_cb (Gtk.Widget widget, Cairo.Context c)
{
+ double fg[3] = { 0.0, 0.0, 0.0 };
+ double bg[3] = { 1.0, 1.0, 1.0 };
+
+ draw_time (widget, c, "â??", fg, bg);
return false;
}
[CCode (cname = "G_MODULE_EXPORT white_time_draw_cb", instance_pos = -1)]
public bool white_time_draw_cb (Gtk.Widget widget, Cairo.Context c)
{
- return false;
+ double fg[3] = { 1.0, 1.0, 1.0 };
+ double bg[3] = { 0.0, 0.0, 0.0 };
+
+ draw_time (widget, c, "â??", fg, bg);
+ return false;
+ }
+
+ private void draw_time (Gtk.Widget widget, Cairo.Context c, string text, double[] fg, double[] bg)
+ {
+ double alpha = 1.0;
+
+ if (widget.get_state () == Gtk.StateType.INSENSITIVE)
+ alpha = 0.5;
+ c.set_source_rgba (bg[0], bg[1], bg[2], alpha);
+ c.paint ();
+
+ c.set_source_rgba (fg[0], fg[1], fg[2], alpha);
+ c.select_font_face ("fixed", Cairo.FontSlant.NORMAL, Cairo.FontWeight.BOLD);
+ c.set_font_size (0.6 * widget.get_allocated_height ());
+ Cairo.TextExtents extents;
+ c.text_extents (text, out extents);
+ c.move_to ((widget.get_allocated_width () - extents.width) / 2 - extents.x_bearing,
+ (widget.get_allocated_height () - extents.height) / 2 - extents.y_bearing);
+ c.show_text (text);
+
+ widget.set_size_request ((int) extents.width + 6, -1);
}
[CCode (cname = "G_MODULE_EXPORT history_combo_changed_cb", instance_pos = -1)]
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]