home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 June / ccd0605.iso / LINUX / gopchop-1.1.7.tar.tar / gopchop-1.1.7.tar / gopchop-1.1.7 / src / widgets.h < prev   
C/C++ Source or Header  |  2005-05-01  |  4KB  |  128 lines

  1. /*
  2. #
  3. # This is to handle GTK initialization and utility
  4. #
  5. # $Id: widgets.h,v 1.6 2005/05/01 07:03:14 keescook Exp $
  6. #
  7. # Copyright (C) 2001-2003 Kees Cook
  8. # kees@outflux.net, http://outflux.net/
  9. # This program is free software; you can redistribute it and/or
  10. # modify it under the terms of the GNU General Public License
  11. # as published by the Free Software Foundation; either version 2
  12. # of the License, or (at your option) any later version.
  13. # This program is distributed in the hope that it will be useful,
  14. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16. # GNU General Public License for more details.
  17. # You should have received a copy of the GNU General Public License
  18. # along with this program; if not, write to the Free Software
  19. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  20. # http://www.gnu.org/copyleft/gpl.html
  21. #
  22. */
  23.  
  24. #ifndef _WIDGETS_H_
  25. #define _WIDGETS_H_
  26.  
  27. #include "config.h"
  28.  
  29. #include <gtk/gtk.h>
  30. #include <glib.h>
  31.  
  32.  
  33. #ifdef __cplusplus
  34. extern "C" {
  35. #endif
  36.  
  37.  
  38. typedef struct
  39. {
  40.     gint x;
  41.     gint y;
  42. }
  43. popup_info_t;
  44.  
  45. // windows
  46. extern GtkWidget *main_window;
  47. extern GtkWidget *about_window;
  48. extern GtkWidget *error_dialog;
  49. extern GtkWidget *GOP_window;
  50. extern GtkWidget *preferences_window;
  51. extern GtkWidget *new_file_window;
  52. extern GtkWidget *open_file_window;
  53. extern GtkWidget *save_file_window;
  54. extern GtkWidget *export_file_window;
  55.  
  56. // menus and buttons
  57. extern GtkWidget *menu_load_mpeg2;
  58. extern GtkWidget *menu_load_clip_list;
  59. extern GtkWidget *menu_save_clip_list;
  60. extern GtkWidget *menu_close;
  61. extern GtkWidget *menu_export_mpeg2;
  62. extern GtkWidget *menu_preferences;
  63. extern GtkWidget *menu_clear;
  64. extern GtkWidget *menu_delete;
  65. extern GtkWidget *menu_video_window;
  66. extern GtkWidget *button_run;
  67. extern GtkWidget *button_refresh;
  68. extern GtkWidget *button_prev;
  69. extern GtkWidget *button_next;
  70. extern GtkWidget *button_start_mark;
  71. extern GtkWidget *button_end_mark;
  72. extern GtkWidget *main_popup;
  73. extern popup_info_t main_popup_info;
  74.  
  75. // labels, lists, and things
  76. extern GtkWidget *main_progressbar;
  77. extern GtkWidget *main_statusbar;
  78. extern GtkWidget *main_clist;
  79. extern GtkListStore *main_list_store;
  80. extern GtkWidget *main_label_clips;
  81. extern GtkWidget *main_label_mark;
  82. extern GtkWidget *GOP_selector;
  83. extern GtkWidget *GOP_selector_spinbutton;
  84. extern GtkWidget *GOP_clist;
  85. extern GtkListStore *GOP_list_store;
  86. extern GtkWidget *GOP_label_filename;
  87. extern GtkWidget *GOP_label_GOP;
  88. extern GtkWidget *GOP_label_sequence_info;
  89. extern GtkWidget *slider_run_speed;
  90. extern GtkWidget *overwrite_label_filename;
  91. extern GtkWidget *error_text_why;
  92.  
  93.  
  94. // type info for gtk widgets
  95. /* main_clist contents */
  96. enum {          
  97.     ITEM_FILENAME,  /* Filename the clip came from */
  98.     ITEM_GOP_FIRST, /* First GOP to start the clip from */
  99.     ITEM_GOP_LAST,  /* GOP to end the clip with */
  100.     N_MAIN_ITEMS    /* Max Item number for initializing GtkTreeView */
  101. };
  102. /* GOP_clist contents */
  103. enum {
  104.     ITEM_DATATYPE,  /* What kind of frame the info is detailing */
  105.     ITEM_OFFSET,    /* Where in the stream the frame starts */
  106.     ITEM_SIZE,      /* How large the frame is in bytes */
  107.     N_GOP_ITEMS     /* Max Item number for initializing GtkTreeView */
  108. };
  109.  
  110. /* widget functions */
  111. void setup_gtk_stuff();
  112. gboolean count_list_rows(GtkTreeModel *model,
  113.                          GtkTreePath *path,
  114.                          GtkTreeIter *iter,
  115.                          gpointer data);
  116.  
  117.  
  118. #ifdef __cplusplus
  119. }
  120. #endif
  121.  
  122. #endif /* _WIDGETS_H_ */
  123.  
  124. /* vi:set ai ts=4 sw=4 expandtab: */
  125.