4 * Core Cocoa-based user interface
6 * Copyright (c) 2008 Nathan Keynes.
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
19 #ifndef lxdream_cocoaui_H
20 #define lxdream_cocoaui_H
22 #import <AppKit/AppKit.h>
30 #define NS_(x) [NSString stringWithUTF8String: _(x)]
33 #define TEXT_HEIGHT 22
34 #define LABEL_HEIGHT 17
37 NSWindow *cocoa_gui_create_main_window();
38 NSMenu *cocoa_gdrom_menu_new();
39 NSView *video_osx_create_drawable();
40 void cocoa_gui_show_preferences();
41 NSView *cocoa_gui_create_prefs_controller_pane();
42 NSView *cocoa_gui_create_prefs_path_pane();
45 * Convenience method to create a new text label in the specified parent.
47 NSTextField *cocoa_gui_add_label(NSView *parent, NSString *title, NSRect frame);
49 @interface LxdreamVideoView : NSView
54 - (void) setDelegate: (id)other;
56 - (void) setIsGrabbed: (BOOL)grabbed;
59 @interface LxdreamMainWindow : NSWindow
61 LxdreamVideoView *video;
65 - (id)initWithContentRect:(NSRect)contentRect;
66 - (void)setStatusText:(const gchar *)text;
67 - (void)setRunning:(BOOL)isRunning;
69 - (void)setIsGrabbed:(BOOL)grab;
72 @interface LxdreamPrefsPane : NSView
76 - (id)initWithFrame: (NSRect)frameRect title:(NSString *)title;
80 @interface KeyBindingEditor: NSTextView
87 @interface KeyBindingField : NSTextField
92 @interface LxdreamPrefsPanel : NSPanel
95 NSArray *toolbar_defaults;
96 NSDictionary *toolbar_items;
97 NSView *path_pane, *ctrl_pane;
98 KeyBindingEditor *binding_editor;
100 - (id)initWithContentRect:(NSRect)contentRect;
107 #endif /* lxdream_cocoaui_H */
.