boot_panel* bootpanel_create(main_window *win) { boot_panel* pnl; Etk_Widget *scroll,*vbox, *hbox,*text,*frame; pnl = malloc(sizeof(boot_panel)); pnl->win = win; vbox = etk_vbox_new(ETK_FALSE, 5); hbox = etk_hbox_new(ETK_FALSE, 5); pnl->frame = hbox; etk_box_append(ETK_BOX(hbox), vbox, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); scroll = etk_scrolled_view_new (); etk_box_append(ETK_BOX(vbox), scroll, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); etk_widget_show(scroll); pnl->eth_list = etk_tree_new(); pnl->eth_col0 = etk_tree_col_new(ETK_TREE(pnl->eth_list), _("Interfaces"), 80, 0.0); etk_tree_col_model_add(pnl->eth_col0, etk_tree_model_checkbox_new()); etk_tree_col_model_add(pnl->eth_col0, etk_tree_model_text_new()); etk_signal_connect_by_code(ETK_TREE_COL_CELL_VALUE_CHANGED_SIGNAL, ETK_OBJECT(pnl->eth_col0), ETK_CALLBACK(bootpanel_ethlist_checkbox_change_cb), pnl); etk_tree_mode_set(ETK_TREE(pnl->eth_list), ETK_TREE_MODE_LIST); etk_tree_build(ETK_TREE(pnl->eth_list)); etk_container_add(ETK_CONTAINER(scroll), pnl->eth_list); text = etk_text_view_new(); etk_widget_size_request_set(text, -1, 150); etk_object_properties_set(ETK_OBJECT(text), "focusable", ETK_FALSE, NULL); etk_textblock_text_set(ETK_TEXT_VIEW(text)->textblock, _("<p align=\"center\"><style effect=glow color1=#fa14 color2=#fe87><b>Help!</b></style>" "\n<p>When your computer boot, exalt starts and configure yours networks interfaces in the background. If you use the DHCP, your interface will get a IP address after a while.</p>" "\n<p>You can have a problem if you use a daemon as nfs-client. If the daemon need a network connection when it starts and your interface has no IP address, the daemon will not work. To avoid this problem Exalt can configure your interface in the foreground. If you select the interface in the list, Exalt will wait until your interface gets a IP address.</p>" "\n<p>If the interface doesn't get a IP address before the timeout, your computer will continue the boot process.</p>" ), ETK_TRUE); etk_box_append(ETK_BOX(hbox), text, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); frame=etk_frame_new(_("Timeout")); etk_box_append(ETK_BOX(vbox), frame, ETK_BOX_START, ETK_BOX_FILL, 0); hbox = etk_hbox_new(ETK_FALSE, 5); etk_container_add(ETK_CONTAINER(frame), hbox); pnl->slider = etk_hslider_new(1,60,30,1,5); etk_box_append(ETK_BOX(hbox), pnl->slider, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); etk_slider_label_set(ETK_SLIDER(pnl->slider), "%.0f"); etk_signal_connect_by_code(ETK_RANGE_VALUE_CHANGED_SIGNAL, ETK_OBJECT(pnl->slider), ETK_CALLBACK(bootpanel_slider_value_changed_cb), pnl); etk_slider_update_policy_set(ETK_SLIDER(pnl->slider), ETK_SLIDER_DELAYED); bootpanel_update_timeout(pnl); return pnl; }
/*** Implementation ***/ Etk_Widget* image_frame_create(void) { Etk_Widget *label; Etk_Widget *table; Etk_Tree_Col *col1; //table table = etk_table_new(6, 5, ETK_TABLE_NOT_HOMOGENEOUS); //AddImageButton UI_ImageAddButton = etk_button_new_from_stock(ETK_STOCK_IMAGE_X_GENERIC); etk_object_properties_set(ETK_OBJECT(UI_ImageAddButton), "label", "Choose Image", NULL); etk_table_attach_default(ETK_TABLE(table), UI_ImageAddButton, 0, 2, 0, 0); //ImageName UI_ImageNameLabel = etk_label_new("none"); etk_object_properties_set(ETK_OBJECT(UI_ImageNameLabel), "xalign", 0.5, NULL); etk_table_attach_default(ETK_TABLE(table), UI_ImageNameLabel, 3, 5, 0, 0); //ImageTweenVBox UI_ImageTweenVBox = etk_vbox_new(ETK_TRUE, 0); etk_table_attach_default(ETK_TABLE(table), UI_ImageTweenVBox, 0, 1, 1, 1); //AddTweenButton UI_AddTweenButton = etk_button_new_from_stock(ETK_STOCK_LIST_ADD); etk_button_style_set(ETK_BUTTON(UI_AddTweenButton), ETK_BUTTON_ICON); etk_signal_connect("clicked", ETK_OBJECT(UI_AddTweenButton), ETK_CALLBACK(_window_all_button_click_cb), (void*)IMAGE_TWEEN_ADD); etk_box_append(ETK_BOX(UI_ImageTweenVBox), UI_AddTweenButton, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //DeleteTweenButton UI_DeleteTweenButton = etk_button_new_from_stock(ETK_STOCK_LIST_REMOVE); etk_button_style_set(ETK_BUTTON(UI_DeleteTweenButton), ETK_BUTTON_ICON); etk_signal_connect("clicked", ETK_OBJECT(UI_DeleteTweenButton), ETK_CALLBACK(_window_all_button_click_cb), (void*)IMAGE_TWEEN_DELETE); etk_box_append(ETK_BOX(UI_ImageTweenVBox), UI_DeleteTweenButton, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //MoveUpTweenButton UI_MoveUpTweenButton = etk_button_new_from_stock(ETK_STOCK_GO_UP); etk_button_style_set(ETK_BUTTON(UI_MoveUpTweenButton), ETK_BUTTON_ICON); etk_signal_connect("clicked", ETK_OBJECT(UI_MoveUpTweenButton), ETK_CALLBACK(_window_all_button_click_cb), (void*)IMAGE_TWEEN_UP); etk_box_append(ETK_BOX(UI_ImageTweenVBox), UI_MoveUpTweenButton, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //MoveDownTweenButton UI_MoveDownTweenButton = etk_button_new_from_stock(ETK_STOCK_GO_DOWN); etk_button_style_set(ETK_BUTTON(UI_MoveDownTweenButton), ETK_BUTTON_ICON); etk_signal_connect("clicked", ETK_OBJECT(UI_MoveDownTweenButton), ETK_CALLBACK(_window_all_button_click_cb), (void*)IMAGE_TWEEN_DOWN); etk_box_append(ETK_BOX(UI_ImageTweenVBox), UI_MoveDownTweenButton, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //ImageTweenList UI_ImageTweenList = etk_tree_new(); etk_tree_mode_set(ETK_TREE(UI_ImageTweenList), ETK_TREE_MODE_LIST); etk_tree_headers_visible_set(ETK_TREE(UI_ImageTweenList), FALSE); // etk_tree_multiple_select_set(ETK_TREE(UI_ImageTweenList), ETK_TRUE); col1 = etk_tree_col_new(ETK_TREE(UI_ImageTweenList), "Tween", 130, 0.0); etk_tree_col_model_add(col1, etk_tree_model_image_new()); etk_tree_col_model_add(col1, etk_tree_model_text_new()); etk_tree_build(ETK_TREE(UI_ImageTweenList)); etk_table_attach_default(ETK_TABLE(table),UI_ImageTweenList, 2, 5, 1, 1); label = etk_label_new("Alpha"); etk_table_attach_default(ETK_TABLE(table),label, 0, 0, 2, 2); //ImageAlphaSlider UI_ImageAlphaSlider = etk_hslider_new(0, 255, 15, 1,20); etk_slider_label_set(ETK_SLIDER(UI_ImageAlphaSlider), "%.0f"); etk_table_attach_default(ETK_TABLE(table),UI_ImageAlphaSlider, 1, 5, 2, 2); label = etk_label_new("Left"); etk_object_properties_set(ETK_OBJECT(label), "xalign",0.5,NULL); etk_table_attach_default(ETK_TABLE(table),label, 1, 1, 3, 3); label = etk_label_new("Right"); etk_object_properties_set(ETK_OBJECT(label), "xalign",0.5,NULL); etk_table_attach_default(ETK_TABLE(table),label, 2, 2, 3, 3); label = etk_label_new("Top"); etk_object_properties_set(ETK_OBJECT(label), "xalign",0.5,NULL); etk_table_attach_default(ETK_TABLE(table),label, 3, 3, 3, 3); label = etk_label_new("Bottom"); etk_object_properties_set(ETK_OBJECT(label), "xalign",0.5,NULL); etk_table_attach_default(ETK_TABLE(table),label, 4, 4, 3, 3); label = etk_label_new("Border"); //etk_object_properties_set(ETK_OBJECT(label), "xalign", 0.5, NULL); etk_table_attach_default(ETK_TABLE(table),label, 0, 0, 4, 4); //UI_BorderLeftSpinner UI_BorderLeftSpinner = etk_spinner_new(0, 500, 0, 1, 10); etk_widget_size_request_set(UI_BorderLeftSpinner,45, 20); etk_table_attach_default(ETK_TABLE(table),UI_BorderLeftSpinner, 1, 1, 4, 4); //UI_BorderRightSpinner UI_BorderRightSpinner = etk_spinner_new(0, 500, 0, 1, 10); etk_widget_size_request_set(UI_BorderRightSpinner,45, 20); etk_table_attach_default(ETK_TABLE(table),UI_BorderRightSpinner, 2, 2, 4, 4); //UI_BorderTopSpinner UI_BorderTopSpinner = etk_spinner_new(0, 500, 0, 1, 10); etk_widget_size_request_set(UI_BorderTopSpinner,45, 20); etk_table_attach_default(ETK_TABLE(table),UI_BorderTopSpinner, 3, 3, 4, 4); //UI_BorderBottomSpinner UI_BorderBottomSpinner = etk_spinner_new(0, 500, 0, 1, 10); etk_widget_size_request_set(UI_BorderBottomSpinner,45, 20); etk_table_attach_default(ETK_TABLE(table),UI_BorderBottomSpinner, 4, 4, 4, 4); //UI_BorderMiddleCheck UI_BorderMiddleCheck = etk_check_button_new_with_label("Mid"); etk_table_attach_default(ETK_TABLE(table),UI_BorderMiddleCheck, 5, 5, 4, 4); etk_signal_connect("row-selected", ETK_OBJECT(UI_ImageTweenList), ETK_CALLBACK(_image_TweenList_row_selected_cb), NULL); etk_signal_connect("clicked", ETK_OBJECT(UI_ImageAddButton), ETK_CALLBACK(_window_all_button_click_cb), (void*)IMAGE_BROWSER_SHOW); etk_signal_connect("value-changed", ETK_OBJECT(UI_ImageAlphaSlider), ETK_CALLBACK(_image_AlphaSlider_value_changed_cb), NULL); etk_signal_connect("value-changed", ETK_OBJECT(UI_BorderLeftSpinner), ETK_CALLBACK(_image_border_spinners_value_changed_cb), (void *)BORDER_LEFT); etk_signal_connect("value-changed", ETK_OBJECT(UI_BorderRightSpinner), ETK_CALLBACK(_image_border_spinners_value_changed_cb), (void *)BORDER_RIGHT); etk_signal_connect("value-changed", ETK_OBJECT(UI_BorderTopSpinner), ETK_CALLBACK(_image_border_spinners_value_changed_cb), (void *)BORDER_TOP); etk_signal_connect("value-changed", ETK_OBJECT(UI_BorderBottomSpinner), ETK_CALLBACK(_image_border_spinners_value_changed_cb), (void *)BORDER_BOTTOM); etk_signal_connect("toggled", ETK_OBJECT(UI_BorderMiddleCheck), ETK_CALLBACK(_image_BorderMiddleCheck_toggled_cb), NULL); return table; }
/*** Implementation ***/ Etk_Widget* gradient_frame_create(void) { Etk_Widget *table; Etk_Widget *label; Etk_Combobox_Item *item; //table table = etk_table_new(2, 5, ETK_TABLE_NOT_HOMOGENEOUS); //UI_GradientTypeComboBox label = etk_label_new("<b>Type</b>"); etk_table_attach(ETK_TABLE(table), label, 0, 0, 0, 0, ETK_TABLE_NONE, 0, 0); UI_GradientTypeComboBox = etk_combobox_new(); etk_combobox_items_height_set(ETK_COMBOBOX(UI_GradientTypeComboBox), 24); etk_combobox_column_add(ETK_COMBOBOX(UI_GradientTypeComboBox), ETK_COMBOBOX_IMAGE, 27, ETK_COMBOBOX_NONE, 0.0); etk_combobox_column_add(ETK_COMBOBOX(UI_GradientTypeComboBox), ETK_COMBOBOX_LABEL, 75, ETK_COMBOBOX_EXPAND_FILL, 0.0); etk_combobox_build(ETK_COMBOBOX(UI_GradientTypeComboBox)); etk_table_attach_default(ETK_TABLE(table), UI_GradientTypeComboBox, 1, 1, 0, 0); item = etk_combobox_item_append(ETK_COMBOBOX(UI_GradientTypeComboBox), etk_image_new_from_edje(EdjeFile,"GRAD_LINEAR.PNG"), "linear"); item = etk_combobox_item_append(ETK_COMBOBOX(UI_GradientTypeComboBox), etk_image_new_from_edje(EdjeFile,"GRAD_RADIAL.PNG"), "radial"); item = etk_combobox_item_append(ETK_COMBOBOX(UI_GradientTypeComboBox), etk_image_new_from_edje(EdjeFile,"GRAD_RECTANGULAR.PNG"), "rectangular"); item = etk_combobox_item_append(ETK_COMBOBOX(UI_GradientTypeComboBox), etk_image_new_from_edje(EdjeFile,"GRAD_ANGULAR.PNG"), "angular"); item = etk_combobox_item_append(ETK_COMBOBOX(UI_GradientTypeComboBox), etk_image_new_from_edje(EdjeFile,"GRAD_SINUSOIDAL.PNG"), "sinusoidal"); //UI_GradientSpectraComboBox label = etk_label_new("<b>Spectra</b>"); etk_table_attach(ETK_TABLE(table), label, 0, 0, 1, 1, ETK_TABLE_NONE, 0, 0); UI_GradientSpectraComboBox = etk_combobox_new(); etk_combobox_column_add(ETK_COMBOBOX(UI_GradientSpectraComboBox), ETK_COMBOBOX_OTHER, 45, ETK_COMBOBOX_NONE, 0.5); etk_combobox_column_add(ETK_COMBOBOX(UI_GradientSpectraComboBox), ETK_COMBOBOX_LABEL, 100, ETK_COMBOBOX_EXPAND_FILL, 0.0); etk_combobox_build(ETK_COMBOBOX(UI_GradientSpectraComboBox)); etk_table_attach_default(ETK_TABLE(table), UI_GradientSpectraComboBox, 1, 1, 1, 1); //GradientAlphaSlider label = etk_label_new("<b>Alpha</b>"); etk_table_attach(ETK_TABLE(table), label, 0, 0, 2, 2, ETK_TABLE_NONE, 0, 0); UI_GradientAlphaSlider = etk_hslider_new(0, 255, 15, 1,20); etk_slider_label_set(ETK_SLIDER(UI_GradientAlphaSlider), "%.0f"); etk_table_attach_default(ETK_TABLE(table), UI_GradientAlphaSlider, 1, 1, 2, 2); //GradientAngleSlider label = etk_label_new("<b>Angle</b>"); etk_table_attach(ETK_TABLE(table), label, 0, 0, 3, 3, ETK_TABLE_NONE, 0, 0); UI_GradientAngleSlider = etk_hslider_new(0, 360, 15, 1,20); etk_slider_label_set(ETK_SLIDER(UI_GradientAngleSlider), "%.0f"); etk_table_attach_default(ETK_TABLE(table), UI_GradientAngleSlider, 1, 1, 3, 3); //~ //hbox (first handler) //~ hbox = etk_hbox_new(ETK_FALSE, 0); //~ etk_table_attach_default(ETK_TABLE(table), hbox, 0, 2, 3, 3); //~ label = etk_label_new("<b>Start X </b>"); //~ etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //~ //UI_GradientRel1XSpinner //~ UI_GradientRel1XSpinner = etk_spinner_new(-100.0, 100.0, 0.0, 0.01, 0.1); //~ etk_spinner_digits_set(ETK_SPINNER(UI_GradientRel1XSpinner), 2); //~ etk_widget_size_request_set(UI_GradientRel1XSpinner, 45, 20); //~ etk_box_append(ETK_BOX(hbox), UI_GradientRel1XSpinner, //~ ETK_BOX_START, ETK_BOX_NONE, 0); //~ label = etk_label_new("+"); //~ etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_NONE, 0); //~ //UI_GradientRel1XOffsetSpinner //~ UI_GradientRel1XOffsetSpinner = etk_spinner_new(-2000, 2000, 0, 1, 10); //~ etk_widget_size_request_set(UI_GradientRel1XOffsetSpinner, 45, 20); //~ etk_box_append(ETK_BOX(hbox), UI_GradientRel1XOffsetSpinner, //~ ETK_BOX_START, ETK_BOX_NONE, 0); //~ label = etk_label_new("<b> Y </b>"); //~ etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //~ //UI_GradientRel1YSpinner //~ UI_GradientRel1YSpinner = etk_spinner_new(-100.0, 100.0, 0.0, 0.01, 0.1); //~ etk_spinner_digits_set(ETK_SPINNER(UI_GradientRel1YSpinner), 2); //~ etk_widget_size_request_set(UI_GradientRel1YSpinner, 45, 20); //~ etk_box_append(ETK_BOX(hbox), UI_GradientRel1YSpinner, //~ ETK_BOX_START, ETK_BOX_NONE, 0); //~ label = etk_label_new("+"); //~ etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_NONE, 0); //~ //UI_GradientRel1YOffsetSpinner //~ UI_GradientRel1YOffsetSpinner = etk_spinner_new(-2000, 2000, 0, 1, 10); //~ etk_widget_size_request_set(UI_GradientRel1YOffsetSpinner, 45, 20); //~ etk_box_append(ETK_BOX(hbox), UI_GradientRel1YOffsetSpinner, //~ ETK_BOX_START, ETK_BOX_NONE, 0); //hbox (second handler) //~ hbox = etk_hbox_new(ETK_FALSE, 0); //~ etk_table_attach_default(ETK_TABLE(table), hbox, 0, 2, 4, 4); //~ label = etk_label_new("<b>End X </b>"); //~ etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //~ //UI_GradientRel2XSpinner //~ UI_GradientRel2XSpinner = etk_spinner_new(-100.0, 100.0, 0.0, 0.01, 0.1); //~ etk_spinner_digits_set(ETK_SPINNER(UI_GradientRel2XSpinner), 2); //~ etk_widget_size_request_set(UI_GradientRel2XSpinner, 45, 20); //~ etk_box_append(ETK_BOX(hbox), UI_GradientRel2XSpinner, //~ ETK_BOX_START, ETK_BOX_NONE, 0); //~ label = etk_label_new("+"); //~ etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_NONE, 0); //~ //UI_GradientRel2XOffsetSpinner //~ UI_GradientRel2XOffsetSpinner = etk_spinner_new(-2000, 2000, 0, 1, 10); //~ etk_widget_size_request_set(UI_GradientRel2XOffsetSpinner, 45, 20); //~ etk_box_append(ETK_BOX(hbox), UI_GradientRel2XOffsetSpinner, //~ ETK_BOX_START, ETK_BOX_NONE, 0); //~ label = etk_label_new("<b> Y </b>"); //~ etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //~ //UI_GradientRel2YSpinner //~ UI_GradientRel2YSpinner = etk_spinner_new(-100.0, 100.0, 0.0, 0.01, 0.1); //~ etk_spinner_digits_set(ETK_SPINNER(UI_GradientRel2YSpinner), 2); //~ etk_widget_size_request_set(UI_GradientRel2YSpinner, 45, 20); //~ etk_box_append(ETK_BOX(hbox), UI_GradientRel2YSpinner, //~ ETK_BOX_START, ETK_BOX_NONE, 0); //~ label = etk_label_new("+"); //~ etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_NONE, 0); //~ //UI_GradientRel2YOffsetSpinner //~ UI_GradientRel2YOffsetSpinner = etk_spinner_new(-2000, 2000, 0, 1, 10); //~ etk_widget_size_request_set(UI_GradientRel2YOffsetSpinner, 45, 20); //~ etk_box_append(ETK_BOX(hbox), UI_GradientRel2YOffsetSpinner, //~ ETK_BOX_START, ETK_BOX_NONE, 0); etk_signal_connect("item-activated", ETK_OBJECT(UI_GradientTypeComboBox), ETK_CALLBACK(_gradient_type_combo_activated_cb), NULL); etk_signal_connect("item-activated", ETK_OBJECT(UI_GradientSpectraComboBox), ETK_CALLBACK(_gradient_spectra_combo_activated_cb), NULL); etk_signal_connect("value-changed", ETK_OBJECT(UI_GradientAlphaSlider), ETK_CALLBACK(_image_AlphaSlider_value_changed_cb), NULL); etk_signal_connect("value-changed", ETK_OBJECT(UI_GradientAngleSlider), ETK_CALLBACK(_gradient_AngleSlider_value_changed_cb), NULL); //~ etk_signal_connect("value-changed", ETK_OBJECT(UI_GradientRel1XSpinner), //~ ETK_CALLBACK(_gradient_RelSpinners_value_changed_cb), //~ (void *)REL1X_SPINNER); //~ etk_signal_connect("value-changed", ETK_OBJECT(UI_GradientRel1YSpinner), //~ ETK_CALLBACK(_gradient_RelSpinners_value_changed_cb), //~ (void *)REL1Y_SPINNER); //~ etk_signal_connect("value-changed", ETK_OBJECT(UI_GradientRel2XSpinner), //~ ETK_CALLBACK(_gradient_RelSpinners_value_changed_cb), //~ (void *)REL2X_SPINNER); //~ etk_signal_connect("value-changed", ETK_OBJECT(UI_GradientRel2YSpinner), //~ ETK_CALLBACK(_gradient_RelSpinners_value_changed_cb), //~ (void *)REL2Y_SPINNER); //~ etk_signal_connect("value-changed", ETK_OBJECT(UI_GradientRel1XOffsetSpinner), //~ ETK_CALLBACK(_gradient_RelSpinners_value_changed_cb), //~ (void *)REL1XO_SPINNER); //~ etk_signal_connect("value-changed", ETK_OBJECT(UI_GradientRel1YOffsetSpinner), //~ ETK_CALLBACK(_gradient_RelSpinners_value_changed_cb), //~ (void *)REL1YO_SPINNER); //~ etk_signal_connect("value-changed", ETK_OBJECT(UI_GradientRel2XOffsetSpinner), //~ ETK_CALLBACK(_gradient_RelSpinners_value_changed_cb), //~ (void *)REL2XO_SPINNER); //~ etk_signal_connect("value-changed", ETK_OBJECT(UI_GradientRel2YOffsetSpinner), //~ ETK_CALLBACK(_gradient_RelSpinners_value_changed_cb), //~ (void *)REL2YO_SPINNER); return table; }