本文整理汇总了C++中gtk_widget_realize函数的典型用法代码示例。如果您正苦于以下问题:C++ gtk_widget_realize函数的具体用法?C++ gtk_widget_realize怎么用?C++ gtk_widget_realize使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了gtk_widget_realize函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: run_theme_benchmark
static void
run_theme_benchmark (void)
{
GtkWidget* widget;
GdkPixmap *pixmap;
int top_height, bottom_height, left_width, right_width;
MetaButtonState button_states[META_BUTTON_TYPE_LAST] =
{
META_BUTTON_STATE_NORMAL,
META_BUTTON_STATE_NORMAL,
META_BUTTON_STATE_NORMAL,
META_BUTTON_STATE_NORMAL
};
PangoLayout *layout;
clock_t start;
clock_t end;
GTimer *timer;
int i;
MetaButtonLayout button_layout;
#define ITERATIONS 100
int client_width;
int client_height;
int inc;
widget = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_realize (widget);
meta_theme_get_frame_borders (global_theme,
META_FRAME_TYPE_NORMAL,
get_text_height (widget),
get_flags (widget),
&top_height,
&bottom_height,
&left_width,
&right_width);
layout = create_title_layout (widget);
i = 0;
while (i < MAX_BUTTONS_PER_CORNER)
{
button_layout.left_buttons[i] = META_BUTTON_FUNCTION_LAST;
button_layout.right_buttons[i] = META_BUTTON_FUNCTION_LAST;
++i;
}
button_layout.left_buttons[0] = META_BUTTON_FUNCTION_MENU;
button_layout.right_buttons[0] = META_BUTTON_FUNCTION_MINIMIZE;
button_layout.right_buttons[1] = META_BUTTON_FUNCTION_MAXIMIZE;
button_layout.right_buttons[2] = META_BUTTON_FUNCTION_CLOSE;
timer = g_timer_new ();
start = clock ();
client_width = 50;
client_height = 50;
inc = 1000 / ITERATIONS; /* Increment to grow width/height,
* eliminates caching effects.
*/
i = 0;
while (i < ITERATIONS)
{
/* Creating the pixmap in the loop is right, since
* GDK does the same with its double buffering.
*/
pixmap = gdk_pixmap_new (gtk_widget_get_window (widget),
client_width + left_width + right_width,
client_height + top_height + bottom_height,
-1);
meta_theme_draw_frame (global_theme,
widget,
pixmap,
NULL,
0, 0,
META_FRAME_TYPE_NORMAL,
get_flags (widget),
client_width, client_height,
layout,
get_text_height (widget),
&button_layout,
button_states,
meta_preview_get_mini_icon (),
meta_preview_get_icon ());
g_object_unref (G_OBJECT (pixmap));
++i;
client_width += inc;
client_height += inc;
}
end = clock ();
g_timer_stop (timer);
milliseconds_to_draw_frame = (g_timer_elapsed (timer, NULL) / (double) ITERATIONS) * 1000;
g_print (_("Drew %d frames in %g client-side seconds (%g milliseconds per frame) and %g seconds wall clock time including X server resources (%g milliseconds per frame)\n"),
//.........这里部分代码省略.........
开发者ID:benpicco,项目名称:mate-window-manager,代码行数:101,代码来源:theme-viewer.c
示例2: egg_tray_manager_manage_xscreen
static gboolean
egg_tray_manager_manage_xscreen (EggTrayManager *manager, Screen *xscreen)
{
GtkWidget *invisible;
char *selection_atom_name;
guint32 timestamp;
GdkScreen *screen;
g_return_val_if_fail (EGG_IS_TRAY_MANAGER (manager), FALSE);
g_return_val_if_fail (manager->screen == NULL, FALSE);
/* If there's already a manager running on the screen
* we can't create another one.
*/
#if 0
if (egg_tray_manager_check_running_xscreen (xscreen))
return FALSE;
#endif
screen = gdk_display_get_screen (gdk_x11_lookup_xdisplay (DisplayOfScreen (xscreen)),
XScreenNumberOfScreen (xscreen));
manager->screen = screen;
invisible = gtk_invisible_new_for_screen (screen);
gtk_widget_realize (invisible);
gtk_widget_add_events (invisible, GDK_PROPERTY_CHANGE_MASK | GDK_STRUCTURE_MASK);
selection_atom_name = g_strdup_printf ("_NET_SYSTEM_TRAY_S%d",
XScreenNumberOfScreen (xscreen));
manager->selection_atom = XInternAtom (DisplayOfScreen (xscreen), selection_atom_name, False);
g_free (selection_atom_name);
manager->invisible = invisible;
g_object_ref (G_OBJECT (manager->invisible));
manager->orientation_atom = XInternAtom (DisplayOfScreen (xscreen),
"_NET_SYSTEM_TRAY_ORIENTATION",
FALSE);
egg_tray_manager_set_orientation_property (manager);
egg_tray_manager_set_visual_property (manager);
timestamp = gdk_x11_get_server_time (invisible->window);
XSetSelectionOwner (DisplayOfScreen (xscreen), manager->selection_atom,
GDK_WINDOW_XWINDOW (invisible->window), timestamp);
/* Check if we were could set the selection owner successfully */
if (XGetSelectionOwner (DisplayOfScreen (xscreen), manager->selection_atom) ==
GDK_WINDOW_XWINDOW (invisible->window))
{
XClientMessageEvent xev;
xev.type = ClientMessage;
xev.window = RootWindowOfScreen (xscreen);
xev.message_type = XInternAtom (DisplayOfScreen (xscreen), "MANAGER", False);
xev.format = 32;
xev.data.l[0] = timestamp;
xev.data.l[1] = manager->selection_atom;
xev.data.l[2] = GDK_WINDOW_XWINDOW (invisible->window);
xev.data.l[3] = 0; /* manager specific data */
xev.data.l[4] = 0; /* manager specific data */
XSendEvent (DisplayOfScreen (xscreen),
RootWindowOfScreen (xscreen),
False, StructureNotifyMask, (XEvent *)&xev);
manager->opcode_atom = XInternAtom (DisplayOfScreen (xscreen),
"_NET_SYSTEM_TRAY_OPCODE",
False);
manager->message_data_atom = XInternAtom (DisplayOfScreen (xscreen),
"_NET_SYSTEM_TRAY_MESSAGE_DATA",
False);
/* Add a window filter */
gdk_window_add_filter (invisible->window, egg_tray_manager_window_filter, manager);
return TRUE;
}
else
{
gtk_widget_destroy (invisible);
g_object_unref (invisible);
manager->invisible = NULL;
manager->screen = NULL;
return FALSE;
}
}
开发者ID:micove,项目名称:awn-extras,代码行数:91,代码来源:eggtraymanager.c
示例3: liferea_shell_restore_state
static void
liferea_shell_restore_state (const gchar *overrideWindowState)
{
gchar *toolbar_style, *accels_file;
gint last_vpane_pos, last_hpane_pos, last_wpane_pos;
gint resultState;
debug0 (DEBUG_GUI, "Setting toolbar style");
toolbar_style = conf_get_toolbar_style ();
liferea_shell_set_toolbar_style (toolbar_style);
g_free (toolbar_style);
debug0 (DEBUG_GUI, "Loading accelerators");
accels_file = common_create_config_filename ("accels");
gtk_accel_map_load (accels_file);
g_free (accels_file);
debug0 (DEBUG_GUI, "Restoring window position");
liferea_shell_restore_position ();
debug0 (DEBUG_GUI, "Loading pane proportions");
conf_get_int_value (LAST_VPANE_POS, &last_vpane_pos);
if (last_vpane_pos)
gtk_paned_set_position (GTK_PANED (liferea_shell_lookup ("leftpane")), last_vpane_pos);
conf_get_int_value (LAST_HPANE_POS, &last_hpane_pos);
if (last_hpane_pos)
gtk_paned_set_position (GTK_PANED (liferea_shell_lookup ("normalViewPane")), last_hpane_pos);
conf_get_int_value (LAST_WPANE_POS, &last_wpane_pos);
if (last_wpane_pos)
gtk_paned_set_position (GTK_PANED (liferea_shell_lookup ("wideViewPane")), last_wpane_pos);
/* Apply horrible window state parameter logic:
-> overrideWindowState provides optional command line flags passed by
user or the session manager (prio 1)
-> lastState provides last shutdown preference (prio 2)
*/
/* Initialize with last saved state */
conf_get_int_value (LAST_WINDOW_STATE, &resultState);
/* Override with command line options */
if (!g_strcmp0 (overrideWindowState, "hidden"))
resultState = MAINWINDOW_HIDDEN;
if (!g_strcmp0 (overrideWindowState, "shown"))
resultState = MAINWINDOW_SHOWN;
/* And set the window to the resulting state */
switch (resultState) {
case MAINWINDOW_HIDDEN:
debug0 (DEBUG_GUI, "Restoring window state 'hidden (to tray)'");
/* Realize needed so that the window structure can be
accessed... otherwise we get a GTK warning when window is
shown by clicking on notification icon or when theme
colors are fetched. */
gtk_widget_realize (GTK_WIDGET (shell->priv->window));
gtk_widget_hide (GTK_WIDGET (shell->priv->window));
break;
case MAINWINDOW_SHOWN:
default:
/* Safe default is always to show window */
debug0 (DEBUG_GUI, "Restoring window state 'shown'");
gtk_widget_show (GTK_WIDGET (shell->priv->window));
}
}
开发者ID:Hawtom,项目名称:liferea,代码行数:68,代码来源:liferea_shell.c
示例4: add_icons
static void
add_icons (const gchar **icons, const gchar **themed)
{
GtkIconFactory *factory;
GtkIconSource *source;
GtkIconSet *iconset;
GtkWidget *win;
/* Setup the icon factory. */
factory = gtk_icon_factory_new ();
gtk_icon_factory_add_default (factory);
/* Er, yeah, a hack, but it works. :) */
win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_realize(win);
for ( ; *icons; icons++) {
iconset = gtk_icon_set_new ();
source = make_icon_source (*icons, "22x22", "png", GTK_ICON_SIZE_BUTTON);
gtk_icon_set_add_source (iconset, source);
gtk_icon_source_free (source);
source = make_icon_source (*icons, "22x22", "png", GTK_ICON_SIZE_MENU);
gtk_icon_set_add_source (iconset, source);
gtk_icon_source_free (source);
source = make_icon_source (*icons, "22x22", "png", GTK_ICON_SIZE_LARGE_TOOLBAR);
gtk_icon_set_add_source (iconset, source);
gtk_icon_source_free (source);
source = make_icon_source (*icons, "22x22", "png", GTK_ICON_SIZE_SMALL_TOOLBAR);
gtk_icon_set_add_source (iconset, source);
gtk_icon_source_free (source);
source = make_icon_source (*icons, "48x48", "png", GTK_ICON_SIZE_DIALOG);
gtk_icon_set_add_source (iconset, source);
gtk_icon_source_free (source);
source = make_icon_source (*icons, "scalable", "svg", -1);
gtk_icon_set_add_source (iconset, source);
gtk_icon_source_free (source);
gtk_icon_factory_add (factory, *icons, iconset);
gtk_icon_set_unref (iconset);
}
for ( ; themed && *themed; themed++) {
iconset = gtk_icon_set_new ();
source = make_theme_source (*themed, GTK_ICON_SIZE_BUTTON);
gtk_icon_set_add_source (iconset, source);
gtk_icon_source_free (source);
source = make_theme_source (*themed, GTK_ICON_SIZE_MENU);
gtk_icon_set_add_source (iconset, source);
gtk_icon_source_free (source);
source = make_theme_source (*themed, GTK_ICON_SIZE_LARGE_TOOLBAR);
gtk_icon_set_add_source (iconset, source);
gtk_icon_source_free (source);
source = make_theme_source (*themed, GTK_ICON_SIZE_SMALL_TOOLBAR);
gtk_icon_set_add_source (iconset, source);
gtk_icon_source_free (source);
source = make_theme_source (*themed, GTK_ICON_SIZE_DIALOG);
gtk_icon_set_add_source (iconset, source);
gtk_icon_source_free (source);
source = make_theme_source (*themed, -1);
gtk_icon_set_add_source (iconset, source);
gtk_icon_source_free (source);
gtk_icon_factory_add (factory, *themed, iconset);
gtk_icon_set_unref (iconset);
}
gtk_widget_destroy (win);
g_object_unref (factory);
}
开发者ID:GNOME,项目名称:seahorse-plugins,代码行数:73,代码来源:seahorse-gtkstock.c
示例5: main
int main (int argc, char *argv[])
{
//const std::string creatureDB[]={"pidgeot","gardevoir"}; - For creature catalog~~
//std::cout<<creatureDB[0];
/* Initialize GTK+ */
g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, (GLogFunc) gtk_false, NULL);
gtk_init (&argc, &argv);
g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, g_log_default_handler, NULL);
/* Main window configuration */
win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_resizable (GTK_WINDOW (win), false);
gtk_widget_set_size_request(win,windowWidth,windowHeight);
gtk_container_set_border_width (GTK_CONTAINER (win), 0);
gtk_window_set_title (GTK_WINDOW (win), "Pokemon");
gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_CENTER);
gtk_widget_realize (win);
g_signal_connect (win, "destroy", gtk_main_quit, NULL);
gtk_window_set_icon_from_file(GTK_WINDOW(win),"images/winIcon.png",NULL);
//gtk_window_set_decorated (GTK_WINDOW(win),FALSE); //Óáèðàåò ñòàíäàðòíîå îôîðìëåíèå îêíà windows
/* Initializing objects */
zeBigContainer = gtk_box_new (GTK_ORIENTATION_VERTICAL,0);
zeBigContainerOverlay = gtk_overlay_new();
topPart = gtk_box_new (GTK_ORIENTATION_HORIZONTAL,0);
topPartCenter = gtk_alignment_new (0.5,0.5,1,1);
topPartLeft = gtk_box_new (GTK_ORIENTATION_VERTICAL,0);
topPartCenter = gtk_box_new (GTK_ORIENTATION_HORIZONTAL,0);
topPartRight = gtk_box_new (GTK_ORIENTATION_VERTICAL,0);
bottomPart = gtk_box_new (GTK_ORIENTATION_HORIZONTAL,0);
buttons = gtk_grid_new ();
dialogScrollFrame = gtk_scrolled_window_new(NULL,NULL);
dialogText = gtk_text_view_new ();
dialogBuffer = gtk_text_buffer_new (NULL);
button1 = gtk_button_new ();
button2 = gtk_button_new ();
button3 = gtk_button_new ();
button4 = gtk_button_new_with_label ("Restart");
button5 = gtk_button_new_with_label ("Back to choosing screen");
topMidPart = gtk_image_new_from_file ("images/topPic.jpg");
IMGBackground = gtk_image_new_from_file ("images/pokeBackground.jpg");
leftImage = gtk_image_new_from_file ("images/filler.PNG");
rightImage = gtk_image_new_from_file ("images/filler.PNG");
leftBar = gtk_progress_bar_new ();
rightBar = gtk_progress_bar_new ();
/* Setting dialogText */
gtk_text_view_set_border_window_size(GTK_TEXT_VIEW(dialogText), GTK_TEXT_WINDOW_LEFT, 5);
gtk_text_view_set_border_window_size(GTK_TEXT_VIEW(dialogText), GTK_TEXT_WINDOW_BOTTOM, 20);
gtk_text_view_set_border_window_size(GTK_TEXT_VIEW(dialogText), GTK_TEXT_WINDOW_TOP, 5);
gtk_text_view_set_editable(GTK_TEXT_VIEW(dialogText), FALSE);
gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(dialogText), FALSE);
gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(dialogText),GTK_WRAP_WORD);
/* Setting progress bars */
gtk_progress_bar_set_inverted(GTK_PROGRESS_BAR(rightBar),TRUE);
gtk_progress_bar_set_show_text(GTK_PROGRESS_BAR(leftBar),TRUE);
gtk_progress_bar_set_show_text(GTK_PROGRESS_BAR(rightBar),TRUE);
/* Various initializations */
gtk_box_set_homogeneous((GtkBox*)topPartCenter,TRUE);
gtk_box_set_homogeneous((GtkBox*)topPart,TRUE);
gtk_box_set_homogeneous((GtkBox*)bottomPart,TRUE);
gtk_box_set_homogeneous((GtkBox*)zeBigContainer,TRUE);
gtk_grid_set_row_homogeneous((GtkGrid*)buttons,TRUE);
gtk_grid_set_column_homogeneous((GtkGrid*)buttons,TRUE);
gtk_grid_set_row_spacing((GtkGrid*)buttons,12);
gtk_grid_set_column_spacing((GtkGrid*)buttons,12);
g_object_set (buttons,"margin",12,NULL);
g_object_set (topPart,"margin",12,NULL);
gtk_container_set_border_width(GTK_CONTAINER(dialogScrollFrame),5);
//gtk_box_set_child_packing((GtkBox*)zeBigContainer,bottomPart,gTRUE,gTRUE,100,GTK_PACK_START);
gtk_text_view_set_buffer (GTK_TEXT_VIEW(dialogText), dialogBuffer);
gtk_text_buffer_set_text(dialogBuffer, "", -1);
//gtk_text_buffer_get_iter_at_offset (dialogBuffer, &lastCharIter, -1);
gtk_text_buffer_get_end_iter(dialogBuffer, &endIter);
fontDesc = pango_font_description_from_string("Consolas");
gtk_widget_override_font(dialogText,fontDesc);
endMark = gtk_text_mark_new ("endMark",FALSE);
endMark = gtk_text_buffer_get_mark(dialogBuffer,"insert");
gtk_button_set_always_show_image(GTK_BUTTON(button1),TRUE);
gtk_button_set_always_show_image(GTK_BUTTON(button2),TRUE);
gtk_button_set_always_show_image(GTK_BUTTON(button3),TRUE);
/* Building objects */
gtk_container_add (GTK_CONTAINER(win),zeBigContainerOverlay);
gtk_overlay_add_overlay(GTK_OVERLAY(zeBigContainerOverlay),zeBigContainer);
gtk_container_add (GTK_CONTAINER(zeBigContainerOverlay),IMGBackground);
gtk_container_add (GTK_CONTAINER(zeBigContainer),topPart);
gtk_container_add (GTK_CONTAINER(zeBigContainer),bottomPart);
gtk_container_add (GTK_CONTAINER(topPart),topPartLeft); // Â topPartLeft âñòàâëÿòü ëåâûé áàð
gtk_container_add (GTK_CONTAINER(topPartLeft),leftBar);
gtk_container_add (GTK_CONTAINER(topPartLeft),leftImage);
gtk_container_add (GTK_CONTAINER(topPart),topPartCenter);
gtk_container_add (GTK_CONTAINER(topPart),topPartRight); // â topPartRight - ïðàâûé...
gtk_container_add (GTK_CONTAINER(topPartRight),rightBar);
gtk_container_add (GTK_CONTAINER(topPartRight),rightImage);
gtk_container_add (GTK_CONTAINER(topPartCenter),topMidPart);
gtk_container_add (GTK_CONTAINER(bottomPart),dialogScrollFrame);
//.........这里部分代码省略.........
开发者ID:Creohex,项目名称:VariousStuff,代码行数:101,代码来源:main.cpp
示例6: autosplit_show
void autosplit_show(GtkWidget *main_window)
{
GtkWidget *vbox;
GtkWidget *table;
GtkWidget *hbbox;
GtkWidget *message_label;
GtkWidget *hseparator;
GtkWidget *ok_button, *cancel_button;
if (autosplit_time == NULL) {
autosplit_time = g_strdup("5:00.00");
}
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_realize(window);
gtk_window_set_modal(GTK_WINDOW(window), TRUE);
gtk_window_set_transient_for(GTK_WINDOW(window), GTK_WINDOW(main_window));
gtk_window_set_type_hint(GTK_WINDOW(window), GDK_WINDOW_TYPE_HINT_DIALOG);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER_ON_PARENT);
gdk_window_set_functions(gtk_widget_get_window(window), GDK_FUNC_MOVE);
vbox = gtk_vbox_new(FALSE, 0);
gtk_container_add(GTK_CONTAINER(window), vbox);
gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);
gtk_widget_show(vbox);
table = gtk_table_new(3, 2, FALSE);
gtk_container_add(GTK_CONTAINER(vbox), table);
gtk_widget_show(table);
message_label = gtk_label_new(_("Enter the time for autosplit:"));
gtk_misc_set_alignment(GTK_MISC(message_label), 0, 0.5);
gtk_table_attach(GTK_TABLE(table), message_label, 0, 1, 0, 1, GTK_FILL, 0, 5, 0);
gtk_widget_show(message_label);
message_label = gtk_label_new(_("Example (5min, 32sec, 12subsec):"));
gtk_misc_set_alignment(GTK_MISC(message_label), 0, 0.5);
gtk_table_attach(GTK_TABLE(table), message_label, 0, 1, 1, 2, GTK_FILL, 0, 5, 0);
gtk_widget_show(message_label);
message_label = gtk_label_new(" 5:32.12");
gtk_misc_set_alignment(GTK_MISC(message_label), 0, 0.5);
gtk_table_attach(GTK_TABLE(table), message_label, 1, 2, 1, 2, GTK_FILL, 0, 5, 0);
gtk_widget_show(message_label);
autosplit_time_entry = gtk_entry_new();
gtk_entry_set_text(GTK_ENTRY(autosplit_time_entry), autosplit_time);
gtk_entry_set_width_chars(GTK_ENTRY(autosplit_time_entry), 10);
gtk_table_attach(GTK_TABLE(table), autosplit_time_entry, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, 0, 5, 0);
gtk_widget_show(autosplit_time_entry);
hseparator = gtk_hseparator_new();
gtk_box_pack_start(GTK_BOX(vbox), hseparator, FALSE, TRUE, 5);
gtk_widget_show(hseparator);
hbbox = gtk_hbutton_box_new();
gtk_container_add(GTK_CONTAINER(vbox), hbbox);
gtk_button_box_set_layout(GTK_BUTTON_BOX(hbbox), GTK_BUTTONBOX_END);
gtk_box_set_spacing(GTK_BOX(hbbox), 10);
gtk_widget_show(hbbox);
cancel_button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
gtk_box_pack_end(GTK_BOX(hbbox), cancel_button, FALSE, FALSE, 5);
g_signal_connect(G_OBJECT(cancel_button), "clicked", (GCallback)cancel_button_clicked, window);
gtk_widget_show(cancel_button);
ok_button = gtk_button_new_from_stock(GTK_STOCK_OK);
gtk_box_pack_end(GTK_BOX(hbbox), ok_button, FALSE, FALSE, 5);
g_signal_connect(G_OBJECT(ok_button), "clicked", (GCallback)ok_button_clicked, window);
gtk_widget_show(ok_button);
gtk_widget_show(window);
}
开发者ID:thp,项目名称:wavbreaker,代码行数:73,代码来源:autosplit.c
示例7: l_kasdok
//.........这里部分代码省略.........
tooltips[SFK2]=gtk_tooltips_new();
gtk_tooltips_set_tip(tooltips[SFK2],data.knopka[SFK2],gettext("Корректировка выбранной записи"),NULL);
gtk_object_set_user_data(GTK_OBJECT(data.knopka[SFK2]),(gpointer)SFK2);
gtk_widget_show(data.knopka[SFK2]);
sprintf(bros,"F3 %s",gettext("Удалить"));
data.knopka[FK3]=gtk_button_new_with_label(bros);
gtk_signal_connect(GTK_OBJECT(data.knopka[FK3]), "clicked",GTK_SIGNAL_FUNC(kasdok_knopka),&data);
gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK3],TRUE,TRUE, 0);
tooltips[FK3]=gtk_tooltips_new();
gtk_tooltips_set_tip(tooltips[FK3],data.knopka[FK3],gettext("Удалить выбранную запись"),NULL);
gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK3]),(gpointer)FK3);
gtk_widget_show(data.knopka[FK3]);
sprintf(bros,"%sF3 %s",RFK,gettext("Удалить"));
data.knopka[SFK3]=gtk_button_new_with_label(bros);
gtk_signal_connect(GTK_OBJECT(data.knopka[SFK3]), "clicked",GTK_SIGNAL_FUNC(kasdok_knopka),&data);
gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[SFK3],TRUE,TRUE, 0);
tooltips[SFK3]=gtk_tooltips_new();
gtk_tooltips_set_tip(tooltips[SFK3],data.knopka[SFK3],gettext("Удалить документ"),NULL);
gtk_object_set_user_data(GTK_OBJECT(data.knopka[SFK3]),(gpointer)SFK3);
gtk_widget_show(data.knopka[SFK3]);
sprintf(bros,"F4 %s",gettext("Проводки"));
data.knopka[FK4]=gtk_button_new_with_label(bros);
gtk_signal_connect(GTK_OBJECT(data.knopka[FK4]), "clicked",GTK_SIGNAL_FUNC(kasdok_knopka),&data);
gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK4],TRUE,TRUE, 0);
tooltips[FK4]=gtk_tooltips_new();
gtk_tooltips_set_tip(tooltips[FK4],data.knopka[FK4],gettext("Переход в режим работы с проводками для этого документа"),NULL);
gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK4]),(gpointer)FK4);
gtk_widget_show(data.knopka[FK4]);
sprintf(bros,"F5 %s",gettext("Печать"));
data.knopka[FK5]=gtk_button_new_with_label(bros);
gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK5],TRUE,TRUE, 0);
gtk_signal_connect(GTK_OBJECT(data.knopka[FK5]), "clicked",GTK_SIGNAL_FUNC(kasdok_knopka),&data);
tooltips[FK5]=gtk_tooltips_new();
gtk_tooltips_set_tip(tooltips[FK5],data.knopka[FK5],gettext("Распечатка документов"),NULL);
gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK5]),(gpointer)FK5);
gtk_widget_show(data.knopka[FK5]);
sprintf(bros,"F7 %s",gettext("Подтверждение"));
data.knopka[FK7]=gtk_button_new_with_label(bros);
gtk_signal_connect(GTK_OBJECT(data.knopka[FK7]), "clicked",GTK_SIGNAL_FUNC(kasdok_knopka),&data);
gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK7],TRUE,TRUE, 0);
tooltips[FK7]=gtk_tooltips_new();
gtk_tooltips_set_tip(tooltips[FK7],data.knopka[FK7],gettext("Подтверждение записи"),NULL);
gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK7]),(gpointer)FK7);
gtk_widget_show(data.knopka[FK7]);
sprintf(bros,"%sF7 %s",RFK,gettext("Подтверждение"));
data.knopka[SFK7]=gtk_button_new_with_label(bros);
gtk_signal_connect(GTK_OBJECT(data.knopka[SFK7]), "clicked",GTK_SIGNAL_FUNC(kasdok_knopka),&data);
gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[SFK7],TRUE,TRUE, 0);
tooltips[SFK7]=gtk_tooltips_new();
gtk_tooltips_set_tip(tooltips[SFK7],data.knopka[SFK7],gettext("Подтверждение всех записей в документе"),NULL);
gtk_object_set_user_data(GTK_OBJECT(data.knopka[SFK7]),(gpointer)SFK7);
gtk_widget_show(data.knopka[SFK7]);
sprintf(bros,"F8 %s",gettext("Снять под-ние"));
data.knopka[FK8]=gtk_button_new_with_label(bros);
gtk_signal_connect(GTK_OBJECT(data.knopka[FK8]), "clicked",GTK_SIGNAL_FUNC(kasdok_knopka),&data);
gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK8],TRUE,TRUE, 0);
tooltips[FK8]=gtk_tooltips_new();
gtk_tooltips_set_tip(tooltips[FK8],data.knopka[FK8],gettext("Снять подтверждение со всего документа"),NULL);
gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK8]),(gpointer)FK8);
gtk_widget_show(data.knopka[FK8]);
sprintf(bros,"F10 %s",gettext("Выход"));
data.knopka[FK10]=gtk_button_new_with_label(bros);
gtk_box_pack_start(GTK_BOX(vbox1),data.knopka[FK10],TRUE,TRUE, 0);
tooltips[FK10]=gtk_tooltips_new();
gtk_tooltips_set_tip(tooltips[FK10],data.knopka[FK10],gettext("Завершение работы в этом окне"),NULL);
gtk_signal_connect(GTK_OBJECT(data.knopka[FK10]), "clicked",GTK_SIGNAL_FUNC(kasdok_knopka),&data);
gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK10]),(gpointer)FK10);
gtk_widget_show(data.knopka[FK10]);
gtk_widget_realize(data.window);
gdk_window_set_cursor(data.window->window,gdk_cursor_new(ICEB_CURSOR));
gtk_widget_grab_focus(data.knopka[FK10]);
kasdok_create_list(&data);
gtk_widget_show(data.window);
//if(metka == 0)
gtk_window_maximize(GTK_WINDOW(data.window));
//gtk_window_fullscreen(GTK_WINDOW(data.window));
gtk_main();
if(wpredok != NULL)
gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR));
}
开发者ID:zaharchuktv,项目名称:linuxbuh,代码行数:101,代码来源:l_kasdok.c
示例8: pluginwindow_create
void pluginwindow_create()
{
PluginWindow *pluginwindow;
GtkWidget *window;
GtkWidget *vbox1;
GtkWidget *hbox2;
GtkWidget *scrolledwindow2;
GtkWidget *plugin_list_view;
GtkWidget *vbox2;
GtkWidget *frame2;
GtkWidget *label13;
GtkWidget *scrolledwindow3;
GtkWidget *plugin_desc;
GtkWidget *hbuttonbox1;
GtkWidget *hbuttonbox2;
GtkWidget *help_btn;
GtkWidget *load_btn;
GtkWidget *unload_btn;
GtkWidget *close_btn;
gchar *markup;
GtkWidget *desc_lbl;
GtkWidget *vbox3;
GtkWidget *hbox_info;
static GdkGeometry geometry;
debug_print("Creating plugins window...\n");
pluginwindow = g_new0(PluginWindow, 1);
window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "pluginwindow");
gtk_container_set_border_width(GTK_CONTAINER(window), 8);
gtk_window_set_title(GTK_WINDOW(window), _("Plugins"));
gtk_window_set_modal(GTK_WINDOW(window), TRUE);
manage_window_set_transient(GTK_WINDOW(window));
vbox1 = gtk_vbox_new(FALSE, 4);
gtk_widget_show(vbox1);
gtk_container_add(GTK_CONTAINER(window), vbox1);
gtk_box_set_homogeneous(GTK_BOX(vbox1), FALSE);
gtk_widget_realize(window);
hbox2 = gtk_hbox_new(FALSE, 8);
gtk_widget_show(hbox2);
gtk_box_pack_start(GTK_BOX(vbox1), hbox2, TRUE, TRUE, 0);
vbox3 = gtk_vbox_new(FALSE, 4);
gtk_widget_show(vbox3);
gtk_box_pack_start(GTK_BOX(hbox2), vbox3, FALSE, FALSE, 0);
scrolledwindow2 = gtk_scrolled_window_new(NULL, NULL);
gtk_widget_show(scrolledwindow2);
gtk_box_pack_start(GTK_BOX(vbox3), scrolledwindow2, TRUE, TRUE, 0);
gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolledwindow2),
GTK_SHADOW_ETCHED_IN);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW
(scrolledwindow2), GTK_POLICY_NEVER,
GTK_POLICY_AUTOMATIC);
plugin_list_view = pluginwindow_list_view_create(pluginwindow);
gtk_widget_show(plugin_list_view);
gtk_container_add(GTK_CONTAINER(scrolledwindow2), plugin_list_view);
gtk_widget_grab_focus(GTK_WIDGET(plugin_list_view));
gtkut_stock_button_set_create(&hbuttonbox1,
&load_btn, _("Load..."),
&unload_btn, _("Unload"),
NULL, NULL);
gtk_widget_show(hbuttonbox1);
gtk_box_pack_start(GTK_BOX(vbox3), hbuttonbox1, FALSE, FALSE, 0);
vbox2 = gtk_vbox_new(FALSE, 0);
gtk_widget_show(vbox2);
gtk_box_pack_start(GTK_BOX(hbox2), vbox2, TRUE, TRUE, 0);
frame2 = gtk_frame_new(NULL);
gtk_widget_show(frame2);
gtk_box_pack_start(GTK_BOX(vbox2), frame2, FALSE, TRUE, 0);
label13 = gtk_label_new(_("Description"));
gtk_widget_show(label13);
gtk_container_add(GTK_CONTAINER(frame2), label13);
gtk_misc_set_alignment(GTK_MISC(label13), 0, 0.5);
gtk_misc_set_padding(GTK_MISC(label13), 2, 2);
scrolledwindow3 = gtk_scrolled_window_new(NULL, NULL);
gtk_widget_show(scrolledwindow3);
gtk_box_pack_start(GTK_BOX(vbox2), scrolledwindow3, TRUE, TRUE, 0);
gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolledwindow3),
GTK_SHADOW_ETCHED_IN);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW
(scrolledwindow3), GTK_POLICY_NEVER,
GTK_POLICY_ALWAYS);
plugin_desc = gtk_text_view_new();
gtk_widget_show(plugin_desc);
gtk_container_add(GTK_CONTAINER(scrolledwindow3), plugin_desc);
hbox_info = gtk_hbox_new(FALSE, 5);
gtk_widget_show(hbox_info);
//.........这里部分代码省略.........
开发者ID:SpOOnman,项目名称:claws,代码行数:101,代码来源:pluginwindow.c
示例9: main
int
main (int argc, char *argv[])
{
#if GST_GL_HAVE_WINDOW_X11
XInitThreads ();
#endif
gst_init (&argc, &argv);
gtk_init (&argc, &argv);
GstElement* pipeline = gst_pipeline_new ("pipeline");
//window that contains an area where the video is drawn
GtkWidget* window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size (GTK_WINDOW (window), 640, 480);
gtk_window_move (GTK_WINDOW (window), 300, 10);
gtk_window_set_title (GTK_WINDOW (window), "gtkgstwidget");
//window to control the states
GtkWidget* window_control = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_resizable (GTK_WINDOW (window_control), FALSE);
gtk_window_move (GTK_WINDOW (window_control), 10, 10);
GtkWidget* grid = gtk_grid_new ();
gtk_container_add (GTK_CONTAINER (window_control), grid);
//control state null
GtkWidget* button_state_null = gtk_button_new_with_label ("GST_STATE_NULL");
g_signal_connect (G_OBJECT (button_state_null), "clicked",
G_CALLBACK (button_state_null_cb), pipeline);
gtk_grid_attach (GTK_GRID (grid), button_state_null, 0, 1, 1, 1);
gtk_widget_show (button_state_null);
//control state ready
GtkWidget* button_state_ready = gtk_button_new_with_label ("GST_STATE_READY");
g_signal_connect (G_OBJECT (button_state_ready), "clicked",
G_CALLBACK (button_state_ready_cb), pipeline);
gtk_grid_attach (GTK_GRID (grid), button_state_ready, 0, 2, 1, 1);
gtk_widget_show (button_state_ready);
//control state paused
GtkWidget* button_state_paused = gtk_button_new_with_label ("GST_STATE_PAUSED");
g_signal_connect (G_OBJECT (button_state_paused), "clicked",
G_CALLBACK (button_state_paused_cb), pipeline);
gtk_grid_attach (GTK_GRID (grid), button_state_paused, 0, 3, 1, 1);
gtk_widget_show (button_state_paused);
//control state playing
GtkWidget* button_state_playing = gtk_button_new_with_label ("GST_STATE_PLAYING");
g_signal_connect (G_OBJECT (button_state_playing), "clicked",
G_CALLBACK (button_state_playing_cb), pipeline);
gtk_grid_attach (GTK_GRID (grid), button_state_playing, 0, 4, 1, 1);
gtk_widget_show (button_state_playing);
gtk_widget_show (grid);
gtk_widget_show (window_control);
//area where the video is drawn
g_signal_connect(G_OBJECT(window), "delete-event", G_CALLBACK(destroy_cb), pipeline);
//configure the pipeline
GstElement* videosrc = gst_element_factory_make ("videotestsrc", "videotestsrc");
GstElement* effect = gst_element_factory_make ("glfiltercube", "cube");
GstElement* videosink = gst_element_factory_make ("gtkglsink", "gtkglsink");
GtkWidget *area;
g_object_get (videosink, "widget", &area, NULL);
gtk_container_add (GTK_CONTAINER (window), area);
gtk_widget_realize(area);
GstCaps *caps = gst_caps_new_simple("video/x-raw",
"width", G_TYPE_INT, 640,
"height", G_TYPE_INT, 480,
"format", G_TYPE_STRING, "BGRA",
NULL);
gst_bin_add_many (GST_BIN (pipeline), videosrc, effect, videosink, NULL);
gboolean link_ok = gst_element_link (effect, videosink) ;
if(!link_ok)
{
g_warning("Failed to link glfiltercube to gtkglsink!\n") ;
return -1;
}
if (!gst_element_link_filtered (videosrc, effect, caps)) {
g_warning("Failed to link viideotestsrc to glfiltercube!\n") ;
return -1;
}
gst_caps_unref (caps);
//set window id on this event
GstBus* bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
g_signal_connect(bus, "message::error", G_CALLBACK(end_stream_cb), pipeline);
g_signal_connect(bus, "message::warning", G_CALLBACK(end_stream_cb), pipeline);
g_signal_connect(bus, "message::eos", G_CALLBACK(end_stream_cb), pipeline);
gst_object_unref (bus);
//start
GstStateChangeReturn ret = gst_element_set_state (pipeline, GST_STATE_PLAYING);
if (ret == GST_STATE_CHANGE_FAILURE)
{
//.........这里部分代码省略.........
开发者ID:dividetoinfinity,项目名称:gtkgst,代码行数:101,代码来源:gtkglsink.c
示例10: show_girdwnd
void
show_girdwnd (gpointer, TImgData *imgdata)
{
GtkWidget *win;
GtkWidget *button;
GtkWidget *scrolled_window = NULL;
GtkWidget *image = NULL;
const gchar *title_source = "Setting gird on SOURCE image";
const gchar *title_dest = "Setting gird on DESTINATION image";
dst_sigdata.event_box = NULL;
src_sigdata.event_box = NULL;
GtkWidget *vbox = NULL;
GtkWidget *vbox2 = NULL;
GtkWidget *label = NULL;
GtkWidget *hbox = NULL;
// GtkWidget *toolbar = NULL;
// GtkToolItem *zin = NULL;
// GtkToolItem *zout = NULL;
// GtkToolItem *zfit = NULL;
// GtkToolItem *zall = NULL;
// GtkToolItem *sep = NULL;
/* Create the main window */
win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_container_set_border_width (GTK_CONTAINER (win), 0);
if(imgdata->is_source)
gtk_window_set_title (GTK_WINDOW (win), title_source);
else
gtk_window_set_title (GTK_WINDOW (win), title_dest);
gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_CENTER);
gtk_window_set_default_size(GTK_WINDOW(win), 600, 500);
gtk_window_set_icon(GTK_WINDOW(win), gdk_pixbuf_new_from_file("cibo00_Algebraic_Mosaic.svg", NULL)); //http://www.openclipart.org/detail/12322
gtk_widget_realize (win);
g_signal_connect (win, "destroy", (GCallback) close_wnd, win);
/* Create a vertical box with buttons */
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (win), vbox);
// /* Toolbbar menu */
// toolbar = gtk_toolbar_new();
// gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_BOTH);
//
// gtk_container_set_border_width(GTK_CONTAINER(toolbar), 2);
//
//// save = gtk_tool_button_new_from_stock(GTK_STOCK_SAVE_AS);
//// gtk_toolbar_insert(GTK_TOOLBAR(toolbar), save, -1);
//
// sep = gtk_separator_tool_item_new();
// gtk_toolbar_insert(GTK_TOOLBAR(toolbar), sep, -1);
//
// zin = gtk_tool_button_new_from_stock(GTK_STOCK_ZOOM_IN);
// gtk_toolbar_insert(GTK_TOOLBAR(toolbar), zin, -1);
//
// zout = gtk_tool_button_new_from_stock(GTK_STOCK_ZOOM_OUT);
// gtk_toolbar_insert(GTK_TOOLBAR(toolbar), zout, -1);
//
// zfit = gtk_tool_button_new_from_stock(GTK_STOCK_ZOOM_FIT);
// gtk_toolbar_insert(GTK_TOOLBAR(toolbar), zfit, -1);
//
// zall = gtk_tool_button_new_from_stock(GTK_STOCK_ZOOM_100);
// gtk_toolbar_insert(GTK_TOOLBAR(toolbar), zall, -1);
// sep = gtk_separator_tool_item_new();
// gtk_toolbar_insert(GTK_TOOLBAR(toolbar), sep, -1);
//
// refresh = gtk_tool_button_new_from_stock(GTK_STOCK_REFRESH);
// gtk_toolbar_insert(GTK_TOOLBAR(toolbar), refresh, -1);
// gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, FALSE, 0);
// g_signal_connect (G_OBJECT (open), "clicked", G_CALLBACK (open_file), NULL);
// g_signal_connect (G_OBJECT (save), "clicked", G_CALLBACK (save_file), NULL);
// g_signal_connect (G_OBJECT (zin), "clicked", G_CALLBACK (zoomin), NULL);
// g_signal_connect (G_OBJECT (zout), "clicked", G_CALLBACK (zoomout), NULL);
// g_signal_connect (G_OBJECT (zall), "clicked", G_CALLBACK (zoomnormal), NULL);
// g_signal_connect (G_OBJECT (zfit), "clicked", G_CALLBACK (zoomfit), NULL);
hbox = gtk_hbox_new (FALSE, 6);
gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 6);
//
// vbox2 = gtk_vbox_new (FALSE, 6);
// gtk_box_pack_start(GTK_BOX(hbox), vbox2, FALSE, FALSE, 6);
// GtkWidget *valign;
// valign = gtk_alignment_new(0, 1, 1, 0);
//.........这里部分代码省略.........
开发者ID:Pitel,项目名称:morphing,代码行数:101,代码来源:gui_setgridwnd.cpp
示例11: create_win_sym
//.........这里部分代码省略.........
show_win_sym();
else
hide_win_sym();
return;
}
gwin_sym = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_has_resize_grip(GTK_WINDOW(gwin_sym), FALSE);
#if WIN32
set_no_focus(gwin_sym);
#endif
cur_in_method = current_CS->in_method;
GtkWidget *hbox_top = gtk_hbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (gwin_sym), hbox_top);
GtkWidget *vbox_top = gtk_vbox_new (FALSE, 0);
gtk_box_pack_start (GTK_BOX (hbox_top), vbox_top, TRUE, TRUE, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox_top), 0);
int i;
for(i=0; i < symsN; i++) {
SYM_ROW *psym = &syms[i];
GtkWidget *hbox_row = gtk_hbox_new (FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox_top), hbox_row, FALSE, FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (hbox_row), 0);
int j;
for(j=0; j < psym->symN; j++) {
char *str = psym->sym[j];
if (!str[0])
continue;
GtkWidget *button = gtk_button_new();
GtkWidget *label = gtk_label_new(str);
gtk_container_add(GTK_CONTAINER(button), label);
set_label_font_size(label, gcin_font_size_symbol);
gtk_container_set_border_width (GTK_CONTAINER (button), 0);
gtk_box_pack_start (GTK_BOX (hbox_row), button, FALSE, FALSE, 0);
if (utf8_str_N(str) > 0) {
char phos[512];
sym_lookup_key(str, phos);
int phos_len = strlen(phos);
if (phos_len) {
#if GTK_CHECK_VERSION(2,12,0)
gtk_widget_set_tooltip_text (button, phos);
#else
GtkTooltips *button_pho_tips = gtk_tooltips_new ();
gtk_tooltips_set_tip (GTK_TOOLTIPS (button_pho_tips), button, phos, NULL);
#endif
}
}
g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (cb_button_sym), label);
}
}
gtk_box_pack_start (GTK_BOX (hbox_top), gtk_vseparator_new(), FALSE, FALSE, 0);
GtkWidget *vbox_arrow = gtk_vbox_new (TRUE, 0);
gtk_box_pack_start (GTK_BOX (hbox_top), vbox_arrow, TRUE, TRUE, 0);
GtkWidget *eve_up=gtk_event_box_new(), *eve_down=gtk_event_box_new();
gtk_box_pack_start (GTK_BOX (vbox_arrow), eve_up, TRUE, TRUE, 0);
gtk_container_add(GTK_CONTAINER(eve_up), gtk_arrow_new(GTK_ARROW_UP, GTK_SHADOW_IN));
gtk_box_pack_start (GTK_BOX (vbox_arrow), eve_down, TRUE, TRUE, 0);
gtk_container_add(GTK_CONTAINER(eve_down), gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_IN));
g_signal_connect(G_OBJECT(eve_up),"button-press-event", G_CALLBACK(mouse_button_callback_up_down), (gpointer)1);
g_signal_connect(G_OBJECT(eve_down),"button-press-event", G_CALLBACK(mouse_button_callback_up_down), NULL);
gtk_widget_realize (gwin_sym);
#if UNIX
GdkWindow *gdkwin_sym = gtk_widget_get_window(gwin_sym);
set_no_focus(gwin_sym);
#else
win32_init_win(gwin_sym);
#endif
if (win_sym_enabled)
gtk_widget_show_all(gwin_sym);
g_signal_connect (G_OBJECT (gwin_sym), "scroll-event", G_CALLBACK (button_scroll_event), NULL);
move_win_sym();
#if 0
dbg("in_method:%d\n", current_CS->in_method);
#endif
return;
}
开发者ID:gogonkt,项目名称:gcin,代码行数:101,代码来源:win-sym.cpp
示例12: gtkFontDlgPopup
static int gtkFontDlgPopup(Ihandle* ih, int x, int y)
{
InativeHandle* parent = iupDialogGetNativeParent(ih);
GtkWidget* dialog;
int response;
char* preview_text, *standardfont;
iupAttribSetInt(ih, "_IUPDLG_X", x); /* used in iupDialogUpdatePosition */
iupAttribSetInt(ih, "_IUPDLG_Y", y);
#if GTK_CHECK_VERSION(3, 2, 0)
dialog = gtk_font_chooser_dialog_new(iupgtkStrConvertToSystem(iupAttribGet(ih, "TITLE")), GTK_WINDOW(parent));
#else
dialog = gtk_font_selection_dialog_new(iupgtkStrConvertToSystem(iupAttribGet(ih, "TITLE")));
#endif
if (!dialog)
return IUP_ERROR;
#if !GTK_CHECK_VERSION(3, 2, 0)
if (parent)
gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(parent));
#endif
standardfont = iupAttribGet(ih, "VALUE");
if (!standardfont)
standardfont = IupGetGlobal("DEFAULTFONT");
#if GTK_CHECK_VERSION(3, 2, 0)
gtk_font_chooser_set_font(GTK_FONT_CHOOSER(dialog), standardfont);
#else
gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(dialog), standardfont);
#endif
preview_text = iupAttribGet(ih, "PREVIEWTEXT");
if (preview_text)
{
preview_text = iupgtkStrConvertToSystem(preview_text);
#if GTK_CHECK_VERSION(3, 2, 0)
if (iupStrEqualNoCase(preview_text, "NONE"))
gtk_font_chooser_set_show_preview_entry(GTK_FONT_CHOOSER(dialog), FALSE);
else
gtk_font_chooser_set_preview_text(GTK_FONT_CHOOSER(dialog), preview_text);
#else
gtk_font_selection_dialog_set_preview_text(GTK_FONT_SELECTION_DIALOG(dialog), preview_text);
#endif
}
if (IupGetCallback(ih, "HELP_CB"))
{
#if GTK_CHECK_VERSION(3, 10, 0)
const char* help = "_Help";
#else
const char* help = GTK_STOCK_HELP;
#endif
gtk_dialog_add_button(GTK_DIALOG(dialog), help, GTK_RESPONSE_HELP);
}
/* initialize the widget */
gtk_widget_realize(GTK_WIDGET(dialog));
ih->handle = GTK_WIDGET(dialog);
iupDialogUpdatePosition(ih);
ih->handle = NULL;
do
{
response = gtk_dialog_run(GTK_DIALOG(dialog));
if (response == GTK_RESPONSE_HELP)
{
Icallback cb = IupGetCallback(ih, "HELP_CB");
if (cb && cb(ih) == IUP_CLOSE)
response = GTK_RESPONSE_CANCEL;
}
} while (response == GTK_RESPONSE_HELP);
if (response == GTK_RESPONSE_OK)
{
#if GTK_CHECK_VERSION(3, 2, 0)
char* fontname = gtk_font_chooser_get_font(GTK_FONT_CHOOSER(dialog));
#else
char* fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(dialog));
#endif
iupAttribSetStr(ih, "VALUE", fontname);
g_free(fontname);
iupAttribSet(ih, "STATUS", "1");
}
else
{
iupAttribSet(ih, "VALUE", NULL);
iupAttribSet(ih, "STATUS", NULL);
}
gtk_widget_destroy(GTK_WIDGET(dialog));
return IUP_NOERROR;
}
开发者ID:DavidPhillipOster,项目名称:IupCocoa,代码行数:97,代码来源:iupgtk_fontdlg.c
示例13: wxCHECK_RET
void wxListBox::GtkAddItem( const wxString &item, int pos )
{
wxCHECK_RET( m_list != NULL, wxT("invalid listbox") );
GtkWidget *list_item;
wxString label(item);
#if wxUSE_CHECKLISTBOX
if (m_hasCheckBoxes)
{
label.Prepend(wxCHECKLBOX_STRING);
}
#endif // wxUSE_CHECKLISTBOX
list_item = gtk_list_item_new_with_label( wxGTK_CONV( label ) );
GList *gitem_list = g_list_alloc ();
gitem_list->data = list_item;
if (pos == -1)
gtk_list_append_items( GTK_LIST (m_list), gitem_list );
else
gtk_list_insert_items( GTK_LIST (m_list), gitem_list, pos );
gtk_signal_connect_after( GTK_OBJECT(list_item), "select",
GTK_SIGNAL_FUNC(gtk_listitem_select_callback), (gpointer)this );
if (HasFlag(wxLB_MULTIPLE) || HasFlag(wxLB_EXTENDED))
gtk_signal_connect_after( GTK_OBJECT(list_item), "deselect",
GTK_SIGNAL_FUNC(gtk_listitem_deselect_callback), (gpointer)this );
gtk_signal_connect( GTK_OBJECT(list_item),
"button_press_event",
(GtkSignalFunc)gtk_listbox_button_press_callback,
(gpointer) this );
gtk_signal_connect_after( GTK_OBJECT(list_item),
"button_release_event",
(GtkSignalFunc)gtk_listbox_button_release_callback,
(gpointer) this );
gtk_signal_connect( GTK_OBJECT(list_item),
"key_press_event",
(GtkSignalFunc)gtk_listbox_key_press_callback,
(gpointer)this );
gtk_signal_connect( GTK_OBJECT(list_item), "focus_in_event",
GTK_SIGNAL_FUNC(gtk_listitem_focus_in_callback), (gpointer)this );
gtk_signal_connect( GTK_OBJECT(list_item), "focus_out_event",
GTK_SIGNAL_FUNC(gtk_listitem_focus_out_callback), (gpointer)this );
ConnectWidget( list_item );
if (GTK_WIDGET_REALIZE
|
请发表评论