CoreGTK  3.18.0
CoreGTK is an Objective-C language binding for the GTK+ widget toolkit
CGTKMenuShell.m
1 /*
2  * CGTKMenuShell.m
3  * This file is part of CoreGTK
4  *
5  * Copyright (C) 2016 - Tyler Burton
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20  */
21 
22 /*
23  * Modified by the CoreGTK Team, 2016. See the AUTHORS file for a
24  * list of people on the CoreGTK Team.
25  * See the ChangeLog files for a list of changes.
26  *
27  */
28 
29 /*
30  * Objective-C imports
31  */
32 #import "CoreGTK/CGTKMenuShell.h"
33 
34 @implementation CGTKMenuShell
35 
36 -(GtkMenuShell*)MENUSHELL
37 {
38  return GTK_MENU_SHELL([self GOBJECT]);
39 }
40 
41 -(void)activateItemWithMenuItem:(CGTKWidget*) menuItem andForceDeactivate:(BOOL) forceDeactivate
42 {
43  gtk_menu_shell_activate_item(GTK_MENU_SHELL([self GOBJECT]), [menuItem WIDGET], (forceDeactivate ? TRUE : FALSE));
44 }
45 
46 -(void)append:(CGTKWidget*) child
47 {
48  gtk_menu_shell_append(GTK_MENU_SHELL([self GOBJECT]), [child WIDGET]);
49 }
50 
51 -(void)bindModelWithModel:(GMenuModel*) model andActionNamespace:(NSString*) actionNamespace andWithSeparators:(BOOL) withSeparators
52 {
53  gtk_menu_shell_bind_model(GTK_MENU_SHELL([self GOBJECT]), model, [actionNamespace UTF8String], (withSeparators ? TRUE : FALSE));
54 }
55 
56 -(void)cancel
57 {
58  gtk_menu_shell_cancel(GTK_MENU_SHELL([self GOBJECT]));
59 }
60 
61 -(void)deactivate
62 {
63  gtk_menu_shell_deactivate(GTK_MENU_SHELL([self GOBJECT]));
64 }
65 
66 -(void)deselect
67 {
68  gtk_menu_shell_deselect(GTK_MENU_SHELL([self GOBJECT]));
69 }
70 
72 {
73  return [[CGTKWidget alloc] initWithGObject:(GObject *)gtk_menu_shell_get_parent_shell(GTK_MENU_SHELL([self GOBJECT]))];
74 }
75 
77 {
78  return [[CGTKWidget alloc] initWithGObject:(GObject *)gtk_menu_shell_get_selected_item(GTK_MENU_SHELL([self GOBJECT]))];
79 }
80 
82 {
83  return (gtk_menu_shell_get_take_focus(GTK_MENU_SHELL([self GOBJECT])) ? YES : NO);
84 }
85 
86 -(void)insertWithChild:(CGTKWidget*) child andPosition:(gint) position
87 {
88  gtk_menu_shell_insert(GTK_MENU_SHELL([self GOBJECT]), [child WIDGET], position);
89 }
90 
91 -(void)prepend:(CGTKWidget*) child
92 {
93  gtk_menu_shell_prepend(GTK_MENU_SHELL([self GOBJECT]), [child WIDGET]);
94 }
95 
96 -(void)selectFirst:(BOOL) searchSensitive
97 {
98  gtk_menu_shell_select_first(GTK_MENU_SHELL([self GOBJECT]), (searchSensitive ? TRUE : FALSE));
99 }
100 
101 -(void)selectItem:(CGTKWidget*) menuItem
102 {
103  gtk_menu_shell_select_item(GTK_MENU_SHELL([self GOBJECT]), [menuItem WIDGET]);
104 }
105 
106 -(void)setTakeFocus:(BOOL) takeFocus
107 {
108  gtk_menu_shell_set_take_focus(GTK_MENU_SHELL([self GOBJECT]), (takeFocus ? TRUE : FALSE));
109 }
110 
111 
112 @end
GObject * GOBJECT()
Definition: CGTKBase.m:82
CGTKWidget * getSelectedItem()
Definition: CGTKMenuShell.m:76
GtkWidget * WIDGET()
Definition: CGTKWidget.m:61
CGTKWidget * getParentShell()
Definition: CGTKMenuShell.m:71
GtkMenuShell * MENUSHELL()
Definition: CGTKMenuShell.m:36