X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=radiant%2Fgtkmisc.h;h=e867d6a213b6611a38836666e246758725cb7231;hb=f2f321e97f89c45980cd63d70f98331b484fec1c;hp=52cec01cd2ae9dadfd4b7d55f63dcdfe43606f55;hpb=cc4e44e31a89c8efed942ca26e2a341466f9a3b2;p=xonotic%2Fnetradiant.git diff --git a/radiant/gtkmisc.h b/radiant/gtkmisc.h index 52cec01c..e867d6a2 100644 --- a/radiant/gtkmisc.h +++ b/radiant/gtkmisc.h @@ -1,100 +1,60 @@ /* -Copyright (c) 2001, Loki software, inc. -All rights reserved. + Copyright (c) 2001, Loki software, inc. + All rights reserved. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: -Redistributions of source code must retain the above copyright notice, this list -of conditions and the following disclaimer. + Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. -Redistributions in binary form must reproduce the above copyright notice, this -list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. + Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. -Neither the name of Loki software nor the names of its contributors may be used -to endorse or promote products derived from this software without specific prior -written permission. + Neither the name of Loki software nor the names of its contributors may be used + to endorse or promote products derived from this software without specific prior + written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY -DIRECT,INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY + DIRECT,INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + 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); +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 ); -inline void get_window_pos(GtkWidget *wnd, int* x, int* y) -{ - win32_get_window_pos(wnd, x, y); -} +// this also sets up the shortcut using command_connect_accelerator +ui::MenuItem create_menu_item_with_mnemonic( ui::Menu menu, const char *mnemonic, const char* commandName ); +// this also sets up the shortcut using command_connect_accelerator +ui::CheckMenuItem create_check_menu_item_with_mnemonic( ui::Menu menu, const char* mnemonic, const char* commandName ); -#else -inline void get_window_pos(GtkWidget *wnd, int* x, int* y) -{ - gdk_window_get_root_origin (wnd->window, x, y); -} +// this DOES NOT set up the shortcut using command_connect_accelerator +ui::ToolButton toolbar_append_button( ui::Toolbar toolbar, const char* description, const char* icon, const char* commandName ); +// this DOES NOT set up the shortcut using command_connect_accelerator +ui::ToggleToolButton toolbar_append_toggle_button( ui::Toolbar toolbar, const char* description, const char* icon, const char* commandName ); -#endif - - -struct window_position_t -{ - int x, y, w, h; -}; - -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); - -// 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); - -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); +template class BasicVector3; +typedef BasicVector3 Vector3; +bool color_dialog( ui::Window parent, Vector3& color, const char* title = "Choose Color" ); -/*! -\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); +void button_clicked_entry_browse_file( ui::Widget widget, ui::Entry entry ); +void button_clicked_entry_browse_directory( ui::Widget widget, ui::Entry entry ); -/*! -\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"); - -void dialog_button_callback (GtkWidget *widget, gpointer data); -gint dialog_delete_callback (GtkWidget *widget, GdkEvent* event, gpointer data); - -void OpenURL(const char *url); - -void CheckMenuSplitting (GtkWidget *&menu); - -#endif // _GTK_MISC_H_ +#endif