X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=radiant%2Fgtkmisc.h;h=14cdd8168031fa0458bb01e4b419aa0bf96b4bb1;hb=b76bdbdcb68e84944acdb5ea7e5402e337c0f848;hp=d0a0e7fdc0a757e8ea1714679c4413277337fad2;hpb=830125fad042fad35dc029b6eb57c8156ad7e176;p=xonotic%2Fnetradiant.git diff --git a/radiant/gtkmisc.h b/radiant/gtkmisc.h index d0a0e7fd..14cdd816 100644 --- a/radiant/gtkmisc.h +++ b/radiant/gtkmisc.h @@ -28,71 +28,48 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef _GTK_MISC_H_ -#define _GTK_MISC_H_ +#if !defined( INCLUDED_GTKMISC_H ) +#define INCLUDED_GTKMISC_H -#ifdef _WIN32 +#include -void win32_get_window_pos( GtkWidget *widget, gint *x, gint *y ); - -inline void get_window_pos( GtkWidget *wnd, int* x, int* y ){ - win32_get_window_pos( wnd, x, y ); -} - -#else - -inline void get_window_pos( GtkWidget *wnd, int* x, int* y ){ - gdk_window_get_root_origin( wnd->window, x, y ); +inline void process_gui(){ + while ( gtk_events_pending() ) + { + gtk_main_iteration(); + } } -#endif - +void command_connect_accelerator( const char* commandName ); +void command_disconnect_accelerator( const char* commandName ); +void toggle_add_accelerator( const char* commandName ); +void toggle_remove_accelerator( const char* name ); -struct window_position_t -{ - int x, y, w, h; -}; +typedef struct _GtkMenu GtkMenu; +typedef struct _GtkMenuItem GtkMenuItem; +typedef struct _GtkCheckMenuItem GtkCheckMenuItem; -void save_window_pos( GtkWidget *wnd, window_position_t& pos ); -void load_window_pos( GtkWidget *wnd, window_position_t& pos ); -gint widget_delete_hide( GtkWidget *widget ); +// this also sets up the shortcut using command_connect_accelerator +GtkMenuItem* create_menu_item_with_mnemonic( GtkMenu *menu, const char *mnemonic, const char* commandName ); +// this also sets up the shortcut using command_connect_accelerator +GtkCheckMenuItem* create_check_menu_item_with_mnemonic( GtkMenu* menu, const char* mnemonic, const char* commandName ); -// GdkPixmap **gdkpixmap, GdkBitmap **mask -bool WINAPI load_plugin_bitmap( const char* filename, void **gdkpixmap, void **mask ); -void load_pixmap( const char* filename, GtkWidget* widget, GdkPixmap **gdkpixmap, GdkBitmap **mask ); -GtkWidget* new_pixmap( GtkWidget* widget, const char* filename ); +typedef struct _GtkButton GtkButton; +typedef struct _GtkToggleButton GtkToggleButton; +typedef struct _GtkToolbar GtkToolbar; -GtkWidget* menu_separator( GtkWidget *menu ); -GtkWidget* menu_tearoff( GtkWidget *menu ); -GtkWidget* create_sub_menu_with_mnemonic( GtkWidget *bar, const gchar *mnemonic ); -GtkWidget* create_menu_item_with_mnemonic( GtkWidget *menu, const gchar *mnemonic, GtkSignalFunc func, int id ); -GtkWidget* create_check_menu_item_with_mnemonic( GtkWidget *menu, const gchar *mnemonic, GtkSignalFunc func, int id, gboolean active ); -GtkWidget* create_radio_menu_item_with_mnemonic( GtkWidget *menu, GtkWidget *last, const gchar *mnemonic, GtkSignalFunc func, int id, gboolean state ); -GtkWidget* create_menu_in_menu_with_mnemonic( GtkWidget *menu, const gchar *mnemonic ); +// this DOES NOT set up the shortcut using command_connect_accelerator +GtkButton* toolbar_append_button( GtkToolbar* toolbar, const char* description, const char* icon, const char* commandName ); +// this DOES NOT set up the shortcut using command_connect_accelerator +GtkToggleButton* toolbar_append_toggle_button( GtkToolbar* toolbar, const char* description, const char* icon, const char* commandName ); -/*! - \fn gtk_MessageBox - do various message boxes, IDOK .. IDNO - URL adds an optional 'go to URL' button - */ -int WINAPI gtk_MessageBox( void *parent, const char* lpText, const char* lpCaption = "Radiant", guint32 uType = MB_OK, const char* URL = NULL ); -// NOTE: the returned filename is allocated with g_malloc and MUST be freed with g_free (both for win32 and Gtk dialogs) -// GtkWidget *parent -const gchar* file_dialog( void *parent, gboolean open, const char* title, const char* path = (char*)NULL, const char* pattern = NULL, const char *baseSubDir = NULL ); - -/*! - \fn dir_dialog, prompts for a directory - */ -char* WINAPI dir_dialog( void *parent, const char* title = "Choose Directory", const char* path = (char*)NULL ); -// GtkWidget *parent -bool WINAPI color_dialog( void *parent, float *color, const char* title = "Choose Color" ); +template class BasicVector3; +typedef BasicVector3 Vector3; +bool color_dialog( GtkWidget *parent, Vector3& color, const char* title = "Choose Color" ); -void dialog_button_callback( GtkWidget *widget, gpointer data ); -gint dialog_delete_callback( GtkWidget *widget, GdkEvent* event, gpointer data ); +typedef struct _GtkEntry GtkEntry; +void button_clicked_entry_browse_file( GtkWidget* widget, GtkEntry* entry ); +void button_clicked_entry_browse_directory( GtkWidget* widget, GtkEntry* entry ); -void OpenURL( const char *url ); - -void CheckMenuSplitting( GtkWidget *&menu ); - -#endif // _GTK_MISC_H_ +#endif