Enlightenment CVS committal Author : moom16 Project : e17 Module : proto
Dir : e17/proto/etk/src/lib Modified Files: etk_button.c etk_container.c etk_dialog.c etk_menu.c etk_notebook.c etk_scrolled_view.c etk_tree.c Log Message: * More notebook work * Now, when a container is deleted, the children are deleted too =================================================================== RCS file: /cvsroot/enlightenment/e17/proto/etk/src/lib/etk_button.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- etk_button.c 2 Dec 2005 21:57:55 -0000 1.7 +++ etk_button.c 24 Dec 2005 18:13:06 -0000 1.8 @@ -64,7 +64,7 @@ if (!button_type) { - button_type = etk_type_new("Etk_Button", ETK_BIN_TYPE, sizeof(Etk_Button), ETK_CONSTRUCTOR(_etk_button_constructor), ETK_DESTRUCTOR(_etk_button_destructor)); + button_type = etk_type_new("Etk_Button", ETK_BIN_TYPE, sizeof(Etk_Button), ETK_CONSTRUCTOR(_etk_button_constructor), NULL); _etk_button_signals[ETK_BUTTON_PRESSED_SIGNAL] = etk_signal_new("pressed", button_type, ETK_MEMBER_OFFSET(Etk_Button, pressed), etk_marshaller_VOID__VOID, NULL, NULL); _etk_button_signals[ETK_BUTTON_RELEASED_SIGNAL] = etk_signal_new("released", button_type, ETK_MEMBER_OFFSET(Etk_Button, released), etk_marshaller_VOID__VOID, NULL, NULL); @@ -302,35 +302,6 @@ etk_signal_connect("mouse_click", ETK_OBJECT(button), ETK_CALLBACK(_etk_button_mouse_click_cb), NULL); } -/* Destroys the button */ -static void _etk_button_destructor(Etk_Button *button) -{ - Etk_Widget *widget; - - if (!button) - return; - - if (button->alignment) - { - widget = button->alignment; - button->alignment = NULL; - etk_object_destroy(ETK_OBJECT(widget)); - } - if (button->hbox) - { - widget = button->hbox; - button->hbox = NULL; - etk_object_destroy(ETK_OBJECT(widget)); - } - if (button->label) - { - widget = button->label; - button->label = NULL; - etk_object_destroy(ETK_OBJECT(widget)); - } -} - - /* Sets the property whose id is "property_id" to the value "value" */ static void _etk_button_property_set(Etk_Object *object, int property_id, Etk_Property_Value *value) { =================================================================== RCS file: /cvsroot/enlightenment/e17/proto/etk/src/lib/etk_container.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- etk_container.c 13 Nov 2005 12:04:05 -0000 1.4 +++ etk_container.c 24 Dec 2005 18:13:06 -0000 1.5 @@ -215,18 +215,15 @@ static void _etk_container_destructor(Etk_Container *container) { Etk_Widget *child; - Evas_List *l; if (!container) return; - for (l = container->children; l; ) + while (container->children) { - child = ETK_WIDGET(l->data); - l = l->next; - etk_widget_parent_set(child, NULL); + child = ETK_WIDGET(container->children->data); + etk_object_destroy(ETK_OBJECT(child)); } - container->children = evas_list_free(container->children); } =================================================================== RCS file: /cvsroot/enlightenment/e17/proto/etk/src/lib/etk_dialog.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- etk_dialog.c 2 Dec 2005 21:57:55 -0000 1.1 +++ etk_dialog.c 24 Dec 2005 18:13:06 -0000 1.2 @@ -27,7 +27,6 @@ }; static void _etk_dialog_constructor(Etk_Dialog *dialog); -static void _etk_dialog_destructor(Etk_Dialog *dialog); static void _etk_dialog_property_set(Etk_Object *object, int property_id, Etk_Property_Value *value); static void _etk_dialog_property_get(Etk_Object *object, int property_id, Etk_Property_Value *value); @@ -49,7 +48,7 @@ if (!dialog_type) { - dialog_type = etk_type_new("Etk_Dialog", ETK_WINDOW_TYPE, sizeof(Etk_Dialog), ETK_CONSTRUCTOR(_etk_dialog_constructor), ETK_DESTRUCTOR(_etk_dialog_destructor)); + dialog_type = etk_type_new("Etk_Dialog", ETK_WINDOW_TYPE, sizeof(Etk_Dialog), ETK_CONSTRUCTOR(_etk_dialog_constructor), NULL); _etk_dialog_signals[ETK_DIALOG_CLOSE_SIGNAL] = etk_signal_new("close", dialog_type, -1, etk_marshaller_VOID__VOID, NULL, NULL); _etk_dialog_signals[ETK_DIALOG_RESPONSE_SIGNAL] = etk_signal_new("response", dialog_type, -1, etk_marshaller_VOID__INT, NULL, NULL); @@ -198,20 +197,6 @@ dialog->has_separator = TRUE; } -/* Destroys the dialog */ -static void _etk_dialog_destructor(Etk_Dialog *dialog) -{ - if (!dialog) - return; - - /* TODO: destroy ? */ - etk_object_destroy(ETK_OBJECT(dialog->main_area_vbox)); - etk_object_destroy(ETK_OBJECT(dialog->separator)); - etk_object_destroy(ETK_OBJECT(dialog->action_area_hbox)); - etk_object_destroy(ETK_OBJECT(dialog->dialog_vbox)); -} - - /* Sets the property whose id is "property_id" to the value "value" */ static void _etk_dialog_property_set(Etk_Object *object, int property_id, Etk_Property_Value *value) { =================================================================== RCS file: /cvsroot/enlightenment/e17/proto/etk/src/lib/etk_menu.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- etk_menu.c 20 Nov 2005 10:33:28 -0000 1.3 +++ etk_menu.c 24 Dec 2005 18:13:06 -0000 1.4 @@ -214,6 +214,7 @@ { if (!menu) return; + etk_container_remove(ETK_CONTAINER(menu->window), ETK_WIDGET(menu)); etk_object_destroy(ETK_OBJECT(menu->window)); } =================================================================== RCS file: /cvsroot/enlightenment/e17/proto/etk/src/lib/etk_notebook.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- etk_notebook.c 23 Dec 2005 23:01:06 -0000 1.2 +++ etk_notebook.c 24 Dec 2005 18:13:06 -0000 1.3 @@ -19,7 +19,7 @@ static void _etk_notebook_size_allocate(Etk_Widget *widget, Etk_Geometry geometry); static void _etk_notebook_tab_toggled_cb(Etk_Object *object, void *data); static Etk_Notebook_Page *_etk_notebook_page_create(Etk_Notebook *notebook, const char *tab_label, Etk_Widget *page_widget); -static void _etk_notebook_page_activate(Etk_Notebook_Page *page); +static void _etk_notebook_current_page_show(Etk_Notebook *notebook); /************************** * @@ -109,9 +109,7 @@ for (l = notebook->pages; l; l = l->next) { page = l->data; - /* TODO */ - etk_object_destroy(ETK_OBJECT(page->tab)); - etk_object_destroy(ETK_OBJECT(page->page_frame)); + etk_signal_disconnect("toggled", ETK_OBJECT(page->tab), ETK_CALLBACK(_etk_notebook_tab_toggled_cb)); free(page); } } @@ -182,6 +180,7 @@ max_tab_height = tab_requisition.h; } + /* TODO */ //tab_offset = (geometry.w - tabs_width) * 0.5; tab_offset = 0; tab_geometry.y = geometry.y; @@ -250,8 +249,7 @@ if (notebook->current_page) etk_widget_hide(notebook->current_page->page_frame); notebook->current_page = page; - etk_widget_show(notebook->current_page->page_frame); - etk_widget_size_recalc_queue(ETK_WIDGET(notebook)); + _etk_notebook_current_page_show(notebook); } } } @@ -272,8 +270,8 @@ new_page = malloc(sizeof(Etk_Notebook_Page)); prev_page = notebook->pages ? notebook->pages->data : NULL; - new_page->tab = etk_radio_button_new_with_label_from_widget(tab_label, prev_page ? ETK_RADIO_BUTTON(prev_page->tab) : NULL); - etk_object_properties_set(ETK_OBJECT(new_page->tab), "theme_group", "notebook_tab", NULL); + new_page->tab = etk_widget_new(ETK_RADIO_BUTTON_TYPE, "theme_group", "notebook_tab", "label", tab_label, + "group", prev_page ? etk_radio_button_group_get(ETK_RADIO_BUTTON(prev_page->tab)) : NULL, NULL); etk_object_data_set(ETK_OBJECT(new_page->tab), "_Etk_Notebook::Page", new_page); etk_widget_parent_set(new_page->tab, ETK_CONTAINER(notebook)); etk_widget_visibility_locked_set(new_page->tab, TRUE); @@ -290,18 +288,35 @@ etk_bin_child_set(ETK_BIN(new_page->page_frame), new_page->page_widget); if (!notebook->current_page) - _etk_notebook_page_activate(new_page); + { + notebook->current_page = new_page; + _etk_notebook_current_page_show(notebook); + } etk_widget_size_recalc_queue(ETK_WIDGET(notebook)); return new_page; } -/* Activates a page of the notebook */ -static void _etk_notebook_page_activate(Etk_Notebook_Page *page) +/* Shows the active page */ +static void _etk_notebook_current_page_show(Etk_Notebook *notebook) { - if (!page) + Evas_List *l; + Etk_Notebook_Page *p; + + if (!notebook || !notebook->current_page) return; - etk_toggle_button_active_set(ETK_TOGGLE_BUTTON(page->tab), TRUE); + + etk_widget_show(notebook->current_page->page_frame); + etk_widget_member_object_raise(ETK_WIDGET(notebook), notebook->current_page->page_frame->smart_object); + + for (l = notebook->pages; l; l = l->next) + { + p = l->data; + etk_widget_member_object_raise(ETK_WIDGET(notebook), p->tab->smart_object); + } + evas_object_raise(notebook->current_page->tab->smart_object); + etk_widget_member_object_raise(ETK_WIDGET(notebook), notebook->current_page->tab->smart_object); + etk_widget_size_recalc_queue(ETK_WIDGET(notebook)); } /** @} */ =================================================================== RCS file: /cvsroot/enlightenment/e17/proto/etk/src/lib/etk_scrolled_view.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- etk_scrolled_view.c 22 Dec 2005 16:41:14 -0000 1.10 +++ etk_scrolled_view.c 24 Dec 2005 18:13:06 -0000 1.11 @@ -48,7 +48,7 @@ if (!scrolled_view_type) { - scrolled_view_type = etk_type_new("Etk_Scrolled_View", ETK_BIN_TYPE, sizeof(Etk_Scrolled_View), ETK_CONSTRUCTOR(_etk_scrolled_view_constructor), ETK_DESTRUCTOR(_etk_scrolled_view_destructor)); + scrolled_view_type = etk_type_new("Etk_Scrolled_View", ETK_BIN_TYPE, sizeof(Etk_Scrolled_View), ETK_CONSTRUCTOR(_etk_scrolled_view_constructor), NULL); etk_type_property_add(scrolled_view_type, "hpolicy", ETK_SCROLLED_VIEW_HPOLICY_PROPERTY, ETK_PROPERTY_INT, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_int(ETK_POLICY_AUTO)); etk_type_property_add(scrolled_view_type, "vpolicy", ETK_SCROLLED_VIEW_VPOLICY_PROPERTY, ETK_PROPERTY_INT, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_int(ETK_POLICY_AUTO)); @@ -197,18 +197,6 @@ etk_signal_connect("value_changed", ETK_OBJECT(scrolled_view->vscrollbar), ETK_CALLBACK(_etk_scrolled_view_vscrollbar_value_changed_cb), scrolled_view); } -/* Destroys the scrolled_view */ -static void _etk_scrolled_view_destructor(Etk_Scrolled_View *scrolled_view) -{ - if (!scrolled_view) - return; - - etk_widget_parent_set(scrolled_view->hscrollbar, NULL); - etk_object_destroy(ETK_OBJECT(scrolled_view->hscrollbar)); - etk_widget_parent_set(scrolled_view->vscrollbar, NULL); - etk_object_destroy(ETK_OBJECT(scrolled_view->vscrollbar)); -} - /* Sets the property whose id is "property_id" to the value "value" */ static void _etk_scrolled_view_property_set(Etk_Object *object, int property_id, Etk_Property_Value *value) { =================================================================== RCS file: /cvsroot/enlightenment/e17/proto/etk/src/lib/etk_tree.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -3 -r1.23 -r1.24 --- etk_tree.c 22 Dec 2005 16:41:14 -0000 1.23 +++ etk_tree.c 24 Dec 2005 18:13:06 -0000 1.24 @@ -1524,14 +1524,7 @@ for (l = tree->rows_widgets; l; l = l->next) _etk_tree_row_objects_free(l->data, tree); tree->rows_widgets = evas_list_free(tree->rows_widgets); - - for (i = 0; i < tree->num_cols; i++) - { - if (tree->columns[i]) - etk_object_destroy(ETK_OBJECT(tree->columns[i])); - } free(tree->columns); - /* TODO: etk_object_destroy(ETK_OBJECT(tree->grid)); */ } /* Sets the property whose id is "property_id" to the value "value" */ @@ -1649,9 +1642,7 @@ { if (!tree_col) return; - etk_tree_model_free(tree_col->model); - /* TODO: etk_object_destroy("header"); */ } /* Sets the property whose id is "property_id" to the value "value" */ ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs