📄 webkitwebwindowfeatures.cpp
字号:
/* * Copyright (C) 2008 Gustavo Noronha Silva <gns@gnome.org> * Copyright (C) 2008 Holger Hans Peter Freyther * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library 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 * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */#include "config.h"#include "WindowFeatures.h"#include "webkitwebwindowfeatures.h"#include "webkitprivate.h"/** * SECTION:webkitwebwindowfeatures * @short_description: Window properties of a #WebKitWebView * @see_also: #WebKitWebView::web-view-ready * * The content of a #WebKitWebView can request to change certain * properties of a #WebKitWebView. This can include the x, y position * of the window, the width and height but also if a toolbar, * scrollbar, statusbar, locationbar should be visible to the user, * the request to show the #WebKitWebView fullscreen. * * In the normal case one will use #webkit_web_view_get_window_features * to get the #WebKitWebWindowFeatures and then monitor the property * changes. Be aware that the #WebKitWebWindowFeatures might change * change before #WebKitWebView::web-view-ready signal is emitted. * To be safe listen to the notify::window-features signal of the #WebKitWebView * and reconnect the signals whenever the #WebKitWebWindowFeatures of * a #WebKitWebView changes. * * <informalexample><programlisting> * /<!-- -->* Get the current WebKitWebWindowFeatures *<!-- -->/ * WebKitWebWindowFeatures *features = webkit_web_view_get_window_features (my_webview); * * /<!-- -->* Connect to the property changes *<!-- -->/ * g_signal_connect (G_OBJECT(features), "notify::menubar-visible", G_CALLBACK(make_menu_bar_visible), NULL); * g_signal_connect (G_OBJECT(features), "notify::statusbar-visible", G_CALLBACK(make_status_bar_visible), NULL); * * </programlisting></informalexample> */extern "C" {enum { PROP_0, PROP_X, PROP_Y, PROP_WIDTH, PROP_HEIGHT, PROP_TOOLBAR_VISIBLE, PROP_STATUSBAR_VISIBLE, PROP_SCROLLBAR_VISIBLE, PROP_MENUBAR_VISIBLE, PROP_LOCATIONBAR_VISIBLE, PROP_FULLSCREEN,};G_DEFINE_TYPE(WebKitWebWindowFeatures, webkit_web_window_features, G_TYPE_OBJECT)struct _WebKitWebWindowFeaturesPrivate { gint x; gint y; gint width; gint height; gboolean toolbar_visible; gboolean statusbar_visible; gboolean scrollbar_visible; gboolean menubar_visible; gboolean locationbar_visible; gboolean fullscreen;};#define WEBKIT_WEB_WINDOW_FEATURES_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_WINDOW_FEATURES, WebKitWebWindowFeaturesPrivate))static void webkit_web_window_features_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec);static void webkit_web_window_features_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec);static void webkit_web_window_features_class_init(WebKitWebWindowFeaturesClass* klass){ GObjectClass* gobject_class = G_OBJECT_CLASS(klass); gobject_class->set_property = webkit_web_window_features_set_property; gobject_class->get_property = webkit_web_window_features_get_property; GParamFlags flags = (GParamFlags)(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT); /** * WebKitWebWindowFeatures:x: * * The starting x position of the window on the screen. * * Since: 1.0.3 */ g_object_class_install_property(gobject_class, PROP_X, g_param_spec_int( "x", "x", "The starting x position of the window on the screen.", -1, G_MAXINT, -1, flags)); /** * WebKitWebWindowFeatures:y: * * The starting y position of the window on the screen. * * Since: 1.0.3 */ g_object_class_install_property(gobject_class, PROP_Y, g_param_spec_int( "y", "y", "The starting y position of the window on the screen.", -1, G_MAXINT, -1, flags)); /** * WebKitWebWindowFeatures:width: * * The width of the window on the screen. * * Since: 1.0.3 */ g_object_class_install_property(gobject_class, PROP_WIDTH, g_param_spec_int( "width", "Width", "The width of the window on the screen.", -1, G_MAXINT, -1, flags)); /** * WebKitWebWindowFeatures:height: * * The height of the window on the screen. * * Since: 1.0.3 */ g_object_class_install_property(gobject_class, PROP_HEIGHT, g_param_spec_int( "height", "Height", "The height of the window on the screen.", -1, G_MAXINT, -1, flags)); /** * WebKitWebWindowFeatures:toolbar-visible: * * Controls whether the toolbar should be visible for the window. * * Since: 1.0.3 */ g_object_class_install_property(gobject_class, PROP_TOOLBAR_VISIBLE, g_param_spec_boolean( "toolbar-visible", "Toolbar Visible", "Controls whether the toolbar should be visible for the window.", TRUE, flags)); /** * WebKitWebWindowFeatures:statusbar-visible: * * Controls whether the statusbar should be visible for the window. * * Since: 1.0.3 */ g_object_class_install_property(gobject_class, PROP_STATUSBAR_VISIBLE, g_param_spec_boolean( "statusbar-visible", "Statusbar Visible", "Controls whether the statusbar should be visible for the window.", TRUE, flags)); /** * WebKitWebWindowFeatures:scrollbar-visible: * * Controls whether the scrollbars should be visible for the window. * * Since: 1.0.3 */ g_object_class_install_property(gobject_class, PROP_SCROLLBAR_VISIBLE, g_param_spec_boolean( "scrollbar-visible", "Scrollbar Visible", "Controls whether the scrollbars should be visible for the window.", TRUE,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -