summaryrefslogtreecommitdiff
path: root/frontends/cocoa/FormSelectMenu.m
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/cocoa/FormSelectMenu.m')
-rw-r--r--frontends/cocoa/FormSelectMenu.m114
1 files changed, 0 insertions, 114 deletions
diff --git a/frontends/cocoa/FormSelectMenu.m b/frontends/cocoa/FormSelectMenu.m
deleted file mode 100644
index b7d168e0f..000000000
--- a/frontends/cocoa/FormSelectMenu.m
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright 2011 Sven Weidauer <sven.weidauer@gmail.com>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#import "cocoa/FormSelectMenu.h"
-#import "cocoa/coordinates.h"
-
-#import "netsurf/types.h"
-#import "netsurf/browser_window.h"
-#import "netsurf/form.h"
-
-static inline NSRect cocoa_rect_for_control( struct browser_window *bw, struct form_control *control)
-{
- struct rect r;
- form_control_bounding_rect(control, &r);
- return cocoa_scaled_rect(browser_window_get_scale(bw),
- r.x0,
- r.y0,
- r.x1,
- r.y1);
-}
-
-@interface FormSelectMenu ()
-
-- (void) itemSelected: (id) sender;
-
-@end
-
-
-@implementation FormSelectMenu
-
-- (id) initWithControl: (struct form_control *) c forWindow: (struct browser_window *) w
-{
- if ((self = [super init]) == nil) return nil;
-
- control = c;
- browser = w;
-
- menu = [[NSMenu alloc] initWithTitle: @"Select"];
- if (menu == nil) {
- [self release];
- return nil;
- }
-
- [menu addItemWithTitle: @"" action: NULL keyEquivalent: @""];
-
- NSInteger currentItemIndex = 0;
- struct form_option *opt;
- for (opt = form_select_get_option(control, 0);
- opt != NULL;
- opt = opt->next) {
- NSMenuItem *item = [[NSMenuItem alloc] initWithTitle: [NSString stringWithUTF8String: opt->text]
- action: @selector( itemSelected: )
- keyEquivalent: @""];
- if (opt->selected) {
- [item setState: NSOnState];
- }
- [item setTarget: self];
- [item setTag: currentItemIndex++];
- [menu addItem: item];
- [item release];
- }
-
- [menu setDelegate: self];
-
- return self;
-}
-
-- (void) dealloc
-{
- [cell release];
- [menu release];
-
- [super dealloc];
-}
-
-- (void) runInView: (NSView *) view
-{
- [self retain];
-
- cell = [[NSPopUpButtonCell alloc] initTextCell: @"" pullsDown: YES];
- [cell setMenu: menu];
-
- const NSRect rect = cocoa_rect_for_control(browser, control);
-
- [cell attachPopUpWithFrame: rect inView: view];
- [cell performClickWithFrame: rect inView: view];
-}
-
-- (void) itemSelected: (id) sender
-{
- form_select_process_selection( control, [sender tag] );
-}
-
-- (void) menuDidClose: (NSMenu *) sender
-{
- [self release];
-}
-
-@end