Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

[a2776f]: uget-gtk / UgCategoryWidget.h Maximize Restore History

Download this file

UgCategoryWidget.h    105 lines (89 with data), 3.6 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
/*
*
* Copyright (C) 2005-2011 by C.H. Huang
* plushuang.tw@gmail.com
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* ---
*
* In addition, as a special exception, the copyright holders give
* permission to link the code of portions of this program with the
* OpenSSL library under certain conditions as described in each
* individual source file, and distribute linked combinations
* including the two.
* You must obey the GNU Lesser General Public License in all respects
* for all of the code used other than OpenSSL. If you modify
* file(s) with this exception, you may extend this exception to your
* version of the file(s), but you are not obligated to do so. If you
* do not wish to do so, delete this exception statement from your
* version. If you delete this exception statement from all source
* files in the program, then also delete it here.
*
*/
#ifndef UG_CATEGORY_WIDGET_H
#define UG_CATEGORY_WIDGET_H
#include <gtk/gtk.h>
#include <UgCategory-gtk.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct UgCategoryWidget UgCategoryWidget;
// ----------------------------------------------------------------------------
// UgCategoryWidget
//
struct UgCategoryWidget
{
GtkWidget* self; // GtkVBox
// secondary categories
GtkWidget* scroll; // (GtkScrolledWindow) for UgCategoryWidget.view
GtkTreeView* view; // secondary view use UgCategoryWidget.store
GtkTreeStore* store; // used by UgCategoryWidget.view (secondary view)
GtkTreeModel* filter; // used by UgDownloadDialog
// primary UgCategory, UgCategoryGtk, and GtkTreeView.
struct
{
UgCategory* category;
UgCategoryGtk* cgtk;
GtkTreeView* view; // category view
} primary;
// maybe primary or secondary
// current (selected) UgCategory, UgCategoryGtk, GtkTreeView, and UgDownloadWidget.
struct
{
UgCategory* category;
UgCategoryGtk* cgtk;
GtkTreeView* view; // category view
UgDownloadWidget* widget;
} current;
};
void ug_category_widget_init (UgCategoryWidget* cwidget);
void ug_category_widget_append (UgCategoryWidget* cwidget, UgCategory* category);
void ug_category_widget_remove (UgCategoryWidget* cwidget, UgCategory* category);
void ug_category_widget_add_list (UgCategoryWidget* cwidget, GList* list);
GList* ug_category_widget_get_list (UgCategoryWidget* cwidget);
guint ug_category_widget_n_category (UgCategoryWidget* cwidget);
// ----------------------------------------------------------------------------
// GtkTreeView for UgCategoryGtk
//
GtkTreeView* ug_category_view_new (void);
UgCategory* ug_category_view_get_nth (GtkTreeView* view, gint n);
UgCategory* ug_category_view_get_cursor (GtkTreeView* view);
void ug_category_view_set_cursor (GtkTreeView* view, gint nth, gint nth_child);
void ug_category_view_set_icon_visible (GtkTreeView* view, gboolean visible);
#ifdef __cplusplus
}
#endif
#endif // End of UG_CATEGORY_WIDGET_H