mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-12 15:36:17 +01:00
Add GMenu
This commit is contained in:
parent
12a39a05d3
commit
13f5977735
@ -201,6 +201,7 @@
|
||||
<xi:include href="xml/gactiongroupexporter.xml"/>
|
||||
<xi:include href="xml/gdbusactiongroup.xml"/>
|
||||
<xi:include href="xml/gmenumodel.xml"/>
|
||||
<xi:include href="xml/gmenu.xml"/>
|
||||
</chapter>
|
||||
<chapter id="extending">
|
||||
<title>Extending GIO</title>
|
||||
|
@ -3541,6 +3541,68 @@ G_IS_NETWORK_MONITOR
|
||||
G_NETWORK_MONITOR_GET_INTERFACE
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gmenu</FILE>
|
||||
GMenu
|
||||
g_menu_new
|
||||
g_menu_freeze
|
||||
|
||||
<SUBSECTION>
|
||||
g_menu_insert
|
||||
g_menu_prepend
|
||||
g_menu_append
|
||||
|
||||
<SUBSECTION>
|
||||
g_menu_insert_item
|
||||
g_menu_append_item
|
||||
g_menu_prepend_item
|
||||
|
||||
<SUBSECTION>
|
||||
g_menu_insert_section
|
||||
g_menu_prepend_section
|
||||
g_menu_append_section
|
||||
|
||||
<SUBSECTION>
|
||||
g_menu_append_submenu
|
||||
g_menu_insert_submenu
|
||||
g_menu_prepend_submenu
|
||||
|
||||
<SUBSECTION>
|
||||
g_menu_remove
|
||||
|
||||
<SUBSECTION>
|
||||
GMenuItem
|
||||
g_menu_item_new
|
||||
g_menu_item_new_section
|
||||
g_menu_item_new_submenu
|
||||
|
||||
<SUBSECTION>
|
||||
g_menu_item_set_label
|
||||
g_menu_item_set_action_and_target_value
|
||||
g_menu_item_set_action_and_target
|
||||
g_menu_item_set_detailed_action
|
||||
g_menu_item_set_section
|
||||
g_menu_item_set_submenu
|
||||
|
||||
<SUBSECTION>
|
||||
g_menu_item_set_attribute_value
|
||||
g_menu_item_set_attribute
|
||||
g_menu_item_set_link
|
||||
|
||||
<SUBSECTION Private>
|
||||
g_menu_item_get_type
|
||||
g_menu_get_type
|
||||
|
||||
<SUBSECTION Standard>
|
||||
G_TYPE_MENU
|
||||
G_MENU
|
||||
G_IS_MENU
|
||||
|
||||
G_TYPE_MENU_ITEM
|
||||
G_MENU_ITEM
|
||||
G_IS_MENU_ITEM
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gmenumodel</FILE>
|
||||
GMenuModel
|
||||
|
@ -47,6 +47,7 @@ g_local_file_monitor_get_type
|
||||
g_memory_input_stream_get_type
|
||||
g_memory_output_stream_get_type
|
||||
g_menu_attribute_iter_get_type
|
||||
g_menu_get_type
|
||||
g_menu_link_iter_get_type
|
||||
g_menu_model_get_type
|
||||
g_mount_get_type
|
||||
|
@ -134,6 +134,7 @@ application_headers = \
|
||||
gapplicationcommandline.h \
|
||||
gapplication.h \
|
||||
gmenumodel.h \
|
||||
gmenu.h \
|
||||
$(NULL)
|
||||
|
||||
application_sources = \
|
||||
@ -148,6 +149,7 @@ application_sources = \
|
||||
gapplicationimpl-dbus.c \
|
||||
gapplication.c \
|
||||
gmenumodel.c \
|
||||
gmenu.c \
|
||||
$(NULL)
|
||||
|
||||
local_sources = \
|
||||
|
@ -147,6 +147,7 @@
|
||||
#include <gio/gdbusobjectmanagerserver.h>
|
||||
#include <gio/gdbusactiongroup.h>
|
||||
#include <gio/gmenumodel.h>
|
||||
#include <gio/gmenu.h>
|
||||
|
||||
#undef __GIO_GIO_H_INSIDE__
|
||||
|
||||
|
@ -1603,12 +1603,35 @@ g_network_monitor_base_add_network
|
||||
g_network_monitor_base_get_type
|
||||
g_network_monitor_base_remove_network
|
||||
g_network_monitor_base_set_networks
|
||||
g_menu_append
|
||||
g_menu_append_item
|
||||
g_menu_append_section
|
||||
g_menu_append_submenu
|
||||
g_menu_attribute_hash_iter_get_type
|
||||
g_menu_attribute_iter_get_name
|
||||
g_menu_attribute_iter_get_next
|
||||
g_menu_attribute_iter_get_type
|
||||
g_menu_attribute_iter_get_value
|
||||
g_menu_attribute_iter_next
|
||||
g_menu_freeze
|
||||
g_menu_get_type
|
||||
g_menu_insert
|
||||
g_menu_insert_item
|
||||
g_menu_insert_section
|
||||
g_menu_insert_submenu
|
||||
g_menu_item_get_type
|
||||
g_menu_item_new
|
||||
g_menu_item_new_section
|
||||
g_menu_item_new_submenu
|
||||
g_menu_item_set_action_and_target
|
||||
g_menu_item_set_action_and_target_value
|
||||
g_menu_item_set_attribute
|
||||
g_menu_item_set_attribute_value
|
||||
g_menu_item_set_detailed_action
|
||||
g_menu_item_set_label
|
||||
g_menu_item_set_link
|
||||
g_menu_item_set_section
|
||||
g_menu_item_set_submenu
|
||||
g_menu_link_hash_iter_get_type
|
||||
g_menu_link_iter_get_name
|
||||
g_menu_link_iter_get_next
|
||||
@ -1625,3 +1648,9 @@ g_menu_model_items_changed
|
||||
g_menu_model_items_changed_signal
|
||||
g_menu_model_iterate_item_attributes
|
||||
g_menu_model_iterate_item_links
|
||||
g_menu_new
|
||||
g_menu_prepend
|
||||
g_menu_prepend_item
|
||||
g_menu_prepend_section
|
||||
g_menu_prepend_submenu
|
||||
g_menu_remove
|
||||
|
1019
gio/gmenu.c
Normal file
1019
gio/gmenu.c
Normal file
File diff suppressed because it is too large
Load Diff
130
gio/gmenu.h
Normal file
130
gio/gmenu.h
Normal file
@ -0,0 +1,130 @@
|
||||
/*
|
||||
* Copyright © 2011 Canonical Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* licence, 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
* USA.
|
||||
*
|
||||
* Author: Ryan Lortie <desrt@desrt.ca>
|
||||
*/
|
||||
|
||||
#ifndef __G_MENU_H__
|
||||
#define __G_MENU_H__
|
||||
|
||||
#include <gio/gmenumodel.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define G_TYPE_MENU (g_menu_get_type ())
|
||||
#define G_MENU(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
|
||||
G_TYPE_MENU, GMenu))
|
||||
#define G_IS_MENU(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
|
||||
G_TYPE_MENU))
|
||||
|
||||
#define G_TYPE_MENU_ITEM (g_menu_item_get_type ())
|
||||
#define G_MENU_ITEM(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
|
||||
G_TYPE_MENU_ITEM, GMenuItem))
|
||||
#define G_IS_MENU_ITEM(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
|
||||
G_TYPE_MENU_ITEM))
|
||||
|
||||
typedef struct _GMenuItem GMenuItem;
|
||||
typedef struct _GMenu GMenu;
|
||||
|
||||
GType g_menu_get_type (void) G_GNUC_CONST;
|
||||
GMenu * g_menu_new (void);
|
||||
|
||||
void g_menu_freeze (GMenu *menu);
|
||||
|
||||
void g_menu_insert_item (GMenu *menu,
|
||||
gint position,
|
||||
GMenuItem *item);
|
||||
void g_menu_prepend_item (GMenu *menu,
|
||||
GMenuItem *item);
|
||||
void g_menu_append_item (GMenu *menu,
|
||||
GMenuItem *item);
|
||||
void g_menu_remove (GMenu *menu,
|
||||
gint position);
|
||||
|
||||
void g_menu_insert (GMenu *menu,
|
||||
gint position,
|
||||
const gchar *label,
|
||||
const gchar *detailed_action);
|
||||
void g_menu_prepend (GMenu *menu,
|
||||
const gchar *label,
|
||||
const gchar *detailed_action);
|
||||
void g_menu_append (GMenu *menu,
|
||||
const gchar *label,
|
||||
const gchar *detailed_action);
|
||||
|
||||
void g_menu_insert_section (GMenu *menu,
|
||||
gint position,
|
||||
const gchar *label,
|
||||
GMenuModel *section);
|
||||
void g_menu_prepend_section (GMenu *menu,
|
||||
const gchar *label,
|
||||
GMenuModel *section);
|
||||
void g_menu_append_section (GMenu *menu,
|
||||
const gchar *label,
|
||||
GMenuModel *section);
|
||||
|
||||
void g_menu_insert_submenu (GMenu *menu,
|
||||
gint position,
|
||||
const gchar *label,
|
||||
GMenuModel *submenu);
|
||||
void g_menu_prepend_submenu (GMenu *menu,
|
||||
const gchar *label,
|
||||
GMenuModel *submenu);
|
||||
void g_menu_append_submenu (GMenu *menu,
|
||||
const gchar *label,
|
||||
GMenuModel *submenu);
|
||||
|
||||
|
||||
GType g_menu_item_get_type (void) G_GNUC_CONST;
|
||||
GMenuItem * g_menu_item_new (const gchar *label,
|
||||
const gchar *detailed_action);
|
||||
|
||||
GMenuItem * g_menu_item_new_submenu (const gchar *label,
|
||||
GMenuModel *submenu);
|
||||
|
||||
GMenuItem * g_menu_item_new_section (const gchar *label,
|
||||
GMenuModel *section);
|
||||
|
||||
void g_menu_item_set_attribute_value (GMenuItem *menu_item,
|
||||
const char *attribute,
|
||||
GVariant *value);
|
||||
void g_menu_item_set_attribute (GMenuItem *menu_item,
|
||||
const char *attribute,
|
||||
const gchar *format_string,
|
||||
...);
|
||||
void g_menu_item_set_link (GMenuItem *menu_item,
|
||||
const char *link,
|
||||
GMenuModel *model);
|
||||
void g_menu_item_set_label (GMenuItem *menu_item,
|
||||
const gchar *label);
|
||||
void g_menu_item_set_submenu (GMenuItem *menu_item,
|
||||
GMenuModel *submenu);
|
||||
void g_menu_item_set_section (GMenuItem *menu_item,
|
||||
GMenuModel *section);
|
||||
void g_menu_item_set_action_and_target_value (GMenuItem *menu_item,
|
||||
const gchar *action,
|
||||
GVariant *target_value);
|
||||
void g_menu_item_set_action_and_target (GMenuItem *menu_item,
|
||||
const gchar *action,
|
||||
const gchar *format_string,
|
||||
...);
|
||||
void g_menu_item_set_detailed_action (GMenuItem *menu_item,
|
||||
const gchar *detailed_action);
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __G_MENU_H__ */
|
Loading…
Reference in New Issue
Block a user