CoreGTK  3.22.0
CoreGTK is an Objective-C language binding for the GTK+ widget toolkit
CGTKPopover.m
1 /*
2  * CGTKPopover.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/CGTKPopover.h"
33 
34 @implementation CGTKPopover
35 
36 -(id)init:(CGTKWidget*) relativeTo
37 {
38  self = [super initWithGObject:(GObject *)gtk_popover_new([relativeTo WIDGET])];
39 
40  if(self)
41  {
42  //Do nothing
43  }
44 
45  return self;
46 }
47 
48 -(id)initFromModelWithRelativeTo:(CGTKWidget*) relativeTo andModel:(GMenuModel*) model
49 {
50  self = [super initWithGObject:(GObject *)gtk_popover_new_from_model([relativeTo WIDGET], model)];
51 
52  if(self)
53  {
54  //Do nothing
55  }
56 
57  return self;
58 }
59 
60 -(GtkPopover*)POPOVER
61 {
62  return GTK_POPOVER([self GOBJECT]);
63 }
64 
65 -(void)bindModelWithModel:(GMenuModel*) model andActionNamespace:(NSString*) actionNamespace
66 {
67  gtk_popover_bind_model(GTK_POPOVER([self GOBJECT]), model, [actionNamespace UTF8String]);
68 }
69 
70 -(GtkPopoverConstraint)getConstrainTo
71 {
72  return gtk_popover_get_constrain_to(GTK_POPOVER([self GOBJECT]));
73 }
74 
76 {
77  return [[CGTKWidget alloc] initWithGObject:(GObject *)gtk_popover_get_default_widget(GTK_POPOVER([self GOBJECT]))];
78 }
79 
80 -(BOOL)getModal
81 {
82  return (gtk_popover_get_modal(GTK_POPOVER([self GOBJECT])) ? YES : NO);
83 }
84 
85 -(BOOL)getPointingTo:(GdkRectangle*) rect
86 {
87  return (gtk_popover_get_pointing_to(GTK_POPOVER([self GOBJECT]), rect) ? YES : NO);
88 }
89 
90 -(GtkPositionType)getPosition
91 {
92  return gtk_popover_get_position(GTK_POPOVER([self GOBJECT]));
93 }
94 
96 {
97  return [[CGTKWidget alloc] initWithGObject:(GObject *)gtk_popover_get_relative_to(GTK_POPOVER([self GOBJECT]))];
98 }
99 
101 {
102  return (gtk_popover_get_transitions_enabled(GTK_POPOVER([self GOBJECT])) ? YES : NO);
103 }
104 
105 -(void)popdown
106 {
107  gtk_popover_popdown(GTK_POPOVER([self GOBJECT]));
108 }
109 
110 -(void)popup
111 {
112  gtk_popover_popup(GTK_POPOVER([self GOBJECT]));
113 }
114 
115 -(void)setConstrainTo:(GtkPopoverConstraint) constraint
116 {
117  gtk_popover_set_constrain_to(GTK_POPOVER([self GOBJECT]), constraint);
118 }
119 
120 -(void)setDefaultWidget:(CGTKWidget*) widget
121 {
122  gtk_popover_set_default_widget(GTK_POPOVER([self GOBJECT]), [widget WIDGET]);
123 }
124 
125 -(void)setModal:(BOOL) modal
126 {
127  gtk_popover_set_modal(GTK_POPOVER([self GOBJECT]), (modal ? TRUE : FALSE));
128 }
129 
130 -(void)setPointingTo:(const GdkRectangle*) rect
131 {
132  gtk_popover_set_pointing_to(GTK_POPOVER([self GOBJECT]), rect);
133 }
134 
135 -(void)setPosition:(GtkPositionType) position
136 {
137  gtk_popover_set_position(GTK_POPOVER([self GOBJECT]), position);
138 }
139 
140 -(void)setRelativeTo:(CGTKWidget*) relativeTo
141 {
142  gtk_popover_set_relative_to(GTK_POPOVER([self GOBJECT]), [relativeTo WIDGET]);
143 }
144 
145 -(void)setTransitionsEnabled:(BOOL) transitionsEnabled
146 {
147  gtk_popover_set_transitions_enabled(GTK_POPOVER([self GOBJECT]), (transitionsEnabled ? TRUE : FALSE));
148 }
149 
150 
151 @end
void popdown()
Definition: CGTKPopover.m:105
GObject * GOBJECT()
Definition: CGTKBase.m:82
GtkPopoverConstraint getConstrainTo()
Definition: CGTKPopover.m:70
BOOL getModal()
Definition: CGTKPopover.m:80
id initWithGObject:(GObject *obj)
Definition: CGTKBase.m:48
BOOL getTransitionsEnabled()
Definition: CGTKPopover.m:100
GtkPopover * POPOVER()
Definition: CGTKPopover.m:60
GtkPositionType getPosition()
Definition: CGTKPopover.m:90
CGTKWidget * getRelativeTo()
Definition: CGTKPopover.m:95
GtkWidget * WIDGET()
Definition: CGTKWidget.m:61
CGTKWidget * getDefaultWidget()
Definition: CGTKPopover.m:75