contentLister/inc/gtkSortWnd.h File Reference

gtkSortWnd - eReader content lister- Sort Settings More...

#include <gtk/gtk.h>

This graph shows which files directly or indirectly include this file:

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)


Detailed Description

gtkSortWnd - eReader content lister- Sort Settings

<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 Documentation

#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

#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.


Function Documentation

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:


Generated on Sun Dec 14 17:12:54 2008 by  doxygen 1.5.6