CoreGTK  3.18.0
CoreGTK is an Objective-C language binding for the GTK+ widget toolkit
CGTKImageMenuItem.m
1 /*
2  * CGTKImageMenuItem.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/CGTKImageMenuItem.h"
33 
34 @implementation CGTKImageMenuItem
35 
36 -(id)init
37 {
38  self = [super initWithGObject:(GObject *)gtk_image_menu_item_new()];
39 
40  if(self)
41  {
42  //Do nothing
43  }
44 
45  return self;
46 }
47 
48 -(id)initFromStockWithStockId:(NSString*) stockId andAccelGroup:(GtkAccelGroup*) accelGroup
49 {
50  self = [super initWithGObject:(GObject *)gtk_image_menu_item_new_from_stock([stockId UTF8String], accelGroup)];
51 
52  if(self)
53  {
54  //Do nothing
55  }
56 
57  return self;
58 }
59 
60 -(id)initWithLabel:(NSString*) label
61 {
62  self = [super initWithGObject:(GObject *)gtk_image_menu_item_new_with_label([label UTF8String])];
63 
64  if(self)
65  {
66  //Do nothing
67  }
68 
69  return self;
70 }
71 
72 -(id)initWithMnemonic:(NSString*) label
73 {
74  self = [super initWithGObject:(GObject *)gtk_image_menu_item_new_with_mnemonic([label UTF8String])];
75 
76  if(self)
77  {
78  //Do nothing
79  }
80 
81  return self;
82 }
83 
84 -(GtkImageMenuItem*)IMAGEMENUITEM
85 {
86  return GTK_IMAGE_MENU_ITEM([self GOBJECT]);
87 }
88 
90 {
91  return (gtk_image_menu_item_get_always_show_image(GTK_IMAGE_MENU_ITEM([self GOBJECT])) ? YES : NO);
92 }
93 
95 {
96  return [[CGTKWidget alloc] initWithGObject:(GObject *)gtk_image_menu_item_get_image(GTK_IMAGE_MENU_ITEM([self GOBJECT]))];
97 }
98 
100 {
101  return (gtk_image_menu_item_get_use_stock(GTK_IMAGE_MENU_ITEM([self GOBJECT])) ? YES : NO);
102 }
103 
104 -(void)setAccelGroup:(GtkAccelGroup*) accelGroup
105 {
106  gtk_image_menu_item_set_accel_group(GTK_IMAGE_MENU_ITEM([self GOBJECT]), accelGroup);
107 }
108 
109 -(void)setAlwaysShowImage:(BOOL) alwaysShow
110 {
111  gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM([self GOBJECT]), (alwaysShow ? TRUE : FALSE));
112 }
113 
114 -(void)setImage:(CGTKWidget*) image
115 {
116  gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM([self GOBJECT]), [image WIDGET]);
117 }
118 
119 -(void)setUseStock:(BOOL) useStock
120 {
121  gtk_image_menu_item_set_use_stock(GTK_IMAGE_MENU_ITEM([self GOBJECT]), (useStock ? TRUE : FALSE));
122 }
123 
124 
125 @end
GObject * GOBJECT()
Definition: CGTKBase.m:82
id initWithGObject:(GObject *obj)
Definition: CGTKBase.m:48
GtkImageMenuItem * IMAGEMENUITEM()
CGTKWidget * getImage()
GtkWidget * WIDGET()
Definition: CGTKWidget.m:61