int inspector_init( void ) { char *header[] = {"Attribute", "Value"}; if( inspector_win ) return -1; name_spec = spec_elem_get("Ewl_Widget", "name"); inspector_win = ewl_window_new(); ewl_window_title_set(EWL_WINDOW(inspector_win), "Inspector"); ewl_object_size_request(EWL_OBJECT(inspector_win), 200, 320); ewl_callback_append(inspector_win, EWL_CALLBACK_DELETE_WINDOW, inspector_toggle, NULL); tree = ewl_tree_new(2); ewl_tree_headers_set(EWL_TREE(tree), header); ewl_tree_mode_set(EWL_TREE(tree), EWL_TREE_MODE_NONE); ewl_container_child_append(EWL_CONTAINER(inspector_win), tree); ewl_widget_show(tree); ewl_widget_show(inspector_win); return 0; }
void ecrin_ewl_window_create (void) { Ewl_Widget *window; Ewl_Widget *hbox; Ewl_Widget *notebook; Ewl_Widget *tab; Ewl_Widget *vbox; Ewl_Widget *separator; /* We order the list */ sorted_keys = _list_keys_order (ecrin_hash_keys_get ()); window = ewl_window_new (); ewl_object_size_request (EWL_OBJECT (window), 400, 400); ewl_window_title_set (EWL_WINDOW (window), "Ecrin"); ewl_window_name_set (EWL_WINDOW (window), "Ecrin"); ewl_window_class_set (EWL_WINDOW (window), "Ecrin"); ewl_callback_append (window, EWL_CALLBACK_DELETE_WINDOW, _main_window_close, NULL); hbox = ewl_hbox_new (); ewl_container_child_append (EWL_CONTAINER (window), hbox); ewl_widget_show (hbox); notebook = ewl_notebook_new (); ewl_container_child_append (EWL_CONTAINER (hbox), notebook); ewl_widget_show (notebook); tab = ewl_label_new ("EFL package"); ewl_widget_show (tab); tree = ewl_tree_new (1); ewl_tree_headers_visible_set (EWL_TREE (tree), 0); ewl_notebook_page_append (EWL_NOTEBOOK (notebook), tab, tree); ewl_widget_show (tree); tab = ewl_label_new ("Search"); ewl_widget_show (tab); vbox = ewl_vbox_new (); ewl_box_homogeneous_set (EWL_BOX (vbox), 0); ewl_notebook_page_append (EWL_NOTEBOOK (notebook), tab, vbox); ewl_widget_show (vbox); entry = ewl_entry_new (""); ewl_object_fill_policy_set(EWL_OBJECT(entry), EWL_FLAG_FILL_VSHRINK | EWL_FLAG_FILL_HFILL); ewl_container_child_append (EWL_CONTAINER (vbox), entry); ewl_callback_append (entry, EWL_CALLBACK_VALUE_CHANGED, _list_display_cb, NULL); ewl_widget_show (entry); separator = ewl_hseparator_new (); ewl_container_child_append (EWL_CONTAINER (vbox), separator); ewl_widget_show (separator); list = ewl_tree_new (1); ewl_tree_headers_visible_set (EWL_TREE (list), 0); ewl_container_child_append (EWL_CONTAINER (vbox), list); ewl_widget_show (list); separator = ewl_vseparator_new (); ewl_container_child_append (EWL_CONTAINER (hbox), separator); ewl_widget_show (separator); text = ewl_text_new (""); ewl_container_child_append (EWL_CONTAINER (hbox), text); ewl_widget_show (text); ecrin_ewl_tree_fill_package (); ecrin_ewl_list_fill_package (""); ewl_widget_show (window); }
/** * initialize this project manager. called from main */ int projects_init( char *filename ) { Ewl_Widget *vbox, *menu, *project_menu, *settings_menu, *windows_menu, *item; /* ui phase... kick on some phat window action */ project_win = ewl_window_new(); ewl_window_title_set(EWL_WINDOW(project_win), "Ewler"); ewl_object_size_request(EWL_OBJECT(project_win), 200, 320); ewl_callback_append(project_win, EWL_CALLBACK_DELETE_WINDOW, project_exit, NULL); ewl_callback_append(project_win, EWL_CALLBACK_KEY_DOWN, project_key_down, NULL); vbox = ewl_vbox_new(); ewl_container_child_append(EWL_CONTAINER(project_win), vbox); menu = ewl_hmenubar_new(); ewl_container_child_append(EWL_CONTAINER(vbox), menu); project_menu = ewl_menubar_menu_add(EWL_MENUBAR(menu), NULL, "Project"); item = ewl_menu_item_new(NULL, "New"); ewl_container_child_append(EWL_CONTAINER(project_menu), item); ewl_widget_show(item); item = ewl_menu_item_new(NULL, "New Form"); ewl_container_child_append(EWL_CONTAINER(project_menu), item); ewl_callback_append(item, EWL_CALLBACK_CLICKED, form_new, NULL); ewl_widget_show(item); item = ewl_menu_item_new(NULL, "Open..."); ewl_container_child_append(EWL_CONTAINER(project_menu), item); ewl_callback_append(item, EWL_CALLBACK_CLICKED, open, NULL); ewl_widget_show(item); item = ewl_menu_separator_new(); ewl_container_child_append(EWL_CONTAINER(project_menu), item); ewl_widget_show(item); item = ewl_menu_item_new(NULL, "Save"); ewl_callback_append(item, EWL_CALLBACK_CLICKED, save, NULL); ewl_container_child_append(EWL_CONTAINER(project_menu), item); ewl_widget_show(item); item = ewl_menu_separator_new(); ewl_container_child_append(EWL_CONTAINER(project_menu), item); ewl_widget_show(item); item = ewl_menu_item_new(NULL, "Exit"); ewl_callback_append(item, EWL_CALLBACK_CLICKED, project_exit, NULL); ewl_container_child_append(EWL_CONTAINER(project_menu), item); ewl_widget_show(item); ewl_widget_show(project_menu); settings_menu = ewl_menubar_menu_add(EWL_MENUBAR(menu), NULL, "Settings"); item = ewl_menu_item_new(NULL, "Options..."); ewl_container_child_append(EWL_CONTAINER(settings_menu), item); ewl_callback_append(item, EWL_CALLBACK_CLICKED, options, NULL); ewl_widget_show(item); ewl_widget_show(settings_menu); windows_menu = ewl_menubar_menu_add(EWL_MENUBAR(menu), NULL, "Windows"); item = ewl_menu_item_new(NULL, "Toolbar"); ewl_container_child_append(EWL_CONTAINER(windows_menu), item); ewl_callback_append(item, EWL_CALLBACK_CLICKED, tools_toggle, NULL); ewl_widget_show(item); item = ewl_menu_item_new(NULL, "Inspector"); ewl_container_child_append(EWL_CONTAINER(windows_menu), item); ewl_callback_append(item, EWL_CALLBACK_CLICKED, inspector_toggle, NULL); ewl_widget_show(item); item = ewl_menu_item_new(NULL, "Callbacks"); ewl_container_child_append(EWL_CONTAINER(windows_menu), item); ewl_callback_append(item, EWL_CALLBACK_CLICKED, callbacks_toggle, NULL); ewl_widget_show(item); ewl_widget_show(windows_menu); ewl_widget_show(menu); file_tree = ewl_tree_new(1); ewl_tree_mode_set(EWL_TREE(file_tree), EWL_TREE_MODE_SINGLE); ewl_container_child_append(EWL_CONTAINER(vbox), file_tree); ewl_widget_show(file_tree); ewl_widget_show(vbox); ewl_widget_show(project_win); /* end ui phase */ /* project phase */ active_project = NEW(Ewler_Project); if( !active_project ) { ewler_error("projects_init: out of memory!"); return -1; } active_project->files = ecore_hash_new(ecore_str_hash, ecore_str_compare); ecore_hash_free_key_cb_set(active_project->files, free); ecore_hash_free_value_cb_set(active_project->files, free); if( !filename || project_open(filename) < 0 ) { project_new(); } /* end project phase */ return 0; }
static int create_test(Ewl_Container *box) { Ewl_Widget *tree, *o, *o2, *o3; Ewl_Model *model; Ewl_View *view; void *data; o2 = ewl_hbox_new(); ewl_container_child_append(box, o2); ewl_object_fill_policy_set(EWL_OBJECT(o2), EWL_FLAG_FILL_HFILL); ewl_widget_show(o2); /* create our data */ data = tree_test_data_setup(); /* the tree will only use one model. We could use a model per * column, but a single model will work fine for this test */ model = ewl_model_new(); ewl_model_data_fetch_set(model, tree_test_data_fetch); ewl_model_data_header_fetch_set(model, tree_test_cb_header_data_fetch); ewl_model_data_sort_set(model, tree_test_data_sort); ewl_model_column_sortable_set(model, tree_test_column_sortable); ewl_model_data_count_set(model, tree_test_data_count_get); ewl_model_data_expandable_set(model, tree_test_data_expandable_get); ewl_model_expansion_data_fetch_set(model, tree_test_data_expansion_fetch); view = ewl_view_new(); ewl_view_widget_constructor_set(view, tree_test_cb_widget_fetch); ewl_view_widget_assign_set(view, tree_test_cb_widget_assign); ewl_view_header_fetch_set(view, tree_test_cb_header_fetch); tree = ewl_tree_new(); ewl_container_child_append(EWL_CONTAINER(box), tree); ewl_object_fill_policy_set(EWL_OBJECT(tree), EWL_FLAG_FILL_ALL); ewl_callback_append(tree, EWL_CALLBACK_VALUE_CHANGED, tree_cb_value_changed, NULL); ewl_mvc_data_set(EWL_MVC(tree), data); ewl_mvc_model_set(EWL_MVC(tree), model); ewl_mvc_view_set(EWL_MVC(tree), view); ewl_mvc_selection_mode_set(EWL_MVC(tree), EWL_SELECTION_MODE_MULTI); ewl_tree_column_count_set(EWL_TREE(tree), 3); ewl_tree_row_expand(EWL_TREE(tree), data, 2); ewl_widget_name_set(tree, "tree"); ewl_widget_show(tree); o3 = ewl_vbox_new(); ewl_container_child_append(EWL_CONTAINER(o2), o3); ewl_widget_show(o3); /* create the checkbuttons for the top box */ o = ewl_checkbutton_new(); ewl_object_alignment_set(EWL_OBJECT(o), EWL_FLAG_ALIGN_LEFT); ewl_button_label_set(EWL_BUTTON(o), "Scroll headers"); ewl_container_child_append(EWL_CONTAINER(o3), o); ewl_callback_append(o, EWL_CALLBACK_CLICKED, ewl_tree_cb_scroll_headers, tree); ewl_widget_show(o); o = ewl_checkbutton_new(); ewl_object_alignment_set(EWL_OBJECT(o), EWL_FLAG_ALIGN_LEFT); ewl_button_label_set(EWL_BUTTON(o), "Hide headers"); ewl_container_child_append(EWL_CONTAINER(o3), o); ewl_callback_append(o, EWL_CALLBACK_CLICKED, ewl_tree_cb_hide_headers, tree); ewl_widget_show(o); o = ewl_checkbutton_new(); ewl_object_alignment_set(EWL_OBJECT(o), EWL_FLAG_ALIGN_CENTER); ewl_button_label_set(EWL_BUTTON(o), "Plain view"); ewl_container_child_append(EWL_CONTAINER(o2), o); ewl_callback_append(o, EWL_CALLBACK_CLICKED, ewl_tree_cb_plain_view, tree); ewl_widget_show(o); o = ewl_spinner_new(); ewl_object_alignment_set(EWL_OBJECT(o), EWL_FLAG_ALIGN_CENTER); ewl_container_child_append(EWL_CONTAINER(o2), o); ewl_spinner_digits_set(EWL_SPINNER(o), 0); ewl_range_minimum_value_set(EWL_RANGE(o), 0); ewl_range_maximum_value_set(EWL_RANGE(o), 10000); ewl_range_value_set(EWL_RANGE(o), 5); ewl_range_step_set(EWL_RANGE(o), 1); ewl_widget_name_set(o, "rows_spinner"); ewl_widget_show(o); o = ewl_button_new(); ewl_object_alignment_set(EWL_OBJECT(o), EWL_FLAG_ALIGN_CENTER); ewl_button_label_set(EWL_BUTTON(o), "Set number of rows"); ewl_container_child_append(EWL_CONTAINER(o2), o); ewl_callback_append(o, EWL_CALLBACK_CLICKED, ewl_tree_cb_set_rows_clicked, NULL); ewl_widget_show(o); o = ewl_button_new(); ewl_object_alignment_set(EWL_OBJECT(o), EWL_FLAG_ALIGN_CENTER); ewl_button_label_set(EWL_BUTTON(o), "Row select"); ewl_container_child_append(EWL_CONTAINER(o2), o); ewl_callback_append(o, EWL_CALLBACK_CLICKED, tree_cb_select_mode_change, NULL); ewl_widget_show(o); o = ewl_button_new(); ewl_object_alignment_set(EWL_OBJECT(o), EWL_FLAG_ALIGN_CENTER); ewl_button_label_set(EWL_BUTTON(o), "Ensure visible"); ewl_container_child_append(EWL_CONTAINER(o2), o); ewl_callback_append(o, EWL_CALLBACK_CLICKED, tree_cb_ensure_visible, NULL); ewl_widget_show(o); return 1; }
void entropy_ewl_mime_dialog_display() { Ewl_Widget* window = ewl_window_new(); Ewl_Widget* box = ewl_vbox_new(); Ewl_Widget* button = ewl_button_new(); Ewl_Widget* hbox; entropy_core* core = entropy_core_get_core(); char* entries[3]; char* key; entropy_mime_action* action; Ecore_List* keys; last_select_text = NULL; /*Init the mime tree*/ mime_tree = ewl_tree_new(2); ewl_tree_mode_set(EWL_TREE(mime_tree), EWL_SELECTION_MODE_SINGLE); ewl_object_minimum_size_set(EWL_OBJECT(window), 530, 400); ewl_window_title_set(EWL_WINDOW(window), "Edit MIME Actions.."); ewl_container_child_append(EWL_CONTAINER(window), box); ewl_container_child_append(EWL_CONTAINER(box), mime_tree); ewl_widget_show(box); keys = ecore_hash_keys(core->mime_action_hint); while ((key = ecore_list_first_remove(keys))) { Ewl_Widget* row; entries[0] = key; entries[1] = ((entropy_mime_action*)ecore_hash_get(core->mime_action_hint, key))->executable; entries[2] = NULL; row = ewl_tree_text_row_add(EWL_TREE(mime_tree), NULL,entries); ewl_widget_color_set(row,0,0,0,255); ewl_callback_append(row, EWL_CALLBACK_MOUSE_DOWN, mime_row_click_cb, key); } ecore_list_destroy(keys); hbox = ewl_hbox_new(); ewl_container_child_append(EWL_CONTAINER(box), hbox); ewl_object_fill_policy_set(EWL_OBJECT(hbox), EWL_FLAG_FILL_SHRINK); ewl_widget_show(hbox); /*Add Button*/ ewl_button_label_set(EWL_BUTTON(button), "Add MIME Action"); ewl_object_maximum_h_set(EWL_OBJECT(button), 15); ewl_callback_append(button, EWL_CALLBACK_CLICKED, entropy_ewl_mime_add_display_cb, NULL); ewl_container_child_append(EWL_CONTAINER(hbox), button); ewl_widget_show(button); /*OK Button*/ button = ewl_button_new(); ewl_button_label_set(EWL_BUTTON(button), "Close"); ewl_object_maximum_h_set(EWL_OBJECT(button), 15); ewl_callback_append(button, EWL_CALLBACK_CLICKED, window_dismiss_cb, window); ewl_container_child_append(EWL_CONTAINER(hbox), button); ewl_widget_show(button); ewl_widget_show(window); ewl_widget_show(mime_tree); }