/usr/include/gtkmm-2.4/gtkmm/accelmap.h is in libgtkmm-2.4-dev 1:2.24.5-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | // -*- c++ -*-
#ifndef _GTKMM_ACCELMAP_H
#define _GTKMM_ACCELMAP_H
/* $Id$ */
/* accelmap.h
*
* Copyright (C) 2002 The Gtkmm Development Team
*
* 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.1 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
* 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., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <string>
#include <gdkmm/types.h>
#include <gtkmm/accelkey.h>
namespace Gtk
{
namespace AccelMap
{
//TODO: Why is the accel_path a std::string, instead of a Glib::ustring? murrayc.
/** Registers a new accelerator with the global accelerator map.
* This function should only be called once per accel_path
* with the canonical accel_key and accel_mods for this path.
* To change the accelerator during runtime programatically, use
* change_entry().
* The accelerator path must consist of "<WINDOWTYPE>/Category1/Category2/.../Action",
* where <WINDOWTYPE> should be a unique application-specific identifier, that
* corresponds to the kind of window the accelerator is being used in, e.g. "Gimp-Image",
* "Abiword-Document" or "Gnumeric-Settings".
* The Category1/.../Action portion is most appropriately chosen by the action the
* accelerator triggers, i.e. for accelerators on menu items, choose the item's menu path,
* e.g. "File/Save As", "Image/View/Zoom" or "Edit/Select All".
* So a full valid accelerator path may look like:
* "<Gimp-Toolbox>/File/Dialogs/Tool Options...".
*
* @param accel_path valid accelerator path
* @param accel_key the accelerator key
* @param accel_mods the accelerator modifiers
*
*/
void add_entry(const std::string& accel_path,
guint accel_key,
Gdk::ModifierType accel_mods);
/** Changes the accel_key and accel_mods currently associated with accel_path.
* Due to conflicts with other accelerators, a change may not always be possible,
* replace indicates whether other accelerators may be deleted to resolve such
* conflicts. A change will only occur if all conflicts could be resolved (which
* might not be the case if conflicting accelerators are locked). Successful
* changes are indicated by a true return value.
*
* @param accel_path a valid accelerator path
* @param accel_key the new accelerator key
* @param accel_mods the new accelerator modifiers
* @param replace true if other accelerators may be deleted upon conflicts
* @result true if the accelerator could be changed, false otherwise
*/
bool change_entry(const std::string& accel_path,
guint accel_key,
Gdk::ModifierType accel_mods,
bool replace);
/** Parses a file previously saved with save() for
* accelerator specifications, and propagates them accordingly.
*
* @param filename a file containing accelerator specifications
*/
void load(const std::string& filename);
/** Saves current accelerator specifications (accelerator path, key
* and modifiers) to filename.
* The file is written in a format suitable to be read back in by
* load().
*
* @param filename the file to contain accelerator specifications
*/
void save(const std::string& filename);
/** Locks the given accelerator path.
*
* Locking an accelerator path prevents its accelerator from being changed
* during runtime. A locked accelerator path can be unlocked by
* unlock_path(). Refer to change_entry()
* about runtime accelerator changes.
*
* Note that locking of individual accelerator paths is independent from
* locking the #GtkAccelGroup containing them. For runtime accelerator
* changes to be possible both the accelerator path and its AccelGroup
* have to be unlocked.
*
* @param accel_path a valid accelerator path
*
* @newin{2,4}
*/
void lock_path(const std::string& accel_path);
/** Unlocks the given accelerator path. Refer to gtk_accel_map_lock_path()
* about accelerator path locking.
*
* @param accel_path a valid accelerator path
*
* @newin{2,4}
*/
void unlock_path(const std::string& accel_path);
/** Looks up the accelerator entry for accel_path.
* @param accel_path A valid accelerator path.
* @result true if accel_path is known, false otherwise
*
* @newin{2,10}
*/
bool lookup_entry (const Glib::ustring& accel_path);
/** Looks up the accelerator entry for accel_path and fills in key.
* @param accel_path A valid accelerator path.
* @param key The accelerator key to be filled in.
* @result true if accel_path is known, false otherwise
*
* @newin{2,10}
*/
bool lookup_entry (const Glib::ustring& accel_path, Gtk::AccelKey& key);
} // namespace AccelMap
} // namespace Gtk
#endif /* _GTKMM_ACCELMAP_H */
|