src/gui/styles/qgtkstyle_p.cpp
changeset 19 fcece45ef507
parent 18 2f34d5167611
child 30 5dc02b23752f
equal deleted inserted replaced
18:2f34d5167611 19:fcece45ef507
    89 Ptr_gtk_widget_realize QGtkStylePrivate::gtk_widget_realize = 0;
    89 Ptr_gtk_widget_realize QGtkStylePrivate::gtk_widget_realize = 0;
    90 Ptr_gtk_widget_set_default_direction QGtkStylePrivate::gtk_widget_set_default_direction = 0;
    90 Ptr_gtk_widget_set_default_direction QGtkStylePrivate::gtk_widget_set_default_direction = 0;
    91 Ptr_gtk_widget_modify_color QGtkStylePrivate::gtk_widget_modify_fg = 0;
    91 Ptr_gtk_widget_modify_color QGtkStylePrivate::gtk_widget_modify_fg = 0;
    92 Ptr_gtk_widget_modify_color QGtkStylePrivate::gtk_widget_modify_bg = 0;
    92 Ptr_gtk_widget_modify_color QGtkStylePrivate::gtk_widget_modify_bg = 0;
    93 Ptr_gtk_arrow_new QGtkStylePrivate::gtk_arrow_new = 0;
    93 Ptr_gtk_arrow_new QGtkStylePrivate::gtk_arrow_new = 0;
    94 Ptr_gtk_menu_item_new QGtkStylePrivate::gtk_menu_item_new = 0;
    94 Ptr_gtk_menu_item_new_with_label QGtkStylePrivate::gtk_menu_item_new_with_label = 0;
    95 Ptr_gtk_check_menu_item_new QGtkStylePrivate::gtk_check_menu_item_new = 0;
    95 Ptr_gtk_check_menu_item_new_with_label QGtkStylePrivate::gtk_check_menu_item_new_with_label = 0;
    96 Ptr_gtk_menu_bar_new QGtkStylePrivate::gtk_menu_bar_new = 0;
    96 Ptr_gtk_menu_bar_new QGtkStylePrivate::gtk_menu_bar_new = 0;
    97 Ptr_gtk_menu_new QGtkStylePrivate::gtk_menu_new = 0;
    97 Ptr_gtk_menu_new QGtkStylePrivate::gtk_menu_new = 0;
    98 Ptr_gtk_button_new QGtkStylePrivate::gtk_button_new = 0;
    98 Ptr_gtk_button_new QGtkStylePrivate::gtk_button_new = 0;
    99 Ptr_gtk_tool_button_new QGtkStylePrivate::gtk_tool_button_new = 0;
    99 Ptr_gtk_tool_button_new QGtkStylePrivate::gtk_tool_button_new = 0;
   100 Ptr_gtk_hbutton_box_new QGtkStylePrivate::gtk_hbutton_box_new = 0;
   100 Ptr_gtk_hbutton_box_new QGtkStylePrivate::gtk_hbutton_box_new = 0;
   345 
   345 
   346     gtk_widget_set_default_direction = (Ptr_gtk_widget_set_default_direction)libgtk.resolve("gtk_widget_set_default_direction");
   346     gtk_widget_set_default_direction = (Ptr_gtk_widget_set_default_direction)libgtk.resolve("gtk_widget_set_default_direction");
   347     gtk_widget_modify_fg = (Ptr_gtk_widget_modify_color)libgtk.resolve("gtk_widget_modify_fg");
   347     gtk_widget_modify_fg = (Ptr_gtk_widget_modify_color)libgtk.resolve("gtk_widget_modify_fg");
   348     gtk_widget_modify_bg = (Ptr_gtk_widget_modify_color)libgtk.resolve("gtk_widget_modify_bg");
   348     gtk_widget_modify_bg = (Ptr_gtk_widget_modify_color)libgtk.resolve("gtk_widget_modify_bg");
   349     gtk_arrow_new = (Ptr_gtk_arrow_new)libgtk.resolve("gtk_arrow_new");
   349     gtk_arrow_new = (Ptr_gtk_arrow_new)libgtk.resolve("gtk_arrow_new");
   350     gtk_menu_item_new = (Ptr_gtk_menu_item_new)libgtk.resolve("gtk_menu_item_new");
   350     gtk_menu_item_new_with_label = (Ptr_gtk_menu_item_new_with_label)libgtk.resolve("gtk_menu_item_new_with_label");
   351     gtk_check_menu_item_new = (Ptr_gtk_check_menu_item_new)libgtk.resolve("gtk_check_menu_item_new");
   351     gtk_check_menu_item_new_with_label = (Ptr_gtk_check_menu_item_new_with_label)libgtk.resolve("gtk_check_menu_item_new_with_label");
   352     gtk_menu_bar_new = (Ptr_gtk_menu_bar_new)libgtk.resolve("gtk_menu_bar_new");
   352     gtk_menu_bar_new = (Ptr_gtk_menu_bar_new)libgtk.resolve("gtk_menu_bar_new");
   353     gtk_menu_new = (Ptr_gtk_menu_new)libgtk.resolve("gtk_menu_new");
   353     gtk_menu_new = (Ptr_gtk_menu_new)libgtk.resolve("gtk_menu_new");
   354     gtk_toolbar_new = (Ptr_gtk_toolbar_new)libgtk.resolve("gtk_toolbar_new");
   354     gtk_toolbar_new = (Ptr_gtk_toolbar_new)libgtk.resolve("gtk_toolbar_new");
   355     gtk_separator_tool_item_new = (Ptr_gtk_separator_tool_item_new)libgtk.resolve("gtk_separator_tool_item_new");
   355     gtk_separator_tool_item_new = (Ptr_gtk_separator_tool_item_new)libgtk.resolve("gtk_separator_tool_item_new");
   356     gtk_toolbar_insert = (Ptr_gtk_toolbar_insert)libgtk.resolve("gtk_toolbar_insert");
   356     gtk_toolbar_insert = (Ptr_gtk_toolbar_insert)libgtk.resolve("gtk_toolbar_insert");
   437 {
   437 {
   438     // Create menubar
   438     // Create menubar
   439     GtkWidget *gtkMenuBar = QGtkStylePrivate::gtk_menu_bar_new();
   439     GtkWidget *gtkMenuBar = QGtkStylePrivate::gtk_menu_bar_new();
   440     setupGtkWidget(gtkMenuBar);
   440     setupGtkWidget(gtkMenuBar);
   441 
   441 
   442     GtkWidget *gtkMenuBarItem = QGtkStylePrivate::gtk_menu_item_new();
   442     GtkWidget *gtkMenuBarItem = QGtkStylePrivate::gtk_menu_item_new_with_label("X");
   443     gtk_menu_shell_append((GtkMenuShell*)(gtkMenuBar), gtkMenuBarItem);
   443     gtk_menu_shell_append((GtkMenuShell*)(gtkMenuBar), gtkMenuBarItem);
   444     gtk_widget_realize(gtkMenuBarItem);
   444     gtk_widget_realize(gtkMenuBarItem);
   445 
   445 
   446     // Create menu
   446     // Create menu
   447     GtkWidget *gtkMenu = QGtkStylePrivate::gtk_menu_new();
   447     GtkWidget *gtkMenu = QGtkStylePrivate::gtk_menu_new();
   448     gtk_menu_item_set_submenu((GtkMenuItem*)(gtkMenuBarItem), gtkMenu);
   448     gtk_menu_item_set_submenu((GtkMenuItem*)(gtkMenuBarItem), gtkMenu);
   449     gtk_widget_realize(gtkMenu);
   449     gtk_widget_realize(gtkMenu);
   450 
   450 
   451     GtkWidget *gtkMenuItem = QGtkStylePrivate::gtk_menu_item_new();
   451     GtkWidget *gtkMenuItem = QGtkStylePrivate::gtk_menu_item_new_with_label("X");
   452     g_object_set(gtkMenuItem, "label", "X", NULL);
       
   453 
       
   454     gtk_menu_shell_append((GtkMenuShell*)gtkMenu, gtkMenuItem);
   452     gtk_menu_shell_append((GtkMenuShell*)gtkMenu, gtkMenuItem);
   455     gtk_widget_realize(gtkMenuItem);
   453     gtk_widget_realize(gtkMenuItem);
   456 
   454 
   457     GtkWidget *gtkCheckMenuItem = QGtkStylePrivate::gtk_check_menu_item_new();
   455     GtkWidget *gtkCheckMenuItem = QGtkStylePrivate::gtk_check_menu_item_new_with_label("X");
   458     g_object_set(gtkCheckMenuItem, "label", "X", NULL);
       
   459     gtk_menu_shell_append((GtkMenuShell*)gtkMenu, gtkCheckMenuItem);
   456     gtk_menu_shell_append((GtkMenuShell*)gtkMenu, gtkCheckMenuItem);
   460     gtk_widget_realize(gtkCheckMenuItem);
   457     gtk_widget_realize(gtkCheckMenuItem);
   461 
   458 
   462     GtkWidget *gtkMenuSeparator = QGtkStylePrivate::gtk_separator_menu_item_new();
   459     GtkWidget *gtkMenuSeparator = QGtkStylePrivate::gtk_separator_menu_item_new();
   463     gtk_menu_shell_append((GtkMenuShell*)gtkMenu, gtkMenuSeparator);
   460     gtk_menu_shell_append((GtkMenuShell*)gtkMenu, gtkMenuSeparator);
   531 
   528 
   532         if (!gtkWidgetMap()->contains(QLS("GtkButton"))) {
   529         if (!gtkWidgetMap()->contains(QLS("GtkButton"))) {
   533             GtkWidget *gtkButton = QGtkStylePrivate::gtk_button_new();
   530             GtkWidget *gtkButton = QGtkStylePrivate::gtk_button_new();
   534             addWidget(gtkButton);
   531             addWidget(gtkButton);
   535             g_signal_connect(gtkButton, "style-set", G_CALLBACK(gtkStyleSetCallback), 0);
   532             g_signal_connect(gtkButton, "style-set", G_CALLBACK(gtkStyleSetCallback), 0);
   536             addWidget(QGtkStylePrivate::gtk_tool_button_new(NULL, NULL));
   533             addWidget(QGtkStylePrivate::gtk_tool_button_new(NULL, "Qt"));
   537             addWidget(QGtkStylePrivate::gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_NONE));
   534             addWidget(QGtkStylePrivate::gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_NONE));
   538             addWidget(QGtkStylePrivate::gtk_hbutton_box_new());
   535             addWidget(QGtkStylePrivate::gtk_hbutton_box_new());
   539             addWidget(QGtkStylePrivate::gtk_check_button_new());
   536             addWidget(QGtkStylePrivate::gtk_check_button_new());
   540             addWidget(QGtkStylePrivate::gtk_radio_button_new(NULL));
   537             addWidget(QGtkStylePrivate::gtk_radio_button_new(NULL));
   541             addWidget(QGtkStylePrivate::gtk_combo_box_new());
   538             addWidget(QGtkStylePrivate::gtk_combo_box_new());