mirror of
https://github.com/mupen64plus/mupen64plus-oldsvn.git
synced 2025-04-02 10:52:35 -04:00
66 lines
3.2 KiB
C
66 lines
3.2 KiB
C
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
* Mupen64plus - main_gtk.h *
|
|
* Mupen64Plus homepage: http://code.google.com/p/mupen64plus/ *
|
|
* Copyright (C) 2008 Tillin9 *
|
|
* Copyright (C) 2002 Blight *
|
|
* *
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
* This program 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 General Public License for more details. *
|
|
* *
|
|
* You should have received a copy of the GNU General Public License *
|
|
* along with this program; if not, write to the *
|
|
* Free Software Foundation, Inc., *
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
|
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
|
|
|
/* main_gtk.c - Handles the main window and 'glues' it with other windows */
|
|
|
|
#ifndef __MAIN_GTK_H__
|
|
#define __MAIN_GTK_H__
|
|
|
|
#include <gtk/gtk.h>
|
|
|
|
typedef struct
|
|
{
|
|
GtkWidget *window;
|
|
GtkWidget *toplevelVBox; //Vbox containing menubar, toolbar, filter, rombrowser, and statusbar.
|
|
GtkWidget *menuBar;
|
|
GtkWidget *toolBar;
|
|
GtkWidget *filterBar;
|
|
GtkWidget *filter;
|
|
GtkWidget *romScrolledWindow;
|
|
//Make two TreeViews, a visable manually filtered one for the Display, and a
|
|
//Non-visable FullList from which we can filter.
|
|
GtkWidget *romDisplay, *romFullList;
|
|
GtkTreeViewColumn *column[17]; //columns in rombrowser.
|
|
unsigned short columnVisible[16];
|
|
int romSortColumn; // sort column
|
|
GtkSortType romSortType; // sort type (ascending/descending)
|
|
GtkWidget *statusBar;
|
|
GtkWidget *statusBarHBox;
|
|
GtkAccelGroup *accelGroup;
|
|
GtkAccelGroup *accelUnsafe; //GtkAccelGroup for keys without Metas. Prevents GtkEntry widgets.
|
|
gboolean accelUnsafeActive; //From getting keypresses, so must be deactivated.
|
|
GtkWidget *romHeaderMenu; //Context menu for rombrowser header to control visible columns.
|
|
} SMainWindow;
|
|
|
|
extern SMainWindow g_MainWindow;
|
|
extern GdkPixbuf *australia, *europe, *france, *germany, *italy, *japan, *spain, *usa, *japanusa, *n64cart, *star;
|
|
|
|
//The functons which all GUIs must implement.
|
|
void gui_init(int *argc, char ***argv);
|
|
void gui_display(void);
|
|
void gui_main_loop(void);
|
|
int gui_message(unsigned char messagetype, const char *format, ...);
|
|
void updaterombrowser(unsigned int roms, unsigned short clear);
|
|
|
|
gboolean check_icon_theme();
|
|
|
|
#endif //__MAIN_GTK_H__
|