Make TildaWindow determine number correctly
[tilda-gobject.git] / tilda-terminal.c
index 60c169c..4238274 100644 (file)
@@ -25,6 +25,7 @@ static GObjectClass *parent_class = NULL;
 enum tilda_terminal_properties {
        TILDA_TERMINAL_NUMBER = 1,
        TILDA_TERMINAL_WINDOW_NUMBER,
+       TILDA_TERMINAL_TW,
 
        /* All non-constructor-only properties */
        TILDA_TERMINAL_BACKGROUND_IMAGE,
@@ -78,6 +79,12 @@ tilda_terminal_set_property (GObject      *object,
                        g_print ("terminal parent window number: %d\n", self->window_number);
                        break;
 
+               case TILDA_TERMINAL_TW:
+                       self->parent_window = g_value_get_pointer (value);
+                       g_print ("terminal parent window: 0x%x\n", self->parent_window);
+                       g_print ("terminal parent window number (direct): %d\n", TILDA_WINDOW(self->parent_window)->number);
+                       break;
+
                case TILDA_TERMINAL_BACKGROUND_IMAGE:
                        g_free (self->background_image);
                        self->background_image = g_value_dup_string (value);
@@ -167,6 +174,10 @@ tilda_terminal_get_property (GObject    *object,
                        g_value_set_int (value, self->window_number);
                        break;
 
+               case TILDA_TERMINAL_TW:
+                       g_value_set_pointer (value, self->parent_window);
+                       break;
+
                case TILDA_TERMINAL_BACKGROUND_IMAGE:
                        g_value_set_string (value, self->background_image);
                        break;
@@ -328,6 +339,15 @@ tilda_terminal_class_init (gpointer g_class,
                                                                         TILDA_TERMINAL_WINDOW_NUMBER,
                                                                         pspec);
 
+       pspec = g_param_spec_pointer ("parent-window",
+                                                                 "Pointer to terminal's parent TildaWindow",
+                                                                 "Set the pointer to the terminal's parent TildaWindow",
+                                                                 G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
+
+       g_object_class_install_property (gobject_class,
+                                                                        TILDA_TERMINAL_TW,
+                                                                        pspec);
+
        pspec = g_param_spec_string ("background-image",
                                                                 "Terminal's background image",
                                                                 "Get/Set terminal's background image",