CoreGTK  3.22.0
CoreGTK is an Objective-C language binding for the GTK+ widget toolkit
CGTKToolButton.m
1 /*
2  * CGTKToolButton.m
3  * This file is part of CoreGTK
4  *
5  * Copyright (C) 2017 - 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, 2017. 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/CGTKToolButton.h"
33 
34 @implementation CGTKToolButton
35 
36 -(id)initWithIconWidget:(CGTKWidget*) iconWidget andLabel:(NSString*) label
37 {
38  self = [super initWithGObject:(GObject *)gtk_tool_button_new([iconWidget WIDGET], [label UTF8String])];
39 
40  if(self)
41  {
42  //Do nothing
43  }
44 
45  return self;
46 }
47 
48 -(id)initFromStock:(NSString*) stockId
49 {
50  self = [super initWithGObject:(GObject *)gtk_tool_button_new_from_stock([stockId UTF8String])];
51 
52  if(self)
53  {
54  //Do nothing
55  }
56 
57  return self;
58 }
59 
60 -(GtkToolButton*)TOOLBUTTON
61 {
62  return GTK_TOOL_BUTTON([self GOBJECT]);
63 }
64 
65 -(NSString*)getIconName
66 {
67  return [NSString stringWithUTF8String:gtk_tool_button_get_icon_name(GTK_TOOL_BUTTON([self GOBJECT]))];
68 }
69 
71 {
72  return [[CGTKWidget alloc] initWithGObject:(GObject *)gtk_tool_button_get_icon_widget(GTK_TOOL_BUTTON([self GOBJECT]))];
73 }
74 
75 -(NSString*)getLabel
76 {
77  return [NSString stringWithUTF8String:gtk_tool_button_get_label(GTK_TOOL_BUTTON([self GOBJECT]))];
78 }
79 
81 {
82  return [[CGTKWidget alloc] initWithGObject:(GObject *)gtk_tool_button_get_label_widget(GTK_TOOL_BUTTON([self GOBJECT]))];
83 }
84 
85 -(NSString*)getStockId
86 {
87  return [NSString stringWithUTF8String:gtk_tool_button_get_stock_id(GTK_TOOL_BUTTON([self GOBJECT]))];
88 }
89 
91 {
92  return (gtk_tool_button_get_use_underline(GTK_TOOL_BUTTON([self GOBJECT])) ? YES : NO);
93 }
94 
95 -(void)setIconName:(NSString*) iconName
96 {
97  gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON([self GOBJECT]), [iconName UTF8String]);
98 }
99 
100 -(void)setIconWidget:(CGTKWidget*) iconWidget
101 {
102  gtk_tool_button_set_icon_widget(GTK_TOOL_BUTTON([self GOBJECT]), [iconWidget WIDGET]);
103 }
104 
105 -(void)setLabel:(NSString*) label
106 {
107  gtk_tool_button_set_label(GTK_TOOL_BUTTON([self GOBJECT]), [label UTF8String]);
108 }
109 
110 -(void)setLabelWidget:(CGTKWidget*) labelWidget
111 {
112  gtk_tool_button_set_label_widget(GTK_TOOL_BUTTON([self GOBJECT]), [labelWidget WIDGET]);
113 }
114 
115 -(void)setStockId:(NSString*) stockId
116 {
117  gtk_tool_button_set_stock_id(GTK_TOOL_BUTTON([self GOBJECT]), [stockId UTF8String]);
118 }
119 
120 -(void)setUseUnderline:(BOOL) useUnderline
121 {
122  gtk_tool_button_set_use_underline(GTK_TOOL_BUTTON([self GOBJECT]), (useUnderline ? TRUE : FALSE));
123 }
124 
125 
126 @end
GObject * GOBJECT()
Definition: CGTKBase.m:82
id initWithGObject:(GObject *obj)
Definition: CGTKBase.m:48
CGTKWidget * getIconWidget()
GtkWidget * WIDGET()
Definition: CGTKWidget.m:61
NSString * getIconName()
GtkToolButton * TOOLBUTTON()
NSString * getLabel()
NSString * getStockId()
CGTKWidget * getLabelWidget()