#include <gtk/gtk.h>
Go to the source code of this file.
Classes | |
struct | GtkSortWnd |
Defines | |
#define | SORT_WND_SORTTYPE_BK_WIDTH 666 |
#define | SORT_WND_SROTTYPE_BK_HEIGHT 230 |
#define | SORT_WND_SORTORDER_BK_WIDTH 666 |
#define | SORT_WND_SORTORDER_BK_HEIGHT 115 |
#define | SORT_WND_FINISH_BK_WIDTH 666 |
#define | SORT_WND_FINISH_BK_HEIGHT 115 |
#define | BUTTON_NUM 4 |
#define | SORT_WND_BUTTON_HEIGHT 27 |
#define | SORT_WND_BUTTON_WIDTH 150 |
#define | SORT_WND_SPACING_V 8 |
#define | SORT_WND_SPACING_H |
#define | SORT_WND_LEFT_PADDING 17 |
#define | SORT_WND_RIGHT_PADDING 17 |
#define | SORT_WND_TOP_PADDING 10 |
#define | SORT_WND_BOTTOM_PADDING 10 |
#define | ASCENDING_BTN_WIDTH 29 |
#define | ASCENDING_BTN_HEIGHT 29 |
Functions | |
GtkWidget * | create_sort_wnd (GtkWidget *parent) |
void | sort_wnd_set_text (void) |
void | sort_wnd_get_sort_settings (mdsSortStruct_t *sortStruct) |
void | sort_wnd_set_sort_settings (const mdsSortStruct_t *sortStruct) |
<File description>=""> gtkSortWnd provides GUI to let users choose their sorting type, sorting direction
Copyright (C) 2006-2008 iRex Technologies B.V.
Definition in file gtkSortWnd.h.
#define ASCENDING_BTN_HEIGHT 29 |
Definition at line 58 of file gtkSortWnd.h.
#define ASCENDING_BTN_WIDTH 29 |
Definition at line 57 of file gtkSortWnd.h.
#define BUTTON_NUM 4 |
Definition at line 43 of file gtkSortWnd.h.
#define SORT_WND_BOTTOM_PADDING 10 |
Definition at line 54 of file gtkSortWnd.h.
#define SORT_WND_BUTTON_HEIGHT 27 |
Definition at line 44 of file gtkSortWnd.h.
#define SORT_WND_BUTTON_WIDTH 150 |
Definition at line 45 of file gtkSortWnd.h.
#define SORT_WND_FINISH_BK_HEIGHT 115 |
Definition at line 41 of file gtkSortWnd.h.
#define SORT_WND_FINISH_BK_WIDTH 666 |
Definition at line 40 of file gtkSortWnd.h.
#define SORT_WND_LEFT_PADDING 17 |
Definition at line 51 of file gtkSortWnd.h.
#define SORT_WND_RIGHT_PADDING 17 |
Definition at line 52 of file gtkSortWnd.h.
#define SORT_WND_SORTORDER_BK_HEIGHT 115 |
Definition at line 38 of file gtkSortWnd.h.
#define SORT_WND_SORTORDER_BK_WIDTH 666 |
Definition at line 37 of file gtkSortWnd.h.
#define SORT_WND_SORTTYPE_BK_WIDTH 666 |
Definition at line 34 of file gtkSortWnd.h.
#define SORT_WND_SPACING_H |
Value:
( (SORT_WND_SORTTYPE_BK_WIDTH - SORT_WND_LEFT_PADDING - SORT_WND_RIGHT_PADDING - (BUTTON_NUM * SORT_WND_BUTTON_WIDTH)) \ / (BUTTON_NUM - 1) )
Definition at line 48 of file gtkSortWnd.h.
#define SORT_WND_SPACING_V 8 |
Definition at line 47 of file gtkSortWnd.h.
#define SORT_WND_SROTTYPE_BK_HEIGHT 230 |
Definition at line 35 of file gtkSortWnd.h.
#define SORT_WND_TOP_PADDING 10 |
Definition at line 53 of file gtkSortWnd.h.
GtkWidget* create_sort_wnd | ( | GtkWidget * | parent | ) |
Definition at line 377 of file gtkSortWnd.c.
00378 { 00379 GtkWidget *background; 00380 GtkWidget *alignment; 00381 GtkWidget *vbox; 00382 GtkWidget *sortTypeWidget; 00383 GtkWidget *sortOrderWidget; 00384 GtkWidget *sortFinishWidget; 00385 00386 // background 00387 background = gtk_event_box_new(); 00388 gtk_widget_set_name(GTK_WIDGET(background), "sort_wnd_background"); 00389 gtk_widget_set_size_request(GTK_WIDGET(background), (-1), (-1)); 00390 gtk_container_add(GTK_CONTAINER(parent), background); 00391 // alignment 00392 alignment = gtk_alignment_new(0.0, 0.0, 0.0, 0.0); 00393 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 0, 0); 00394 gtk_container_add(GTK_CONTAINER(background), alignment); 00395 // vbox 00396 vbox = gtk_vbox_new(FALSE, SORT_WND_SPACING_V); 00397 gtk_container_add(GTK_CONTAINER(alignment), vbox); 00398 // sortTypeWidget 00399 sortTypeWidget = create_sort_type_widget(); 00400 gtk_box_pack_start(GTK_BOX(vbox), sortTypeWidget, FALSE, FALSE, 0); 00401 // sortOrderWidget 00402 sortOrderWidget = create_sort_order_widget(); 00403 gtk_box_pack_start(GTK_BOX(vbox), sortOrderWidget, FALSE, FALSE, 0); 00404 // sortFinishWidget 00405 sortFinishWidget = create_sort_finish_widget(); 00406 gtk_box_pack_start(GTK_BOX(vbox), sortFinishWidget, FALSE, FALSE, 0); 00407 00408 // global variables 00409 g_sort_wnd.window = parent; 00410 00411 // show widgets 00412 gtk_widget_show_all(background); 00413 00414 // signal 00415 g_signal_connect(G_OBJECT(g_sort_wnd.window), "expose-event", G_CALLBACK(on_sort_wnd_expose), NULL); 00416 00417 // return 00418 return background; 00419 }
void sort_wnd_get_sort_settings | ( | mdsSortStruct_t * | sortStruct | ) |
Definition at line 495 of file gtkSortWnd.c.
00496 { 00497 g_return_if_fail(sortStruct != NULL); 00498 g_return_if_fail(g_sort_wnd.sortTypeSelection != NULL); 00499 g_return_if_fail(g_sort_wnd.sortOrderSelection != NULL); 00500 00501 gint nSelSortType; 00502 gint nSelSortOrder; 00503 00504 ergtk_selection_group_get_selected_buttons(ERGTK_SELECTION_GROUP(g_sort_wnd.sortTypeSelection), &nSelSortType, 1); 00505 ergtk_selection_group_get_selected_buttons(ERGTK_SELECTION_GROUP(g_sort_wnd.sortOrderSelection), &nSelSortOrder, 1); 00506 00507 switch (nSelSortType) 00508 { 00509 case eFileNameButton: 00510 sortStruct->ft = mdsFieldFsName; 00511 break; 00512 case eFileExtButton: 00513 sortStruct->ft = mdsFieldExtName; 00514 break; 00515 case eFileSizeButton: 00516 sortStruct->ft = mdsFieldSize; 00517 break; 00518 case eDateButton: 00519 sortStruct->ft = mdsFieldDate; 00520 break; 00521 case eTitleButton: 00522 sortStruct->ft = mdsFieldTitle; 00523 break; 00524 case eDescButton: 00525 sortStruct->ft = mdsFieldDescription; 00526 break; 00527 default: 00528 CL_WARNPRINTF("invalid nSelSortType [%d]", nSelSortType); 00529 sortStruct->ft = mdsFieldFsName; 00530 break; 00531 } 00532 00533 switch (nSelSortOrder) 00534 { 00535 case nAscendingButton: 00536 sortStruct->ascending = 1; 00537 break; 00538 case nDescendingButton: 00539 sortStruct->ascending = 0; 00540 break; 00541 default: 00542 CL_WARNPRINTF("invalid nSelSortOrder [%d]", nSelSortOrder); 00543 sortStruct->ascending = 1; 00544 break; 00545 } 00546 CL_LOGPRINTF("return: sortStruct->ft = %d, sortStruct->ascending = %d", sortStruct->ft, sortStruct->ascending); 00547 }
void sort_wnd_set_sort_settings | ( | const mdsSortStruct_t * | sortStruct | ) |
Definition at line 549 of file gtkSortWnd.c.
00550 { 00551 g_return_if_fail(sortStruct != NULL); 00552 g_return_if_fail(g_sort_wnd.sortTypeSelection != NULL); 00553 g_return_if_fail(g_sort_wnd.selSortLabel != NULL); 00554 g_return_if_fail(g_sort_wnd.sortOrderSelection != NULL); 00555 00556 GtkToggleButton* button = NULL; 00557 00558 gint nSelSortType = eFileNameButton; 00559 gint nSelSortOrder = nAscendingButton; 00560 00561 switch (sortStruct->ft) 00562 { 00563 case mdsFieldFsName: 00564 nSelSortType = eFileNameButton; 00565 break; 00566 case mdsFieldExtName: 00567 nSelSortType = eFileExtButton; 00568 break; 00569 case mdsFieldSize: 00570 nSelSortType = eFileSizeButton; 00571 break; 00572 case mdsFieldDate: 00573 nSelSortType = eDateButton; 00574 break; 00575 case mdsFieldTitle: 00576 nSelSortType = eTitleButton; 00577 break; 00578 case mdsFieldDescription: 00579 nSelSortType = eDescButton; 00580 break; 00581 default: 00582 nSelSortType = eFileNameButton; 00583 break; 00584 } 00585 switch (sortStruct->ascending) 00586 { 00587 case 1: 00588 nSelSortOrder = nAscendingButton; 00589 break; 00590 case 0: 00591 nSelSortOrder = nDescendingButton; 00592 break; 00593 default: 00594 nSelSortOrder = nAscendingButton; 00595 break; 00596 } 00597 00598 if (g_sort_wnd.selSortLabel) 00599 { 00600 gtk_label_set_text(GTK_LABEL(g_sort_wnd.selSortLabel), _( button_text_tbl[nSelSortType] )); 00601 } 00602 00603 button = ergtk_selection_group_get_button(ERGTK_SELECTION_GROUP(g_sort_wnd.sortTypeSelection), nSelSortType); 00604 if (button) 00605 { 00606 gtk_toggle_button_set_active(button, TRUE); 00607 } 00608 00609 button = ergtk_selection_group_get_button(ERGTK_SELECTION_GROUP(g_sort_wnd.sortOrderSelection), nSelSortOrder); 00610 if (button) 00611 { 00612 gtk_toggle_button_set_active(button, TRUE); 00613 } 00614 }
void sort_wnd_set_text | ( | void | ) |
Definition at line 422 of file gtkSortWnd.c.
00423 { 00424 int i; 00425 GtkToggleButton* button; 00426 00427 // set names for sort options 00428 for (i = 0 ; i < eButtonUndefined ; i++) 00429 { 00430 switch (i) 00431 { 00432 case eFileNameButton: 00433 button_text_tbl[i] = _("File name"); 00434 break; 00435 case eFileExtButton : 00436 button_text_tbl[i] = _("File extension"); 00437 break; 00438 case eFileSizeButton: 00439 button_text_tbl[i] = _("File size"); 00440 break; 00441 case eDateButton: 00442 button_text_tbl[i] = _("File date"); 00443 break; 00444 case eTitleButton: 00445 button_text_tbl[i] = _("Title"); 00446 break; 00447 case eDescButton: 00448 button_text_tbl[i] = _("Description"); 00449 break; 00450 default: 00451 button_text_tbl[i] = "?"; 00452 } 00453 } 00454 00455 // sortTypeWidget 00456 if (g_sort_wnd.sortLabel) 00457 { 00458 gtk_label_set_text(GTK_LABEL(g_sort_wnd.sortLabel), _("Step 1: Please select a sort criteria")); 00459 } 00460 if (g_sort_wnd.sortTypeLabel) 00461 { 00462 gtk_label_set_text(GTK_LABEL(g_sort_wnd.sortTypeLabel), _("Sort content on file system attributes")); 00463 } 00464 if (g_sort_wnd.sortTypeSelection) 00465 { 00466 for (i = 0 ; i < eButtonUndefined ; i++) 00467 { 00468 button = ergtk_selection_group_get_button(ERGTK_SELECTION_GROUP(g_sort_wnd.sortTypeSelection), i); 00469 gtk_button_set_label(GTK_BUTTON(button), button_text_tbl[i]); 00470 } 00471 } 00472 if (g_sort_wnd.sortTagLabel) 00473 { 00474 gtk_label_set_text(GTK_LABEL(g_sort_wnd.sortTagLabel), _("Sort content on information tags")); 00475 } 00476 00477 // sortOrderWidget 00478 if (g_sort_wnd.sortOrderLabel) 00479 { 00480 gtk_label_set_text(GTK_LABEL(g_sort_wnd.sortOrderLabel), _("Step 2: Please select ascending or descending")); 00481 } 00482 if (g_sort_wnd.selLabel) 00483 { 00484 gtk_label_set_text(GTK_LABEL(g_sort_wnd.selLabel), _("Selection")); 00485 } 00486 00487 // sortFinishWidget 00488 if (g_sort_wnd.finishLabel) 00489 { 00490 gtk_label_set_text(GTK_LABEL(g_sort_wnd.finishLabel), 00491 _("Step 3: Please click on the 'Sort' icon to confirm your selection")); 00492 } 00493 }